Featuring Windows Internals and Performance Toolkit Workshop and Windows Driver Frameworks , both May 8-12. Early registration discounts are available!READ MORE >>>
We are professional software engineers who, in addition to writing code for Windows, offer training in the Windows internals, device driver, debugging, and security fields.
Too many to describe here! Start with the course descriptions page.
We've literally been here since before the beginning! We've been working with the Windows NT family of OSs since before NT 3.1's first release, and before that, we spent extensive time on NT's spiritual ancestor (Digital's VMS).
Between us, we've written over a hundred drivers and associated code for Windows (and at least that many for other operating systems), debugged hundreds of memory dump files...
...and trained several thousand developers and I.T. Professionals... many of them at Microsoft, and many others at every major OEM in the field. And they keep inviting us back.
Yes, that's us. We previously offered Windows internals and device driver development seminars through David Solomon's company. We parted ways amicably (and formed Azius) when David decided to downsize. (The rest of David's crew formed Wintellect, which focuses on training and consulting for user mode development on Windows.) David has since retired from teaching altogether.
The course descriptions are about as detailed as we can make them here. Beyond that, please feel free to email us or contact us by telephone. We are happy to discuss the deeper details of any seminar.
For private seminars (presented at your company location) we can make the seminar right for you, as we often customize seminars to clients' particular needs. For example, we can omit things you already know or that you don't need, or we can combine information from several seminars. We can even incorporate newly researched material.
Nearly all of our seminars, except some of the shortest formats, are offered with hands-on labs and we do strongly encourage that you take this option. We design each lab problem to incrementally introduce new material while building on and reinforcing that learned previously. At the end of the seminar, we provide complete, thoroughly-commented solutions files that can serve as starting points for your own projects.
For example, in our driver seminars we have you write a driver, step by step, in successive labs, and each lab begins with a fully commented and "solved" driver from the lab before. By the end of the course you receive a complete "skeleton" of a driver with all optional routines stubbed in, exhaustive debugging and monitoring features, and thorough, narrative comments -- and after you've worked through the preceding lab problems, you'll know what to do with all of those stubs, too.
We can usually arrange to use nearby rented "computer classroom" facilities, or a hotel meeting room with your employees using their regular laptops. We vastly prefer teaching this material "with labs," so even if you don't think you can do it, please contact us. We'll help you work it out.
For most seminars, virtual machine technology allows you to easily use an existing "work laptop" for our labs without making any changes to their "real system" (other than installing a new virtual machine, which can easily be deleted later). The lab setup requirements for any of our seminars are available on request.
Our Windows Internals seminars differ primarily in their duration, i.e., number and depth of topics covered.
There is a five-day version of the above, adding in-depth study of the Windows Performance Toolkit:
There are two "short form" versions:
There is the "flagship" longer version: Besides covering more topics and in more detail, this one devotes extensive time to demonstrations and hands-on labs, using tools as appropriate to the audience:
We are of course happy to discuss your needs and help you pick the best seminar for you or for your group (or, for private seminars, customize a seminar to your exact needs).
We do have a blog. But as for a general Q&A forum, no. There are several (we feel too many) forums for these topics already. There are over half a dozen at LinkedIn (and there is a LinkedIn group by that name), a couple are hosted by competitors, and some, such as the Microsoft Windows Driver Kit forum, are of course hosted by Microsoft. We feel the Microsoft forums provide the best venue for technical Q&A, as they are not associated with any of the third parties in the Windows training or consulting fields, and several Microsoft engineers do help answer questions there (as do we!). We feel that to create yet another privately-operated forum would, at best, simply further fragment the reader and contributor base.
Yes, we do! Please email us to inquire.
Because we hate to raise prices, and we're frankly tired of running seminars in office parks.
Office parks (or industrial parks) are where most computer-equipped rental classrooms are. They are run by computer training companies; they rent out the rooms that aren't used by their own classes. Since these places are in many cities most of their typical clientele is local. So they tend to not be within easy walk of a hotel, nor are they often in areas near lots of restaurants. To get between your hotel and the usual "computer classroom" you'd need to rent a car or use taxis, unless you happen to live in the town where we host a seminar. Their rental rates keep going up, and their computers are often more suited to classes like "Word 101" than "Windows Internals" or "NDIS 6 Driver Development." (We get interesting reactions when we tell them that we'll be installing the kernel debugging tools, and that yes, we'll be crashing their machines many times a day!)
Nevertheless, they charge a lot for those computer-equipped classrooms.
So, we're using hotel meeting rooms or similar. They have no computers, so you'll have to bring your own. Just about everyone we've seen in a public lately has brought their own laptop (at least for email and such) and many of you have been using them for the labs already!
This has allowed us to pick hotels for desirability (both of the hotel itself and the area) and value, and it doesn't have to be close to an industrial park. And you won't need a car for the hotel-to-classroom commute.
If you are unable to bring your own laptop, we can provide a rental unit at our cost.
For most of our public seminars, your laptop should be running Windows 7 with SP1, Windows 8.1, Windows 10, or the equivalent Server versions. You can use other versions if you prefer but our seminars are currently based on these. In almost all cases the seminar leader's demonstrations will be conducted using Windows 10.
For most seminars, you also need to have a virtual machine host installed with one virtual machine configured, this running a 32-bit edition of Windows 7 or later. (We have successfully used Microsoft Hyper-V, Microsoft Virtual PC, VMware, and VirtualBox.)
For most seminars, we also ask that a set of tools, primarily the SysInternals tools, be installed on the host system. These need not be installed in the virtual machine.
All "dangerous" operations (involving potential crashes) will be confined to the virtual machine. The requirements for the virtual machine are very light; it will be running the operating system plus one or two very small test programs. 1 GB of "virtual RAM" should be sufficient, and its virtual hard drive need be only a few GB larger than needed for the operating system (the extra is mostly for crash dump files).
If it is desired to avoid installing any software at all on the host operating system, then all of the class work can be done on the virtual machine. However this may preclude a live debugging exercise (depending on the v.m. host used), as it is not always possible to debug from one virtual machine to another. This is therefore not suitable for kernel mode driver development, as live debugging is essential.
For most seminars you will also need the version of Visual Studio Professional + the Windows SDK, including the Windows Performance Toolkit and the Windows Debugging Tools, that is compatible with your host system's OS.
For driver development seminars you'll also need the version of the Windows Driver Kit which will build drivers for your target system. For kernel mode driver development the target system will be the OS running in your virtual machine. For user mode drivers, you can test on the virtual machine just as for kernel drivers, or you can use the host system as the test target. The development tools need only be installed on the host system. Note that drivers built for Windows 7 will almost always run without change on WIndows 8 or 10, so it is perfectly possible to use (for example) the Windows 7.1 WDK to build drivers for WIndows 8 or later.
For all public seminars... we will send complete setup instructions to each person as they register.
IF YOU NEED TO CANCEL: If you notify us of cancellation more than 30 calendar days before the start of a public seminar, we will refund 100% of your registration fee. If you cancel from 15 to 29 calendar days before the start of the seminar, we will refund 50% of your registration fee. There will be no refund if you cancel 14 calendar days or less before the start of the seminar.
IF WE NEED TO CANCEL: If we need to cancel a seminar, regardless of reason, or when, we will refund 100% of all paid enrollments. We are not responsible for any incidental costs to you due to the cancellation, such as travel costs.
Seminars may be cancelled due to lack of enrollment; we will make a "go/no-go" decision as early as possible. Aside from that, cancellation would "normally" (not that we consider this normal) be due to some unpredictable event, such as severe illness. (Even instructors get sick once in a while.) This would by its nature be on very short notice, so in addition to refunding your fees and suffering your disappointment we will still have to pay for the hotel facilities (which aren't cheap!). So you can count on us to make every effort to not cancel a seminar.