If you want an introduction to debugging ‘hard’ ASP.NET problems (with Windbg and Adplus), you should check out Johan’s blog. I noticed this via Tess’s blog (not updated that often but nonetheless a great debugging resource) which I mentioned last year. The debugging reading list that the article references has moved to here.
Uncategorized
Careful with Those Bits, Eugene
I came across this roundup page of bit manipulations several years ago, and then prompty lost it.
So what are they good for? You’d be surprised where they crop up. Many a novel solution relies on these techniques. Admittedly, if all you are writing is UI presentation code, these probably won’t be of much use. On the other hand, if you ever take part in any ‘speed’ coding puzzles, there are deep low level techniques to be gleaned.
I’m posting a link so I can find it again!
(PS. Anyone recognise where my terrible title comes from?)
Regular Expression Resources
There are several tools that can assist with creating and testing regular expressions. The Regulator and Expresso are perhaps the most widely used.
The Regulator, written by Roy Osherove, features syntax highlighting and integrates with Regexlib.com’s database of online regular expressions via a web-service.
Expresso, written by Jim Hollenhorst, is another great tool for building and testing regular expressions. Expresso has some very nice features such as generating ready-to-paste C# code snippets from your regular expression.
Regex Workbench, written by Eric Gunnerson, has a nice feature that shows Tooltips that decode the meaning of subexpressions within an expression.
RegexDesigner written by Chris Sells is another useful tool. It is not quite as fully featured as some of the others.
Resources
- Regexlib: Regular Expression library: Regexlib also has a good resources section.
- Regular-Expression.info : has very clear explanations of various regular expression constructs, and some good examples.
- Learning .NET Regular Expressions with Expresso
- Introduction to Regular Expressions in .NET
- Regular Expressions in .NET by Darren Neimke.
- 4GuysFromRolla Regular Expression Information Roundup: includes links to introductory articles.
- Common Applications of Regular Expressions by Richard Lowe
Regular Expression Cheat Sheets
It might be a strange name for a technical site but www.ilovejackdaniels.com has a few gems of ‘cheat’ sheets (memory aid would be more accurate). The excellent regular expression sheet is no exception. In addition to the downloadable and printable cheat sheet this page gives one of the most understandable descriptions of regular expression functionality you will find anywhere.
There is a slightly less comprehensive but useful crib sheet here.
UPDATED: Add Regular-Expression.info to the resources list.
Interview Questions You Should Ask
On the whole, I’ve been fairly successful (or lucky) with interviews in my career. But I must admit that even though I’ve tended to be able to correctly answer most if not all of the interviewer’s questions, I don’t always ask them enough of the right questions. Asking the right questions is especially important if it’s your first developer position after finishing College/University, because the first few years could shape your career for the next ten. I mentioned the importance of this in a previous post, Software Development Must Haves.
The questions you forget to ask when you are interviewing for a job, but wish you had asked after taking the job by Bruce Eckel. It’s worth reading the range of extra questions that were posted in the comments section.
Top 10 Questions to Ask in an Interview, by Robin Ryan: This is a more general guide than just IT. I liked this quote: “An HR Director for Microsoft added: ‘Frequently the candidate, ill-prepared, searches his mind for just anything to ask. That person appears dumb, or uninterested, causing me to question what kind of employee they’d be.’”
Microsoft used to be big on lateral thinking / puzzle type interview questions as described in the book “How would you move Mount Fuji” by William Poundstone. Many of these are example of the “back of the envelope” technique (estimating from imprecise or missing information) which seems to be less frequently taught and practiced, such as “How many Piano Tuners are there in the U.S”. I’m not sure that these types of questions have ever been particularly relevant as interview questions (since the answers can be rote learned) but they can be amusing and good one-off, lateral thinking exercises: http://www.softwareinterview.com/
The Guerrilla Guide to Interviewing (version 3.0) by Joel Spolsky. Joel admits that he is fairly hard nosed about the interviewing process, “It’s because it is much, much better to reject a good candidate than to accept a bad candidate.” Joel suggests that only 2 things matter in a candidate: “In principle, it’s simple. You’re looking for people who are (1) Smart, and (2) Get things done.” I like Joel’s reference to the ‘hard part’ where he asks questions about recursion and pointers: “Sadly, despite the fact that I think that all good programmers should be able to handle recursion and pointers, and that this is an excellent way to tell if someone is a good programmer, the truth is that these days, programming languages have almost completely made that specific art unnecessary.” Whilst tutoring first year University students, I remember this was the ‘plateau’ that they had to get over in order to progress to the next level.
Scott Hanselman (and his clone army, ahem!) originally posted this list of questions aimed at ASP.NET developers. After a barrage of comments, he followed up with What Great .NET Developers Ought to Know, which resulted in a wide spectrum of responses ranging from people saying it was just a list of trivia, to those who basically thought “Ya, those are good. I’d probably have to look a few up.” If you can answer every single question correctly without looking anything up then you’re doing OK! Scott makes the point that he isn’t trying to reduce an interview to a set of trivia questions, and Joel Spolsky doen’t like these type of questions at all: “Remember, smart does not mean ‘knows the answer to trivia questions.’”
Interviewing Web Developers – 20 Good Questions to Ask: one of two of these questions are probably more useful than others.
To end this post, here is a little light programmer relief (or how to gather requirements): Stupid Interview Questions.
And how could I forget the Daily WTF (you have to read these!): Tales from the Interview, Security by Insanity (this is my all time favorite), Tales From The Interview: A Perfect Ten, The Abstract Candidate
Writing Quality Code – Free e-Book
Dave Glover posted a heads-up on this great, free e-book written by some our local Aussie talent, Dr Neil Roodyn, Nick Weinholt, Rocky Heckman, Mitch Denny, Paul Glavich and Adam Cogan. You can download it from here (and the dnl reader from here) .
When to Throw Specific Exceptions
David M Kean has posted excellent guidelines on what specific exceptions should be thrown from within your .NET code. For an overview, see my post here.
VS2005 Cheat Sheets
A few months ago I posted Visual Studio 2005 IDE Productivity Tips and Tricks, and I just noticed that Rob Caron posted about these very handy VS2005 Cheat Sheets which can be downloaded from Microsoft.
PowerShell Cheat Sheet
The PowerShell team have released a pdf cheat sheet which you can download here.
Be Your Own Client
Don Box posted that Chris Sells has long been an advocate of ‘Be your own client’.
This approach is not just suited for API design, but for just about any design task, especially user interaction.
ASP.NET AJAX 1.0 Released
Probably old news for most people, but just in case you missed it ASP.NET AJAX 1.0 was released a few days ago. You can download it here.