I had to hunt down my ICQ number the other day, which I seem to do occasionally over the years. I use it for a few weeks, then delete it as useless. I used to use it a lot, but email is much more useful, generally. I even have an early number: 529564. It is becoming more difficult to find it, so here it is. Preserved until this fad wears thin too. Of course, the client really stinks, since AOL bought them out, but the new Trillian client is pretty nice. And it integrates Yahoo and MSN IMs too, which I have by default of possessing accounts there. Let's see how long I use it this time...
A colleague and I were discussing desktop systems, and agreed in confusion about the seemingly typical cost-cutting measure of giving developers underpowered systems to work on. This got me thinking:
First of all, with todays prices, how expensive would it be to really outfit a developer with a truely powerful rig? You don't need tons of storage or a fancy 3D gaming card or high-end sound (unless, of course, that is your line of business) so you should be able to get a really powerful machine for under $2000. It shouldn't be hard to do an ROI for that, just in productivity gains.
Second, it would make your true developers, the propeller-heads that love this stuff, very happy. That is also a great productivity gain. After all, a happy coder is a working coder, not one that is standing around bitching.
Finally, I always felt it a truism that it is worse to have a better system at home for development than at work. This is more an intangible. After all, you can't constantly be polling people about their personal systems; not to mention, most of us have more than one. I have 4 functioning and a few not. I personally will feel more compelled to work on the better system; for management's sake it ought to be on my desk at work.
So, you management types: we developers love the hardware, we want to play with it, we want to use it, we want to possess it. It's a cheap win to give us toys to play with. We will want to exercise them. It's in your best interest.
Interesting problem: I always use library functions in .NET apps to maximize code reuse, especially for Data Access calls. So when I ran across the following error from Oracle when connecting to a server running 10.2, I was stymied. Especially since it worked fine with a 10.1 server:
ORA-12571: TNS:packet writer failure
Looking this one up brings a whole lot of results, none of them helpful in this situation. To make it worse, VS2005 ran the application just fine.
The solution? The server had the 8.1 connector installed, which for some reason connects to 10.1 just fine. 10.2 was different enough to through the error above. We got IS to push the 10.2 client on the server, and everything is working.
I am not a great T-SQL developer, so I frequently struggle with some of the more advanced queries. I spent some time building the query below, so I want to post it for future reference and the hope it may help someone else.
Say you have a dependant table for lookup values of status. The status code in the primary table may be 1, 2, 3, etc., so the lookup table will define them as Open, Closed, Pending, whatever. Now say for reporting you want to know how many Open or Closed items you have in the table. The SQL query below will return each Status name with a count of items using the codes in the primary table: SELECT OS.ObjectStateID, OS.Code, OS.Name, (SELECT COUNT(RS.ProductRequestID) FROM ProductRequestState RS WHERE RS.IsCurrent = 1 AND RS.ObjectStateID = OS.ObjectStateID ) FROM ObjectState OS Where OS.IsActive = 1
The output will look something like this: OID Code Name Count
----- ----------------- --------------------------------- -----
1 WaitSubmit Created 154
3 Rejected Rejected 4785
4 WaitTSTechRvw Waiting TS Tech Review 68
6 WaitGroupApprv Waiting Cost/Labor/TS Tech Apprv 228
8 WaitExecApprv Waiting Manager/Executive Apprv 0
13 Complete Complete 14433
14 WaitCostApprv Waiting Cost Accounting Apprv 0
15 WaitLaborApprv Waiting Labor and Supply Apprv 0
16 WaitTSTechApprv Waiting TS Technologist Apprv 0 Sorry for the ugly formatting, WordPress is a bit limiting.
Today I was watching "Star Wars Tech" on the History Channel. They were examining different technologies in Star Wars and parallelling them with today's. Following the show, was the "Legacy of Star Wars" which looked at the philosophies in the series.
I just thought to myself: "It's just a movie." It slipped, didn't even know it was there. I guess now I will have to turn in my Nerd membership card. Oops.
But really, come on. Star Wars was great, it was fun, it defined our childhood. I might even go as far as suggesting it got alot of us into SciFi in a big way. But let's not try to put more into it than just entertainment. Brace yourself: George Lucas is NOT a visionary. He was just a great moviemaker. Well, until the last 3 movies, anyway.
I am reading through the remaining books from Dale Brown that I have missed. He is not as good an author as Tom Clancy was in his prime, but is far better than any other techo-political thriller author I have ever read. Shadows of Steel is book 9 of his Old Dog series (I believe all his books are from the Old Dog series).
SoS takes place in the Middle East, ironically, dealing with Iran. Ironically as Iran is being a bit of a problem now 10 years later. When, Sky Masters, Inc, loses a stealth UAV in the Persian Gulf, a new Iranian carrier of the old Soviet fleet traces the signal to a recovery ship belonging to the company. The ship flees, but it sunk by the Iranians. Several friends of Patrick McLanahan are captured and imprisoned in Iran. An enhanced B-2 and a V-22 make important appearances in the story along with the usual mix of high-technology and dream weapons that we can only hope are real.
Brown again mixes a good story with awesome, if a bit ambitious, technology to make a very enjoyable, if not real deep, read. Again, if you haven't read previous works, you may be a bit lost in places. I enjoyed this one enough to move right into the next in the series Fatal Terrain.
I have hired a few people in my time. Not many, and I'm not an expert, but I have learned a few things. In my experience, the best programmers exhibit obvious enthusiasm in 3 specific areas.
The first is their hardware. Truly great programmers take great pride in their setup, although not in the same ways. If you can get the gleam in the eye when off-handedly talking about the latest CPU, the home network, or custom case, or skinned interface, you have found proof that they really are into what they do. For me, it's my computer. I have never bought a computer. My dad purchased my first PC in 1991, and I have upgraded it ever since. My x386 is now a P4 and soon to be a Core2Duo. Of course, I love my home network I've been fiddling with since 1998 and I can't use a stock XP installation for more than a few minutes before I have it all modified up.
The second area I borrow from Jeff Atwood of Coding Horror. Yes, again. The interviewee should have a favorite piece of code that they have created. Not usually an entire application, but a class, algorithm or routine that they are especially pleased with. Don't blame them if they can't put their finger on a single one, I have a hard time there too. Either my frequent implementations of Linked Lists, the automated Secure File transfer / Content Management solution, auto-validation in C# from custom attribute assignment, or my comic strip collector... It's especially important to me that they have some personal code they love too, not just professional.
The last area I think is important is probably the most controversial: gaming. Find out what kind of games they play, it may say a great deal about the kind of coder they are. FPS gamers tend to be very direct, task oriented, focused coders. RTS guys are more big picture, and turn-based strategy players even more so and very methodical. If you find a Civ Addict, hire him now! MMO gamers are probably good at maintenance or grind programming. And the ones that love them all will not be exceptional in any one area, but will be very versatile. That's where I lean, though I LOVE Civ; so much so that I can't leave it on my PC for long before it becomes a problem.
These generalizations are just that. Not to be taken too seriously, but they have never let me down. I have found that I cannot even consider someone who doesn't exibit much in any of the categories, or prefers XBox gaming, or doesn't own a PC (!).
There are always exception, these are just my observations.
Today is Memorial Day. Today is the most important holiday, we, as Americans, celebrate. Today is the day we should remember the sacrifice of so many that make so many things possible. Even the ingrates that protest against the military should recognize that they would not even have that ability if not for the men who have died to make it possible.
So fly your flag high today, remember the brave servicemen who gave up everything so that we might, and see today as much more than a day off from work.
|