Just Code It

Jeff Atwood has an interesting post on his Coding Horror site entitled “Yes, But What Have You *Done*?” ( http://www.codinghorror.com/blog/archives/000809.html ). Programmers, Jeff says tend to be natural introverts, and left to their natural devices will migrate toward head down coding.

“But it is possible to go too far in the other direction, too. It’s much rarer, because it bucks the natural introversion of most software developers, but it does happen. Take me, for example. Sometimes I worry that I spend more time talking about programming than actually programming.”

I know how Jeff feels. In my role as a development lead I spend a lot of time in meetings, or talking to other developers about their projects. As a result I wind up spending a lot of time late at night doing coding, just to keep up with the latest and greatest techniques.

The need for code experience directly resulted in one of my “How To Be A Better Developer…” ( https://arcanecode.wordpress.com/2007/07/13/being-a-better-developer-in-6-months/ ) pledges.

I will work all the code samples in the book. Reading is one thing, but doing is even better. Personally, I find I get a better understanding when I actually type in the code samples and run them. And not just run what’s in the book, but tweak it, experiment with it.

I’m amazed at the number of times I meet some guy who comes across as a self proclaimed expert on a subject. When I quiz the person or try to ask tough questions, it turns out said individual read a book, but never actually wrote any code. Book learning is great, I certainly buy enough books every year to know, but there’s no substitute for doing.

When learning something new, start with the samples. Work it, tweak it, understand it. Then, if appropriate use it on your project at work. If it’s not appropriate, find someone else’s project that it would be a good fit for. Offer to work a few hours unpaid overtime and contribute some code to their project. They’d probably be grateful for the help, and might repay with some pointers and critiques.

Can’t find an appropriate project at work? There are thousands of open source projects out there, find one where you could contribute. Or look around the community; find a charity that needs some programming done.

It’s easier than you think to find some real world places to apply your coding skills. So what are you waiting for, just code it!

Microsoft Goes Open Source

For years critics have been blasting Microsoft over their proprietary standards and applications. Over the last few years, however, Microsoft has slowly been answering those critics by adopting internet standards instead of insisting on their own, and releasing more things to the community.

The ability to save Office 2007 documents as XPS comes to mind, as does the ability for CardSpace to use open standards like OpenID. Now, in their next step they are embracing the open source community through the addition of a new Open Source page within Microsoft.

http://www.microsoft.com/opensource/default.mspx

On this site you can find all sorts of information and resources for those wanting to do open source projects using Microsoft software. Links to articles, websites, and the Visual Studio Express editions can be found. I won’t try to reiterate the entire site here, but if you have an interest in Open Source it’s well worth your time to have a look.

In addition is another site called Port 25. It is the outreach site for Microsoft’s Open Source Software Lab. Some really cool stuff here on Linux interoperability, as well as the new Dynamic Language support such as IronRuby and IronPython.

http://port25.technet.com/

I can tell right now I’m going to be spending a lot of time on Port 25.

Finally, I should mention a site that’s been around for a bit by the name of CodePlex. It’s Microsoft’s site to host open source project done by both Microsoft folks and those of us in the community. (Well, I say us, one day I keep swearing I’ll find time to crank out some cool project and put it on CodePlex.)

http://www.codeplex.com/

Currently they show about 2000 projects right now, so there should be a lot for you to check out.

No, I don’t foresee Vista going open source anytime soon. But I really have to hand it to Microsoft. Somewhere over the last few years they realized they weren’t the only game in town. Since then they have really made an effort to “play nice” with other communities, and embrace many new open standards. The creation of their Microsoft Open Source site is just another step in that journey.

Arcane Get-A-Ways

It’s always great to get away with your coworkers every so often, in a situation away from the office. That’s where I’ve been the last few days, in the mountains of north Georgia. Very pretty country, and our big team building event was a 6 mile canoe ride.  

Unfortunately there was no internet access in the lodge we were in. Seems it was being renovated and they hadn’t gotten around to hooking it back up. They barely got the new carpet installed before we arrived. (I was the first one there, and as I was walking in the carpet layer was driving away).

It was a weird experience being internetless for several days. It’s amazing how used to connectivity we’ve all become in such a short time.

Speaking of connectivity, I now have a Pownce account. http://pownce.com/arcanecode/ . I’ve only just started it, will try to figure out how to most effectively use it over the next few weeks. Meanwhile if you have a Pownce account feel free to send me a friend invite.

I also read that WordPress now has a good integration with Facebook, and am considering a Facebook account. Let me know your thoughts.

Finally, I’ve updated the Arcane Lessons page ( https://arcanecode.wordpress.com/arcane-lessons/ ) with more lesson plans, be sure to check it out.

Being a Better Developer… In 6 Months

Scott Hanselman’s show this week was killer. (http://www.hanselminutes.com/default.aspx?showID=90 ). In it, Scott and Carl discuss a thread going around the internet, namely how to become a better developer in six months. They had some excellent ideas, some of which they were passing along from other posters, some were theirs. The post that seems to have started the whole thread was done buy a guy named Justice Gray, back in April. http://graysmatter.codivation.com/HowIAmBecomingABetterDeveloperPart1OfInfinity.aspx or http://shrinkster.com/qvx . Just recently he posted a follow up at http://graysmatter.codivation.com/AnUpdateOnGoals.aspx or http://shrinkster.com/qvy .

I like the whole concept, and am going to implement my own version of it. And the first step is to declare what I’m going to do, so without further ado…

I’m going to start by reading a chapter a week from a book. Now, I know that doesn’t sound like much compared to the plans of others to read a book a week, but it leads to my next step…

I will work all the code samples in the book. Reading is one thing, but doing is even better. Personally, I find I get a better understanding when I actually type in the code samples and run them. And not just run what’s in the book, but tweak it, experiment with it. And then what will I do with my knowledge?

I will teach what I learn. The best way to learn is to teach. I’ll blog, talk with my co-workers over lunch, give presentations, but in some way I will give back what I learned. But I won’t stop this learning process with just books.

I’ll increase my listening of podcasts or videocasts. I recently got an inexpensive MP3/WMA player, which I load up with podcasts. This left the 1 gig card on my iPaq free, which I’ve loaded some videos on. Since the iPaq is portable, it increases my ability to watch these videos. Since I’ve blogged so much about podcasts in the past, I shan’t continue talking about them.

I’ll create at least one new presentation and give it to a user group. Again, the best way to learn is to teach, and there’s no better place than with your peers at your local user group.

I’ll look at the source code for an open source project. This is one I really loved from the show. Look at someone else’s code, see how it works, step through it. Right now I’ve got several in mind, first is the Paint.Net project ( http://www.getpaint.net/index2.html ) since I think the graphics would be interesting, and graphics aren’t something I normally get to play with at work.

Next is RSSBandit, http://www.rssbandit.org with the source at http://sourceforge.net/project/showfiles.php?group_id=96589&package_id=103276 .The networking concepts in there should be quite useful in many instances. Finally is SharpDevelop (http://www.icsharpcode.net/OpenSource/SD/ ). It’d be interesting to see how an IDE works. I’m not sure which of the three I’ll look at, but these are on my short list.

I will learn a brand new or little used technology. There’s a lot of new technology out there, or tech I don’t read much about. Working a lot with the SQL Server BI (Business Intelligence) tools, the upcoming SQL Server 2008 sounds interesting. Of course there’s Visual Studio 2008. And XAML promises to be a hot topic, between WPF and Silverlight I think this will eventually be a “must” for everyone. Those are just some examples, find something that fascinates you and go learn.

The final two items on my list are suggestions from my manager, who my kids have dubbed “Mighty Mike”. I thought these were really good.

I will learn more about the business. No, not the business of programming, although that’s certainly important. I’m talking about what my company does. Most developers aren’t in a job where their company produces software. Instead our programming efforts help support the production of some product, which our company sells. I will learn more about that product, how it’s produced, what processes apply, and what the difficulties are. And finally….

I will get to know my customers. By that, I mean the people who are using, or are affected by the software I write. For most of us, those will be other employees of our company. Meet these people. Get to know them. Buy them a cup of coffee. Take a non-IT coworker to lunch every so often. Setup a half hour meeting with them every so often to learn and understand more about their job. Find out what their pain points are, find ways to solve their problems, offer them solutions to make their jobs better.

Whew, that’s quite the list. It will take a lot of balancing of my time to carry this off, but at the end of it I’ll be a better programmer.

To wrap this up, I’m supposed to tag four other developers, to challenge them as well. So here goes…

First is Jeff Barnes, http://jeffbarnes.net/portal/blogs/jeff_barnes/default.aspx . Payback time! (He knows why, heh heh heh).

Next is Todd Miranda, Birmingham’s newest MVP. Congrats Todd! http://blog.nxtdimension.com/

I think my next victim will be my brother-in-law, Dougal. Even though he’s not fortunate enough to work with .Net, he at least got to do some cool stuff with WordPress. http://dougal.gunters.org/

My final pick is that perfect blend of lunatic and coding genius, Mark Miller. It’s his fault I got deeply involved in coding again. I was thinking of getting into project management, but after seeing his talk at VSLive 2005 I got so enthused about coding again I jumped in with both feet and here I am. So how about it Miller, put down that McGriddle and blog something! http://www.doitwith.net/

An now I challenge you, the reader of this post to go out and be a better developer. Post a link to your development plan. If you don’t have a blog of your own, feel free to post your plan below. Look at others, take the best of the ideas that will work for you.

Now if you’ll excuse me, I’ve got a lot of work to do!

Arcane Tidbits

Today I thought I’d cover a few items that I found interesting, but were not in and of themselves enough info for an extensive blog post. I call these Arcane Tidbits.

First up is an interesting new Trojan horse that is attacking computers. When you reboot the computer, something pops up that looks alarmingly like the Microsoft Windows Activation screen. It tells you another user has activated your copy of Windows, and demands you enter credit card info as a way to validate your identity, of course reassuring you that you won’t be charged. If you fail to do so it shuts down your PC. PC Magazine has an interesting writeup as well as a link on how to remove this pest at http://www.pcmag.com/article2/0,1895,2147608,00.asp .

Another interesting story from PC Magazine, the first known spam sent out as a PDF file is now in circulation. Read more about it at http://blogs.pcmag.com/securitywatch/2007/07/more_pdf_spam.php . To quote Patrick Norton (http://dl.tv/ ) “Remember kids, never ever ever open attachments from people you don’t know, and sometimes even from people you do.”

If you’ve been working in the .Net space for a bit, you’ve probably heard of the new Microsoft Cardspace that is part of .Net 3.0. However, you may be looking for a good basic intro to give to your boss or non-programming friends like system administrators to help them understand it. In episode 98 of Security Now, Steve Gibson gives a nice basic overview of what Cardspace is and how it works.

You can this episode at http://www.twit.tv/sn98 . Steve does get a bit technical, so I don’t know I’d suggest it for your dad (unless your dad is a former CIO like mine) but for your boss, DBAs, or System Admins it’s a good intro on what it is and how it works without getting into the programming. You might want to listen to show 95 (http://www.twit.tv/sn95 ) on OpenID first, as OpenID and Cardspace go hand in hand.

Next a bit of a personal note, I feel like a kid in a Web 2.0 candy store lately. You see, up until this week I’ve been using Hughes DirecWay to get my internet via Satellite. The speed was slow, about 700k down, but better than dial up. The downside is their FAP, or Fair Access Policy. Now I was spending nearly 90 bucks a month for their Professional Level service. Under that plan, I would get FAPped if I downloaded “too much”.

And how much is too much? Good question, I tried to find that out myself and was met with evasive technical answers. The best I could determine, based upon the elusive answers given to me by several tech support personnel, was somewhere around 50 megabytes an hour. Yes, you are reading that correct, 50 megabytes an hour, or about 1 podcast.

And what happened if I downloaded to much? Well I got FAPped as they call it, my bandwidth was choked back to a speed so slow it made dial up attractive. And forget doing VPN on it, it won’t work.

In order to get the speed out of the satellite, Hughes compresses the packets before they go up and down to the satellite via the dish. With VPN however all traffic is encrypted, so it can’t see the packet to compress it. Oh, the sales people don’t mention this, and one even told me it “should work” and I have to admit that once, just once, I actually made a VPN connection to the office. It was so slow though I had time to drive to the office to see the results of a single keypress.

Well happy days are here as AT&T ran DSL to my house last week. The installer could not have been nicer and more professional, and they even called a few days later to follow up and make sure everything was still working. I admit I was a bit dubious when AT&T bought BellSouth, but so far they look like they really have their act together.

My rather long winded point is I now have an 8 megabit connection to the net, with no limitations on bandwidth. No more FAPping! No more latency! No more 90 bucks a month for a service I’m not allowed to use! I’m now free to go explore all the cool Web 2.0 stuff like Skype, YouTube, and more. I’m sure I’ll be blogging about my experiences, but if you know of some cool high bandwidth technologies I can go play with drop a comment and let me know.

And finally, my local Discovery store is closing (sniffle). True there’s still the online store, but it was a lot of fun to go in and browse. I picked up two books I’ve had my eye on for a while at a deep discount. One is Mythbusters: Don’t Try This At Home Unless We Tell You To. It’s a book of experiments you can do with your kids, I intend to give it to my daughters and we can have some fun with it.

The second book is also about Mythbusters, and talks about the founding of the show and covers the stories behind 30 of their most popular myths. I’ve already looked through the first chapter, this looks to be a fun read, and with discounts I bought both books for a mere 20 bucks. You might want to check your local Discovery store as well.

And there you go a few little tidbits for your reading pleasure.

Standard Disclaimer: I receive no considerations financial or otherwise from any of the business or products mentioned in today’s post, and being a geek think the Mythbusters are really really cool.

Arcane Reasons for Data Warehousing

I may have mentioned that of recent I have been doing a lot of work in the Data Warehousing arena. Today I met with some IT folks from another branch of the company who are considering a reporting strategy for their area. One of the people I was meeting with asked me “With so much data available, how do you decide what data to put in the warehouse first, versus what data do you leave in the application, either permanently or until a later point?

Great question, and I thought that you too might be interested in the answer.

Interapplication Reports. Historically trying to combine data from multiple applications has been painful, to put it nicely. Clearly than this turns out to be one of the most compelling reasons for data warehousing, to house data from multiple applications and allow users to easily combine that data into singular reports.

Phasing Out Historical or Ad-Hoc Systems. Accounting systems seem to have an existence all their own. For various reasons they live well beyond their normal lifespan. We have a system at work, written in an old DOS based reporting tool that dates back to the late 1980’s. Over the years it’s been used to do reporting from other systems. As it turns out it has some issues with Vista, and will need replacing. Rather than getting yet another system, we plan to replace its reports with ones from our data warehouse.

Friendlier Reporting. Often when I see databases, the field names are quite cryptic. Names like fklnam (foreign name last name) and accsbcd (account sub code) litter databases. It’s difficult enough for IT Professionals to decipher the field name mayhem, but asking users to do so just to create a few ad-hoc reports can be asking far too much. Not to mention the sometimes bizarre seeming relationships between tables.

Moving to a data warehouse allows you to give much saner, user friendly names to your data. In addition you can flatten out some of the tables, simplifying the relationship structures significantly.

Production Server Load Reduction. Production systems are usually optimized for dealing with single records at a time. As a result, searching through and retrieving data for large quantities of data can be resource intensive on the production system. Shifting reporting to a warehouse means a reduced load for the production system. In addition you elimante the chance that malformed SQL from some ad-hoc query can cripple your production system.

Ease of Offline Maintenance for Production Systems. Finally, having a warehouse makes it easier to take production systems offline for maintenance. If users know they can still get to their data via the warehouse, they will be less concerned about their production system going offline for work, which in turn makes it easier to schedule such work. If you have a system that requires frequent maintenance, your users will be less likely to give you grief if their data is available elsewhere.

Those are my primary ways in which we decide which data is targeted for inclusion into the warehouse. If you need to combine data from multiple applications, have older systems that need replacement, have cryptic field names or complex table relationships, need to reduce the load on your production server, or have systems that need frequent maintenance then consider those systems first for inclusion into a data warehouse.

I’d be curious to hear your comments on your strategies for determining inclusion into your own data warehouse.

Arcane Fun Fridays: Run As Radio

“Hi, my name is Arcane, and I’m a podcast addict. “ I tell the small room full of people.

“Hi.” A crowd of voices echoes back.

“Welcome to Podcast Addicts.” says the group leader. “Tell us about yourself.”

“It’s these podcasts. I just can’t seem to get enough of them. At first it was just listening on the way home from work. Then I started on the way to the office as well. Before long I was listening all the time, grocery shopping, cutting the grass, I’ve even quit watching TV, preferring to improve myself listening to these podcasts instead of frying my brain with yet another mindless sitcom.”

“So, what’s brought you here tonight?” the group leader prompts me.

“Well, it’s those jerks over at Pwop Productions ( http://www.pwop.com/ ). You know, the same guys who do Dot Net Rocks ( http://www.dotnetrocks.com/ ) and Haselminutes ( http://www.hanselminutes.com/ ) just to name a few?”

The group leader nods, glancing between me and the crowd, and looking just a bit worried. But since he says nothing, I continue. “Well, they’ve gone and done it again. As if all those great shows weren’t enough, they’ve gone off and created yet another one, Run As Radio ( http://www.runasradio.com/ ).

“Each week Richard Campbell and Greg Hughes talk about things for system admins, hardware geeks, or savvy developers. It’s gotten to where I’ve got podcasts going all the time. My wife says I don’t listen to her anymore, or I think that’s what she’s saying, it’s sort of hard to hear her over the podcasts. She may be saying something about the space aliens trying to eat my meatloaf, but…”

I pause, realizing the crowd is no longer listening to me. In a flurry of headphones and USB connectors they are attacking the computers on the far side of the room, the Run As Radio site flickering as they download past and current episodes to their various media devices. Even the group leader is there, frantically trying to get his Zune to connect to someone.

I smile, and slip quietly out the back door. My work is done.

 

Grok

After listening to last weeks DotNetRocks episode with Scott Stanfield ( http://www.dotnetrocks.com/default.aspx?showNum=244 ) I took at look at Grok Talk ( http://groktalk.com/ ). This is a great site filled with a lot of video training material.

The cool thing is each video is a mere 10 minutes in length. This is awesome for the busy programmer on the go. Now you can easily download and learn something new everyday without a huge investment in time. I highly encourage you to take a look, I plan to watch one video every weekday.

Speaking of free training, I have been asked to speak at the Birmingham Dot Net User Group tomorrow, Tuesday June 12th. The meeting starts at 7 pm, and will take place at the New Horizons training center located at 601 Beacon Pkwy W #106, Birmingham AL. The Windows Live map is at http://shrinkster.com/pv8, or the Google map can be found at http://shrinkster.com/pv7 .

I’ll be speaking on SQL Server Compact Edition, showing you how to get started with this cool technology. My notes and demos are already here, just click the SSCE link under categories. Hope to see you there!

Education the Arcane Way

If you’ve read my blog for a while, you will know I’m a fan of podcasts. They are an opportunity to learn with what Tony Robbins refers to as NET time (No Extra Time). I listen while driving, shopping, cutting the grass, or doing other activities that don’t otherwise involve heavy use of my ears.

One of the complaints I often hear though, when I recommend podcasts as an educational opportunity is “I can’t afford an iPod”. Well, iPod’s are nice, but I don’t have one either. There are other brands, but they can be a bit overpriced from some stores.

So, you want something to play MP3s, but don’t want to shell out big bucks. E-bay is a bit scary, because you don’t know if that seller is really being upfront about that item. As an alternative then, may I suggest keeping an eye on Woot?

What’s Woot you ask? Well Woot ( http://www.woot.com ) has “one deal a day” (although often times they have more deals, if they sell out early). Of late, they have had a huge flood of MP3 players.

Last week on “2fer Tuesday” my wife bought TWO 512 meg MP3 players for 15 bucks. Of course, they were bright pink, but since they were for my daughters that was perfect. Just today they were selling a SanDisk player, 1 gig ram, for 25 dollars. It’s probably a refurb, but since it comes with a new warrenty and Woot has good customer service, you’re not risking anything.

My point is, even if you are a poor, struggling type, you can afford one of these cheap players (even if some of them *are* pink, ugh). Skip that movie rental, pack a lunch a few days, whatever. Getting one of these along with a set of rechargeable batteries will allow you to take advantage all these great educational opportunities, which will pay you back in spades.

Now, I’m sure some will point out that 512 meg or 1 gig is not a lot of ram. You’re right it’s not. But even a small 256 meg player will get you by. Remember, you’re not trying to store your music library on these, you want to load a few podcasts to listen to on the way to and from work, or while exercising.

In looking over my latest MP3 downloads, it looks like 40 meg is about the average size of an hour long podcast at decent quality. That’s 12 shows for a 512 meg player, or 12 hours which should be more than enough even if you listen all day long. Even the 256 meg unit would give 6 hours, plenty even for a long commute plus an hour work out. Then just reload each evening. Most units simply look to the PC like a USB drive, so they should work with any type of OS, such as XP, Vista, Ubuntu, or OS-X (Apple).

A word of safety, most places outlaw driving with headphones on. If you want to use yours on the road stop and pick up a cable to plug it into your car stereos AUX port, or if it has a cassette player you can also use a cassette adapter.

Keep an eye out, and one day you’ll be able to snag your own Woot deal, and be able to take advantage of your NET time to get an education.

If you are looking for a list of podcasts, be sure to check out my Arcane Links page (https://arcanecode.wordpress.com/arcane-links/ ) in the Netcasts area, or my post from August 23rd of last year (https://arcanecode.wordpress.com/2006/08/23/ ).

Standard Disclaimer: I have no financial affiliation with Woot, other than having spent a bunch of my hard earned cash there.

Arcane GUI’s: Enabled versus Visible Properties

I was having a discussion with a coworker today about the user interface for his application. There is an Admin menu that the site IT folks will need to setup the application for the first time on a computer.

He was mentioning he was going to make the Admin menu disabled for non IT folks, and instead I suggested he make it invisible. Why? He asked. Good question.

Human nature is the best answer. Your average user is going to be content with what they have, but there will always be those who want more. They are curious about what they are missing out on, or are not satisfied unless they think they are getting the “full” software, even if it’s functions they don’t need.

In large corporations, these folks tend to be, er well rather insistant, and if they have a supervisor who likes to take the easy way out, he may wind up telling IT to grant the user access he shouldn’t have.

Instead, I have a firm design principle: Ignorance is bliss. In this case, if the Admin menu were hidden, the problematic users would never know it even exists, and live in happy igornace, causing problems elsewhere.

So here’s the rule: If there is functionality a user will never have access to, such as an Admin menu, then it should be hidden via the Visible property.

On the other hand, if there is functionality that is enabled or disabled based on the state of the app, use the Enabled property. A good example might be the Copy function on the Edit menu. If no text is selected, then Copy should be disabled as there’s nothing to copy. It servers as a visual cue the user has the application in a state that the Copy function makes no sense. Once text is selected, Copy should be Enabled.

Another example might be a Save function, if the required fields are not completed, disable the Save as a cue to the user he still has work to do.

And there you go, Arcane’s GUI Rule for Enabled versus Visible Properties.

Arcane Security: IRS E-mail Scam

No, it’s not the IRS trying to get you this time, but scammers trying to take over your computer. In a brand new threat, scum sucking scammers are sending out e-mails that claim to be from the IRS. The e-mail tells the reader they are the target of a criminal investigation, and tells them to click on a link to find out more.

Now first of all, the IRS does not notify people of criminal infractions via e-mail. Usually it’s through a group of gray suited men in dark sunglasses knocking on your door, or through certified mail in a letter that says “you pay us…”

Second you should always be wary of any mail that insists you to click on a link to find out more. That’s always a key there’s something wrong. That’s one reason I always type out URLs in this blog, so that those who are mistrusting types can simply read it and type it in, or highlight and cut/paste.

If you get one of these, forward it to phishing@irs.gov, then DELETE IT! Yes, you could just delete it and be safe, but let’s do what we can to help the IRS catch these scumbags.

This story is all over the web, but you can read more at the Consumer Affairs site on http://www.consumeraffairs.com/news04/2007/05/irs_phishing.html or http://shrinkster.com/pmj . It’s so insideous though I decided to add my own warning to try and get the word out.

Arcane Holiday

Today in the US we are celebrating Memorial Day, where we remember all of the soldiers who fell in battle. So let me first start by thanking the families and those men who sacrificed themselves for the greater good.

In keeping with the holiday theme, I thought I’d take a brief holiday from the Windows Services series and catch up on a few things.

First, there’s been an update to my favorite Windows add-on, TouchCursor. The new version fixes the issue I mentioned with Virtual PC’s. The only issue since I’ve run across is in using it with Visual Studio and DevExpress CodeRush add-in. CodeRush also wants to use the spacebar for activation. However, I was able to easily change the activation key from CodeRush to something else, and problem was solved. Check it out at http://touchcursor.com/ or see my initial review at http://shrinkster.com/pf4 .

Next, about a week ago I mentioned some great music to program to by a group called Midnight Syndicate. Shortly after posting I found out the Haunted Voices Radio podcast did an entire weekend of Midnight Syndicate, including playing their music and complete interviews. Check out Haunted Voices Radio at http://www.hauntedvoicesradio.com/modules.php?name=Content&pa=showpage&pid=6 or http://shrinkster.com/pf2 . Each banner ad is to a separate MP3 (the weekend was broken up into 2 hour chunks for easy downloads). I believe there are 17 in all.

Finally I have to confess to a guilty pleasure. I recently received a gift certificate to a book store, and used it to purchase “Windows Developer Power Tools” by James Avery and Jim Holmes. (Amazon link: http://shrinkster.com/pf5 )

If you’ve been reading my blog for a while you know I’m a “tool freak”, I love add-ins and tools for Windows and Visual Studio. As such I’ve been wanting this book for a while, but since I’ve already got a huge stack of books I’m still reading through I was having problems justifying yet another book. The gift certificate gave me just the opportunity I needed to get this cool new book. At over 1200 pages it’s chock full of toys, can’t wait to dig in!

BOHICA

I mentioned I was on a business trip, during our long road miles my co-worker and I listened to quite a few podcasts. One that was really interesting is the current episode of Security now, episode 91. (http://www.twit.tv/sn91).

In this episode Steve and Leo interview Marc Maiffret of eEye Digital Security (http://www.eeye.com/html/index.html) about the state of security both in the Enterprise and at home. In this episode Marc makes a starting yet fascinating assertion, namely that Microsoft Software is no longer the biggest vulnerability on the Windows platform. Instead, their research shows it’s other software that’s opening up vulnerabilities.

Part of the issue occurs because these vendors lack the concept of “Patch Tuesday” that MS has. Additionally, they tend to bundle their security fixes with other software updates. A user looks at a 47 meg update and goes “hmm, my app is running fine, don’t see a need to update” and misses all the security fixes.

Now, before some joker comes off with “run Linux it’s secure”, on a recent episode Steve talked about a Javascript exploit that can affect your router and effectively open it up. And yes, the exploit works on both Windows and Linux and it also runs under FireFox as well as IE. (Please note I’m not bashing Linux, I have it on a few of my boxes, I’m just realistic about its security abilities.)

The point I’m making here is to make sure to update ALL of your software. Like many I dutifully have my Microsoft updates run automatically each week, but have declined updates of other software thinking “nah, it’s working right now not gonna worry about it”. You can bet I won’t make that mistake again!

Arcane Recommendation: Coding Horror

I’m on the road again, so sporadic posts this week, but wanted to recommend something to you. I’m a big fan of Jeff Atwood’s Coding Horror site, http://www.codinghorror.com. Jeff has some really great insights into the coding process.

Recently Jeff was a guest on a great podcast, Dot Net Rocks. May I suggest it’d be well worth your time to listen to episode 232 (http://www.dotnetrocks.com/default.aspx?showNum=232)? Jeff has some great insights, and some great lines as well. I intend to expound on a few of these, so consider this a little “homework” for my upcoming post.

Arcane Thoughts: Honorable Mentions

In reflecting on Friday’s post, I realized there are a few people who I consider “heroes” in the tech world, but aren’t programmers (or at least it’s not what they are primarily known for). I thought they deserved a mention, hence today’s post.

Leo Laporte

You may remember Leo from the MSNBC, then TechTV channels doing shows like Call for Help and The Screen Savers. Today Leo runs the successful TWIT Podcast network (http://twit.tv), producing many helpful shows on the state of the tech industry. His relaxed but informative style is a pleasure to listen to.

Patrick Norton

Patrick was Leo’s co-host on The Screen Savers. This guy knows hardware. Today he still has a TV show, only you can download it and watch it at your leisure. At DL.TV (http://dl.tv/) Patrick, with co-host Robert Herron puts out a bi-weekly show reminiscent of the Screen Saver days. They look at the latest tech, answer viewer questions, and provide useful info.

Steve Gibson

What a treasure Steve is. Each week he and Leo have a show on the TWIT network called Security Now (http://www.twit.tv/SN). I have learned so much about the way networks work, ways to secure your computer against attacks, each week it’s like attending a doctorate level course in networking and security.

If his name sounds familiar, Steve is the same Gibson of Gibson Research Corporation (http://www.grc.com), the guys who do Sheild’s Up (for testing your computer’s security) and SpinRite, the disk recovery tool.

And there you go, a few guys who deserve a mention for their contributions to the tech community.