text:
Q: How to capture image by custom button from already opened front camera Im working on a augmented reality app which displays 3d models on the users face.I made a class which extends ArFragment in which i set the front camera to be opened once a model is selected.I made a custom button for capturing the image,but i dont know how to implement the capture of the image itself with the 3d model displayed and store it in the phone(preferably without  the custom made buttons being shown in the picture).Tried some code found on internet for programatical screenshoting but it screenshots only the buttons(the arrow and the circle).Here is how the activity looks like:

Here is the class that extends ArFragment:
public class CustomArFragment extends ArFragment {
@Override
protected Config getSessionConfiguration(Session session) {
    Config config = new Config(session);
    config.setAugmentedFaceMode(Config.AugmentedFaceMode.MESH3D);

    this.getArSceneView().setupSession(session);

    return config;
}

@Override
protected Set<Session.Feature> getSessionFeatures() {
    return EnumSet.of(Session.Feature.FRONT_CAMERA);
}

@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

    FrameLayout frameLayout = (FrameLayout) super.onCreateView(inflater, container, savedInstanceState);

    getPlaneDiscoveryController().hide();
    getPlaneDiscoveryController().setInstructionView(null);

    return frameLayout;

}
}

Here is the activity in which i set the 3d model:
public class ArActivity extends AppCompatActivity {
int pos;
private int[] images = {R.raw.glasses1, R.raw.glasses3, R.raw.glasses4, R.raw.glasses5,
        R.raw.glasses6, R.raw.glasses7, R.raw.glasses8, R.raw.glasses9, R.raw.glasses10};

private ModelRenderable modelRenderable;
private boolean isAdded = false;

@Override
protected void onCreate(Bundle savedInstanceState) {

    Bundle extras = getIntent().getExtras();
    if (extras != null) {
        pos = extras.getInt("pos");

    }

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_ar);

    CustomArFragment customArFragment = (CustomArFragment) getSupportFragmentManager().findFragmentById(R.id.arFragment);

    ModelRenderable
            .builder().setSource(this, images[pos])
            .build()
            .thenAccept(renderable -> {
                modelRenderable = renderable;
                modelRenderable.setShadowCaster(false);
                modelRenderable.setShadowReceiver(false);
            });

    customArFragment.getArSceneView().setCameraStreamRenderPriority(Renderable.RENDER_PRIORITY_FIRST);
    customArFragment.getArSceneView().getScene().addOnUpdateListener(frameTime -> {

        if (modelRenderable == null)
            return;

        Frame frame = customArFragment.getArSceneView().getArFrame();
        Collection<AugmentedFace> augmentedFaces = frame.getUpdatedTrackables(AugmentedFace.class);

        for (AugmentedFace augmentedFace : augmentedFaces) {

            if (isAdded)
                return;

            AugmentedFaceNode augmentedFaceNode = new AugmentedFaceNode(augmentedFace);
            augmentedFaceNode.setParent(customArFragment.getArSceneView().getScene());
            augmentedFaceNode.setFaceRegionsRenderable(modelRenderable);

            isAdded = true;
        }
    });
}
}

A: I had a similar problem before.
Capturing the Camera image with placed 3d models.
i solved it with PixelCopy.
I'm adding my code of that part below.
I'm sorry that it's not going to be the straight-answer to your problem but i hope you get some ideas
ImageButton btn3 = (ImageButton)findViewById(R.id.camera_btn);
    btn3.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            takePhoto();
        }
    });

private String generateFilename() {

    //현재시간을 기준으로 파일 이름 생성
    String date =
            new SimpleDateFormat("yyyyMMddHHmmss", java.util.Locale.getDefault()).format(new Date());
    return Environment.getExternalStoragePublicDirectory(
            Environment.DIRECTORY_PICTURES) + File.separator + "IM/" + date + "_screenshot.jpg";
}

private void saveBitmapToDisk(Bitmap bitmap, String filename) throws IOException {

    //사용자의 갤러리에 IM 디렉토리 생성 및 Bitmap 을 JPEG 형식으로 갤러리에 저장
    File out = new File(filename);
    if (!out.getParentFile().exists()) {
        out.getParentFile().mkdirs();
    }
    try (FileOutputStream outputStream = new FileOutputStream(filename);
         ByteArrayOutputStream outputData = new ByteArrayOutputStream()) {
        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outputData);
        outputData.writeTo(outputStream);
        outputStream.flush();
        outputStream.close();
    } catch (IOException ex) {
        throw new IOException("Failed to save bitmap to disk", ex);
    }
}

private void takePhoto(){
    //PixelCopy 를 사용하여 카메라 화면과 object 를 bitmap 으로 생성
    final String filename = generateFilename();
    ArSceneView view = arFragment.getArSceneView();

    final Bitmap bitmap = Bitmap.createBitmap(view.getWidth(),view.getHeight(),
            Bitmap.Config.ARGB_8888);

    final HandlerThread handlerThread = new HandlerThread("PixelCopier");
    handlerThread.start();

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
        PixelCopy.request(view, bitmap, (copyResult) -> {
            if (copyResult == PixelCopy.SUCCESS) {
                try {
                    saveBitmapToDisk(bitmap, filename);

                    //Media Scanning 실시
                    Uri uri = Uri.parse("file://" + filename);
                    Intent i = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
                    i.setData(uri);
                    sendBroadcast(i);

                } catch (IOException e) {
                    Toast toast = Toast.makeText(AR_Activity.this, e.toString(),
                            Toast.LENGTH_LONG);
                    toast.show();
                    return;
                }
                Snackbar snackbar = Snackbar.make(findViewById(android.R.id.content),
                        "스크린샷이 저장되었습니다.", Snackbar.LENGTH_LONG);
                snackbar.setAction("갤러리에서 보기", v -> {
                    //어플 내에서 저장한 스크린샷을 확인 가능
                    File photoFile = new File(filename);

                    Uri photoURI = FileProvider.getUriForFile(AR_Activity.this,
                            AR_Activity.this.getPackageName() + ".ar.codelab.name.provider",
                            photoFile);
                    Intent intent = new Intent(Intent.ACTION_VIEW, photoURI);
                    intent.setDataAndType(photoURI, "image/*");
                    intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                    startActivity(intent);
                });
                snackbar.show();
            } else {
                Toast toast = Toast.makeText(AR_Activity.this,
                        "스크린샷 저장 실패!: " + copyResult, Toast.LENGTH_LONG);
                toast.show();
            }
            handlerThread.quitSafely();
        }, new Handler(handlerThread.getLooper()));
    }
}


So How Do We Convince Them?
Alex Laskey gives a talk about the power of social pressure and how we can utilize it to save energy. People won't respond at all to slogans like, "Be a good citizen!", or "Save the planet!", or "It saves you money!", but they do respond to "Your neighbors are doing better than you." Laskey goes on to explain the success story of OPower: a company he and his friend founded that is based on that piece of information. OPower provides personalized reports of a home's energy use compared to that of their neighbors. From apps to thermostats, OPower provides suggestions and goals to help lower energy use that people actually follow! Energy wasters worldwide are pressured to at least be on par with the efficiency of that of their neighbors, and Figure 1 shows that with every passing year, OPower has been saving more energy with each passing year. In 2013, they saved 2 TeraWatt hours of energy worldwide. For to those eager to know what good that saving can do for the environment, 2 Terawatt hours equates to saving 3 billion pounds of carbon dioxide. All that power saved… due to behavioral science.
Chances are if you're reading this, you're not part of a international corporation bent of saving energy. So how do we as individual citizens put this nugget of advice to use? Well, maybe we could start by telling our neighbor or dorm mates who has a refrigerator of an empty house/room that you and everyone else is using their AC sparingly. And maybe, we could make OPower's 2 TWh become 2.1 TWh next year.


As you probably already know, my most favorite pleasure in life is to indulge at the spa. I must admit, I am a spa fanatic. When it comes to healing the mind, body, and soul on a spiritual and physical level, I feel it is necessary to receive spa services as often as you can. I have been to some of the most luxurious spa's in and out of the country, and Tierra Santa Healing House takes my top rating.
Tierra Santa Healing House is a 22,000-square-foot sanctuary located in the Faena Hotel on Miami Beach. This hotel is beyond beautiful, glamorous, and filled with remarkable one-of-a-kind art and decor. Everything here has a story behind it. The spa has a very unique combination of relaxation and holistic healing.
I arrived at the spa 2 hours before my treatment. I felt right at home walking into this South American-inspired oasis. I always come to the spa with a plan and prepared. To read about How To Prepare For Your Spa Day click here.
I walked into the locker room where I received my towel, robe and (surprisingly) comfortable sandals. I should mention that you have your own personal spa assistant, who is assigned to explain and show you around the spa and is always nearby if you need help or assistance. My spa assistant was very kind and helpful. She explained to me everything I needed to know.
First, I was given a slice of peeled soap that was made and imported from South Africa in a small golden sound bowl. I head over to the waterfall shower where my spa journey begins. You press which temperature you'd like your waterfall shower to be and start to lather on the soap, making sure you remove all oils and perfumes from your skin.
Next is my favorite part of the wet spa. The Hammam. Completely tiled in heated marble, the Hammam offers just the perfect amount of heat. I found myself quickly de-stressing and falling into a deep relaxation here. The aroma filled the air of jasmine. I started to read my Kundalini book but soon closed it to do a silent meditation as the warmth sank into my muscles releasing any tension.
Adjoining in the Hammam is a steam room with a self-scrub area. The steam room was pleasantly large and was dark but the ceiling lit up like the night sky. I love to steam, I feel like I'm completely detoxing my body and skin. The aroma in here was eucalyptus. After this trip, I bought a eucalyptus spray for my bathroom and I spray it before every shower.
After steaming, you have the option of going into a scrub room for an additional charge where you can add different variations of body scrubs for deep exfoliation.
Next, I hit the sauna. I love the sauna! This was the biggest sauna I've been into and smelled like fresh oranges. Saunas are not only great for cleansing your skin, but they also flush toxins, induce a deeper sleep, relaxes muscles and improve cardiovascular performance.
After about 15 minutes in the sauna, I head over to the Ice Parlor. I've never been in an ice parlor before. I walked in and immediately felt icy cool that felt so nice after the heat from the sauna. The interplay of hot/cold on the skin is great for your skin, immune system and blood flow. As I walked in, I was given a piece of ice after waving my hand in front of the ice maker.
Now I am cold, so I walk out and lay down on the Tepidarium. This is a warm stone that when you lay on, regulates your body temperature back to normal. This is what the Roman's used after their hot/cold baths. Tepidariums are decorated with the richest marbles and mosaics.
Enjoying the warmth of the Tepidarium and regulating my body temperature back to normal, I realize I only have about 35 minutes before my massage treatment. At this point, I'm already in complete bliss and relaxation mode.
I head over to the relaxation lounge where mini coconut protein balls and fresh rose tea are presented to me. I relax in the lounge as I wait for my massage therapist to get me.
I received the 50 minute Tierra Santa Masaje de Coco Treatment. In other words the "Oil of Life" treatment. In South America, coconut oil is highly praised for its curative and healing properties.
My massage therapist Ingrid, sat me down prior to our appointment and went over all of my needs and concerns. She laid out 7 different oils representing each chakra in our bodies. I picked the "Third-Eye" Chakra which was lemongrass oil.
Ingrid filled a golden sound bowl with the therapeutic oil and placed it beneath my headrest so I could directly smell and inhale the balancing scent throughout my entire massage.
Ingrid asked me if I would like the curtains opened or closed. Typically I like a dark environment while receiving a spa service, but it was so beautiful outside and the ocean was right outside our door so I decided to leave the curtains open.
Ingrid gave me one of the best massages I've ever received using warm and pure virgin coconut oil. She finished by giving me an amazing scalp massage. After the massage, Ingrid pointed out where I held the most tension. She showed me what stretches and yoga poses I could do, along with some deep breathing exercises to help relieve the tension. I really appreciated her attentiveness. She handed me a freshly squeezed juice and a bottle of water to stay hydrated.
On another note, how amazing is the water? All the water here is charged with crystals and the cups are in line with your chakras. I need this!
This was the most invigorating experience. I was on a whole other level of relaxation. This spa is expensive but it is worth every cent.
After I'm done with the best spa day ever, I wrap up and head down to the beach where I meet Milti & friends for hours of beach, ocean, and coconuts. This is a spa I will most definitely be returning to.
To read about my favorite spa outside of the USA click here.


Best Of inexpensive wedding ideas Photograph Omer Dare submitted by http://completeweddingpackages.com/awesome-inexpensive-wedding-ideas-trending/ ID: 31356 at tell February, 27 2018. To view all photographs in Inspirational Of inexpensive wedding ideas photographs gallery.
Should you like the Awesome Inexpensive Wedding Ideas Trending what I would like you to do is to help and assist us growing extra experience by sharing this inexpensive wedding ideas home design design reference on Facebook, Twitter, and Google Plus and tell your pals about us. You can even help us by clicking some related posts under for more pictures gallery and further info. We at all times love you and we always attempt to provide you with our greatest.
Thanks for visiting my blog, article above (Awesome Inexpensive Wedding Ideas Trending) published by Omer Dare at February, 27 2018.
This only for reference of Awesome Inexpensive Wedding Ideas Trending , we hope this post can give you an example about inexpensive wedding ideas what you need.
21 Photos of "Awesome Inexpensive Wedding Ideas Trending"
Related Posts of "Awesome Inexpensive Wedding Ideas Trending"


text:
layout: post
title:  "100 Days of Code Day 80 - Analyzer Testing"
date:   2018-11-13 07:00:00
categories: 100DaysOfCode
---

# Break points - identify where it's going wrong

One of my challenges right now, is that I don't understand the flow of control during execution of the Karma test runs. As a consequence, I don't see where the current error is exactly thrown. Already a while ago, I installed the Karma plugin for Intellij IDEA. It seems to have breakpoint support but I don't know how they work yet.

* [Intellij IDEA: Running Unit Tests on Karma](https://www.jetbrains.com/help/idea/running-unit-tests-on-karma.html)

Learned that these break points and the process of stepping in, stepping over etc, should basically be similar to the java debugger.
However, even when put very early in the execution of the test, the test already fails before we get there, with the constructor of my LangSwitchComponent.

```
TypeError: Cannot read property 'lang' of undefined
    at new LangSwitchComponent (spec-bundle.js:176278:6483)
```

# OnInit ?

My LangSwitchComponent currently implements the OnInit interface and I can't recall whether this was a conscious need/decision or just a result from copying template code from somewhere.

* [Difference between Constructor and ngOnInit](https://stackoverflow.com/questions/35763730/difference-between-constructor-and-ngoninit)

From this answer:
_Mostly we use ngOnInit for all the initialization/declaration and avoid stuff to work in the constructor. The constructor should only be used to initialize class members but shouldn't do actual "work"._

_So you should use constructor() to setup Dependency Injection and not much else. ngOnInit() is better place to "start" - it's where/when components' bindings are resolved._

When reading this, I noticed and realised that I'm initialising two class members, activeLangs and moreThanOneLanguage, not in the constructor, not in ngOnInit, but just at their declarations. Even thought the code actually worked, I wonder if I should be moving this to the constructor or the ngOnInit method.

Since the initialization of those members depends on the config being present and dependency injection done, it likely makes sense to move them to ngOnInit. Because it's exactly the lang property that is relied upon, which is what the test run is complaining about.

This definitely made a difference, because some of my tests are now passing!

# When to use async for tests?

Noticed that had two of my tests set to async but don't recally exactly why that's necessary or preferable.

# Day 81 Plan

Continue trying to get rest of the tests to work.

# Future days - DSpace 7 Angular

* Investigate writing of tests and write tests for the original language switch.
* Continue with implementing the actions and the reducer for the language switch.
* Continue implementation of the action to deactivate a language.
* Build a feature where users can customize their own language tags, straight from the UI, by switching on some kind of "translator" mode, to do these changes at runtime
* UI for exporting their customized messages
* UI for enabling/disabling particular languages
* Learn how to write tests and write them for the language functionality
* [Angular Universal](https://angular.io/guide/universal) tutorial based on Tour of Heroes
* Continue where I left off in ng-book

# Future days - Analyzer.atmire.com work

* Change String based implementation of error message handling with types and objects, according to Antoine Snyers recent Atmire DevTalk.
* Change string based implementation of the different browse styles to an object, according to Antoine Snyers recent Atmire DevTalk
* Optimize my hideous methods for getItemcount and getRepoCount.
* Re-test the check if we return the right repository to a user who tries to add a new one
* Updating a repository: touch/change the base URL or not?
* Batch ingest: switch to newer add repository methods.
* WCAG testing against the start page to ensure it's accessible for people who rely on assistive tools.
* Transition from plain CSS to SASS to make it prettier and learn about SASS at the same time
* Instead of the 5 minute cron job, look into a gitlab webhook that executes the update script on prod whenever something is committed to master.
* Add documentation to the methods of the item controller
* Change the back button on the item page with a real link back to the repository analysis, instead of the current history -1 hack.

# Future Days - Productivity

* Get my IntelliJ IDEA Shortcuts for comments in order

# Future days - Jekyll http://bram-atmire.github.io/ site

* Make it prettier

# Future Days - Atmire.com work

Investigate and work on search engine optimization (SEO) for the main atmire.com website.

# Future Days - Learning just for learning

* CSS: Go through the fabulous [CSS Diner](https://flukeout.github.io/)

# Sustainability challenge - Finish before Christmas

If I continue like October, I could hit day 68 by end of October and day 98 by end of November.

redpajama_set_name: RedPajamaGithub


text:
Why did the MS-DOS API choose software interrupts for its interface?
Access to the DOS API was done through the INT 21h x86 instruction. This was always counter-intuitive to me, coming from 8-bit systems that accessed system services by calling subroutines through a jump table. This simple system seems to give the same benefits from indirection as using software interrupts on x86. An example of such a system is the kernel (or "Kernal", for Commodore purists) used on Commodore's 8-bit machines.
Additionally, the reliance on software interrupts might be a reason for why the transition to using Protected mode, and accessing more than 640KiB of memory, was so slow and difficult for MS-DOS users.
Why didn't MS-DOS just use the CALL instruction with a jump table instead of software interrupts? Did this choice impact MS-DOS programs being able to run in protected mode on the 80286+?
ms-dos assembly 8086
Brian HBrian H
DOS did also support CALL 5 in early versions, for CP/M source compatibility. Wikipedia reports on the A20 hassles that resulted from trying to keep that section of memory CP/M-esque: en.wikipedia.org/wiki/A20_line#CALL_5 . Bit of a digression though. – Tommy Feb 25 '20 at 17:04
IBM's BIOS also relied software interrupts. I wouldn't be surprised if Microsoft was following IBM's lead. Also, software interrupts assemble to two bytes (e.g., CD 21). – Jim Nelson Feb 25 '20 at 17:29
... because that was the whole point of software interrupts? They were designed to be a simple way for applications to call into the OS. I've done plenty of programming on DOS, and the interrupt-based API was certainly easier to use than having to deal with calling into a jump table (it pretty much abstracts the jump table away). – Luaan Feb 26 '20 at 9:38
The interrupt vector table essentially is this jump table in the x86 world. Coming from a higher-level language like Turbo-C, it was a lot easier to use the DOS.H identifiers it provided (_AH, _AL, geninterrupt()...) than to try to call functions at arbitrary addresses. – smitelli Feb 26 '20 at 12:58
Far more sophisticated OSes than DOS use interrupts here: tldp.org/LDP/khg/HyperNews/get/syscall/syscall86.html – rackandboneman Feb 26 '20 at 16:48
Using INT comes not only natural due the way the 8086 is designed, but was as well intended by Intel as OS entry point, much like a Supervisor Call (SVC) on /360 type mainframes:
(Excerpt from the October 1979 Intel 8086 Family User's Manual page 2-28.)
Software-initiated interrupt procedures may be used as service routines ("supervisor calls") for other programs in the system. In this case, the interrupt procedure is activated when a program, rather than an external device, needs attention. The "attention" might be to search a file for a record, send a message to another program, request an allocation of free memory, etc. Software interrupt procedures can be advantageous in systems that dynamically relocate programs during execution. Since the interrupt pointer table is at a fixed storage location, procedures may "call" each other through the table by using software interrupt instructions . This provides a stable communication "exchange" that is independent of procedure addresses. The interrupt procedures may themselves be moved so long as the interrupt pointer table always is updated to provide the linkage from the "calling" program via the interrupt type code.
INT is intended to move address dependencies from physical to logical, offering an abstract interface to services. Exactly what BIOS and DOS is. Using INTs for either is simply as it should be.
Access to the DOS API was done through the INT 21h x86 instruction. This was always counter-intuitive to me, coming from 8-bit systems that accessed system services by calling subroutines through a jump table.
For one, this is as well known for 8 bit, like with 8080/85/Z80 systems using the RST instruction. But more important, the interrupts are exactly this, an indirect subroutine jump using a jump table. It got several advantages:
Short two byte opcode vs. six byte for indirect far call
Fast execution due to fixed address
Portability as the address is not coded within the user program
Use of a logical number that could be redirected in future versions
Executing an INT is independent from the address mode the application or the OS runs in
Taking the table out of user memory improves compatibility
It's the most upward compatible design possible, as new CPU generations can use this as hook for task switch and alike without breaking compatibility
The only 'cost' may seem that the flag register gets saved in addition. In reality this simplifies the OS interface even more, as the flag word is now located at a fixed address (SP+4), so its content can easy be manipulated for return information - like carry set for any error. The function handler has not to take care of producing the right flags from some artificial source just before return (like on many 8 bit OS's), but simply sets a bit in a defined memory location, the rest is done by hardware.
This simple system seems to give the same benefits from indirection as using software interrupts on x86.
Not really, as for a call the user software needs to know the address of said table, which makes it quite hard to move or virtualize it in future CPU/OS versions.
An example of such a system is the kernel (or "Kernal", for Commodore purists) used on Commodore's 8-bit machines.
Commodore is a great example how fixed entry points complicates development of software. Most 6500 based commodore Kernals provide the same functionalities but located at different entry points. Software needs to be ported for each machine. Given, it often can be done with a few switches and recompilation, but writing software that can run on more than one or two machines needs to bring a compatibility layer.
Why? Do you have any proof thereof? The INTs were of no problem, as they work quite well in protected mode. The CPU handles everything necessary - which is exactly the reason why INT had to be used in the first place, it allows a simple hook for upward compatibility. Use of INT instructions for any userland -> OS call in applications is the base for transparent move to a protected mode system.
The real issue with DOS applications wasn't the INT system, or anything about the CPU, but applications breaking two basic rules of well behaving: Hardware assumptions about memory management and direct hardware access in general, both without using any protocol. Especially the first one is what made most of the DOS problems, the assumption that Segment+1 is the same as Offset+16. Within a protected mode system this is no longer true. As a result, any program trying to 'outsmart' the OS will fail.
Why didn't MS-DOS just use the CALL instruction with a jump table instead of software interrupts?
See above, using a call table would give up all the advantages - and in most cases welcome the associated disadvantages.
Did this choice impact MS-DOS programs being able to run in protected mode on the 80286+?
No. It was, as said, direct hardware access, including memory management. Disrespecting the logic structure of the CPU made the move to protected mode basically impossible.
Bottom line: Adding the INT instruction is one of the best decisions when making the 8086, full in line with the goal to create a CPU made for complex high level software. Using it was the right way to do.
Maybe Intel should have called it 'SVC' like 20+ years before Amdahl did for the IBM /360, where opcode X'0A' SVC worked similar (*1) - and enabled compatibility across OS versions over many decades from real mode single CPU machines all the way to virtual multi-processor systems and 64 bit code.
Then again, the 8086 is a simple microprocessor, so it makes sense to combine hardware interrupts and CPU exceptions with OS/function calls into a single mechanic.
The only dark shadow, cast over the INT use, was due IBM's decision to use the interrupts below 20h for BIOS functions, as they were reserved by Intel for CPU exceptions.
*1 - Well, not completely, at least on early machines it used the default interrupt and the OS had to decode and jump.
RaffzahnRaffzahn
"Super Visor Call", I think? – Graham Feb 26 '20 at 10:36
Another down side is that it makes patching OS functions more difficult. – user Feb 26 '20 at 14:52
@user DOS wasn't designed in an environment where process privilege mattered, and given the quick-and-dirty development, I don't think that was considered at all. Patching OS functions accessed using an interrupt vector table with no privilege is straightforward: point the interrupt vector to your own code, and pass any functions you don't care about to the original vector... – Stephen Kitt Feb 26 '20 at 15:42
@MontyHarder But unpatching vectors is problematic. If a vector originally points to A, then program1 hooks it to B (saving off A as the original), then program2 hooks it to C (saving off B as the original), then when program1 unhooks it, A is restored to the vector, and program2's hook C is lost. I'm glad we've moved past this. – Jonathon Reinhart Feb 26 '20 at 23:18
@JonathonReinhart You can't fully unhook. Program1 has to be written such that B is the address of a 16-byte (because that's the smallest block of memory you can allocate) TSR that does a long call to Program1's service routine, followed by a long call to A. When Program1 wants to exit, it overwrites that first long call with NOPs, leaving behind the long call to A. – Monty Harder Feb 27 '20 at 16:47
As I mentioned in my comment, IBM's BIOS also used interrupts for service dispatch when it could have easily chosen a well-known address as a ROM entry point (such as how a soft reset was programmatically available by jumping to FFFF:0000). I'm speculating, but Microsoft might have been following IBM's lead.
Also, triggering an interrupt only takes two bytes in the calling code, and in a time when counting bytes was a must, that may have been part of the IBM/Microsoft design calculus.
But DOS did offer a jump table as you're asking about: When a program started, DOS would provide a PSP for program information (such as the command-line arguments). PSP offset 5h could be near-called to invoke the Int 21h dispatcher. Most programs written for DOS didn't bother using it—they could call Int 21h directly—but the intention was to aid machine-translating code from CP/M to DOS, as it operated similarly as CP/M's Zero Page offset 5h (which was in turn a call to its BDOS).
This mechanism, a legacy supported by Microsoft since DOS 1.0, caused problems with the A20 line and address wrap-around. A hair-raising summary and history of PSP offset 5h and the issues it led to can be found at the OS/2 Museum site.
Note that Intel reserved interrupts 00h - 1Fh in the 8086 and later chips. Since the ROM BIOS used many interrupts in that range, that did cause grief later.
As far as how using interrupts for service dispatch caused problems with protected mode, I can only recommend reading up about DPMI and the internal history of Windows 3.x. (Raymond Chen's blog is a good source for the latter.) Microsoft wound up paying off technical debt for its early decisions, some of which were admittedly unavoidable.
Jim NelsonJim Nelson
There's also an INT21 wrapper at PSP+50h which isn't restricted to the CP/M-compatible range of functions. – john_e Feb 26 '20 at 12:49
Where would this 'jump table' live?
As I understand it, the use of a pure trap-based mechanism for calling system services removes the need for user programs to have knowledge of supervisor program layout. For the latter case, either (a) the table is at a well-known address that will never change, or (b) you need linker technology to include a system symbol table when linking a user program.
MS-DOS uses a table at a fixed address, except that it is called an 'interrupt table'. And by using INT 21 as the 'call' instruction, the user program does not even have to know the address of the table; the only 'address' (figuratively speaking) it has to know is the value 21 in the INT instruction.
Thus using a trap instruction effectively insulates user programs from system layout details.
You'll find similar arrangements in many earlier operating systems. An example is the S/360 SVC instruction, which is a trap to a service routine vectored through a fixed low-core address. In other words, MS-DOS used a pretty normal approach.
(It's a trap, not an interrupt -- sigh)
another-daveanother-dave
Isn't it rather (c) - the table resides at an OS controlled location and access is done in a strict self contained (abstract) fashion? A DOS program does not need to know were the table is located at all - not even in case it wants to add/change an entry, as this is handled via a DOS call. – Raffzahn Feb 26 '20 at 2:35
Yeah, I guess so. I think we can consider this an example of David Wheeler's dictum that "any problem in computer science can be solved with another level of indirection". The programmer uses logical address 21 (as in INT 21) and we indirect through the interrupt table. – another-dave Feb 26 '20 at 2:41
The obvious place for the jump able would be in the PSP segment where the CP/M compatible CALL 0 and CALL 5 "jump table" lived. – user722 Feb 26 '20 at 3:16
@another-dave What about the much less often quoted, but much more consistently acted-upon, dictum that "any problem in computer science can be solved by causing three more problems for the next guy to deal with"? – Matthew Najmon Feb 26 '20 at 19:14
@MatthewNajmon I've most often seen that in the specialized case 'Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.' – JAB Feb 26 '20 at 23:14
Nobody thought MS-DOS would be a long-lived system when it was created. Microsoft were quite clear that Xenix was going to be the future. It just didn't turn out that way, because the vast sales of the IBM PC and compatibles caused the development of a lot of popular software.
Using software interrupts with an operation code is very much like using a jump table, it's just that the jump table is in the OS' memory area rather than visible to the application programmer. That gives more flexibility to extend the OS, by adding more operation codes. If the table is in application-visible memory, it probably has to have a fixed size, which will limit extensions to the OS. Limiting MS-DOS to the set of APIs it had at version 1.x would have doomed it, because that API could not handle hierarchical directory structures.
Software interrupts also made it more practical to change software at source level to use protected mode. Use of a software interrupt allows a clean transition between user and supervisor modes, as opposed to having to write code to do that at each entry point in an OS jump table. This didn't work out, because a far greater range of development tools was produced for MS-DOS than Microsoft ever anticipated, and many people became fond of, or dependent on, bits of software that were no longer maintained, or were built with tools that were no longer available.
Software interrupts had no impact on the 640Kb barrier, which was created by the hardware designers of the IBM PC, who had put the video memory at fixed addresses. The real problems with making protected-mode software were:
The absence of an OS, until OS/2 appeared, and its unsatisfactory nature at first.
The completely different meaning of segment registers between real and protected mode, which meant that many of the established practices for dealing with data larger than 64Kb would not work. There wasn't a really satisfactory solution to this until 386 flat mode became available.
@SolomonSlow: Commonplace poor programming practices of the late 1970s and early 1980s would have meant that some application developers would have failed to allow for backwards compatibility, by using higher entries without checking if they were available. Yes, it's their fault, but that's hard to prove to customers. If you share memory with an application in an unprotected OS, you have to design defensively. – John Dallman Feb 25 '20 at 18:05
Aside from "poor programming", you can't deal with forwards compatibility, when an old application overwrites the future extensions to the fixed size table which it never even knew about. – alephzero Feb 25 '20 at 18:20
A far call instruction is five bytes. An INT instruction is two. Given that DOS was intended to be usable on machines with as little as 48K of RAM, that's a pretty big difference. – supercat Feb 25 '20 at 19:50
@JonCuster Yes, DOS can boot with 32 KiB. See number in this answer. Now, while it can boot, it wouldn't leave much RAM to do anything. And already 2.0 would need 48 KiB to come up. – Raffzahn Feb 25 '20 at 22:27
Other services, including builtins like BIOS, and software packages, like NETBIOS, also used interrupts to publish their functionality (see Ralf Brown's Interrupt List for full info). So an argument that this was a temporary solution rather than the standard solution in real mode, doesn't hold water. – ivan_pozdeev Feb 26 '20 at 2:29
The interrupt system really is just a fancy jump table... Already has allocated space that can't be used for anything else. Adding a regular jump table would have been a waste of memory at that time.
Back then there was no Protected mode to worry about, never mind what its requirements would be...
Brian KnoblauchBrian Knoblauch
One advantage of using interrupts is that in a system that uses segmented memory you don't need to change the current page to the one with the jump table, or to allocate part of the 64k available to standard DOS programs to said table.
useruser
What was the problem with just using a long JMP directly to an address from the JMP table? (I think I may know, but it would be good if your answer addressed this.) – cjs Mar 27 '20 at 2:05
8-bit POV: A bad design is GEOS which uses a fixed jump table. Therefore C64 and Apple II cannot share the same executable. A software interrupt is more flexible.
For a better solution see https://retrocomputing.stackexchange.com/a/12296
PolluksPolluks
Not the answer you're looking for? Browse other questions tagged ms-dos assembly 8086 or ask your own question.
What are uses of the byte after BRK instruction on 6502?
How did an IBM 5150 with 16KB RAM work?
Why were teletype printers not used for DOS computers?
Why did MS-DOS choose the percent symbol to designate variables?
Why did DOS use dollar-terminated strings?
How did the 8086 interface with the 8087 FPU coprocessor?
8086 stack segment and avoiding overflow in interrupts
How does Windows 9x determine which disk drivers correspond to which BIOS disks/DOS drive letters?
Are .COM executable binaries real mode or protected mode?
What did the SELECT command do in DOS?
Why does DOS ask for the current date and time upon booting?

redpajama_set_name: RedPajamaCommonCrawl


Salam, to readers and followers (I doubt I have quite a large number of followers!) of this self proclaimed blog.
I wish to inform that due to some unforeseen circumstances I would not be able to write nor to contribute any writing to this blog for a couple of days, weeks nor months as I am suffering for a huge mental block, stumbled on top of my head.
I will presume my writing once the gigantic block being remove from my head.


text:
Home News Rowley: 2021 Budget is first order of business
Rowley: 2021 Budget is first order of business
Gail Alexander
Prime Minister-designate Dr Keith Rowley and successful Port-of-Spain North/St Ann's West candidate Stuart Young greet each other on stage at Baliser House.
The first order of business for the People's National Movement Government will be the 2021 Budget, Prime Minister Keith Rowley said last night.
He said PNM will put its shoulder to the wheel and overcome whatever stands in the way.
"We are one people in T&T and we have one government," he told supporters at Balisier House after the party secured a 22-19 victory over the United National Congress.
Rowley noted he had promised digitisation and government would take the youths into training in this and agricultural plans, and this will be in the Budget.
"I ask you to be patient and supportive and leave behind all the aggravations of the elections; leave all the baggage behind and let's look ahead. Our destiny is upon us; thank you, thank you, thank you."
Rowley said T&T's future is bright but there are some difficult days ahead within the next two years, when T&T will be required to do certain things to put itself in a better position for the future.
"The passage of the storm is to be survived and the weather after is to be enjoyed," he said.
He said with elections over last night, "And we get up (today), this will be behind us, one people under God working together to build a stabilised nation."
"Let's put aside personal slights, wants and look at the national needs of those least able to help themselves. Our priority is to ensure all who call T&T a home, they can live here with peace and dignity and the people and government will play its role to build an economy and grow in such a way all of us will be lifted by the rising tide and will say Mother T&T is good to all of us – this is a period to ensure no one's left behind. We made commitments and we intend to carry them out as we won and by God, we'll do what we said!"
For him, personally, he said this could easily be his last term in politics as he wasn't one of those people who felt politicians should go out "feet first." He hugged his wife, Sharon, at his side.
Rowley said he had a commitment to ensure transition—mentoring people for bigger responsibilities—and to fashion a PNM future and ensure young people developed so T&T will have the leadership it deserves. But he said he won't shirk his responsibility to the people who elected him for this term.
Rowley said the PNM contested hard. He said there were many to thank. But he thanked his wife, whom he said held his hand when he appeared to falter and supported him.
"And for that, I'm eternally grateful," he said.
He also acknowledged all the young people who aided the campaign, including PNM PRO Laurel Lezama- Lee Sing's great energy. He said in the pandemic, where some may not have participated, youths came to the fore and the victory is theirs.
"You're with us, your party has won!"
He said the number of seats won didn't affect PNM's performance across T&T. He said PNM had also doubled its vote in Chaguanas East.
Previous article14 new COVID cases, origin of 7 unknown
Next articleTeen charged with murder


text:
Pacton Gold commences field work targeting high-grade gold at Yandicoogina
Global Mining Review, Tuesday, 12 March 2019 10:00
Pacton Gold Inc. (Pacton) has announced the commencement of initial field work at Pacton's Yandicoogina project (Australia), where historical results from surface sampling have reported up to 199.7 g/t Au. The work programme is targeting high-grade, shear-hosted gold within a number of mineralisation settings and will use rock chip sampling and mapping to prioritise targets for drill testing.
Dale Ginn, Executive Chairman of Pacton Gold, stated: "Pacton's Yandicoogina project hosts high-grade gold bearing systems that are readily apparent and exposed at surface. It also has coarse nuggets from surface prospecting that appear to be from a vein source and have not been subjected to significant transportation. What the project lacks is any significant amount of drilling to depth. Our initial programme will therefore focus on prioritising targets for drill testing the high-grade concentrations at Yandicoogina."
Yandicoogina project
The Yandicoogina gold project is located 52 km to the southeast of Marble Bar in the Pilbara region of Western Australia. The project covers a contiguous landholding of 164 km2 consisting of two granted exploration tenements (E45/3474 and E45/3571) and three granted mining leases located inside tenement (E45/3474).
Access to the project from Marble Bar is via the Marble Bar Road to the south east thence via station tracks which take you toward the Black Shepherd mine.
The project covers an extensive portion of the Warrawoona Archaean Greenstone Belt. Previous exploration activities have predominantly focused towards the greenstone portion of the project with a considerably limited effort placed on the Mt Edgar Mylonite Complex which is host to the high-grade Death Adder and Granite prospects.
The initial work programme will involve detailed geological mapping and rock chip sampling of priority defined prospects including Granite, Death Adder, Black Shepherd, Uncle Tom and Trilby. Through completing this first phase of activities a further understanding of the controls and extents of mineralisation for each of the prospects will be obtained. Prioritisation, drill planning and permitting to drill will commence immediately following the completion of the initial work programme.
Read the article online at: https://www.globalminingreview.com/mining/12032019/pacton-gold-commences-field-work-targeting-high-grade-gold-at-yandicoogina/


text:
Lauryn Hill Blames Snow for Three-Hour Show Delay
Noam Galai, Getty Images
On Tuesday night (Jan. 31), Lauryn Hill showed up three hours late to her concert in Pittsburgh. The next day, she apologized on Facebook, blaming the snow for her tardiness.
"To my fans in Pittsburgh: We apologize for the extremely late start last night, there were factors out of our control," she wrote. "Due to the snow yesterday in NYC, half of my band, and some members of my crew, were stuck at LGA airport all day. After several cancelled and delayed flights throughout the day, they arrived late last night, and went straight to the venue for the show. The promoter notified people of the new start time through social media, and as fans got to the venue."
Hill said she regretted the inconvenience caused to everyone in attendance. The "Doo Wop (That Thing)" artist told her Pittsburgh fans that she was trying to schedule another performance in their city.
"In hindsight, we should have cancelled the performance and rescheduled for a later date, but we decided to try and make it happen. We are working on scheduling another performance in Pittsburgh later this month, before the end of the tour, for the people who bought tickets to my show last night. More details will be announced over the next few days. We look forward to seeing the fans in Pittsburgh again in a few weeks. Thank you for your understanding."
Hill is frequently late to shows, which is a major source of frustration for her fans. It will be interesting to see if her Pittsburgh supporters are willing to give her a second chance.
See 20 Great Albums From Female Rappers Over the Years
Source: Lauryn Hill Blames Snow for Three-Hour Show Delay
Filed Under: Lauryn Hill


text:
History of PSU Infanta
by misinfanta
in Infanta
The College of Agriculture in Infanta, Pangasinan was created by PD 1494 signed by President Marcos on June 11, 1978. On the same day, PD 1497 was signed by the President, establishing the Pangasinan State University (PSU) which integrated the college level courses of six state-funded institutions in Pangasinan, the College of Agriculture in Infanta was integrated as the seventh. PSU became officially operational on July 1, 1979 but the College of Agriculture in Infanta started its operation on June 1981 and earned its autonomous status in January 1983.
In August 16, 1978, President Marcos proclaimed the 1000 hectares in Barangay Bamban, Infanta for the College (Proclamation No. 1771 series of 1978). Concerned leaders of Pangasinan helped in the preparations, among whom are: Hon. Jacobo C. Clave, Vice Governor of Pangasinan (Formerly Presidential Executive Assistant), Governor Aguedo F. Agbayani and the members of the Sangguniang Panlalawigan; the Honorable Assemblymen of Pangasinan; Mayor Cesar Vallarta and the members of the Sangguniang Bayan of Infanta, including the Barangay Officials of Bamban and nearby barangays.
Director Benjamin Mercado of the Ministry of Budget, Region I and his staff with PSU officials visited the site in early 1980 and recommended (and finally approved) the construction in CY 1981 of one Administration Building, Farm Machinery Building, and Agricultural Building and a water tank to start the educational institution in Western Pangasinan and nearby Zambales to serve the educational needs of the youth.
The College of Agriculture in Infanta has a wide agricultural and forest reserves which serve as training ground for the students and all agencies committed to development. It is about 7.5 Km. from the town proper and located near San Felipe River, the National Irrigation Administration (NIA) dam, and the white clay mines.
While the buildings and the roads are under construction, the college holds its classes in some of the rooms in the elementary schools in Infanta town on arrangement with the provincial schools Superintendent and MEC Officials.
During the School Year 1989-1990, the Agricultural Education Outreach Project (AEOP) Student Village Training Center (SVTC) was implemented in cooperation with the DECS thus bolstering the college's quest for relevance. PSU Infanta shifts its offering to a more intensive program-the BSA, major in Farming Systems, a special ladderized course for poor but deserving students from the province of Pangasinan.
PSU Infanta started with curricular offerings such as the Bachelor of Science in Agriculture with majors in Crop Science and Animal Science, the Bachelor of Science in Agricultural Technology (Integrated Elementary and High School), and the two year Associate in Agricultural Technology together with the four year Secondary Level (High School) oriented towards vocational agriculture
Previous: Previous post: PSU Infanta College Deans / Campus Executive Directors
Next: Next post: Pangasinan State University Binmaley Campus Officials


text:
module Sheety
  NEWLINE = "\n"

  def self.length_s(val)
    if val.respond_to?(:length) then val.length.to_s else "??" end
  end

end

require_relative 'sheety/api'
require_relative 'sheety/cell'
require_relative 'sheety/row'
require_relative 'sheety/worksheet'
require_relative 'sheety/spreadsheet'

module Sheety
  ## Convenience Methods
  def self.auth
    return Api.inst.auth
  end

  def self.sheets(force_refetch=false)
    return Api.inst.sheets(force_refetch)
  end

  def self.sheets_where(constraints)
    return Api.inst.sheets_where(constraints)
    end

  def self.find_sheet(constraints)
    return Api.inst.find_sheet(constraints)
  end

  def self.sheets_except(constraints)
    return Api.inst.sheets_except(constraints)
  end

  def self.sheets_except_any(constraints)
    return Api.inst.sheets_except_any(constraints)
  end

  def self.list_sheets
    sheets.each_with_index do |sheet, index|
      puts "Sheet #{index} - #{sheet}"
    end

    return nil
  end
end


text:
Eskenazi brings in refrigerated truck and mobile morgue to handle overflow
But despite these new challenges, doctors say health care workers continue to provide the best care they can.
Author: Lauren Kostiuk
Published: 11:02 PM EST January 13, 2022
Updated: 11:56 AM EST January 14, 2022
INDIANAPOLIS — So far in the state of Indiana, more than 19,000 Hoosiers have died from COVID-19. The recent rise in cases, hospitalizations and deaths is straining our health care systems — sometimes in ways we don't often see.
Eskenazi Health said its hospital isn't just running low on beds for patients, but is also running low on space in the morgue.
It's a dark and grim reality hospitals are facing.
"We just wanted to be planning and preparing ahead in the event that we do have excess deaths, that we are ready," said Dr. Graham Carlos, executive medical director of Eskenazi Hospital.
That's why a few weeks ago, Eskenazi purchased a refrigerated truck to serve as overflow for the morgue. So far, it's something the hospital hasn't had to use and calls it a worst-case situation.
Credit: Eskenazi Health
Eskenazi Health recently purchased a refrigerated truck to serve as a potential overflow morgue at the hospital.
"As far as I know, we never had to take these types of measures to be prepared for excess deaths. This is a first," Carlos said.
Right now, the numbers don't show any signs of slowing down. In the past few weeks, the state has been averaging more than 50 COVID-related deaths a day. That's on top of the record-high homicide rate in Indianapolis and Hoosiers putting off care throughout the pandemic.
RELATED: Noblesville father had to fight for his life and an ICU bed despite not having COVID
This has forced hospitals to get creative with space.
"We increased capacity by using spaces such as perioperative spaces, endoscopy, to try to care for more patients," Carlos said.
But despite these new challenges, Carlos said health care workers continue to provide the best care they can.
"Even though you might see things like those trucks that we talked about, it doesn't mean people aren't going to get exceptional care here and they shouldn't be worried about that," Carlos said.
An IU Health spokesperson said they previously purchased mobile morgues a while ago in case any of its hospitals needed one. 13News was informed Jan. 14 that one of the mobile morgues was in use at Eskenazi.
Also, Community Hospital East is dealing with a different capacity issue. It started using its ambulance garages for patient care because of the record number of people in need of medical help.
Indiana coronavirus updates for Thursday, Jan. 13, 2022
House bill focuses on eliminating nursing shortage in Indiana
Marion County contact tracing team focuses on K-12 cases


The Dean brothers of Roanoke could not afford to replace their roof. A roofing company combined forces with a professional group and a nonprofit to replace their roof.
Frank Dean sat on the front porch of his house singing "Whiskey Drinking Woman" in a low, smooth voice that sounded like something straight out of a blues bar.
But the lyrics rolled out on the small side street off Melrose Avenue in Roanoke. Dean is a musician — you can find him playing throughout the week at Brambleton Deli, Blue 5 and other places.
His voice was overpowered for a time Thursday by the banging above him, as a team of workers replaced his roof that's so worn down, in some places it's just bare wood — no shingles or tar paper to block the weather. Frank and his brother Howard Dean have lived in the house for more than 15 years and their roof has needed replacement for some time.
"We just don't have the money to replace it," said Frank Dean, 73. His brother, Howard, 75, is a veteran who has health problems and couldn't be there during the roof replacement.
But today, the Dean brothers have a new roof — free of charge — thanks to the work of three organizations.
The Women Entrepreneurs of the Roanoke Valley and Vinton Roofing Co. have teamed up to replace roofs for those unable to afford the cost of replacing it themselves in a project called The Roof Over My Head. Vinton Roofing has been sponsoring the project, in which it replaced one roof a year free of charge, but this year is the first time the company teamed up with the women's group.


text:
through my eyes ruby bridges summary Annie Proulx Brokeback Mountain, Word For Something That Shouldn T Have Happened, Robert Davi Tv Shows, Registered Health Information Technician Definition, Village Of Twin Lake Wi, " /> Annie Proulx Brokeback Mountain, Word For Something That Shouldn T Have Happened, Robert Davi Tv Shows, Registered Health Information Technician Definition, Village Of Twin Lake Wi, " /> post5993
through my eyes ruby bridges summary
They're leaders, and so was Ruby. Ruby Bridges was six when she became the first African American child to integrate a white Southern elementary school. Fifth graders read the book Through My Eyes by Ruby Bridges. 3. The book includes quotes from authors who have written about her life, and it's suitable for children aged nine to thirteen. Nearly all of the white students have been withdrawn by their angry parents. Hardcover, 9780590189231, 0590189239 Please turn it on so that you can experience the full capabilities of this site. Reading of Project Cornerstone material: to be used for training purposes only. She has an insider's perspective. She was just a first grader who wanted to go to school like everyone else. Little Peter "Nigger" -James Baldwin W.E.B. Item #8836 in BookBeat. Grade: 5 Standards: CCSS.ELA-LITERACY.RL.5.1 Quote accurately from a text when explaining what the text says explicitly and when drawing inferences from the text. This is the story of Ruby Bridges' experienced being the first black student to integrate the William Frantz Public School in New Orleans in 1960. It was the first time that a black child was allowed to enter an all-white school. From where she sat in the office, Ruby Bridges could see parents marching through the halls and taking their children out of classrooms. One case made it to the Supreme Court and the ruling came down that schools would be integrated. She led us away from hate, and she led us nearer to knowing each other, the white folks and the black folks. You're using an Unsupported version of Internet Explorer. The story takes place in 1960 as a young African American child makes her way to school past yelling mobs. A deeply personal account from one of the icons of the civil rights movement is a story of momentous importance and testament to the fact that little children can do big things. But Ruby couldn't go to school like everyone else. Beautiful book, with Ruby Bridges story told from a child's perspective. [Ruby Bridges; Margo Lundell] -- Ruby Bridges recounts the story of her involvement, as a six-year-old, in the integration of her school in New Orleans in 1960. Bridges wrote about her experiences integrating William Frantz in 1999's "Through My Eyes," which won the Carter G. Woodson Book Award. : Through my eyes was awarded the Jane Addams Children's Book Awards in 2000. In 1999 Ruby Bridges wrote a book about her life entitled Through My Eyes.Bridges travels across the USA talking to children about her life's experience. The books were outdated and the buildings were not maintained. newspaper accounts of the time and from Ruby's family members and teachers, as well as sidebars that illustrate how Ruby pops up in both John Steinbeck's book Travels with Charleyand a Norman Rockwell painting. See more ideas about Ruby bridges, Ruby, My eyes. She tells her story through the eyes of … Jane Adams Award. In 2001 President Bill Clinton presentedBridgeswith the Presidential Citizens Medal. Overall Summary. Download for offline reading, highlight, bookmark or take notes while you read Through My Eyes. Ruby's Jump Rope Rhyme: "2, 4, 6, 8,.... we don't want to integrate." Reading of Project Cornerstone material: to be used for training purposes only. Through My Eyes is the autobiography of Ruby Bridges, one of the first black students to integrate an all-white elementary school. Through My Eyes | Ruby Bridges recounts the story of her involvement, as a six-year-old, in the integration of her school in New Orleans in 1960 The Story of Ruby Bridges Our Ruby taught us all a lot. Ruby Bridges was a child who helped schools to accept children of different colors learning side by side.Ruby passed a test to get into the school but then parents did not want their kids going to the school Ruby was attending. If you'd like to share Ruby's story with your students, you can order her 1999 memoir, Through My Eyes, here. By the spring of her first grade year, other white students entered the classroom, for part of the day. An icon of the civil rights movement, Ruby Bridges chronicles each dramatic step of this pivotal event in history through her own words. DuBois Frederick Douglass History behind Ruby and Integration Children who Must Read this book using Google Play Books app on your PC, android, iOS devices. From where she sat in the office, Ruby Bridges could see parents marching through the halls and taking their children out of classrooms. by Ruby Bridges. At that time, the governor of Louisiana, as well as other members of the legislature were strongly opposed to any integration and felt that black and white students should remain in separate schools. She has also set up a foundation to help the William Frantz School, as well as other inner city schools. Her inspiring story is filled with messages of courage.This study has 26 pages plus a table of contents (chapter reference) and answer key.COMPREHENSIONCivil Rights Voca Titled "The Story of Ruby Bridges," the book thrust Bridges back into the public eye. Hardcover. But the account she gives here is freshly riveting. Ruby Bridges was the title of a 1998 film based on the life of Bridges. Home Store The Process Video Patrick Vale Happ Family Fund THrough My Eyes. 4.8 out of 5 stars 210. Short Summary This stirring autobiography shows readers what the historic integration of the nation's public schools was like for a girl who played a pivotal role in it. Description On November 14, 1960, a tiny six-year-old black child, surrounded by federal marshals, walked through a mob of screaming segregationists and into her school. 'Through My Eyes' is a personal narrative about the time Ruby Bridges was apart of the integration effort of New Orleans. The story takes place in New Orleans, Louisiana in 1960. With simple language, Ruby's words reach beyond the historical facts, providing readers with a vivid recollection of what those days were like. Includes portions with far more detail than a picture book, but also has shorter passages perfect for reading by younger ages. Rate it * You Rated it * 0. Listen Free to Through My Eyes: Ruby Bridges audiobook by Ruby Bridges with a 30 Day Free Trial! Weaving memories of lessons he learned growing up in the Central Valley of California, author Bob Whitworth takes you with him, giving you a glimpse, through his eyes, into the sights, sounds, smells and feelings during a year as a drafted combat infantry soldier in Vietnam. On November 14, 1960, a tiny six-year-old black child, surrounded by federal marshals, walked through a mob of screaming segregationists and into her school. At age six, Ruby went to school. In 2001 President Bill Clinton presented Bridges with the Presidential Citizens Medal. Her inspiring story is filled with messages of courage.This study has 26 pages plus a table of contents (chapter reference) and answer key.COMPREHENSIONCivil Rights Voca She became someone who helped change our country. It's recommended for readers ages 7 to 12. Ruby Bridges is a civil rights icon and inspiration, and her modern classic Through My Eyes remains a beloved gem on Scholastic's backlist. Read aloud the book The Story of Ruby Bridges written by Robert Coles and illustrated by George Ford. Your browser's Javascript functionality is turned off. Through My Eyes (Book) : Bridges, Ruby : Ruby Bridges recounts the story of her involvement, as a six-year-old, in the integration of her school in New Orleans in 1960. Beautiful book, with Ruby Bridges story told from a child's perspective. With Robert Coles's 1995 picture book, The Story of Ruby Bridges, and a Disney television movie, readers may feel they already know all about Bridges, who in 1960 was the first black child to attend a New Orleans public elementary school. The next of the new Scholastic titles will be spring 2023's Dear Ruby Bridges: Letters from Kids Speaking up for a Better World, a companion to Through My Eyes comprised of letters Bridges … Ruby's strength came from prayer, her family and her teacher, Mrs. Henry, whom she became very close. Ruby again felt alone, as the new teacher made fun of her for her Boston 'accent' that she developed after spending so much time with Mrs. Henry. Get this from a library! Stream and download audiobooks to your computer, tablet and iOS and Android devices. Four black students were to attend white schools the year that Ruby entered first grade. Publisher's Summary In November 1960, all of America watched as a tiny six-year-old black girl, surrounded by federal marshals, walked through a mob of screaming segregationists and into her school. Please use Internet Explorer. THROUGH MY EYES. Today, Through My Eyes (Scholastic, $16.95) wins an award as 1999's best non-fiction children's book that "advances humanitarian ideals and serves as an inspiration to young readers." Nearly 40 years later, Ruby Bridges turned her memories of that experience into a book for children. Ruby Bridges Goes to School: My True Story (Scholastic Reader, Level 2) Ruby Bridges. Written by Ruby Bridges. Find many great new & used options and get the best deals for Through My Eyes by Ruby Bridges (1999, Hardcover) at the best online prices at eBay! The account associated with this email address may not be active. Special thanks: Free shipping for many products! by Ruby Bridges genre: biography Level W Through My Eyes Background Information In 1951, Oliver Brown, an African- https://clubs.scholastic.com/through-my-eyes/9780590546300-rco-us.html. W.E.B. During this time white and black parents are evacuating their children from schools and keeping them from attending class. Plus each order gives back to the class in FREE Books and resources. Click "Forgot account information?" Your email address will not be published. She lives with her husband and sons in New Orleans, Louisiana. Each described the … You're using an unsupported mobile browser. When she entered second grade, she had a class of 20 other students, but not Mrs. Henry. A handful of students were selected, one was Ruby Bridges. New York, NY: Scholastic Press. We have dug deep the last few days into the texts on Ruby Bridges The books we have focused on are "The Story of Ruby Bridges" by Robert Coles and "Through My Eyes" by Ruby Bridges. Ruby Bridges was the first black child to attend a public elementary school in New Orleans, … Your email address will not be published. 4.8 out of 5 stars 391. Her inspiring story is filled with messages of courage.This study has 26 pages plus a table of contents (chapter reference) and answer key.COMPREHENSIONCivil Rights Voca Through My Eyes is a primary source. Through My Eyes by Ruby Bridges, Margo Lundell, Margo Lundell. 3. Through My Eyes Author: Ruby Bridges Publisher and date: Scholastic, 1999 Genres: autobiography Ages 6- and up Author's perspective: Ruby Brigdes tells her own story. In 1960, the country watched as a six-year-old girl in a white dress was escorted to class, surrounded by federal marshals with guns. Through My Eyes (eBook) : Bridges, Ruby : Ruby Bridges recounts the story of her involvement, as a six-year-old, in the integration of her school in New Orleans in 1960. Her memoir, Through My Eyes, was released in 1999, the same year that she established the Ruby Bridges Foundation, which used educational initiatives to promote tolerance and unity among schoolchildren. To get the best of Reading club's new features and for a faster experience. You're using an older version of Firefox. The story takes place in New Orleans, Louisiana in 1960. Quotes from newspapers and magazines also give a vivid depiction of the ugliness of the protests that took place. Through My Eyes is a memoir by Ruby Bridges about her experience as one of the first young black students to attend an integrated school during the Civil Rights Movement in the 1960s. Ruby Bridges became a pioneer in school integration at the age of six, when she was chosen to spend her first-grade year in what had formerly been an all-white elementary school. Format: Paperback Book Paperback Book. The combination is great for providing just right information, and leading to asking more questions, and searching out more answers. The autobiography "Through My Eyes" written by Ruby Bridges tells stories of struggles and destitution. In it, Ruby Bridges tells the story of an important chapter in her own life. $14.40. Shaking Things Up: 14 Young Women Who Changed the World Susan Hood. She was escorted by armed U.S. Marshalls and was the only student in the class. That same year, she appeared on the "Oprah Winfrey Show," where she was reunited with her first-grade teacher. The kids in my class truly start to understand that… In 1999 Ruby Bridges wrote a book about her life entitled Through My Eyes.Bridges travels across the USA talking to children about her life's experience. 2. Ruby's Mother Ruby Bridges was six years old when she first attended elementary school in New Orleans, Louisiana; this book is a recollection of her experience as a foundational member of the Civil Rights Movement as a little girl, … Ruby is a very brave young lady at the age of six and having to go through many life Through My Eyes. Reading Level age 8-12. During the last month of school, a taxi driver escorted her to school and the U.S. Marshalls left. 63 pages. The combination is great for providing just right information, and leading to asking more questions, and searching out more answers. Isolated from the other students, she was the only one in her class. Through My Eyes Ruby Bridges. SIGN IN. Autobiography. Includes portions with far more detail than a picture book, but also has shorter passages perfect for reading by younger ages. Hardcover, 9780590189231, 0590189239 "Ruby Bridges is a civil rights icon and inspiration, and her Through My Eyes remains a beloved gem on Scholastic's backlist. At the time, Ruby Bridges didn't know why there were barricades and police everywhere or why people lined up to yell horrible things. Tell readers what you thought by rating and reviewing this book. Jun 14, 2013 - Project Cornerstone ABC Program Year 3 Book: Through My Eyes by Ruby Bridges. When Ruby first goes to school, escorted by U.S. Marshalls, she is the only child in her class.
Annie Proulx Brokeback Mountain, Word For Something That Shouldn T Have Happened, Robert Davi Tv Shows, Registered Health Information Technician Definition, Village Of Twin Lake Wi,


CHAR Technologies recently announced approval of a $1 million dollar grant for their CleanFyre biocoal project with participation from Walker Environmental and Dofasco. The grant will help further develop CleanFyre, a carbon neutral, sustainable, solid biofuel that meets steel industry requirements.
Walker Environmental is supporting the development of CHAR's CleanFyre biofuel project as a feedstock supplier of recovered wood and residues and as a supply chain solutions provider of grinding and logistics services. Walker Environmental's experience and expertise in recovering resources and managing waste is a key component to the development and implementation of this technology.
"We are excited to continue our support of CHAR as they develop GHG neutral products to replace fossil coal within the steel manufacturing industry" said Mike Watt, Executive Vice President, Walker Environmental.


Comments : I might be relocating to Bangor, lord willing if I get the job I applied for. Looking forward to fishing inthe summer and eating all the great seafood in Maine.
Comments : Im originally from Massachusetts, have been in VA for 4 years. Im really thinking of moving back to New England because thats where my roots are.
Comments : Dont grumble, circulate.
Comments : My great nephew Jesse, plays for the host team. This makes it great to keep up with his team.
Comments : We love your beautiful city. We visit three to four times a year and love to shop your stores. Your downtown has been revitalized a great deal and looks beautiful.
Comments : i think this is the most beautiful place i have ever seen. i am planning to move here within the next year.
Comments : Ah yes .. my birthplace! EMMC to be exact .. went to John Bapst High from 1975-78 ..
Comments : Senior citizen hoping to relocate back to my Yankee roots within the next year. Your website is fantastic - extremely information and attractive.


text:
Somali police secure US$9 million from Germany to support projects
Saturday February 9, 2019
Somalia's Joint Police Programme (JPP), a joint policing model to strengthen peace and security at national and regional levels, has received 9 million U.S. dollars from Germany to support its projects.
The UN-backed JPP supports the two-tier policing structure and sets future development of strong national and state-level police services, the UN Assistance Mission in Somalia (UNSOM) said in a statement issued on Friday.
Markus Bollmohr, Deputy Ambassador of Germany to Somalia, said while the funding is not earmarked to any specific strand of the program, his country was keen to see some activities given more emphasis, such as policy development, strengthening of legal frameworks and civilian oversight.
Implemented by the Somali government in close cooperation with federal member states, the UN and other international partners, the JPP is currently underway in the regional states and the Benadir region.
The program is expected to expedite the ongoing transition of security responsibilities from the African Union Mission in Somalia (AMISOM) to Somali security forces.
The JPP, which was launched in June 2018, seeks to develop strong national and state-level police services in the Horn of Africa country.
Sudanese forces fire tear gas at Khartoum mosque - witnesses - Reuters
Tanzania to release 1 900 Ethiopian prisoners: embassy - AFP
Somali lemons and sesame find new export markets in Turkey - Radio Ergo
US ramps up air strikes against Somali extremist group - Financial Times
From a refugee camp in Kenya to a seat at the State of the Union - Buffalo News
Venezuela's Guaido won't rule out authorising US intervention - AFP
Garissa elders endorse re-election of Jubaland President Madobe - Citizen TV
Ethiopia: ONLF rebels disarm, sign agreement with Somali state - Africa News
Iran's leader says 'Death to America' means to Trump, not people - Dw
Ogaden National Liberation Front (ONLF) officially disarmed - Borkena


ICSE Class 10th Results 2017: Council for Indian School Certificate Examinations (CISCE) likely to announce the Indian Certificate of Secondary Education (ICSE) class 10 results on May 15, 2017, on the official website www.cisce.org. ICSE class 10th exam 2017 was held between March 10 and April 21 2017. Around 1,76,327 candidates appeared for the exam and they are eagerly waiting for ICSE Class 10 Results 2017 from a long time. As soon as results are out, Candidates can visit the official website or follow steps provided below to check ICSE Class 10th 2017 Results. For More Results and Answer Key Can Check Here,The Council for the Indian School Certificate Examinations (CISCE) is expected to declare the results of ICSE matriculate (Class 10) examination 2017 today, May 15 at cisce.org .Last year, the CICSE declared both ICSE (class 10) and ISC (class 12) results on May 6.This year, the board conducted the ICSE examination from March 10 to April 21 at various test centres.
ICSE Class 10 Results exams are conducted by the Council For The Indian School Certificate Examination. The council came into existence in December 1967. It was registered as a Society under the Societies Registration Act, 1860. In 1973, the Council was listed in the Delhi School Education Act 1973, as a body conducting "public" examinations. Every year, It conducts ICSE 10th and 12th board examinations for all states in India.
Last year, Around 1,68,591 candidates appeared for the ICSE class 10th exams including 92,900 boys and 75,691 girls. The pass percentage for ICSE class 10th exam 2016 was 98.54% where girls did better as compared to boys with 98.93%. The pass percentage of boys was 98.13%. Last year, the result was declared on May 6, along with the ISC Class 12 result. This year, The ICSE exams were scheduled to begin on February 27 and end on March 31, but delayed due to state elections for five assemblies. This may reason behind the delay of results compared to last year. Now, The results of the Indian Certificate of Secondary Education (ICSE) Class 10th examinations will be announced by the Council for Indian School Certificate Examinations (CISCE) on Monday, May 15 2017.
This will be very helpful to the students those who don't have internet facility or internet cafe is very far, they can just simply send the Message in the format stated above and get their results on the mobile.
The council was established in order to ensure suitable representation of Government of India, State Governments/Union Territories.There are end no of Schools affiliated to the Council, the Inter-State Board for Anglo-Indian Education, the Association of Indian Universities, the Association of Heads of Anglo-Indian Schools, the Indian Public Schools' Conference, the Association of Schools for the ISC Examination all over the country.
1.Visit the official website of CISCE, www.cisce.org.
2.Click On Results 2017 tab.
3.Now click on "ICSE 10th Class Results 2017".
4.Enter the Course Code, Candidate UID and the Captcha.
5.Click on the Show Result button to get the results.
6.Click on the Print Result button to get the Print .


text:
Gratitude: A Daily Journal by Jack Canfield, D.D. Watkins
'You will start to become increasingly aware of the miracles all around you and the events in your l...
Store Home > Gratitude: A Daily Journal by Jack Canfield, D.D. Watkins
'You will start to become increasingly aware of the miracles all around you and the events in your life will begin to unfold in what seem like magical and mysterious ways.' -Jack Canfield As Jack Canfield's Key to Living the Law of Attraction explains, gratitude and acknowledgment are essential components in creating and attracting what you want in your life. Through the expression of gratitude on a daily basis, you align yourself to receive all the good the universe has to offer. By simply focusing your thoughts and attention on the abundance that is already present in your life, you will literally shift your energy to a positive vibration that will automatically and effortlessly attract even more to begrateful for. Gratitude: A Daily Journal is a year-long, two-part journal that provides a simple framework for your personal expressions of gratitude and acknowledgment. This journal is a powerful tool that will help to raise your consciousness and increase your awareness of the beauty and synchronicity that surround you each day. With each daily expression of gratitude, you will create a vibrational match for love, joy, and abundance.
Jack Canfield, D.D.
D.D. Watkins is a mother, successful entrepreneur, and artist. Jack Canfield is a sought-after national speaker and trainer and is cocreator of the #1 New York Times and USA Today bestselling Chicken Soup for the Soul series. Biography While Jack Canfield himself may not necessarily be a household name, it's very likely that you have heard of his famed Chicken Soup for the Soul series and nearly as likely that you have at least one of them sitting on your very own bookshelf! Having got his start as an inspirational speaker, Canfield's own story is nothing less than inspirational. Jack Canfield had been traveling around delivering key note speeches and organizing workshops to help audiences build their self-esteem and maximize their potential when he had an in-flight brainstorm that changed his life. While flying home from a gig, Canfield realized that the very same advice he had been delivering during his in-person addresses could potentially form the basis of a book. Canfield used inspirational stories he'd gleaned over the years as the basis of his speeches, and he thought it would be a terrific idea to gather together 101 inspirational stories and anthologize them in a single volume. Upon returning home, Canfield approached friend and author Mark Victor Hansen about his concept. Hansen agreed it was a great idea, and the two men set about finding a publisher. Believe it or not, the mega-selling series was not an easy sell to publishers. "We were rejected by 123 publishers all told," Canfield told Shareguide.com. "The first time we went to New York, we visited with about a dozen publishers in a two day period with our agent, and nobody wanted it. They all said it was a stupid title, that nobody bought collections of short stories, that there was no edge -- no sex, no violence. Why would anyone read it?" Canfield wisely practiced what he preached -- and persisted. Ultimately, he and Hansen sold the first Chicken Soup for the Soul book to a small press based in Deerfield Beach, Florida, called Health Communications. The rest, as they say, is history. There are currently 80 million copies of the Chicken Soup books in print, with subjects as varied as Chicken Soup For the Horse Lover's Soul and Chicken Soup For the Prisoner's Soul. Canfield and Hansen ranked as the top-selling authors of 1997 and are multiple New York Times bestsellers. Most important of all, the inspirational stories they have gathered in their many volumes have improved the lives of countless readers. This year, expect to see Canfield's name gracing the covers of such titles as Chicken Soup For the Scrapbooker's Soul, Chicken Soup For the Mother and Son Soul, and Chicken Soup For the African American Woman's Soul. He and Hansen have also launched the all-new "Healthy Living" series and 8 titles in that series have already been released this year. There is also the fascinating You've GOT to Read This Book!, in which Canfield compiles personal accounts by 55 people each discussing a book that has changed his or her life. The most compelling of these may be the story of young entrepreneur Farrah Gray, who read Deepak Chopra's The Seven Spiritual Laws of Success at the age of 11 and made his first million dollars at the age of 14! With no sign of slowing down, Canfield continues to be an inspiration to millions, who fortunately refused to give up when it seemed as though he would never even get his first book published. "Mark and I are big believers in perseverance," he said. "If you have a vision and a life purpose, and you believe in it, then you do not let external events tell you what is so. You follow your internal guidance and follow your bliss, as Joseph Campbell used to say." Good To Know Canfield is the founder of two California based self-esteem programs, "Self-Esteem Seminars" in Santa Barbara and "The Foundation For Self Esteem" in Culver City. Writing the first Chicken Soup book was a lot more daunting than Canfield expected. After the first three years of research, he and Mark Victor Hansen had only compiled 68 stories -- 33 tales shy of their goal of 101 stories. Along with co-writing dozens of full-length books, Canfield also publishes a free biweekly newsletter called Success Strategies. Some fun and fascinating outtakes from our interview with Canfield: "My inspiration for writing comes from my passion for teaching others how to live more effective lives. I started out as a history teacher in an all-black inner city high school in Chicago, graduated to a teacher trainer, then psychotherapist, then trainer of therapists, then large group transformational trainer and then a writer and keynote speaker. All along the way, my desire was to make a difference, to help people live more fulfilling lives. That is what I still do today. Most people don't know this but I was not a good writer in college. I got a C in composition. Nobody would have ever believed I would grow up to be a bestselling author." "I play guitar, and I am learning to play the piano. I love movies and some TV shows. My favorites are Six Feet Under, Grey's Anatomy, House and Lost. I love to play Scrabble, poker and backgammon with my in-laws, nieces and nephews. We really get into it. I love to travel. I have been to 25 countries and try to add two or three new ones every year."
Success is just about achieving all that you planned to have. It's discovering that you have reached your targets or accomplished your goals and it's waking up in the morning feeling victorious rather than becoming defeated.The emotions success produces will make you walk with pride in the alleys with confidence while being happy and fulfilled. Contrary to prevalent beliefs, there are no successful or unsuccessful men and women but on the other hand there are many people who have the possibilities to become successful and who do tasks that facilitate them comprehend this possibility and there are people today with the same capabilities who will not do those things.The only thing you are looking for to do to succeed is to do exactly what highly effective people did. When you go through and through all of the information you will acquire the thinking of a successful person and this will help you get to financial success. If you truly want to be productive then you should certainly have a sturdy comprehension of certain principles that can reduce your potential and that can make you defeated. If you don't have goals or strategies then you are really going to be a fraction of other some people's objectives. If you dont program to be the team leader at your work then someone else in your crew will do so and if you do not prepare to get that high status position then somebody else who organized and strived for it will take it from you. If you don't organize you will get swept away by the people who do. The initial concern that comes to the mind of most individuals with problems is that they set out to consider their dilemmas as constraints to their achieving success. The second you commence to notice your struggles as stumbling blocks, you start off to have a lot more trouble because tension shows its head, anxiety begins, and these are additional major troubles on their own. The basic facts is, the method by which you see your troubles confirms exactly how they will change you.


Urmați Aparate de fotografiat digitale!
Recenzii: Build your network, create your online businesses, have discussions, organize events and do online trade and deals through our service network.
Recenzii: If you want to get a good quality camera without any big financial costs, it's for you. This will help to showcase your creativity.
Recenzii: Meh. It was great quality for the price. Just not the best I've ever seen. You know?
Recenzii: The Optio S5i is amazingly full-featured for a subcompact model, delivering good (although slightly understated) color and tone in an incredibly tiny package. If you're looking for an ultra-compact camera with a full feature set, the Optio S5i is hard to beat. The camera's 5.0-megapixel CCD produces very high resolution images, and the camera offers a wide range of preset shooting modes and exposure control options to suit a range of user levels. Excellent for travel and as a "take anywhere" camera, the Pentax Optio S5i arguably packs more photographic capability per cubic inch than anything else on the market.


text:
__БЕЗКН__

-{Lirceus usdagalun}- је животињска врста класе -{Crustacea}- која припада реду -{Isopoda}- и фамилији -{Asellidae}-.

Угроженост
Ова врста се сматра угроженом.

Распрострањење
Сједињене Америчке Државе су једино познато природно станиште врсте.

Станиште
Станиште врсте су слатководна подручја.

Литература
-{IUCN}- црвена листа угрожених врста, детаљнији подаци о врсти

Референце

Isopoda
Угрожени таксони

redpajama_set_name: RedPajamaWikipedia


The Norcal Collection of Chinese Coins consists of machine struck coins collected by an American living in China from the 1930s to '40s. All of the coins of this collection have been well-kept since 1948, including coins with the finest condition. Now almost all of the coins in this collection have been certified by NGC (Numismatic Guaranty Corporation).
Below are some of the highlights of that collection, as well as high-quality Chinese paper money rarities.
Lot 209: CHINA-REPUBLIC 1912 Li Yuan Hung (with Hat) One Dollar Silver, L&M43, Y320, NGC MS66, Norcal Collection.
Lot 210: CHINA-REPUBLIC 1912 Li Yuan Hung (with Hat) One Dollar Silver, L&M43, Y320, NGC MS65+, Norcal Collection.
Lot 216: CHINA-REPUBLIC 1914 Yuan Shi Kai One Dollar Silver with Plumed Hat, L&M-858, Y322, NGC MS65+, Norcal Collection.
Lot 226: CHINA-REPUBLIC 1923 Dragon and Phoenix Silver Dollar. Variety with small characters on the reverse. Y336 (K680), L&M-81. NGC MS65.
Lot 229: CHINA-REPUBLIC ND(1924) Tuan Chi Jui One Dollar Silver, L& M865, Kann 683. NGC MS64, Norcal Collection.
Lot 291: CHINA-KWEICHOW 1928 Auto Dollar Silver, car door with dot. L&M609. NGC MS58, Norcal Collection. A PCGS AU58 was sold at a Heritage sale in April 2011 for US $76,375, the second-highest graded of this variety.
Lot 295: CHINA-SINKIANG ND(1906) Fen Copper, Original Strike. Y1A. NGC MS63BN, NC Collection.
Lot 296: CHINA-SINKIANG 1907(AH1325) One Tael Silver, Ta Ch'ing Series, Y26.1, Kann 1115, Chang CH163, L&M742(E61). NGC VF20.
Lot 313: CHINA-Yunnan ND(1916) Tang Chi Yao Protector of the Republic Commemorative Coin 50 Cents Silver, Y480, L&M-862. NGC MS63, Norcal Collection.
Lot 321: CHINA-HUPEN-HONAN-ANWHEI SOVIET 1932 One Dollar Silver, L&M888, Y#504. NGC VF35, Norcal Collection.
Lot 035: CHINA 1909 The International Banking Corporation 1 Dollar (101548), Pick# S401, S/M#M10-10, PMG CF15.
Lot 062: CHINA ND Federal Reserve Bank of China Printers Essay 20 Cents, Pick Unlisted 20pe, PMG GU66EPQ. A similar note sold in Macau in the November 2017 Macau auction for USD 2,760.
Lot 084: CHINA 1949 The People's Bank of China 1st Print 500 Yuan (00111036), "lawn mower", Pick 846,S/M#C282-54,PMG CU65EPQ.
Lot 086: CHINA 1949 The People's Bank of China 1st Print 1,000 Yuan (12484053), "tractor", Pick 848a, S/M#C282-63, PMG CU64EPQ.
Lot 112: CHINA-Macao 1924 Banco Nacional Ultramarino – Macao Branch 5 Patacas (185057), Pick 8, PMG Choice VF35. Finest Known. Highest graded example from PMG.
Lot 354: Marco Polo 1982 gold pattern coin, bronze alloy, proof, 100 Yuan, weight 6.1g, diameter 23mm, pattern of the Jiayu Pass in the Great Wall on the obverse, the pass gate is facing to the right side. Portrait of Marco Polo and the ocean is removed from the outer ring on the reverse. NGC PR68, extremely rare.
Lot 367: CHINA 1988 Basel International Coin Week commemorative gold medals, 1 oz Gold, "PT" mint error version and "AU" version. Certificate number #1.
Lot 372: CHINA 1995 the Romance of Three Kingdoms commemorative gold coin, 500 Yuan, 5 oz, 999 gold, diameter 60mm, proof, mintage 99. NGC PF68 ULTRA CAMEO.
Lot 380: CHINA-ANA 2016 ANA World Money Fair Anaheim 257.3g silver plated copper die trial proof. NGC PF68 ULTRA CAMEO. Mintage three.
Lot 392: CHINA-BERLIN 2018 World Money Fair Berlin Special Exhibit 1 oz .999 Gold Proof, diameter 40mm, Commemorative Show Panda, Serial number 11. Mintage 20. NGC PF69 ULTRA CAMEO.


text:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Web.Security;
using Umbraco.Core;
using Umbraco.Core.Dynamics;
using Umbraco.Core.Models;
using Umbraco.Core.Models.Membership;
using Umbraco.Core.Models.PublishedContent;
using Umbraco.Core.PropertyEditors;
using Umbraco.Core.Services;
using Umbraco.Web.Models;

namespace Umbraco.Web.PublishedCache
{
    /// <summary>
    /// Exposes a member object as IPublishedContent
    /// </summary>
    public sealed class MemberPublishedContent : PublishedContentWithKeyBase
    {

        private readonly IMember _member;
        private readonly IMembershipUser _membershipUser;
        private readonly IPublishedProperty[] _properties;
        private readonly PublishedContentType _publishedMemberType;

        public MemberPublishedContent(IMember member)
        {
            if (member == null) throw new ArgumentNullException("member");

            _member = member;
            _membershipUser = member;
            _publishedMemberType = PublishedContentType.Get(PublishedItemType.Member, _member.ContentTypeAlias);
            if (_publishedMemberType == null)
            {
                throw new InvalidOperationException("Could not get member type with alias " + _member.ContentTypeAlias);
            }

            _properties = PublishedProperty.MapProperties(_publishedMemberType.PropertyTypes, _member.Properties,
                (t, v) => new RawValueProperty(t, v ?? string.Empty))
                .ToArray();
        }

        #region Membership provider member properties
        public string Email
        {
            get { return _membershipUser.Email; }
        }
        public string UserName
        {
            get { return _membershipUser.Username; }
        }
        public string PasswordQuestion
        {
            get { return _membershipUser.PasswordQuestion; }
        }
        public string Comments
        {
            get { return _membershipUser.Comments; }
        }
        public bool IsApproved
        {
            get { return _membershipUser.IsApproved; }
        }
        public bool IsLockedOut
        {
            get { return _membershipUser.IsLockedOut; }
        }
        public DateTime LastLockoutDate
        {
            get { return _membershipUser.LastLockoutDate; }
        }
        public DateTime CreationDate
        {
            get { return _membershipUser.CreateDate; }
        }
        public DateTime LastLoginDate
        {
            get { return _membershipUser.LastLoginDate; }
        }
        public DateTime LastActivityDate
        {
            get { return _membershipUser.LastLoginDate; }
        }
        public DateTime LastPasswordChangedDate
        {
            get { return _membershipUser.LastPasswordChangeDate; }
        }
        #endregion

        #region IPublishedContent
        public override PublishedItemType ItemType
        {
            get { return PublishedItemType.Member; }
        }

        public override bool IsDraft
        {
            get { return false; }
        }

        public override IPublishedContent Parent
        {
            get { return null; }
        }

        public override IEnumerable<IPublishedContent> Children
        {
            get { return Enumerable.Empty<IPublishedContent>(); }
        }

        public override ICollection<IPublishedProperty> Properties
        {
            get { return _properties; }
        }

        public override IPublishedProperty GetProperty(string alias, bool recurse)
        {
            if (recurse)
            {
                throw new NotSupportedException();
            }
            return GetProperty(alias);
        }

        public override IPublishedProperty GetProperty(string alias)
        {
            switch (alias)
            {
                case "Email":
                    return new PropertyResult("Email", Email, PropertyResultType.CustomProperty);
                case "UserName":
                    return new PropertyResult("UserName", UserName, PropertyResultType.CustomProperty);
            }

            return _properties.FirstOrDefault(x => x.PropertyTypeAlias.InvariantEquals(alias));
        }

        public override PublishedContentType ContentType
        {
            get { return _publishedMemberType; }
        }

        public override int Id
        {
            get { return _member.Id; }
        }

        public override Guid Key
        {
            get { return _member.Key; }
        }

        public override int TemplateId
        {
            get { throw new NotSupportedException(); }
        }

        public override int SortOrder
        {
            get { return 0; }
        }

        public override string Name
        {
            get { return _member.Name; }
        }

        public override string UrlName
        {
            get { throw new NotSupportedException(); }
        }

        public override string DocumentTypeAlias
        {
            get { return _member.ContentTypeAlias; }
        }

        public override int DocumentTypeId
        {
            get { return _member.ContentType.Id; }
        }

        public override string WriterName
        {
            get { return _member.GetCreatorProfile().Name; }
        }

        public override string CreatorName
        {
            get { return _member.GetCreatorProfile().Name; }
        }

        public override int WriterId
        {
            get { return _member.CreatorId; }
        }

        public override int CreatorId
        {
            get { return _member.CreatorId; }
        }

        public override string Path
        {
            get { return _member.Path; }
        }

        public override DateTime CreateDate
        {
            get { return _member.CreateDate; }
        }

        public override DateTime UpdateDate
        {
            get { return _member.UpdateDate; }
        }

        public override Guid Version
        {
            get { return _member.Version; }
        }

        public override int Level
        {
            get { return _member.Level; }
        }
        #endregion
    }
}