|
I was excited to see the HN Survey Results that was posted yesterday, but was a little disappointed that Google's "Auto Summary" couldn't figure out how to do a histogram on Income, Age, Hours per Week, or Work Experience. Or maybe it can, something just wasn't setup correctly. Anyway I imported the data into excel and whipped them up. I do data visualization work for a living and might create some non-excel visualizations if there is any interest, so comment if you'd like more (it'll probably be in silverlight). I got rid of some of the data that I deemed to be suspect. I apologize if you're the 12 year old making millions of dollars per year. You can download the excel file that includes the charts here. The original Google auto generated charts are here. Thanks to Dave Lyon for gathering the data. Here are the extra charts that I created: (Edit: Some people have noticed that the income chart doesn't look quite right, and they're correct. It is in the right order, increasing in 5K increments, but the second half of the graph has a zero clipped.)
After waiting literally 7 years to upgrade my laptop, I finally purchased a Dell Studio laptop last night. With it's 9 cell battery, I get this lovely indicator in my system tray:
So for the most part I've been pretty happy with the laptop we bought a couple years ago for my wife, its an Asus Aspire 5050. Nothing crazy, but its form factor is decent and as long as you don't try to upgrade to vista it handles just fine. Anyway, I did a fresh install of XP professional after the machine was slowing down from install rot. After I installed SP2 at some point the system would really start to choke a lot, I ran Process Explorer (thank you microsoft!) and found the CPU was getting slayed by Hardware Interrupts and Deferred Procedure Calls. After some googling for Asus and Aetheros (the company that makes the wireless component in the notebook), I ran into some Eee users who were having the same problem. They really tried everything (bios updates, hotfixes, etc). Somehow someone figured out that the wireless component in conjunction with some other mystery part of SP2 will go nuts and always try to constantly renegotiate with the Wireless Access Point what channel they should be talking on. The fix is simple, I just went into my AP and changed the wifi channel to always be 9 instead of "auto". At least I'm done and I've got documentation in my blog in case this crap happens again. Why can't my stuff just work?
Programming Job Interview Challenge Question Week #13Highlight the text below for the answer. This is pretty simple, use a stack to track all open brackets and on all closed pop the stack to see if you have the correct matching bracket.
private bool AreBracketsClosedProperly(string input) { Stack<char> openBrackets = new Stack<char>(); foreach (char bracket in input) { switch (bracket) { case '(': case '[': case '<': case '{': openBrackets.Push(bracket); break;
case ')': if (openBrackets.Pop() != ')') return false; case ']': if (openBrackets.Pop() != ']') return false; case '>': if (openBrackets.Pop() != '>') return false; case '}': if (openBrackets.Pop() != '}') return false; break; } }
if (openBrackets.Count != 0) return false; else return true; }
I've been trying to keep up with the Job Interview line of posts over at dev102.com, but unfortunately I've been running out of time to do all of them. Anyway, this weeks question can be found here. Stop reading if you don't want the answer. This problem can be solved using a Finite State Machine. The only thing you're going to store is the current state of the machine, once you reach the end of the machine, you'll alert. On initialization of the piping component, you'll build a finite state machine for the given alert sequence. Every time you are given a message you check what you should do with the state machine based on where you are currently at. I was going to write out the code to do this, but it becomes a little tricky when you have repeating data in your alert sequence because if you get a message you're not expecting you don't necessarily want to reset the state machine to its initial state. For example, if the alert sequence was "A, A, A, A, B", and your input is "A, A, A, A, A, B", you don't want to reset the machine to the first state when you get that 5th A, you want it to stay in its current state.
So one of the guys over at dev102.com has been posting job interview questions. While the most recent isn't the best interview question in the world, I thought I'd share the answer if anyone is interested. Here is the question:
How would you implement the following method: Foo(7) = 17 and
Foo(17) = 7. Any other input to that method is not defined so you can
return anything you want. Just follow those rules:
- Conditional statements (if, switch, …) are not allowed.
- Usage of containers (hash tables, arrays, …) are not allowed.
The answer is crazy simple. Highlight the text below to reveal the answer. public int Foo(int x) { return -1 * x + 24; }
My Algebra teacher would be so proud.
So I was never really expecting to make much money from my AdSense advertisements, if I made $10 in a year, I'd be happy. But perhaps I've only made 80 cents thus far because Google is serving absurd ads like:  What AdWords did these people buy that is displayed on my site talking about Microsoft Technologies? Is this some sort of joke perpetrated the FOSS Commie Zealots? My content might be a little crappy ( or not) but C#, WPF and LINQ are simply bad-ass.
Well, as you can tell I've got a new DasBlog theme I created myself. I'm not the most artistic person in the world, but I'm happy with what I've accomplished. Good lord did it take a long time, its been a while since I've pounded out HTML and CSS, but I'm glad to have it fresh in my head again but I'm totally disgusted at how differently IE and Firefox render, what a gigantic waste of time. Have a good week!
Register and attend for your local launch event and receive a free copy of Visual Studio 2008, SQL Server 2008 AND Windows Server 2008. Which by my estimate is at least $2000 in free software. http://www.microsoft.com/heroeshappenhere/register/default.mspx(If you're feeling generous, I would accept a 10% finders fee)
After battling with with all the little quirks involved with switching hosting providers, I finally have a blog engine. I originally tried installing subtext but the most recent version is using the MS AJAX extensions, thus requiring that my 1and1 have the AJAX extensions installed and unfortunately 1and1 refuses to install it. Even though its been an officially supported MS product for almost a year. Anyway, I had to go with DasBlog and things seem to be going ok thus far, it took a while to tweak all the different config files just right. By the way, those are some ginormous config files (web.config => 190k). One confusing thing about DasBlog: it doesn't use a database! I always kind of thought a sql driven blogging engine was a little overkill, and if I knew that DasBlog just wrote everything to a xml config file, I would have started with it to begin with. Anyway, I look forward to sharing my thoughts on .Net and development in general. Feel free to drop me a line at BOOjvongillernSPAM@gmail.com
|
|
Nitriq is a Code Analysis Tool for .Net Developers. It helps you visualize your code and quickly find types and methods that need refactoring.
It is currently in a free public beta, but will have reasonable prices once the bugs are worked out.
I'll be using this blog to talk about .Net, C#, WPF, ASP.NET, Nitriq and MicroISVs.
RSS
Tags
Archive
| November, 2009 (2) |
| October, 2009 (5) |
| September, 2009 (1) |
| August, 2009 (1) |
| July, 2009 (1) |
| June, 2009 (1) |
| May, 2009 (1) |
| April, 2009 (2) |
| March, 2009 (1) |
| February, 2009 (2) |
| January, 2009 (1) |
| October, 2008 (1) |
| September, 2008 (1) |
| August, 2008 (1) |
| July, 2008 (2) |
| June, 2008 (2) |
| May, 2008 (2) |
| March, 2008 (2) |
| February, 2008 (8) |
| January, 2008 (4) |
| December, 2007 (6) |
| November, 2007 (2) |
|