Slaying the Virtual Memory Monster - Part II

Size: px
Start display at page:

Download "Slaying the Virtual Memory Monster - Part II"

Transcription

1 1 of 8 04/19/ :53 PM Slaying the Virtual Memory Monster - Part II Reed Robison 1 Oct :46 PM 17 Someday I ll learn to write a simple blog post a couple of paragraphs about something cool and edgy. Not today. There is no way to cover Virtual Memory in brevity and still get anything out of it so... we re going to trudge through this. In my last post, we covered some important VM fundamentals. In this post, we re going to get a little more hands on and actionable. Let s talk about ways to diagnose and deal with VM issues. Because the failure characteristics are somewhat random in nature and there are several ways to tackle them, the first step is to profile the VM space on the device and try to figure out what you are up against. This is a good thing to do for a number of reasons: 1) You need know which processes are the biggest consumers of VM space reserved for loading DLLs 2) You need to know how much VM space is still available inside YOUR process 3) How you attack a VM problem depends on #1 and #2 above Profiling the Virtual Memory Situation When I first started debugging VM issues on Windows Mobile, I was surprised to find that we didn t release any decent low level memory tools in the public WM SDK. There are a couple of OEM tools we provide to device makers, but since they are not included in the public SDK, they won t help us much and I m not going to use or discuss them here. The good news is that the basic APIs you need to understand VM use are publically exposed within the ToolHelp API set. These APIs work across all versions of the WM platforms and for the most part this technique gets the job done. The best way to get started with this approach is via and old support tool we released way back in 2002 which remains available in our downloads -- called DumpMem. DumpMem simply uses the ToolHelp APIs to dump information about all the running processes into a text file and includes some basic heap data. The files are not particularly fun to work with (it s a big messy text file), but I ve seen several versions of home grown tools built around the underlying DumpMem code and parsing tools for the logs. I ve written several myself. With a little practice, you can learn to make sense of these files and gain a lot of insight from them. One concept I didn t cover in the last post was slots. A slot is a basic unit for maintaining virtual memory within the Windows Embedded CE kernel. Without going into great detail, I ll just say that each slot in the user address space is 32 MB and there are 32 slots set aside for the maximum number of running process. Two slots are special. Slot 0 is used for the current running process and Slot 1 is reserved exclusively for in-rom components that have been included as part of the device image. Slot 0 is represented by the area below 0x and since it s where the active process runs, that s what we re most interested in. For all practical purposes, that s our 32MB virtual address space area we have to make it all work. Virtual Memory in a perfect world Our emulators are a good place to start. They don t have the OEM extras -- code, drivers, startup software, etc., and thus, generally have more free VM than you ll find on commercially available devices. What are we looking for? 1) First we want to know where the lowest DLL is loaded in memory (regardless of process). Since we established that every DLL has to load lower than previous DLLs, we re basically looking to see how far that load position has gotten pushed down. All running processes that load DLLs can contribute to this position. This is often the biggest contributor in VM failure scenarios. When the DLL load position get pushed really low, it s more likely to bump into a process heap (which is growing upward). When that happens, LoadLibrary fails and you won t be able to load any more components in your process. This is also a very important metric to consider for all processes since the same low DLL load position has implications for all apps. 2) Next we want to identify the biggest free area between our heap (growing upward) and the lowest DLL load position in our process. We want to know this because it tells us how much room is left to load DLLs in our process and is often the largest single piece of contiguous memory left for the heap (important if you need to allocate a sizable chunk of memory without going to the large memory area like an image, etc). Step by Step Create a Memory Dump using DumpMem Let s start with DumpMem and a Hello World application. I m just going to let Visual Studio build a simple Hello World application and launch it on the WM6 Professional emulator. Then I ll use DumpMem to dump the process and we ll get messy.

2 2 of 8 04/19/ :53 PM emulator. Then I ll use DumpMem to dump the process and we ll get messy. I simply select the process I want to dump (HelloWorld_1), choose Create File and dumpmem writes everything into a file called dumpmem.txt in the root directory of the device. You can choose any process in the list, but DumpMem only grabs extra heap information for the specific you select. We re not going to use heap data for this exercise, but sometimes, it s good to see what kind of allocations are in there. *DumpMem uses a fairly memory intensive API called CreateToolhelp32Snapshot to grab heap info about the selected process. If VM is already very tight on the device you are profiling, this API can cause DumpMem to fail. If this happens, you can change the call in the DumpMem source to pass in TH32CS_SNAPNOHEAPS flag. This won t give you a dump of the actual heap data, but it will allow you to get the process info with all the loaded modules which is usually all you need. The DumpMem log is broken into several sections: Platform Information o This is simply the platform, CPU type, and version number Virtual Memory Dump (of the selected process) o This is a map of the 32MB process space for the selected application. The format is address, size, state, type, use. Heap Dump of the selected process o The heap(s) break down every chunk of raw heap memory it contains and shows you the address, size of the chunk, and if it s in use (fixed or free) Processes and their modules o An enumeration of all the running processes, all the components each has loaded, and then for each component the name, load address, size, and module attributes We ll go into these sections in more detail later on, but first let s just focus on our first goal identifying the lowest DLL load position. To do this, skip over all the sections in the log file you just created to the last one Processes and their modules. What you find here is a list of all the running processes and more importantly all the components (DLLs, MUIs, etc.) they have loaded along with their load positions. We re mostly interested in components that are loaded into Slot 0 (below 0x ). One quick way to identify these components is by their attribute in the list. If the attribute does not include XIP we want to pay special attention because they will always be in this space and usually one of the lowest DLLs in memory (see bold items below). Another way might be to look at the load position of each component in something like Remote Process Viewer and see if it s using loading below 0x If the component has an XIP attribute, then it s a ROM based module and usually loaded into a special area in Slot 1 (outside the area we re worried about). Sometimes, when the XIP region gets full, these components will start getting pushed down into Slot 0. When that happens, they affect our VM space the same way as non-xip components. Anything below 0x that is not labeled XIP is what we re primarily concerned about. If I look at the dumpmem.txt file I just created, that section looks something like the list below (I ve trimmed off each module list after the first 3-4 items). Processes and their Modules Module File Attributes Legend RO - Read Only H - Hidden S - System A - Archive C - Compressed

3 3 of 8 04/19/ :53 PM C - Compressed NK.EXE base address: C coredll.dll 03F4E RO, H, S, XIP coredll.dll.0409.mui 7FFE RO, S, XIP hd.dll RO, H, S, XIP filesys.exe base address: rsaenh.dll B000 RO, H, S, C, RAM from ROM vcefsd.dll C000 RO, H, S, XIP ramfmd.dll 01A RO, H, S, XIP device.exe base address: rsaenh.dll B000 RO, H, S, C, RAM from ROM serial_smdk2410.dll 019E0000 A000 RO, H, S, XIP serdma.dll 01A RO, S, XIP... services.exe base address: lap_pw.dll RO, S, C, RAM from ROM rsaenh.dll B000 RO, H, S, C, RAM from ROM obexsrvr.dll A000 RO, H, S, XIP gwes.exe base address: 0A kbdmouse.dll RO, H, S, XIP touch.dll 019B0000 A000 RO, H, S, XIP deviceemulator_lcd.dll 01B D000 RO, H, S, XIP shell32.exe base address: 0C wlmhssearchbarcode.dll RO, S, C, RAM from ROM wlmshared.dll 018A0000 3C000 RO, S, C, RAM from ROM wlmuiframework.dll 018E RO, S, C, RAM from ROM wlmtodayscreen.dll RO, S, C, RAM from ROM siminit.dll RO, S, XIP EmulatorStub.exe base address: 0E coredll.dll 03F4E RO, H, S, XIP coredll.dll.0409.mui 7FFE RO, S, XIP poutlook.exe base address: ossvcs.dll 0300E RO, S, XIP oleaut32.dll F000 RO, H, S, XIP ole32.dll 0307F000 2C000 RO, H, S, XIP connmgr.exe base address: rsaenh.dll B000 RO, H, S, C, RAM from ROM ril.dll RO, S, XIP cspvoice.dll RO, S, XIP ConManClient2.exe base address: devicedma.dll B000 A

4 4 of 8 04/19/ :53 PM devicedma.dll B000 A edbgtl.dll A coredll.dll 03F4E RO, H, S, XIP HelloWorld_1.exe base address: mscoree2_0.dll 01C70000 C4000 RO, H, S, XIP netcfagl2_0.dll 0218C000 3B000 RO, H, S, XIP mscoree.dll 021C RO, H, S, XIP fexplore.exe base address: ossvcs.dll 0300E RO, S, XIP oleaut32.dll F000 RO, H, S, XIP ole32.dll 0307F000 2C000 RO, H, S, XIP dumpmem.exe base address: 1A toolhelp.dll 02E5F RO, H, S, XIP ossvcs.dll 0300E RO, S, XIP oleaut32.dll F000 RO, H, S, XIP Step by Step Build a list of the DLLs loaded below 0x If you make a list of all the DLLs in every process that have been loaded under 0x and order them by load position in memory, you get a pretty good idea of what s going on with the low DLL load position and which processes have contributed to pushing it down to its current position. Our current list of all DLLs loaded under 0x looks like this: Component load position size -- attributes devicedma.dll B000 A (lowest DLL in memory) edbgtl.dll A wlmhssearchbarcode.dll RO, S, C, RAM from ROM wlmshared.dll 018A0000 3C000 RO, S, C, RAM from ROM wlmuiframework.dll 018E RO, S, C, RAM from ROM wlmtodayscreen.dll RO, S, C, RAM from ROM lap_pw.dll RO, S, C, RAM from ROM rsaenh.dll B000 RO, H, S, C, RAM from ROM kbdmouse.dll RO, H, S, XIP touch.dll 019B0000 A000 RO, H, S, XIP serial_smdk2410.dll 019E0000 A000 RO, H, S, XIP serdma.dll 01A RO, S, XIP s3c2410x_wavedev.dll 01A RO, H, S, XIP pwrbtn2410.dll 01A RO, H, S, XIP pcmcia.dll 01AA0000 A000 RO, H, S, XIP pcc_smdk2410.dll 01AB RO, H, S, XIP pcc_serv.dll 01AC0000 F000 RO, H, S, XIP nullcam.dll 01AD0000 C000 RO, H, S, XIP nleddrvr.dll 01AE RO, H, S, XIP irsir.dll 01B RO, H, S, XIP emulserv.dll 01B RO, H, S, XIP dmatrans.dll 01B RO, H, S, XIP battdrvr.dll 01BF RO, H, S, XIP backlight.dll 01C RO, H, S, XIP asyncmac.dll 01C RO, H, S, XIP scard.dll 01C40000 B000 RO, H, S, XIP mscoree2_0.dll 01C70000 C4000 RO, H, S, XIP Step by Step Analyze the memory data as it applies to your process Low DLL load position This is a pretty small list of DLLs using a simple environment (it s the WM 6.0 SDK refresh Pro emulator). You can see the lowest DLL (devicedma.dll) loaded at 0x (~24MB). You may also notice that if you add the DLL size to a load position, there may be a small gap before the next DLL loads in memory. In WM5, we had to load components on a 64K boundary. This means even if you loaded two DLLs that were 10K in size, they would eat up 128K of VM. In WM6, we use a 4K boundary which makes more efficient use of memory. From our data, it appears that the next DLL loaded into memory (from any process) is going

5 5 of 8 04/19/ :53 PM From our data, it appears that the next DLL loaded into memory (from any process) is going to find a home right under 0x That s where the lowest module is loaded right now and the next one has to load underneath it. This answers our first question about where the low DLL load position is. As you can see, we re already a long way down from 32MB since this is ~24 MB in the VM map. The low DLL load mark has already been reduced by 8MB. What pushed it down that far? You could go back through the list of component under 0x and find the processes that loaded them. That would tell you which processes are the biggest culprits. If you did this, you would see that shell32.exe is responsible for loading several Windows Mobile Live components, but even so the largest one is only about 240K. The real culprits are all the system components and drivers that have been pushed down into Slot 0 because slot 1 was full. This is very typical of commercial devices. That s what pushed down the low DLL load position by 8MB. This number is highly variable for retail devices and something you typically don t have a lot of control over. It s also why if you have a big application that requires a lot of VM space to load DLLs, you need to be especially careful to profile your target devices. What about our heap space? To get an understanding of available heap space left, I usually look at the first section of the dumpmem.txt file called Virtual Memory Dump (left column below). This is a simple outline of your memory space and how it s being used. If I identify the heap area between where my EXE is loaded and before the first DLLs appear in this VM Map, I can find the largest available free memory area left in my process. Before we look at the virtual memory dump, let s clarify one point. You will notice that all the memory positions seem to be offset from 0x You may recall that the base address for HelloWorld_1 was 0x (where it lives when it s not the active process in slot 0). Just subtract from all the memory positions if it s easier to think about it in the context of Slot 0. Here we go Virtual Memory Dump of HelloWorld_1.exe F NA *The first little block of memory is in size. This is the reserved position at the bottom of each process and will always be here for any process. Next comes our EXE R NA Image C RW Image R NA Image C RO Image R NA Image C RO Image R NA Image *The memory from is labeled as image. This is the bottom of the VM position and where our EXE is loaded. The lowest section labeled Image is always your EXE. Next comes our Heap and Stack memory F NA C RW Private F000 F NA D000 R NA Private 1603D C RW Private C RW Private A000 R NA Private 1606F F NA C RW Private A000 R NA Private 1609F F NA 160A0000 D000 C RW Private 160AD R NA Private 160CF F NA 160D C RW Private 160F0000 F000 R NA Private 160FF F NA C RW Private E000 R NA Private 1612F F NA F000 R NA Private 1613F C RW Private C RW Private F000 R NA Private 1615F C RW Private *The area from F000 is dynamic memory being used by the process heap, stack, etc. Notice there are a few free areas marked F but most of it is Private memory which has been committed or reserved. This is where the majority of your dynamic memory allocations occur and your heap expands upward B10000 F NA *At the top of your heap area you will usually find a big free chunk of memory. This is largest contiguous free chunk of memory available inside your VM space (Slot 0). In this case, it s 1B10000 or ~27MB. Next (at the top of the VM area working its way down) you will find any

6 6 of 8 04/19/ :53 PM Next (at the top of the VM area working its way down) you will find any DLLs loaded in our process. The first one shows up at 0x17C C R NA Image 17C C RO Image 17C R NA Image 17C C RO Image 17C7C R NA Image 17C E000 C RO Image 17CB R NA Image 17CB C RO Image 17CC R NA Image 17CC C RO Image 17CDA R NA Image 17CDF C RO Image 17CE R NA Image 17CE C RO Image 17CE R NA Image 17CEC C RO Image 17CF R NA Image 17CF C RO Image 17CF R NA Image 17D C RO Image 17D R NA Image 17D C RO Image 17D0A R NA Image 17D0C000 B000 C RO Image 17D R NA Image 17D C RO Image 17D1A R NA Image 17D1B C RO Image 17D1C R NA Image 17D1D C RO Image 17D1E R NA Image 17D C RO Image 17D R NA Image 17D C RO Image 17D R NA Image 17D C RW Image 17D2C R NA Image 17D34000 EC000 F NA 17E R NA Image 17E C RW Image 17E A000 R NA Image 17E C RW Image 17E R NA Image 17EA C RW Image 17EA R NA Image 17EFD C RW Image 17EFE R NA Image 17F C RW Image 17F0B R NA Image 17F1B C RW Image 17F1C000 1A000 R NA Image 17F C RW Image 17F37000 E000 R NA Image 17F C RW Image 17F C000 R NA Image 17F C RW Image 17F R NA Image 17F C RW Image 17F R NA Image 17F6C C RW Image 17F6E R NA Image 17FA F NA 17FE0000 1C000 R NA Image 17FFC C RW Image 17FFD R NA Image *Memory from 17C70000 up is labeled as image. This is memory used by DLLs remember they load from the top of the VM space and work their way down. All I care about at this point is the lowest position used in my process. If I map address lowest DLL loaded at 17C70000 back into Slot 0 (subtracting the base address), I get 1C70000 which can be easily identified as mscoree2_0.dll in the module section of HelloWorld.exe. From this information, we achieve our second goal. We know that there is a large free chunk of VM space (0x01B10000 bytes or- ~27MB), between our EXE and the lowest DLL in our process. The lowest DLL loaded into our process is mscoree2_0.dll at 0x01C Making sense of it all Let s now regroup on our objectives and put it all in context. Our goals were: 1) Understanding the lowest DLL load position in all processes:

7 7 of 8 04/19/ :53 PM 1) Understanding the lowest DLL load position in all processes: >>> devicedma.dll at position 0x (~24MB) 2) Identifying the largest chunk of available VM and lowest DLL in OUR process >>> we found 0x1b10000 bytes FREE right above our heap and we located mscoree2_0.dll at 1C70000 giving us about 27MB of free space to work with. This was simply example and done in a very clean environment so we re still in a pretty healthy situation. Goal #2 tells us we have plenty of space to grow (heap) and plenty of room to load more DLLs. Goal #1: The lowest DLL load position in OUR process is 0x1C70000 so you might expect the next DLL to load right under it. Considering #1 though, the next DLL would actually load significantly lower just below 0x Remember that when our process loads another component, it has to find a position under every other component that has already been loaded by any process. This, in effect, restricts our heap range a bit. Where we had a giant contiguous chunk of almost 27MB worth of VM space loading a component now would split up that area by positioning itself around 23-24MB in the map. Our heap can still grow upward and claim most of this available space, but it s no longer single contiguous chunk. This becomes important when you have an app that might need to make a big allocation (e.g. manipulating an image, media file, etc.). I say "most" of this space because if you are not running with full privileges (e.g. - untrusted on a 2-tier phone), then you are limited to available VM space under the low DLL load position -- even if there is plenty of free space up there! This is a really simple exercise, but you can imagine how complex this can get with a lot of applications running especially if they load a bunch of other components. While there may only be 32 processes running, don t forget that services.exe and driver.exe can become quite full with dlls that load on boot. This can contribute to pushing down that low DLL load position. Once the DLL position gets pushed WAY down, the available area left to grow your heaps can get quite constrained. If you start running into problems with VM issues or need to get an idea of what is going on, you can use the above techniques to get an idea of what you have to work with (and why it might be failing). Where s the smoking gun? We already noted that when applications experience VM related failures, there s not always a smoking gun. The failures can be appear quite random. Let s talk about some of the most common failures and contributors. Components that fail to load - The most common failure occurs when an application attempts to load a dependant component either on startup or through a call to LoadLibrary. There has to be enough space between your heap and the low DLL load position to succeed, so when the DLL load position gets pushed too far down, LoadLibrary will fail. At this point, an application can fail to start or a manual call to LoadLibrary will return an error. The actual affect on an application can vary depending on how it handles this failure. Memory allocations that fail - When a heap can no longer expand, memory becomes too fragmented, or there is insufficient space for a large contiguous allocation-- memory allocations can begin fail. Few developers write to code to adequately check for memory failures so this very often results in unhandled exceptions for the application (e.g. crash). Dynamic failures - It s pretty easy to take responsibility for problems in your own application failure to start, exceptions, etc., but it s even more complex that. VM problems commonly extend into other processes because of the DLL loading and memory rules. How does this happen? Because every process can contribute to the low DLL load position, this means that the order in which they start can make a big difference. Suppose the low DLL load position has been pushed down to the point where only 10MB of space is left to load more DLLs. What happens then if you have three application A, B, and C that all load 5MB worth of unique components. If you load A and B, then C fails. If you load B and C, then A would fail. Part of the challenge today is that VM health is very much a little ecosystem with many contributors. The OEM shares responsible for delivering a device that doesn t eat up all the VM space before you install the first app. The developer shares responsible for not taking more than their share of resources. The end user shares responsible for all the apps they install. Microsoft shares responsibility for mitigating this problem at a platform level so nobody has think about it. In the not so distant future, we will likely adopt changes in the platform (like we did with CE6) that expand the VM range so that this isn t an issue anymore. Right now, we have to work with what we have. Tactics developers use to address VM problems Profile the VM space first. You cannot solve this problem unless you know what is going on with your memory. Static linking is your friend. When you statically link code, it becomes part of thee EXE which means it loads in the bottom of the VM space (the best possible area). You don t have to worry about DLL load rules and you don t impact the VM of other processes. You may end up using a little more RAM if multiple apps use the same code, but the trade-off is probably worth the headaches you can avoid. Plus, you avoid extra signing costs by eliminating DLLs. Start order matters. While more of a band-aid than a solution, controlling the load order of processes on a device can help you work around VM issues. For this to work, you really need a good understanding of the memory profile of the device as well as which processes are contributing to the problem. The first app gets the most DLL space, the second gets the slightly less, etc. By controlling which apps start first and/or disabling services or drivers you don t need you can sometimes avoid VM problems. Merge small DLLs. Windows Mobile 5.0 had to load components on a 64K boundary which meant that every a small DLL used a minimum of 64K. If you have a bunch of small DLLs, it may make sense to merge them to save space. Windows Mobile 6 loads

8 8 of 8 04/19/ :53 PM small DLLs, it may make sense to merge them to save space. on a 4K boundary which makes much better use of space. Move resources to resource-only DLLs (dll s with no entry point). Resource only DLLs are loaded up in slot 63 and don t use up your valuable VM space in slot 0. For large memory allocations, consider using VirtualAlloc and the Large Memory Area (aka High Memory Area). Allocations of 2MB or greater use space well outside of slot 0 and leave your process with more room to work. Trim your code. Make it smaller and lighter and save on VM space In Summary I ve rambled long enough about the Virtual Memory Monster. Somewhere this is a blog post turned into whitepaper. Hopefully those of you who read this now have a better understanding of the creature and some skills you can use to battle it. Like most nasty, bad-guy type, it s more misunderstood than evil. Hopefully you never run into it, but if you do you have some tools under your belt. If you guys want to dig into this in more detail, let me know. I could blog through a real world problem or two to help you get the hang of it. Some of you will undoubtedly want to know more about how NETCF optimizes memory inside of this limited area. You will notice that if you load a NETCF assembly, it doesn t use up DLL space like native DLLs. NETCF goes to great lengths to make good use of memory transparently. Since there are already some great posts on this topic, I ll simply reference them here: Next up. Power Management or maybe IE Mobile? Both of these areas seem to be generating a lot of interesting support activity right now. Cheers, Reed

Visa Smart Debit/Credit Certificate Authority Public Keys

Visa Smart Debit/Credit Certificate Authority Public Keys CHIP AND NEW TECHNOLOGIES Visa Smart Debit/Credit Certificate Authority Public Keys Overview The EMV standard calls for the use of Public Key technology for offline authentication, for aspects of online

More information

Printed Exception strings - what do all

Printed Exception strings - what do all Printed Exception strings - what do all those flags mean? Data Abort: Thread=9352cc9c Proc=90876ea0 'shell32.exe' AKY=00000005 PC=03f74680(coredll.dll+0x00014680) RA=03257104(aygshell.dll+0x00037104) BVA=060000e0

More information

So you want to create an Email a Friend action

So you want to create an Email a Friend action So you want to create an Email a Friend action This help file will take you through all the steps on how to create a simple and effective email a friend action. It doesn t cover the advanced features;

More information

The Social Accelerator Setup Guide

The Social Accelerator Setup Guide The Social Accelerator Setup Guide Welcome! Welcome to the Social Accelerator setup guide. This guide covers 2 ways to setup SA. Most likely, you will want to use the easy setup wizard. In that case, you

More information

Technical Properties. Mobile Operating Systems. Overview Concepts of Mobile. Functions Processes. Lecture 11. Memory Management.

Technical Properties. Mobile Operating Systems. Overview Concepts of Mobile. Functions Processes. Lecture 11. Memory Management. Overview Concepts of Mobile Operating Systems Lecture 11 Concepts of Mobile Operating Systems Mobile Business I (WS 2007/08) Prof Dr Kai Rannenberg Chair of Mobile Business and Multilateral Security Johann

More information

How To Write A Page Table

How To Write A Page Table 12 Paging: Introduction Remember our goal: to virtualize memory. Segmentation (a generalization of dynamic relocation) helped us do this, but has some problems; in particular, managing free space becomes

More information

How to get MOSS 2007 dev. environment set up in Vista with sample project.

How to get MOSS 2007 dev. environment set up in Vista with sample project. How to get MOSS 2007 dev. environment set up in Vista with sample project. 1. Download MOSS 2007 SP1 setup file from Microsoft. Or use the OfficeServerwithSP1.exe file in the installers folder. 2. Download

More information

Club Accounts. 2011 Question 6.

Club Accounts. 2011 Question 6. Club Accounts. 2011 Question 6. Anyone familiar with Farm Accounts or Service Firms (notes for both topics are back on the webpage you found this on), will have no trouble with Club Accounts. Essentially

More information

Developing, Deploying, and Debugging Applications on Windows Embedded Standard 7

Developing, Deploying, and Debugging Applications on Windows Embedded Standard 7 Developing, Deploying, and Debugging Applications on Windows Embedded Standard 7 Contents Overview... 1 The application... 2 Motivation... 2 Code and Environment... 2 Preparing the Windows Embedded Standard

More information

Mike: Alright welcome to episode three of Server Talk, I m here with Alexey. I m Mike. Alexey, how are things been going, man?

Mike: Alright welcome to episode three of Server Talk, I m here with Alexey. I m Mike. Alexey, how are things been going, man? Mike: Alright welcome to episode three of Server Talk, I m here with Alexey. I m Mike. Alexey, how are things been going, man? Alexey: They re doing pretty good. Yeah, I don t know, we ve launched two

More information

Introduction to Windows Embedded Standard 7 By Sean D. Liming Managing Director SJJ Embedded Micro Solutions

Introduction to Windows Embedded Standard 7 By Sean D. Liming Managing Director SJJ Embedded Micro Solutions Introduction to Windows Embedded Standard 7 By Sean D. Liming Managing Director SJJ Embedded Micro Solutions May 2010 Welcome and now for something completely different It has been almost a decade since

More information

The Importance of User Workspace Virtualization in Desktop Virtualization

The Importance of User Workspace Virtualization in Desktop Virtualization res Software // Whitepaper The Importance of User Workspace Virtualization in Desktop Virtualization Whitepaper Transforming Desktops into Workspaces 2 Table of content: Abstract... 3 What is desktop virtualization?...4

More information

5 Group Policy Management Capabilities You re Missing

5 Group Policy Management Capabilities You re Missing 5 Group Policy Management Capabilities You re Missing Don Jones 1. 8 0 0. 8 1 3. 6 4 1 5 w w w. s c r i p t l o g i c. c o m / s m b I T 2011 ScriptLogic Corporation ALL RIGHTS RESERVED. ScriptLogic, the

More information

SL-8800 HDCP 2.2 and HDCP 1.x Protocol Analyzer for HDMI User Guide

SL-8800 HDCP 2.2 and HDCP 1.x Protocol Analyzer for HDMI User Guide SL-8800 HDCP 2.2 and HDCP 1.x Protocol Analyzer for HDMI Simplay-UG-02003-A July 2015 Contents 1. Overview... 4 1.1. SL-8800 HDCP Protocol Analyzer Test Equipment... 4 1.2. HDCP 2.2/HDCP 1.x Protocol Analyzer

More information

Advanced Encryption Standard by Example. 1.0 Preface. 2.0 Terminology. Written By: Adam Berent V.1.7

Advanced Encryption Standard by Example. 1.0 Preface. 2.0 Terminology. Written By: Adam Berent V.1.7 Written By: Adam Berent Advanced Encryption Standard by Example V.1.7 1.0 Preface The following document provides a detailed and easy to understand explanation of the implementation of the AES (RIJNDAEL)

More information

Team Foundation Server 2013 Installation Guide

Team Foundation Server 2013 Installation Guide Team Foundation Server 2013 Installation Guide Page 1 of 164 Team Foundation Server 2013 Installation Guide Benjamin Day benday@benday.com v1.1.0 May 28, 2014 Team Foundation Server 2013 Installation Guide

More information

Programación de Sistemas Empotrados y Móviles (PSEM)

Programación de Sistemas Empotrados y Móviles (PSEM) Introduction to Windows Embedded Programación de Sistemas Empotrados y Móviles (PSEM) Marco A. Peña marcoa@ac.upc.edu Table of contents Windows XP Embedded vs. Windows CE Windows XP Embedded Windows CE

More information

Advanced Encryption Standard by Example. 1.0 Preface. 2.0 Terminology. Written By: Adam Berent V.1.5

Advanced Encryption Standard by Example. 1.0 Preface. 2.0 Terminology. Written By: Adam Berent V.1.5 Written By: Adam Berent Advanced Encryption Standard by Example V.1.5 1.0 Preface The following document provides a detailed and easy to understand explanation of the implementation of the AES (RIJNDAEL)

More information

Example of Standard API

Example of Standard API 16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface

More information

Creating a More Secure Device with Windows Embedded Compact 7. Douglas Boling Boling Consulting Inc.

Creating a More Secure Device with Windows Embedded Compact 7. Douglas Boling Boling Consulting Inc. Creating a More Secure Device with Windows Embedded Compact 7 Douglas Boling Boling Consulting Inc. About Douglas Boling Independent consultant specializing in Windows Mobile and Windows Embedded Compact

More information

SharePoint 2013 Best Practices

SharePoint 2013 Best Practices SharePoint 2013 Best Practices SharePoint 2013 Best Practices When you work as a consultant or as a SharePoint administrator, there are many things that you need to set up to get the best SharePoint performance.

More information

Lesson 0 - Introduction to Playstation 3 programming

Lesson 0 - Introduction to Playstation 3 programming Lesson 0 - Introduction to Playstation 3 programming Summary A brief overview of the Playstation 3 development environment, and how to set up a PS3 project solution to run on the PS3 Devkits. New Concepts

More information

Björn Bäckström, Lars Olsén and Simon Renström Copyright 2011 ClaroBet AB. Updated: May. 12, 11 You may not distribute or copy any of the text or use

Björn Bäckström, Lars Olsén and Simon Renström Copyright 2011 ClaroBet AB. Updated: May. 12, 11 You may not distribute or copy any of the text or use Björn Bäckström, Lars Olsén and Simon Renström Copyright 2011 ClaroBet AB. Updated: May. 12, 11 You may not distribute or copy any of the text or use it in any other way except for personal use, without

More information

Trustworthy Computing

Trustworthy Computing Stefan Thom Senior Software Development Engineer and Security Architect for IEB, Microsoft Rob Spiger, Senior Security Strategist Trustworthy Computing Agenda Windows 8 TPM Scenarios Hardware Choices with

More information

The Truth About Enterprise Mobile Security Products

The Truth About Enterprise Mobile Security Products The Truth About Enterprise Mobile Security Products Presented by Jack Madden at TechTarget Information Security Decisions 2013 Welcome to my enterprise mobile security product session! Instead of printing

More information

Project 2: Penetration Testing (Phase II)

Project 2: Penetration Testing (Phase II) Project 2: Penetration Testing (Phase II) CS 161 - Joseph/Tygar November 17, 2006 1 Edits If we need to make clarifications or corrections to this document after distributing it, we will post a new version

More information

A Simple Guide to Churn Analysis

A Simple Guide to Churn Analysis A Simple Guide to Churn Analysis A Publication by Evergage Introduction Thank you for downloading A Simple Guide to Churn Analysis. The goal of this guide is to make analyzing churn easy, meaning you wont

More information

SERVER CERTIFICATES OF THE VETUMA SERVICE

SERVER CERTIFICATES OF THE VETUMA SERVICE Page 1 Version: 3.4, 19.12.2014 SERVER CERTIFICATES OF THE VETUMA SERVICE 1 (18) Page 2 Version: 3.4, 19.12.2014 Table of Contents 1. Introduction... 3 2. Test Environment... 3 2.1 Vetuma test environment...

More information

What does student success mean to you?

What does student success mean to you? What does student success mean to you? Student success to me means to graduate with a B average with no failing grades. Ferris is ridicules tuition rates don t affect me since I was fortunate enough to

More information

Marketing Online SEO Facebook Google Twitter YouTube

Marketing Online SEO Facebook Google Twitter YouTube Marketing Online SEO Facebook Google Twitter YouTube What is Internet Marketing? Internet marketing is considered to be broad in scope[1] because it not only refers to marketing on the Internet, but also

More information

Let s cover a few general terms and calculations that I m going to reference throughout this discussion.

Let s cover a few general terms and calculations that I m going to reference throughout this discussion. Applying Data to Boost Your Merchant Services Program David Reed brings 10 years of financial management experience and a deep understanding of interchange to Security Card Services bank partners. David

More information

Cleaning Up Your Outlook Mailbox and Keeping It That Way ;-) Mailbox Cleanup. Quicklinks >>

Cleaning Up Your Outlook Mailbox and Keeping It That Way ;-) Mailbox Cleanup. Quicklinks >> Cleaning Up Your Outlook Mailbox and Keeping It That Way ;-) Whether you are reaching the limit of your mailbox storage quota or simply want to get rid of some of the clutter in your mailbox, knowing where

More information

Hello Purr. What You ll Learn

Hello Purr. What You ll Learn Chapter 1 Hello Purr This chapter gets you started building apps. It presents the key elements of App Inventor the Component Designer and the Blocks Editor and leads you through the basic steps of creating

More information

WINDOWS AZURE EXECUTION MODELS

WINDOWS AZURE EXECUTION MODELS WINDOWS AZURE EXECUTION MODELS Windows Azure provides three different execution models for running applications: Virtual Machines, Web Sites, and Cloud Services. Each one provides a different set of services,

More information

Peach Fuzzer Platform

Peach Fuzzer Platform Fuzzing is a software testing technique that introduces invalid, malformed, or random data to parts of a computer system, such as files, network packets, environment variables, or memory. How the tested

More information

Parallax Serial LCD 2 rows x 16 characters Non-backlit (#27976) 2 rows x 16 characters Backlit (#27977) 4 rows x 20 characters Backlit (#27979)

Parallax Serial LCD 2 rows x 16 characters Non-backlit (#27976) 2 rows x 16 characters Backlit (#27977) 4 rows x 20 characters Backlit (#27979) 599 Menlo Drive, Suite 100 Rocklin, California 95765, USA Office: (916) 624-8333 Fax: (916) 624-8003 General: info@parallax.com Technical: support@parallax.com Web Site: www.parallax.com Educational: www.stampsinclass.com

More information

Reducing Customer Churn

Reducing Customer Churn Reducing Customer Churn A Love Story smarter customer contact Breaking up is hard to do The old adage that it s cheaper (and better) to hold onto an existing customer than to acquire a new one isn t just

More information

Hi and welcome to the Microsoft Virtual Academy and

Hi and welcome to the Microsoft Virtual Academy and Hi and welcome to the Microsoft Virtual Academy and 2012 Microsoft Corporation 1 the start of the Windows 8 Security Insights training. My name is Milad Aslaner I m part of the Premier Field Engineering

More information

USB HID to PS/2 Scan Code Translation Table

USB HID to PS/2 Scan Code Translation Table Key Name HID Usage Page HID Usage ID PS/2 Set 1 Make* PS/2 Set 1 Break* PS/2 Set 2 Make PS/2 Set 2 Break System Power 01 81 E0 5E E0 DE E0 37 E0 F0 37 System Sleep 01 82 E0 5F E0 DF E0 3F E0 F0 3F System

More information

Pushing the Limits of Windows: Physical Memory Mark Russinovich (From Mark Russinovich Blog)

Pushing the Limits of Windows: Physical Memory Mark Russinovich (From Mark Russinovich Blog) This is the first blog post in a series I'll write over the coming months called Pushing the Limits of Windows that describes how Windows and applications use a particular resource, the licensing and implementation-derived

More information

Hi there, Step 2. The app will need to be hosted somewhere secure and be password locked so only users that we give the password to can access it.

Hi there, Step 2. The app will need to be hosted somewhere secure and be password locked so only users that we give the password to can access it. Hi there, The web app we need is a custom fulfillment and inventory management system. We have one line of product that is fulfilled outside of our normal shipping facility, and we need an online system

More information

How to Outsource Without Being a Ninnyhammer

How to Outsource Without Being a Ninnyhammer How to Outsource Without Being a Ninnyhammer 5 mistakes people make when outsourcing for profit By Jason Fladlien 2 Introduction The way everyone does outsourcing is patently wrong, and this report is

More information

RECOVERING FROM SHAMOON

RECOVERING FROM SHAMOON Executive Summary Fidelis Threat Advisory #1007 RECOVERING FROM SHAMOON November 1, 2012 Document Status: FINAL Last Revised: 2012-11-01 The Shamoon malware has received considerable coverage in the past

More information

Version Control with. Ben Morgan

Version Control with. Ben Morgan Version Control with Ben Morgan Developer Workflow Log what we did: Add foo support Edit Sources Add Files Compile and Test Logbook ======= 1. Initial version Logbook ======= 1. Initial version 2. Remove

More information

[ INTRODUCTION ] A lot has changed since 1992, except for everything that hasn t. We come from a place you ve probably never heard of.

[ INTRODUCTION ] A lot has changed since 1992, except for everything that hasn t. We come from a place you ve probably never heard of. [ INTRODUCTION ] A businessman goes to see about a girl. They fall in love. They get married. The girl doesn t want to leave her family. He plants his roots and starts a business. Together they raise three

More information

Gladinet Cloud Backup V3.0 User Guide

Gladinet Cloud Backup V3.0 User Guide Gladinet Cloud Backup V3.0 User Guide Foreword The Gladinet User Guide gives step-by-step instructions for end users. Revision History Gladinet User Guide Date Description Version 8/20/2010 Draft Gladinet

More information

The Software Developers Guide to. Making Your Program Work With. Microsoft App-V. Tim Mangan. TMurgent Technologies, LLP

The Software Developers Guide to. Making Your Program Work With. Microsoft App-V. Tim Mangan. TMurgent Technologies, LLP The Software Developers Guide to Making Your Program Work With Microsoft App-V Tim Mangan TMurgent Technologies, LLP January, 2016 Introduction When you sell your software into a company, especially the

More information

COLLEGE ALGEBRA. Paul Dawkins

COLLEGE ALGEBRA. Paul Dawkins COLLEGE ALGEBRA Paul Dawkins Table of Contents Preface... iii Outline... iv Preliminaries... Introduction... Integer Exponents... Rational Exponents... 9 Real Exponents...5 Radicals...6 Polynomials...5

More information

Would You Like To Earn $1000 s With The Click Of A Button?

Would You Like To Earn $1000 s With The Click Of A Button? Would You Like To Earn $1000 s With The Click Of A Button? (Follow these easy step by step instructions and you will) This Version of the ebook is for all countries other than the USA. If you need the

More information

Lab 2-2: Exploring Threads

Lab 2-2: Exploring Threads Lab 2-2: Exploring Threads Objectives Prerequisites After completing this lab, you will be able to: Add profiling support to a Windows CE OS Design Locate files associated with Windows CE profiling Operate

More information

SERVER CERTIFICATES OF THE VETUMA SERVICE

SERVER CERTIFICATES OF THE VETUMA SERVICE Page 1 Version: 3.5, 4.11.2015 SERVER CERTIFICATES OF THE VETUMA SERVICE 1 (18) Page 2 Version: 3.5, 4.11.2015 Table of Contents 1. Introduction... 3 2. Test Environment... 3 2.1 Vetuma test environment...

More information

A lot has changed since 1992, except for everything that hasn t. We come from a place you ve probably never heard of.

A lot has changed since 1992, except for everything that hasn t. We come from a place you ve probably never heard of. THE MANIFESTO [ INTRODUCTION ] A businessman goes to see about a girl. They fall in love. They get married. The girl doesn t want to leave her family. He plants his roots and starts a business. Together

More information

BUILDING SAAS APPLICATIONS ON WINDOWS AZURE

BUILDING SAAS APPLICATIONS ON WINDOWS AZURE David Chappell BUILDING SAAS APPLICATIONS ON WINDOWS AZURE THINGS TO THINK ABOUT BEFORE YOU START Sponsored by Microsoft Corporation Copyright 2012 Chappell & Associates Contents Illustrating SaaP and

More information

How to Configure Outlook 2013 to connect to Exchange 2010

How to Configure Outlook 2013 to connect to Exchange 2010 How to Configure Outlook 2013 to connect to Exchange 2010 Outlook 2013 will install and work correctly on any version of Windows 7 or Windows 8. Outlook 2013 won t install on Windows XP or Vista. 32-bit

More information

Using New Relic to Monitor Your Servers

Using New Relic to Monitor Your Servers TUTORIAL Using New Relic to Monitor Your Servers by Alan Skorkin Contents Introduction 3 Why Do I Need a Service to Monitor Boxes at All? 4 It Works in Real Life 4 Installing the New Relic Server Monitoring

More information

Seven Things You Must Know Before Hiring a DUI Lawyer

Seven Things You Must Know Before Hiring a DUI Lawyer Seven Things You Must Know Before Hiring a DUI Lawyer 1 Introduction Some people don t quite understand the severity of getting a DUI. In many cases, your license is instantly taken away and you won t

More information

EMV (Chip-and-PIN) Protocol

EMV (Chip-and-PIN) Protocol EMV (Chip-and-PIN) Protocol Märt Bakhoff December 15, 2014 Abstract The objective of this report is to observe and describe a real world online transaction made between a debit card issued by an Estonian

More information

Getting Started with Dynamic Web Sites

Getting Started with Dynamic Web Sites PHP Tutorial 1 Getting Started with Dynamic Web Sites Setting Up Your Computer To follow this tutorial, you ll need to have PHP, MySQL and a Web server up and running on your computer. This will be your

More information

Equity Value, Enterprise Value & Valuation Multiples: Why You Add and Subtract Different Items When Calculating Enterprise Value

Equity Value, Enterprise Value & Valuation Multiples: Why You Add and Subtract Different Items When Calculating Enterprise Value Equity Value, Enterprise Value & Valuation Multiples: Why You Add and Subtract Different Items When Calculating Enterprise Value Hello and welcome to our next tutorial video here. In this lesson we're

More information

10 steps to better secure your Mac laptop from physical data theft

10 steps to better secure your Mac laptop from physical data theft 10 steps to better secure your Mac laptop from physical data theft Executive summary: This paper describes changes Mac users can make to improve the physical security of their laptops, discussing the context

More information

CHAPTER 1 HelloPurr. The chapter covers the following topics:

CHAPTER 1 HelloPurr. The chapter covers the following topics: CHAPTER 1 HelloPurr This chapter gets you started building apps. It presents the key elements of App Inventor, the Component Designer and the Blocks Editor, and leads you through the basic steps of creating

More information

Six Signs. you are ready for BI WHITE PAPER

Six Signs. you are ready for BI WHITE PAPER Six Signs you are ready for BI WHITE PAPER LET S TAKE A LOOK AT THE WAY YOU MIGHT BE MONITORING AND MEASURING YOUR COMPANY About the auther You re managing information from a number of different data sources.

More information

How To Run Statistical Tests in Excel

How To Run Statistical Tests in Excel How To Run Statistical Tests in Excel Microsoft Excel is your best tool for storing and manipulating data, calculating basic descriptive statistics such as means and standard deviations, and conducting

More information

What Is Pay Per Click Advertising?

What Is Pay Per Click Advertising? PPC Management can be very confusing and daunting for newcomers to the field. Money is on the line and it s a very competitive arena where lots of people are trying to capitalize on the same keywords for

More information

Mobile web apps: The best option for business? A whitepaper from mrc

Mobile web apps: The best option for business? A whitepaper from mrc Mobile web apps: The best option for business? A whitepaper from mrc Introduction Mobile apps have finally reached the point where businesses can no longer afford to ignore them. Recent surveys and studies

More information

How to Use New Relic Custom Dashboards & Why You d Want To

How to Use New Relic Custom Dashboards & Why You d Want To TUTORIAL How to Use New Relic Custom Dashboards & Why You d Want To by Alan Skorkin Contents Introduction 3 Why Use Custom Dashboards at All? 4 Creating an Overview Dashboard from Existing Charts 4 Creating

More information

Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle

Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle Introduction I ve always been interested and intrigued by the processes DBAs use to monitor

More information

Seven Things You Must Know Before Hiring a DUI Attorney

Seven Things You Must Know Before Hiring a DUI Attorney Seven Things You Must Know Before Hiring a DUI Attorney Seven Things to Know Before Hiring a DUI Attorney Copyright 2014 SmartWeb Online 1 Introduction Some people don t quite understand the severity of

More information

Inventory and Analytics for Browser-based Applications in the Enterprise

Inventory and Analytics for Browser-based Applications in the Enterprise Inventory and Analytics for Browser-based Applications in the Enterprise Introduction Times are changing. Desktop and client/server business applications (collectively referred to as native applications

More information

Using the Push Notifications Extension Part 1: Certificates and Setup

Using the Push Notifications Extension Part 1: Certificates and Setup // tutorial Using the Push Notifications Extension Part 1: Certificates and Setup Version 1.0 This tutorial is the second part of our tutorials covering setting up and running the Push Notifications Native

More information

Page 18. Using Software To Make More Money With Surveys. Visit us on the web at: www.takesurveysforcash.com

Page 18. Using Software To Make More Money With Surveys. Visit us on the web at: www.takesurveysforcash.com Page 18 Page 1 Using Software To Make More Money With Surveys by Jason White Page 2 Introduction So you re off and running with making money by taking surveys online, good for you! The problem, as you

More information

REPAYE guide The Revised Pay As You Earn program explained $ $

REPAYE guide The Revised Pay As You Earn program explained $ $ REPAYE guide The Revised Pay As You Earn program explained WHAT IS REPAYE? You look a little lost maybe you ve heard that the federal government just introduced a new incomebased loan repayment plan, called

More information

Basic Requirements...2. Software Requirements...2. Mailbox...2. Gatekeeper...3. Plan Your Setup...3. Meet Extreme Processing...3. Script Editor...

Basic Requirements...2. Software Requirements...2. Mailbox...2. Gatekeeper...3. Plan Your Setup...3. Meet Extreme Processing...3. Script Editor... Guide on EDI automation and use of VAN services Copyright 2008-2009 Etasoft Inc. Main website http://www.etasoft.com Extreme Processing website http://www.xtranslator.com Basic Requirements...2 Software

More information

Introduction to Python

Introduction to Python WEEK ONE Introduction to Python Python is such a simple language to learn that we can throw away the manual and start with an example. Traditionally, the first program to write in any programming language

More information

WHY YOUR MOBILE APP STRATEGY IS KILLING YOUR BUSINESS. And How To Calculate The ROI On Fixing It

WHY YOUR MOBILE APP STRATEGY IS KILLING YOUR BUSINESS. And How To Calculate The ROI On Fixing It And How To Calculate The ROI On Fixing It INTRODUCTION If you re a consumer-facing business of any size, you ve probably got a mobile app. You may well take a close interest in how well it functions, and

More information

Stop being Rails developer

Stop being Rails developer Stop being Rails developer Ivan Nemytchenko 2015 Ivan Nemytchenko I think this book should have been written in 2011. But nobody had written it, and I still see a huge demand for this topic to be covered

More information

Learning to Delegate

Learning to Delegate Learning to Delegate Overview Tips for managers on how to delegate Why is delegation necessary? Why do many managers have a hard time delegating? What to delegate What not to delegate How to delegate Give

More information

Massachusetts Institute of Technology Sloan School of Management System Dynamics II: Applications of System Dynamics. Professor Jim Hines

Massachusetts Institute of Technology Sloan School of Management System Dynamics II: Applications of System Dynamics. Professor Jim Hines Massachusetts Institute of Technology Sloan School of Management System Dynamics II: Applications of System Dynamics Professor Jim Hines Guidelines for kickoff meeting and first breakout Group presentation:

More information

Hands-On Lab. Embracing Continuous Delivery with Release Management for Visual Studio 2013. Lab version: 12.0.21005.1 Last updated: 12/11/2013

Hands-On Lab. Embracing Continuous Delivery with Release Management for Visual Studio 2013. Lab version: 12.0.21005.1 Last updated: 12/11/2013 Hands-On Lab Embracing Continuous Delivery with Release Management for Visual Studio 2013 Lab version: 12.0.21005.1 Last updated: 12/11/2013 CONTENTS OVERVIEW... 3 EXERCISE 1: RELEASE MANAGEMENT OVERVIEW...

More information

BACKING UP YOUR PC. Ed Schwartz January 2012

BACKING UP YOUR PC. Ed Schwartz January 2012 BACKING UP YOUR PC Ed Schwartz January 2012 Why should you back up? Do you have any data that can t be easily recreated? If you PC crashes do you want to be back online in minutes instead of hours? It

More information

What is new in Switch 12

What is new in Switch 12 What is new in Switch 12 New features and functionality: Remote Designer From this version onwards, you are no longer obliged to use the Switch Designer on your Switch Server. Now that we implemented the

More information

Introducing SQL Server Express

Introducing SQL Server Express 4402book.fm Page 1 Monday, May 8, 2006 10:52 AM Part 1 Introducing SQL Server Express Chapter 1: Introduction to SQL Server Express Chapter 2: Overview of Database Concepts Chapter 3: Overview of SQL Server

More information

Linux Driver Devices. Why, When, Which, How?

Linux Driver Devices. Why, When, Which, How? Bertrand Mermet Sylvain Ract Linux Driver Devices. Why, When, Which, How? Since its creation in the early 1990 s Linux has been installed on millions of computers or embedded systems. These systems may

More information

Wholesaling Mark Ferguson

Wholesaling Mark Ferguson TRANSCRIPT OF EPISODE 14 OF THE INVEST FOUR MORE PODCAST Wholesaling Mark Ferguson Mark: Hi everyone. Mark Ferguson here with another episode of the Invest More Real Estate podcast. Today is just going

More information

Guide for Homebuyers

Guide for Homebuyers Guide for Homebuyers Tips for Getting a Safe Mortgage You Can Afford Q u i c k S u m m a ry Figure out what you can afford. Contact at least 3 different lenders or brokers. When you call, say: I m buying

More information

SuperOffice AS. CRM Online. Introduction to importing contacts

SuperOffice AS. CRM Online. Introduction to importing contacts SuperOffice AS CRM Online Introduction to importing contacts Index Revision history... 2 How to do an import of contacts in CRM Online... 3 Before you start... 3 Prepare the file you wish to import...

More information

Secure in 2010? Broken in 2011!

Secure in 2010? Broken in 2011! Secure in 2010? Broken in 2011! Matias Madou Principal Security Researcher Abstract In 2010, a security research firm stumbled on a couple of vulnerabilities in Apache OFBiz, a widely used open source

More information

Seven Things You Must Know Before Hiring a Real Estate Agent

Seven Things You Must Know Before Hiring a Real Estate Agent Seven Things You Must Know Before Hiring a Real Estate Agent 1 Introduction Selling a home can be one of the most stressful situations of your life. Whether you re upsizing, downsizing, moving across the

More information

Everything you wanted to know about using Hexadecimal and Octal Numbers in Visual Basic 6

Everything you wanted to know about using Hexadecimal and Octal Numbers in Visual Basic 6 Everything you wanted to know about using Hexadecimal and Octal Numbers in Visual Basic 6 Number Systems No course on programming would be complete without a discussion of the Hexadecimal (Hex) number

More information

Top 5 Mistakes Made with Inventory Management for Online Stores

Top 5 Mistakes Made with Inventory Management for Online Stores Top 5 Mistakes Made with Inventory Management for Online Stores For any product you sell, you have an inventory. And whether that inventory fills dozens of warehouses across the country, or is simply stacked

More information

Why Alerts Suck and Monitoring Solutions need to become Smarter

Why Alerts Suck and Monitoring Solutions need to become Smarter An AppDynamics Business White Paper HOW MUCH REVENUE DOES IT GENERATE? Why Alerts Suck and Monitoring Solutions need to become Smarter I have yet to meet anyone in Dev or Ops who likes alerts. I ve also

More information

x64 Servers: Do you want 64 or 32 bit apps with that server?

x64 Servers: Do you want 64 or 32 bit apps with that server? TMurgent Technologies x64 Servers: Do you want 64 or 32 bit apps with that server? White Paper by Tim Mangan TMurgent Technologies February, 2006 Introduction New servers based on what is generally called

More information

USER MANUAL SlimComputer

USER MANUAL SlimComputer USER MANUAL SlimComputer 1 Contents Contents...2 What is SlimComputer?...2 Introduction...3 The Rating System...3 Buttons on the Main Interface...5 Running the Main Scan...8 Restore...11 Optimizer...14

More information

Card sort analysis spreadsheet

Card sort analysis spreadsheet Interaction Design Instructions for use: Card sort analysis spreadsheet June 2007 Page Card sort analysis spreadsheet About the spreadsheet I have an Excel spreadsheet that I use to analyze data from physical

More information

Module 1: The Career Planning Process: An Overview Transcript

Module 1: The Career Planning Process: An Overview Transcript Module 1: The Career Planning Process: An Overview Transcript Introduction (video clip 1) Hello, everyone. I m Jennifer from the Boise State University Career Center, and you re completing the first in

More information

Interviewer: Sonia Doshi (So) Interviewee: Sunder Kannan (Su) Interviewee Description: Junior at the University of Michigan, inactive Songza user

Interviewer: Sonia Doshi (So) Interviewee: Sunder Kannan (Su) Interviewee Description: Junior at the University of Michigan, inactive Songza user Interviewer: Sonia Doshi (So) Interviewee: Sunder Kannan (Su) Interviewee Description: Junior at the University of Michigan, inactive Songza user Ad Preferences Playlist Creation Recommended Playlists

More information

Email Marketing Content Creation

Email Marketing Content Creation Email Marketing Content Creation Writing your way into the inbox. Email marketing is primarily a textual medium focusing on phrases, stories and sentences that are used to gain attention and hold it until

More information

Prepare your result file for input into SPSS

Prepare your result file for input into SPSS Prepare your result file for input into SPSS Isabelle Darcy When you use DMDX for your experiment, you get an.azk file, which is a simple text file that collects all the reaction times and accuracy of

More information

Basic ESXi Networking

Basic ESXi Networking Basic ESXi Networking About vmnics, vswitches, management and virtual machine networks In the vsphere client you can see the network diagram for your ESXi host by clicking Networking on the Configuration

More information