- Posted by Shay Friedman on March 25, 2010
Recently I thought about this comparison… In the programming world there is this level of people who are a kind of “celebrities” within the developer community - they’re widely known, they have thousands of readers of their blogs, they have thousands of followers on Twitter, they speak on public events in front of thousands of people around the world… All of that just screams for a comparison with the equivalent in the show biz world - rock stars!
So… I’m proud to present the first EVER comparison between rock stars and programming stars! afterwards judge for yourself what you wanna be.
| Comparison | Rock Star | Programming Star |
| Look |  |  |
| Shown in public on | Concerts, TV, Radio, newspapers, magazines | Conferences, podcasts, programming magazines |
| Known internationally | Yes | Yes |
| Chances of being recognized in the grocery store | Almost with complete certainty | Rarely |
| Charisma | Yes | Yes |
| Tools | Microphone/Guitar/Drums/other instrument | Microphone + computer + projector |
| Write | Lyrics | Code |
| Average annual salary | Millions of dollars | Hundreds of thousands of dollars |
| # of Twitter followers | Millions | Tens of thousands |
| # of people attending a single show/talk | Tens of thousands | Thousands |
| Way to the top | Hard work for years/American Idol | Hard work for years (Simon Fuller, if you read this, what about a “Programming Idol” show?) |
| Sex | So much that they’re sorry about that when they grow old. | I don’t know. Unlike rock stars, they don’t share this information. |
| Drugs | Yes. A lot. | No. Geeks do not do drugs. Most of them at least. |
| Alcohol | Yes | Drink beer from time to time |
| Tour the world | A few months a year | A few days/weeks a year |
| Own | A crib, a private jet, a collection of cool cars | A powerful laptop with SSD and two 24’ screens |
| Can install Win7 | No | Of course, they’ve done that multiple times already |
| Eat bats during shows/talks | Yes | No |
| Have tattoos | Yes | Mostly not, it hurts to get them done. |
| Have two eyes, two ears, one mouth and one nose | Yes | Yes |
And the winner is………… I don't know, do you?
Anyway in the end we’re all human and therefore have a chance to become stars.
Go ahead and shine!
Shay.
Share: Digg it | DZone it | Reddit it
- Posted by Shay Friedman on March 22, 2010
Along with the popular new features of ASP.NET 4, some uncommon features have been added as well. One of them is the Menu control which has gone through some changes, good ones.
One of the changes to the control is the new IncludeStyleBlock property. This is a boolean value which indicates whether the control adds its CSS to the page. “Oh well…” you might say, but stop and rethink it – until now, when you used the Menu control you always had the CSS added to the page, whether you liked it or not. For example, the following is a CSS block which is added to the page when a menu with a simple format exists within it:
<style type="text/css">
/* <![CDATA[ */
#Menu1 { background-color:#FFFBD6; }
#Menu1 img.icon { border-style:none;vertical-align:middle; }
#Menu1 img.separator { border-style:none;display:block; }
#Menu1 ul { list-style:none;margin:0;padding:0;width:auto; }
#Menu1 ul.dynamic { background-color:#FFFBD6;z-index:1;margin-left:2px; }
#Menu1 a { color:#990000;font-family:Verdana;font-size:0.8em;text-decoration:none;white-space:nowrap;display:block; }
#Menu1 a.static { padding:2px 5px 2px 5px;text-decoration:none; }
#Menu1 a.popout { background-image:url("/WebResource.axd?d=HGk9oAfq1wga-jOpKNLje9tJtu3SgIdPSvUFv2UWscw1&t=634045276053254044");background-repeat:no-repeat;background-position:right center;padding-right:14px; }
#Menu1 a.dynamic { padding:2px 5px 2px 5px;text-decoration:none; }
#Menu1 a.static.selected { background-color:#FFCC66;text-decoration:none; }
#Menu1 a.dynamic.selected { background-color:#FFCC66;text-decoration:none; }
#Menu1 a.static.highlighted { color:White;background-color:#990000; }
#Menu1 a.dynamic.highlighted { color:White;background-color:#990000; }
/* ]]> */
</style>
This sucks. It isn’t cached by the browser, it increases your page size and it might become even bigger if you have some more complex styles. If this irritates you as it irritates me, the IncludeStyleBlock property is for you. Just set it to false and the above CSS disappears from the page.
However… by setting the IncludeStyleBlock property to false you remove the style completely and we don’t want that.
There are two possible solutions to this issue:
- Copy the generated CSS to a CSS file (before you set the IncludeStyleBlock to false) and add a link to the file on the page - <link href="Styles/style.css" rel="stylesheet" type="text/css" />
- Create a custom CSS class for the menu and set its name to the menu’s CssClass property.
In conclusion, the IncludeStyleBlock is a really nice enhancement to the handy Menu control. Notice that this is not the only change to the Menu control in ASP.NET 4, it also uses UL and LI elements instead of tables!
To read more about the changes in the Menu control in ASP.NET 4, look here.
And I say – hallelujah!
All the best,
Shay.

- Posted by Shay Friedman on March 22, 2010
This week I got my new laptop and it’s AWESOME!
It is a 64-bit Dell Studio XPS 16 with the following specification (the main features):
- Processor: Intel® Core™ i7-720QM Quad Core Processor 1.6GHz (2.8GHz Turbo Mode, 6MB Cache)
- Screen: 16' inch RGBLED Full HD 1080p
- RAM: 8Gb 1333Mhz DDR3 Dual channel
- HD: 500Gb 7200RPM
- Graphics: 1GB ATI Radeon HD 4670
And this is how it looks like:
It’s so much fun to work like that! everything just works and you don’t need to wait for operations to get done. They just do.
So after praising my new laptop, let’s move on to the main subject of this post – the tools I take with me to every computer I work on:
- Reflector – in my opinion, every .NET developer must have Reflector installed on his or her computer. There is no way you can understand the internals of the technologies you work with without going through their code, at least flutter through it. And if you don’t want to understand the internals, go to a shrink and figure out why do you settle for mediocrity.
- IronRuby – I use IronRuby’s REPL console as my main method of doing quick POCs, check what methods return and how to use them, etc. I used to use Snippet Compiler but IronRuby is so much faster and much more fun so I moved to it.
- GacView – I use it as a replacement to the “assembly” folder viewer that is provided by Windows Explorer. GacView shows you the assemblies in the Global Assembly Cache (GAC), provides information about them and most important – lets you copy them to a different location and to delete them.
- ViewStateDecoder – let you view what your page stores inside its view state hidden fields.
- Fiddler – A very simple to use and powerful network sniffer.
- SciTE – A light-weight editor with syntax highlighting and a simple code completion mechanism. I use it to change C# code quickly instead of opening the heavy Visual Studio, to write IronRuby code and to edit XML files.
- Process Explorer – I use it as a replacement to Windows Task Manager. I like the UI more and the ability to find handles and remove them becomes very helpful every now and then.
- ZoomIt – An awesome tool for presentations. If you speak occasionally and use a projector or a big screen, this tool is a must for you.
- PicPick – a light-weight tool to capture screenshots. Very easy to use and comes with some more handy features like a color picker.
- foobar2000 – A very light-weight music player which does exactly what it needs – play music. It comes with an easy to use music library viewer and can even show a balloon tip with the current playing song.
I highly recommend each of these tools because of my great experience with them. They make irritating tasks simpler and faster and eventually make me happier.
I hope they’ll make you happier too!
Shay.
