My first computer was an IBM PC 5155 which weighed more than I did. My first experience with programming came just after Windows 95 was released. I got a copy of Visual Basic 4.0 for my birthday and I spent that entire summer locked in my room writing code and reading every book I could get my hands on. It was awesome.
I’ve been hooked on writing code ever since, and through the years I’ve had the chance to work on awesome projects with some really great technologies and people.
I’m a UI Architect (yeah, yeah) at Blackduck Software, where I spend a lot of time writing JavaScript. I am a co-founder and game-maker at Frag Castle Games, which I started with my pal @JohnBubriski.
Wherein I share some of the methods I use to keep myself focused in the chaos that is the office. A few weeks ago I wrote a post about how I was struggling with my ADHD. A reader commented and got me talking and thinking about all the ways that I setup my work environment to combat my ADHD. Some of them obvious and some of them - until now - completely covert. Single monitor...... Read Mode
I was diagnosed with ADHD when I was 8 years old. Growing up with it hasn’t been easy, it has gotten easier but I still have bad days. I’m not having a productive night. I’m not interested in working on any of the open-source projects that I maintain, I don’t feel like working on any of the games that we’re making at Frag Castle, I don’t even feel like writing this post. But, I’m pretty...... Read Mode
A recap on how this years PAX was, from my point of view A full day after PAX and I’m still reeling from it. There were so many great moments: hours of Cut-throat Caverns with friends, ahowing our game to hundreds of people, meeting lots of other indie devs. One of them that really stuck with me was when we had a group of college-aged guys standing around at the indie mini booth watching one...... Read Mode
A thank you to everyone that made our PAX unforgetable I’m still decompressing from PAX. I haven’t fully wrapped my head around what went down over the last four days, it’s been a lot of sleepless nights, and bat-shit crazy days. I’ll have a more detailed post put up in a few days. But I wanted to post a thank you to everyone that we met and talked to, and to those that made PAX...... Read Mode
A look back on the crazy that was 2012 During our recent snow-storm I spent a while thinking about the last twelve months. 2012 was a very awesome year. No, scratch that. 2012 was a perfect year. I GOT MARRIED On the 16th of June, I got married to my girlfriend and counter-part of six years. Our wedding was outdoors, it was sunny, perfect. It was and still is the best day of my life....... Read Mode
Ever experienced a nightmarish environment setup and thought “If this project is this hard to setup, how hard is it going to be to work on?”. Yeah, me too. Ashic Mahtab was experiencing something similar as well: I’ve worked on plenty of codebases whose setup story sounded like it was ripped from a rejected plotline for Indiana Jones: The Search For The Next Release. Pull the code from source control install these 23 dependencies, from...... Read Mode
Today we’re going to learn how to use websockets to automate a huge portion of our development and testing process. In the last blog post I showed you how to install jade and create your first view. However the development cycle leaves a lot to be desired. Nothing sucks more than the web ux/ui development cycle. Make a change, restart the server (optional), refresh the browser, lather rinse, repeat. I'm going to show you something...... Read Mode
I stopped using cmd.exe in favor of PowerShell almost a year ago. Here’s a quick list of things that made me drop CMD forever. First, I guess I should say that there isn't anything necessarily wrong with the command line in windows. It's the 'ol standby for a lot of windows users. It's looked the same since 1986, it has the same familiar commands and you can use TrueType fonts if you want to be...... Read Mode
@JohnBubriski mentioned a project from the ChuckNorris suite of tools and I found myself browsing their git repo Looking through the git repo for ChuckNorris , seeing the amazing number of tools that Dru Sellers and Rob Reynolds have turned out leaves me thinking one thought: If you don’t know what ChuckNorris is, a lot of people call it a framework but it’s more like a suite. There are, at the time I wrote this,...... Read Mode
When we last left our nifty little NodeJS app it was spitting out “Hello World!” like a champ, let’s see what other tricks we can teach it. Our node app that we created in part one is writing out our header “Hello World!” really well. But that's not really that cool. Plus, it doesn't scale. If we wanted to output more HTML we would find the current solution to be a giant pain in the...... Read Mode
I got a chance to play around with nodejs earlier this week and it took me less than 5 minutes to get up and running Note: if you install express NPM will install the 3.x alpha release which is not compatible with the most recent version of connect. I’ve updated this post’s instructions on installing the express module. Also, I published a package.json in each of the examples on github . If you work in...... Read Mode
Lately, I’ve beeen working on a lot of projects with different people/languages/editors, most of us were new git’ers and each project had a real problem with trailing whitespace. Fred and Tim It all starts out innocently enough. Fred, a mid-level developer at InfoTech Systems opens up his IM client and fires off a chat to a co-worker: “Hey Tim, can you check out my pull request? I’m done with the ratings feature and think we...... Read Mode
Starting a series of blog posts where I’ll show off some interview questions that provide insight and don’t totally suck. At a previous job I was one of the more senior guys on the team and we were expanding heavily. Which meant that I was in a lot of interviews. Problem was, our interview process sucked. We rarely had people code in interviews, we never had them look at code, it was awful. So I...... Read Mode
Was talking about Rails with some friends. Me: it is fast enough when it's loaded up Me: it's startup that takes a while John: like an asp.net website project, eh? Me: yeah Me: but Me: like Me: no Me: actually that's pretty accurate ... Read Mode
I needed to display different content based on which action/controller was executing. On my blog homepage, I have a big block of text that does a nice little intro of me for visitors. This block of text is in a partial (the blog is written in Ruby, it's another one of my side projects: Artigo ) and is shown only when the index action is rendered. I did this because I have to use the...... Read Mode
Alerts are a terrible thing and no website should use them. Alerts suck. In every web project that I work on, the code below is one of the first things I add. It will override the alert function an instead pass the argument supplied to the console. // the console && console.log check is to make sure // this code doesn't fail in IE which does not create // the console obj unless the user...... Read Mode
Continuing the series of interview questions that don’t suck, this time focusing on a nice jQuery/HTML question. Continuing on in the “Interview Questions That Don’t Suck” series, this time I wanted to highlight a nice jQuery/HTML question that I’ve used in the past. The following code binds an event to every <a /> tags click event. How many problems can you spot in the code below. What are they? Why are they problems? <script type="text/html">...... Read Mode
I came up against some - seemingly - insurmountable problems the other day. So I left work and played video games. I was working on a problem and things weren't going my way. Tests that should be passing weren't, errors that didn't seem possible were popping up and in just about every way imagineable shit was falling apart. I remember thinking “I can do this. If I can just solve this next problem I’ll be...... Read Mode
DynamicObject lets me create APIs in C# that would otherwise be impossible. It makes C# fun again. I blogged last time about MassiveRecord , my attempt at porting ActiveRecord over to .Net as a wrapper for the micro-ORM Massive. In this post I’m going to explain a bit about how MassiveRecord can have FindByID and FindByFirstNameAndLastName with less than 200 lines of code. First, a little about the dynamic keyword and DynamicObject. The CLR in...... Read Mode
I wanted to bring ActiveRecord over to .Net as a wrapper for the micro-ORM, Massive. I’ve taken some cool first steps and have something to show off! I've been writing code for almost 10 years now and one thing I've learned is that working with Databases sucks. I was ecstatic when Rob Conery released Massive last year. Massive makes databases fun again. You're not wondering what kind of SQL is going to be generated, it's...... Read Mode
I’ll be blacking out this blog tomorrow in protest of SOPA/PIPA. Want to help? In the words of Minecraft creator Notch : > How can I join in? It's easy - If you are a software developer you should fork Sara Chipps’s SOPA-PIPA protest git repository and add your website(s) to the ever-growing list of blackout participants. Then, when the time comes (Midnight, EST on 01/18/2012) simply modify your website(s) to display the HTML in...... Read Mode
A friend asked me the other day if I could recommend some podcasts for him to listen to. I’ve been meaning to post this for about a year now, and I’m not sure why it took me so long. I get asked what podcasts I listen to by my developer friends a lot. I always try to throw a few out there but I can never remember the whole list - which is actually kind...... Read Mode
Getting to the general vicinity of the NERD center is easy. It’s the last part that can be tricky. I’ve been going to the Microsoft NERD Center for a few months now (about 2-3 times a week) for various user groups and community events. I try to bring new people with me as much as possible and I find that getting them within shouting distance of the building is easy, it’s that last 1/4 mile...... Read Mode
I said it last week, git is awesome. I’ve been using git and github at work and I like it. A lot. I like it so much I’ve decided to move all my bitbucket repos over to github. Moving source code is easy. You can do it with a couple of mouse clicks, a commit and be done in about 5 minutes if you really wanted to. But if you did, you’d be missing the...... Read Mode
Getting contributor stats for your non-public project can be a real pain, that is, unless you’re using git! We use github for all of our source code and documentation on the Ohloh team. We've even got a few public open source projects up there that you should check out, but I'll talk about those another time. Earlier this week I tweeted my YTD commit stats from my new job: And I was asked how I...... Read Mode
Package Control + Sublime Text = where has this been all my life? I wrote previously how I’ve given up on Notepad++ . It’s time to find a new editor. But this new editor has to be great. Not just “good”, or “okay”, or “decent” but great. We’re talking Sean Connery as Bond great. I’ve used N++ for the past 6 years as my defacto file editor. Javascript, Html, Css, Xml, java, c#, ruby, basically...... Read Mode
Notepad++ is an awesome text editor but it’s become a bit of a frustration point lately, so I’m trying out a new editor: SublimeText Notepad++ has been my text editor of choice for the past 6 years. I've always found it to be a productivity aide and it's always just worked. However, lately, Notepad++ has a nasty habit of losing all of my settings and it's becoming unbearable. I asked on twitter the other day...... Read Mode
I’ve been using ruby for about 2 years now, but I’m always looking to improve my skills. Python, Ruby, TDD and writing plugins for an awesome text editor. What more could you want from a blog post? I stumbled across RubyKoans.com a few days ago. Most blogs and books teach you ruby by showing you examples and then, once you have a grasp on the language, you'll be told about TDD. Ruby Koans takes a...... Read Mode
@JohnBubriski posted a blog post that got me thinking of how the DynamicObject class, and a little elbow grease, can add some elegance to your MVC views. My good friend @JohnBubriski put up a great post on his blog where he talks about accessing url route params in your MVC views. John made a really good solution by adding an extension method to the HtmlHelper class which would return the {id} route param. This solution...... Read Mode
Dynamic evaluation is a great way to shoot yourself in the foot. Eval is a function in JavaScript that allows developers to invoke the js compiler and pass a string to be compiled and evaluated. Eval is often misused by developers which creates a ticking timebomb in your codebase . Here's what Eric Lippert says on eval : > Eric uses a pretty contrived example in his blog post, I don’t think a lot of...... Read Mode
Ever been in a command window and wanted to open windows explorer to browse the directory you’re in? Now you can. Try this: C:\> start explorer . [enter] KA-BOOM! You can also open another cmd window by doing: C:\> start cmd . [enter] Enjoy! ... Read Mode
Over thanksgiving break I dug an old linux pc out of our basement and installed began setting it up as a continuous integration machine for some personal projects. Installing git and svn on Ubuntu 6.06 is incredibly easy but getting mercurial installed required a few more steps. Here's what I did to get it running. Update: I’m keeping the list of steps here to help anyone thats stuck but if you have 6.06 and an...... Read Mode
This week I’m finding that there is a lot less pain involved in getting Visual Studio 2010 to do things my way than I thought - like no pain at all. I’m refactoring some legacy code this week; a task that would normally be a total PITA but thanks to Visual Studio’s built-in refactoring tools it’s going much easier than expected. The one tool that I’m a huge fan of is the “Implement Interface” context...... Read Mode
I had an issue the other day with MvcTurbine where our application would throw a StackOverflowException whenever the worker process recycled. I love MvcTurbine. If you’re working on a asp.net mvc project then you should take a look at it. Having said that I’ve run into one pretty strange problem with it. Another developer noticed that there were a lot of eventlog entries on our build server for our projects w3wp process. After looking into...... Read Mode
An easy way to find what source files have been modified after a certain date in a project directory with powershell. $DateToCompare = Get-Date "8/17/2010 8:07 PM" Get-Childitem –recurse | where-object {$_.lastwritetime –gt $DateToCompare} | where-object {$_.extension -eq ".cs"} ... Read Mode
JavaScript has a lot of good parts and bad parts but the for/in loop seems to walk the grey area in between. It’s a fantastic feature of JavaScript when wielded appropriately, but a potentially horrible bug when used incorrectly. A few weeks back I wrote a post about a bug that can occur when you improperly use a for/in style loop in javascript. This is particular quirk is one that I find myself explaining to...... Read Mode
This week I’ll post some useful AutoHotKey scripts that I use to make every-day coding easier. If you’re not familiar with AutoHotKey yet, I’ve blogged about it before and I would recommend giving that post a read. For the rest of you I thought I would post some useful AHK scripts that I have come across. **The most important AHK script ever. ** Disabling Caps-lock. I constantly fat-finger the caps-lock button. With this script, I...... Read Mode
AutoHotKey is a free, open-source macro-creation app for Windows. It lets you create really powerful macros that respond to keyboard input from within any application. Autohotkey is a great, free tool that helps you get more work done in fewer keystrokes - which is always good if you’re a programmer. I use AutoHotKey at both home and work to perform some simple (and some complex) text replacement macros. In this post I’ll take you through...... Read Mode
Twitter is great for keeping up with what your neighbors cat is up to, but it’s also a great resource for keeping up with other developers. Following some advice from a co-worker I’ve put together a small list of devs that I follow that I think you should follow too. I hate the fact that my tweets will [eventually disappear][2] or get lost amidst floods of tweets in other twitterers feeds so I’ve posted a...... Read Mode
Thanks to TDD I was able to prevent an obscure bug in a third party library from affecting my code before it got to the customer. It felt really awesome to catch this one before it happened in the wild. For the past two years I’ve been doing Asp.net MVC development off and on and practicing TDD off and on as well. For my current project at work I’m doing TDD “Full Bore” and I’m...... Read Mode
I’ve finally pushed one of my side-projects, the JavaScript Object Query library to 1.0! I’m pretty psyched since I’ve been meaning to do this ever since [I blogged about it back in February][1] . You can download the 1.0 release [here (minified)][2] and [here (normal)][3] . What is Jsoq? Jsoq is a port of Linq to Objects to JavaScript. Under the covers jSoq is a bunch of wrapper code for dealing with arrays in JavaScript....... Read Mode
I’m poking around in the JSOQ source this week and came across this gem. var array = [ { id: 1, num: 2 }, { id: 2, num: 3} ]; // find the item with num == 2 for(var item in array) { if( item.num == 2 ) { alert(item.id); } } The code above isn’t calling alert(item.id). Why is this? ... Read Mode
A symbolic link is a text file that contains a relative or absolute path to another directory or file. When an operating system receives a request for a path that resolves to a symbolic link the operating system loads the linked directory or file transparently. So let’s say I had the following symbolic link setup: Folder A -linked-to-> Folder B. When I browse to Folder A I would see the contents of Folder B as...... Read Mode
Two coworkers and I fought with this for a bit earlier this week. Facing a nearing deadline and since the code only needed to run once to populate a database table, we ended up using the ugly method. I made an example of the piece of code that was giving us trouble. Why will coordinates always be null yet coordinatesUgly always gets the correct node? class Program { private static string xml = @"<?xml version=""1.0""...... Read Mode
I came across this issue just at quitting time yesterday and was blown away when I realized what was happening. The UsersController Index View (pre submit) The UsersController Code public class UsersController : Controller { List<string> users = new List<string> () { "mace.windu", "yoda", "senator.amidala", "anakin.skywalker", "obiwan.kenobi" }; public ActionResult Index() { return View( users ); } [HttpPost] public ActionResult Delete ( string[] userstodelete ) { if ( userstodelete == null || userstodelete.Length == 0...... Read Mode
What is wrong with the code below? Safe Assumptions: _dictionary is a valid non-null Dictionary<object,object> _dictionary contains items that will match the passed expression This code compiles with no warnings or errors This code will throw an exception at runtime. public IList<TModel> GetAllByCriteria<TModel> ( Expression<Func<TModel, bool>> criteria ) { Func<TModel, bool> action = criteria.Compile(); return _dictionary.Where( pair => action( (TModel)pair.Value ) ).Cast<TModel>().ToList(); } If you don’t see it right away then you’re not alone. I...... Read Mode
I mentioned previously that I am working on [a dev environment setup script][1] for a long-term project at work. The goal of this script is to get a developer’s machine ready to work on the project, installing dependencies, creating dev/test databases, etc. Since our project will be using [CouchDB][2] my script should create/update a few databases when it is run (this part is coming soon!). But before that can happen the script needs to check...... Read Mode
I helped Tamara figure this out the other day and thought others might want to know. She needed to know which databases would be backed up when a given backup plan was executed. The server was a sql 2000 server and the machine she was using didn’t have enterprise manager installed. SELECT * FROM msdb.dbo.sysdbmaintplans LEFT JOIN msdb.dbo.sysdbmaintplan_databases ON msdb.dbo.sysdbmaintplan_databases.plan_id = msdb.dbo.sysdbmaintplans.plan_id WHERE msdb.dbo.sysdbmaintplans.plan_name = 'PUT YOUR PLAN NAME HERE' So if anyone out there...... Read Mode
I wrote a quick and dirty environment setup script in powershell to help other members of our dev team bootstrap their dev setups for a new project. I just finished my first ever powershell script and I'm pretty proud of it - even though I did borrow a good portion of it . We’re starting a pretty long-term project at work - it’s scheduled for a final deliverable date set in July of 2011 -...... Read Mode
I’ve been focusing more and more on my port of Ling-to-Objects, Jsoq the past few weeks. It’s still in really early stages and I’m not quite sure about it’s actual usefulness but I’m learning a lot about JavaScript and having a ton of fun along the way! Jsoq deals with arrays a lot. About 95% of it’s use cases involve either looping through, altering, or creating arrays. Having a ton of for loops in my...... Read Mode
The other day I had to alter the stylesheets in a child IFrame when a user selected an item from a drop-down. My first draft was pretty ugly, it ivolved getting the DOM from the child IFrame (by getting it’s contentWindow or contentDocument property) then getting the <head> of the DOM and looping over all the child items… yuck! I coded up this jQuery extension method which will return a jQuery-wrapped DOM instance for any...... Read Mode
Ever been working on a customer’s site, writing some really awesome jQuery, you deploy it, and everything is awesome. And then you get an email one day… Has this ever happened to you: you’ve been working on a customer’s site, writing some really awesome jQuery flashy, fadey, scrolly, interactivey thing, you deploy it, and everything is awesome. The customer rejoices and the customer’s customers rejoice. Rejoicing is had by everyone. And then you get an...... Read Mode
![works-on-my-machine-starburst][1] Here we are with another excellent installment in the “Works On My Machine” series where I post some code, some thoughts and hopefully show you something interesting/cool/new. Today I’m going to talk briefly about Project Euler problem #3. Problem 3 asks you to find the largest [prime factor][2] of the number 600,851,475,143. My solution is pretty simple but it works: var getLargestPrimeFactor = function(num) { var factors = []; for ( var f =...... Read Mode
If you’re like me, you recently upgraded to Sql Server 2008 (or just installed the Management Studio). If you’re really like me you found the “Saving changes is not permitted” dialog that pops up every time you try to save a modified table annoying. You may not have found it annoying enough to investigate but I sure did. I don’t remember Management Studio 2005 complaining when I changed a table and saved it. Why the...... Read Mode
Project Euler is an awesome website that I found out about a while back via this question on StackOverflow . Basically, it’s a website that poses a ton of programmer related challenges and it keeps track of the problems that you solve. The problems start out relatively easy (Add all the natural numbers below one thousand that are multiples of 3 or 5.) and progress all the way to insane (Caradano Triplets and Covex Holes)....... Read Mode
Earlier today I had to debug a function in our code that was calling an external webservice at a clients’ site. The webservice returns a list of items and the code on our end is supposed to place them in ascending order based on each items Order property. The client pointed that the our order wasn’t matching up with what they were seeing internally so I spoke with their developer who suggested that we make...... Read Mode
Download the source code mentioned in this blog post. A few weeks ago on the StackOverflow podcast , something Jeff said got me thinking. Jeff was discussing how the stackoverflow team implemented their route mappings: Those routes are… the way we implemented them are actually like decorators. Attributes on the methods. - Jeff Atwood (stackoverflow episode #54) This instantly piqued my interest and I completely zoned out for the rest of the podcast: caught up...... Read Mode
“Syntax Error, Line: 2, Char: 0”. How many of you out there have seen this error while working on a web project? Usually it’s because of a forgotten semi-colon or parenthesis in some external javascript file. But sometimes it’s something more sinister… Something darker, dirtier and just a little bit more evil. After seeing the error message, I opened up Internet Explorer’s options dialog and unchecked the following options: Disable script debugging (Internet Explorer) Disable...... Read Mode
Long story short: I hate re-inventing the wheel. If there is a free service that does something I need I will try my hardest to get that service into whatever I am working on. I’m currently working on an Asp .Net MVC project that needs Avatars (you know, those funny little pictures next to peoples names on Twitter). Enter Gravatar . Gravatar is an awesome service for anyone looking to add avatars to their apps....... Read Mode
![works-on-my-machine-starburst][1] Due to me being insanely sick this week I’m going to be changing up the format for the Works On My Machine weekly project post for this week. Instead of presenting a project that I’ve worked on I’d like to highlight some .Net OSS projects / source code that I’ve been working with / looking at lately. [The More Linq project][2] - An extension library for LinqToObjects run by Jon Skeet. [MusikCube][3] - Awesome...... Read Mode
[Download the source code mentioned in this blog post.][1] ![works-on-my-machine-starburst][2] I’m a hopeless code junkie. I love to write code. Most people do one thing for work and then another for their hobby. My girlfriend for instance works as an IT / Systems Engineer and her other thing is photography. My other thing is writing more code. I never did this with any of my previous jobs (save dish washer… I did wash dishes when I...... Read Mode
So lately I’ve been working on a project using Asp.net MVC and TDD to build a web 2.0 application. It’s a twitter-like application that I started a while ago but due to [my failure to test everything][1] I lost about 99% of my work and had to start over from scratch. But this was sort of a good thing because it gave me a chance to revisit a lot of things that I wasn’t very...... Read Mode
# So, yeah I originally started writing this article back in september when I was about mid-way through JSOQ. Some things have changed since then and I’ve tried to keep the post up-to-date. Enjoy! Also, another similar library has come out recently: JSINQ which is a really feature-rich LINQ to Object implementation in Javascript. Really bad-ass stuff. The Elevator Pitch: JSOQ is an open-source pet project of mine that lets you easily access the data...... Read Mode
“Think of it as a hi-tech version of Woody Allen’s statement that life is what happens to you while you’re out doing something else.” The above excerpt was written by Jeff Johson, the creator of the Xtree file management software in his quasi-blog post title “An Unapologetic History of XTree “ written in 1991, six years after Xtree 1.0 was released. Jeff was the lead developer on the Xtree software project that originally started out...... Read Mode
When you need to find out the type of an object in JavaScript you would just do the following: var x = 1; alert(typeof x); Well what if x were an array? With x as an array a typeof incorrectly returns “object” as the type. Well that is just plain wrong. Enter the isArray() method. Object.isArray = function(o) { return o && o.constructor === Array; }; Granted it’s not as simple as typeof but it...... Read Mode
I write a lot of javascript at my job and I often find myself in a horrible debugging situation where something isn’t working right and I need a way to find out what properties and methods an object has quickly. I’ve found the following code very helpful in determining this. Object.Enumerate = function(o,t) { var type = typeof t === 'undefined' ? null : t; for(var key in o) { var value = o[key]; //...... Read Mode
I’m relatively new to the world of professional software development. I got my start hacking away in Visual Basic back in 1995 and didn’t do any sort of development for money until 2004. Yeah I’ve only been a software developer for 4 years now. It’s sort of scary being a noob in real life. There is a lot to learn: the culture, what to say, what to do and most importantly what not to say...... Read Mode
The code below will enumerate which groups a domain / local user belongs to. private static string GetUserGroups(string strUser) { string groups = ""; DirectoryEntry de = null; try { string entryName = String.Format("WinNT://{0},user", strUser.Replace("\\", "/")); de = new DirectoryEntry(entryName); object oGroups = de.Invoke("Groups"); foreach (object o in (IEnumerable)oGroups) { DirectoryEntry group = new DirectoryEntry(oGroups); groups += group.Name + ","; } } catch (Exception) { throw; } return groups; } ... Read Mode
Just in case you ever want to convert a binary representation of a Windows Security Identifier (SID) to it’s friendlier string version: Imagine we have a binary sid that is:0x010500000000000515000000F2EBB9149329116C5E3528360E040000 That doesn’t look too inviting does it? Lets break it out into segments for easier reading. 0. 0x01 1. 05 2. 000000000005 3. 15000000 4. F2EBB914 5. 9329116C 6. 5E352836 7. 0E040000 Segments 0 through 2 are used by Windows to validate the SID. 0...... Read Mode