Microsoft BlueHat Fall 2006

October 29, 2006 at 12:01 am | Posted in Microsoft, Software | 2 Comments

Last week I got to attend the Fall 2006 Microsoft BlueHat conference. For those that don’t know what this is, it is a conference that is similar to BlackHat. Basically hackers (in the true sense of the word) show up and discuss various security related things. It is a Microsoft-only employee conference (I guess another perk of working here :P).

One talk I attended was titled Skype High. This talk was given by two engineers and it was basically a discussion of the different protection mechanisms that Skype has. They use some pretty advanced tools and techniques, but these two engineers managed to reverse engineer most of them, and actually found some weaknesses (some of which they couldn’t even tell us about…which makes you wonder). It’s also very interesting to know the lengths that Skype has gone to, to obfuscate its code and network layer to prevent other people from interoperating and/or learning how everything works. I am amazed at these two engineers capabilities 🙂

Another talk I attended was Blue Mist which discussed wireless driver vulnerabilities and hardware virtualization root kits. Again, another eye opener at the way hackers operate and weaknesses that are inherent in various technologies. One lesson to learn regarding wireless drivers is that usually hardware vendors are not really interested in writing really secure drivers and are in fact quite sloppy at it. It is also interesting to know how dangerous hardware virtualization root kits are and also how difficult it is to actually defend against them.

Another thing which maybe a lot of people don’t see and which Microsoft has had a bad reputation for is Security. Some people think Microsoft just doesn’t care about security and is very weak when it comes to this regard. This is far from the truth. One of Microsoft’s top priorities (above almost everything else I believe) is security. I was strongly encouraged to attend this conference. I also have already had one Security talk as part of my initial training, given by Michael Howard (one of the authors of Writing Secure Code). I also have another one lined up soon. Upon entering my team as well, we got two books. One was Microsoft Windows Internals and the other one was Writing Secure Code. These were in a sense, our bibles. Also, I’ve gotten to hear of and see some of the security features and enhancements that are coming out in Windows Vista and they show a really strong commitment to providing customers with robust, secure operating system by default. Is it perfect? No. It isn’t. Nothing is perfect. After all, the developers are only human. Plus, if it was perfect, there would probably be no need for a Windows Serviceability team which would put me out of a job 🙂

Just thought I’d share some of what I’ve been up to during this past week.


Drinking from the firehose

October 22, 2006 at 4:36 pm | Posted in Microsoft, Personal | 2 Comments

I was reading a blog entry from another Microsoft blogger and I felt it totally resonated with me and I thought I would mention it here.

The entry is called Spectrum of Complacency.

It is basically talking about him feeling a little overwhelmed right now, which I feel a little too at the moment. I am working with new technologies and tools that I haven’t worked with before and a totally new field that I have not been exposed to (Kernel/Filesystem stuff). Also, it is a little intimidating because I know if I screw something up, it can affect millions of people worldwide. I’m also worried about introducing security flaws into my programs. To top this all off, I have the added stress of moving to a new country, getting to know the area, having to deal with a lot of administrative stuff (finding a house, buying a car, buying furniture, etc.)

At the same time though, I am also very excited, for the same reasons. It’s a new field that I will be learning and hopefully becoming more and more proficient in. The team is very understanding that I am new and have a lot to learn and I think they expect it will take a few months for a newcomer to come up to speed. At IBM Egypt, I also had the same problem as I was very worried the things that I would be doing there. But over time, I came a lot better, and then became one of the “goto” guys for several of the components that I owned there.

But just as Adam said over time, you begin to get a sense of complacency. Over time it becomes less exciting, less interesting, less education, and less motivating. I think at this point in time it becomes good to look for something else (or try do something to shake up your current project so you can learn something new). Sometimes you just got to throw yourself in the deep end of something new in order to make an impact for yourself.

The title of this post is also how I pretty much feel right now. I feel like I am trying to take a drink from a firehouse. It is quite difficult and overwhelming to do such a thing, but as you take a few sips it is quite refreshing 🙂

My new 2007 Mazda3 i Touring

October 20, 2006 at 3:02 am | Posted in Personal | 13 Comments

I bought a new car just yesterday!

After doing a lot of research I bought a 2007 Mazda 3 i Touring. I’ve only been driving it for 2 days now, but I love it a lot. It is very sporty and is just such a fun car to ride. All for a very affordable price too 🙂

I had originally narrowed down my choice to either a Honda Civic, or the Mazda 3. I preferred the look and handling of the Mazda 3, plus after going out and checking out cars, the Honda Civic was prices at a very big premium as it was considered a “popular” car.

I originally intended to buy a Mazda3 s Touring class. I felt, for a cheaper price I could get a lot of the optional packages in the i Touring class and a few extra features (a 2.3L engine and Dynamic Stability Control). Surprisingly though, the car salesman convinced me to go with the i Touring + ABS/EBD/Side Curtain Airbags at a very great price. As a Microsoft employee, I also got special Mazda S Plan pricing which means I bought it for invoice cost basically.

I got it in a dark grey color. At the last second my wife and I hesitated about the color and began considering black and silver, but i’m glad I stuck with the dark grey.

Some of my other favorite features: The ability to manually shift, stereo controls on the steering wheel, MP3 input jack, and sporty dashboard look. It has great gas mileage…hugs the road well on turns, and is very fast when it wants to be 🙂

Here are some pictures of it from the Mazda site:

Just a note on the images. Mine does not have a built-in GPS device (although I bought a GPS unit recently which I will attach to my windshield).

I would like to name my car but am having a hard time. I was thinking of ‘Betty’, but my wife didn’t like it. So if anyone has any suggestions, leave a comment 🙂 I may just use it.

Preparing for the Microsoft Onsite Interview

October 18, 2006 at 4:35 am | Posted in Microsoft | 12 Comments

First of all, I want to mention again that Microsoft is coming to Egypt in December to recruit for the PM/SDE/SDET positions. I have already referred some people that I know personally, and I wish them good luck.

So, since a recruiting round is coming in December, and some people are interested in knowing the best way to prepare for a Microsoft interview, I will basically mention things that helped me.

The first thing though, has nothing to do with preparing or studying. It is about you as a person. You need to be passionate about technology. You need to forget a bit about being interested in getting a job at Microsoft, and instead be interested in working with cool people and cool technology.

Some of the things that I began to do when I found I would be interviewing with Microsoft is read some books. There are some great books out there, and in general I felt they were great assets to my career, regardless of whether they helped me join Microsoft or not. So you should read these anyway. They will help you get an idea and mentality of what good development practices are. So here they are:

This is just the books that I read which I felt helped me (not just for the interview, but for the rest of my career). There are some other recommendations that you can find at the JobsBlog. To make things easy for you see the following links:

Another book that I would also recommend is How Would You Move Mount Fuji. They asked puzzle questions, and this gives you a lot of the questions they would ask you (although if you have heard of one of them before, they will probably give you a new one or a variation of one – but this will help you get a grasp of how to figure things out).

Another excellent source I would recommend, is of course the JobsBlog. This provided me with a wealth of information such as the book recommendations. I enjoyed reading it and also found it useful too as it linked to people’s experiences of the interview. This helped a lot to know what to expect in the interview.

The final recommendation I would give you is to study hard for the interview. It was definitely the hardest interview experience I ever had. Study all different types of algorithms (Sorting and Searching are two of the big ones.) Study trees and graphs as they maybe useful too. Finally, when programming be aware of everything such as security implications, globalization/localization concerns, performance, error handling, etc. Also, a good idea when writing an algorithm is to develop your test cases first.

This is all I have to say on the matter for now, so good luck, and have fun if you are interviewing with Microsoft. Leave a comment if you have an interview coming up soon, or if you have just recently completed one.

Working At Microsoft

October 12, 2006 at 5:33 am | Posted in Microsoft | 8 Comments

I’ve been working at Microsoft now for approximately 10 days, and I thought you guys would be interested in knowing how its going and what its like.

Some of the things that I’ve realized at Microsoft:

  • The amount of emails a person gets is a lot. It took me a while at IBM before I started receiving mails. Here, it seems I am already on a lot of distribution lists related to my job and work.
  • There is a major information overload when you first start. It is close to impossible to know what is important and what is not when you first start, so I have a tendency to think everything is important (when it might not be).
  • I have so many trainings that I am signed up for right now (I even have one scheduled for next June – as all earlier trainings for this course are packed). On top of this, there are meetings, brown-bags (informal lunches/presentations/get-togethers/discussions) and lots more. I think it will be tricky trying to manage attending trainings, going to meetings, going to lectures/presentations and actually getting some work done 🙂 For example, last Friday Wozniak was at Microsoft giving a talk, and I can’t believe I did not know until it was over. It’s a shame I missed it. For a good blog entry on the Woz visit see this blog entry.
  • Oh yeah, on top of this, there is a Foosball table on my floor which I occasionally play with one of my friends here 🙂 I am getting good, he is having a very hard time beating me. And on the 2nd floor of the building there is an arcade machine with Capcom vs. Marvel on it. I am not so good with that. It’s amazing to be able to just take a break from work and staring at your screen to just go and unwind with a few games. Also, I haven’t taken advantage of this yet (because I am fasting) but there are some fields on campus where people can play sports at any time.
  • The windows source code is HUGE. I was having a lot of difficulties trying to find the source of my component 🙂 My mentor though managed to track someone down to point me in the right direction. My mentor actually has been a great help so far in getting settled in.

Some things that I haven’t been able to take advantage of yet:

  • The free drinks! Microsoft has refrigerators on every floor stocked with drinks for us 🙂 They also have these amazing Starbucks coffee machines. Nothing like having a good cup of coffee in the morning. Unfortunately, as I am still fasting I haven’t been able to take advantage of this.
  • The cafeterias. The cafeteria itself is very good with very reasonable prices, but on top of this they recently introduced food from various restaurants from the region. So some cafeterias have Indian, Thai, Japanese, etc. Also, they have gourmet take home dinners for engineers who wish to take food home at the end of a day (or it could even be used for lunch as there is a microwave on every floor). Again, as I am fasting, and as my wife cooks delicious food at home, I haven’t been able to try this yet.
  • As Microsoft employees we get membership at the excellent Pro Sports club which is nearby to the campus. I’ve just passed by from the outside, but I hear it is very good and very big. They have 4 indoor heated pools for example. I would like to try to begin going there in the mornings and exercising after Ramadan.

That’s all for now. By the way, Microsoft will be coming to recruit again from Egypt in December. I will be meeting with some recruiters this Friday as well, so if you are interested please tell me (or leave a comment) and I can tell you how to apply, and if I know you (and I know you would be a good match) I can recommend/refer you to a recruiter.

Settling in at Microsoft

October 6, 2006 at 2:44 am | Posted in Microsoft | Comments Off on Settling in at Microsoft

So things are going good at Microsoft. I am beginning to get settled in. I got my internal email alias. Been doing a lot of the internal first work administrative stuff. I got my mentor assigned as well, and he is proving to be a great source of (practical) information. He was even cool with me and gave me a really cool machine that I can use as my devbox (dual CPU, 64-bit Xeon 3.6 GhZ, 2GB RAM). I also got a dual monitor set up, which I believe is great for extra productivity. Once you go dual screen you will wonder how you ever lived without it. It definitely helps you out by allowing you to see more information at once.

There is also a whole bunch of training I signed up for (basically induction stuff for new people in the WinSE group). Also, I am noticing that if you wanted to at MS, you could spend quite a bit of time doing just training. There are a lot of video trainings that I can (and probably should take). It’s gonna be tough trying to balance this out with doing real work, but I am hoping my mentor and manager can both help me out with this and advise me.

Also, I got to discover the administrative assistants at work. They are very very helpful and useful. I was able to get headphones, ergonomic keyboard/mouse, KVM (since I now have two machines), and a book (Writing Secure Code). I also arranged through them to set up getting an office phone, a hanging bookshelf, and a drawer so I can lock things in it. One thing that I love and that I am still not used to is that you pretty much have full freedom to get what you need. In other places I’ve worked it was a big deal to get a machine (or even a mouse) you’d have to formally request it, and then manage it through some sort of asset manager. Here the priority is on just getting what you need so as to keep your work going smoothly.

One thing that I am noticing as well is that my time at work just flies by, unlike in other places, where the time used to go by very very slowly. It just goes to prove that I am having fun at my job here 🙂 If you are not having fun at your job right now, I would definitely recommend getting out and finding a place where you can enjoy yourself! Life is too short.

New Employee Orientation (NEO) @ Microsoft

October 3, 2006 at 2:46 am | Posted in Microsoft | 3 Comments

Today I attended my first official day of work at Microsoft. On the first two days of work we typically attend something called NEO which is the New Employee Orientation. Due to room reservation issues though we had it compressed all into one day. So we started around 8.30am and finished at 5.00pm.

Since I am now officially a Microsoft employee, I am required to state that all opinions that are expressed on this blog are solely my own and in no way represent the opinions or views of my employer. They are also pretty cool about blogging. Basically we just use our common sense pretty much. On any hand, I will only talk/discuss/comment on publicly disclosed Microsoft information.

There is a lot to digest during NEO, but it was a great experience. It had me excited to come to work at Microsoft. The main difference I see between Microsoft and other places I’ve worked is that they seem to really care about making the employee happy and satisfied. They try to take care of everything so that we don’t have to worry about it and focus on the job. Of course though, there is a bunch of things that I need to set up during the first month, but then after that it should be smooth sailing.

One cool aspect that I like and am looking forward to is the mentorship program. I’ve never really had a mentor at work. So I hope this will help me out during this first stage of my new career path.

One thing that I thought was interesting as well, when compared to Egypt is that here in the US (and Canada too) you get paid twice a month. Thinking about it, I think this is a better method of paying people as it makes it easier to plan your finances, you don’t have to go long before your pay, and it also gives just this general impression that you are being paid a lot (even though its exactly the same amount).

Tomorrow I will meet with my manager and start with my team, and after tomorrow I should be getting my blue badge which will be cool 🙂

Doing Things in Seattle

October 1, 2006 at 3:52 pm | Posted in Personal | Comments Off on Doing Things in Seattle

Life in Seattle is going well. A couple of days ago my wife and I went to take the knowledge test for our driving license, which we both successfully completed. Our drive test is coming up in a week approximately.

We’ve also noticed that our dog is a little bit destructive in the house. We had left him once, and he was fine. Also at night when we leave him he is fine. But the other day we left him and came back home only to find that he tore up some of his bed, and some plastic bags that we had. We also strongly suspect he gets up and lazes around on the sofa. Bad Dog. We are trying to crate him now while we are out, but he doesn’t seem to like it much. Although we put in a lot of treats, water, a peanut-butter flavored bone, and some toys of his. We are doing our best to associate the crate with good things, but I think he just loves having us around and gets lonely without us.

Also, yesterday I met up with some of the new people in Windows Serviceability team that are coming from Egypt plus one Egyptian at Microsoft who has been here for a while. They were: Ramy Bebawy, Hany Barakat, and Meshref. We met up at Building 35 on the Microsoft campus, and while waiting Hany was taking pictures. Quite promptly, campus security appeared to investigate what we were doing. The thing is, Meshref and Ramy had taken off to get jackets as they felt it was cold. Plus, apparently, since we are not full time Microsoft employees yet (we start tomorrow!) we are not allowed to take pictures of the campus. So Hany had to delete his pictures, and we had to wait with security until Meshref came since we are not allowed to be unaccompanied on campus.

Anyway, afterwards Meshref wanted to take us to this amusement park that was quite far (close to Mt. Rainier I believe). I would say around 45 min to an hr away from Redmond. After arriving, and waiting quite a while in line we decided against going for a few reasons. It was almost time for iftar (since it is now Ramadan and we were all fasting). We probably would not go on many rides before it was time for us to eat. Not to mention it was very crowded so we probably would have to wait for a really long time. And on top of this, with Microsoft PRIME card (which we would get once we start) we would only pay 10$ instead of 39$.

Instead we decided to go to Redmond Town Center where we had iftar at a place called Thai Ginger. I think it was the first time any of the group had Thai (except for my wife and I) and I think (and hope) they enjoyed it.

Tomorrow I start my New Employee Orientation (NEO) and I am greatly looking forward to it. I left my job at IBM Egypt on August 1st so even though its only been two months vacation, I feel like I haven’t been working for a lot longer than that. Wish me luck 🙂

Blog at
Entries and comments feeds.