Fake Name Generator

December 27, 2006

FakeNameGenerator.com will generate lists of thousands of randomly generated names, social security and credit card numbers, and other data useful for testing new software systems. And it just went free!

 Supported export formats include MySQL, CSV, tab delimited, and Excel. Check it out!


Code Toaster

December 21, 2006

Arise my child… awaken. Yes… yes! It’s…. ALIVE! BWAHAHAHAHA!

There are still many bugs left to fix, but Code Toaster installs nicely, and can be used to generate simple and database driven templates, so I’ve made it available on the download page. I was surprised to realize the other day that I’ve been working on this little project for almost exactly a year now. I must say that the development was nothing compared to the packaging and testing undertaking. Getting a fairly large and complex application installed nicely was a bigger undertaking than I expected. And I’m still not finished.

The installation package was written entirely using Wix, which I found to be akin to programming in assembly (edit: in that both are low-level). I must say I’ve learned a lot about what makes an msi tick.

Anyway, download it, give it a whirl, and let me know how I can improve the thing. Hopefully someone out there will like it, which will make this little journey worthwhile. :-)

Later.


T-Mobile Dash

December 21, 2006

T-Mobile Dash Image
Drool.

Forget the RAZR, which doesn’t have a QWERTY keyboard. Forget the Blackberry, which (the newest “Pearl” version) also doesn’t have a QWERTY keyboard. Forget the old Blackberry(ies), which didn’t have all these nifty features.

Yes, I’m a bit of a gadget freak, but this… this is truly something to drool over. Yep, it’s a Windows Mobile device (which means you can make or download all sorts of nifty Mobile.Net apps),  and comes with a 1.3 megapixel camera, Stereo Bluetooth enabled (connect the phone to your stereo or computer without wires), a video recorder and playback, and yadda yadda lots of buttons blah blah.

Only $149 (after rebates and such-like).


The Developer Duel

December 21, 2006

Bart, a senior architect for ExtraSpiffy Consultants, strolled through the cube farm, coffee cup in hand, over to see the new guy.

“Hi”, he said cordially, “you must be Cliff. I’m Bart, one of the architects. We desperately needed some extra help around here. Glad to have you aboard.”

“Hey, thanks. Good to be here. I guess you know today’s my first day. I’m just looking through the design specs for the CliffWorks project – trying to get the lay of the land.”

“So what do you think? Ever worked in a full life-cycle shop before?”, queried Bart, feeling him out. Should he be impressed? Or intimidated?

“Oh, I’ve worked in a variety of environments,” Cliff offered nonchalantly. ”For about eight months I worked in a team that used a mixture of Agile and a few customized internal approaches, and I gained a bit of exposure to XP while I was at SuperCorp. Believe me, I’d rather work in a structured environment any day.”

“Oh yeah?”, Bart said, trying to think fast. “We use Waterfall here,” he blurted, ” with Test-Driven Development. The old TDD as I like to call it.” Bart tried to laugh, but it sounded more like a whimper.

“No kidding? I just spoke to the Director of Software Development and I believe he said you guys were moving towards a RUP based process model.” Cliff flipped the words out as he rocked back in his chair, slowly and deliberately crossing his arms. He was obviously ready for a developer duel.

“Oh yeah, yeah, I think I heard something about that too. But we’re not quite there yet. We still need buy-in from some of the architects,”  Bart replied as vaguely as possible, anxious now to move the subject along to more familiar territory. “Hey, have you had a chance to review the source for the WingTip module that you’ll be working on?”

 ”No, not yet. But I plan to before I attend my first status meeting tomorrow. Anything I should be on the lookout for before I dive in?”

“Yeah, we’re interested in modifying the design to use the Model-View-Controller pattern, but a few of us think the time required to implement the necessary changes isn’t worth the expected benefits. After looking at the code I’m sure you’ll notice there are several problems, mostly performance related. Whether we use MVC or not, some changes are definitely in order.” Bart looked down his nose at Cliff as he continued, “I’d love to hear your thoughts on how to proceed.”

Cliff opened up a box and began pulling out book after book on design techniques and design patterns, which he slowly and methodically stacked on his cubicle shelves.

“Sure, no problem! I’ll be totally prepared by tomorrow.” 

And away Bart scurried, taking solace in the fact that there would be another day, another time, for another developer duel.


R.I.P. Google Search API

December 20, 2006

Google gave lots of developers an early Christmas present by killing off their SOAP Search API.  Judging by the comments at that URL, a lot of folks aren’t pleased.

At this precise moment, this decision doesn’t affect me personally since I don’t have any projects currently using the SOAP Search API. However, like many of the other folks concerned about this change, it will probably negatively affect any of my future decisions to use Google’s APIs. At least we can count on Microsoft to maintain a little backwards compatibility.

To make matters worse, it sounds like a lot of people (in particular developers who were actually engaged in SOAP Search API development) were caught completely off guard. Hey Google, isn’t that a little *gasp* evil?

More commentary also available here, and here.


Leave Me Alone…

December 19, 2006

…and let me code.

Joel Spolsky once wrote on the 12 points that make a great software development team. If a team meets all of these criteria, chances are the developers on that team will be pretty happy.

But only tech-savvy folk read Joel’s blog. And if you work in IT (or hey, most places), there’s a fairly good chance you’ll end up working for someone that has little to no previous software developer experience, and therefore doesn’t identify well with software developers. I’ve been down this road multiple times, and each trip was largely a repeat of the previous one.

This post is for those managers who want to keep their developers content and productive, but are not quite sure how to go about it because, as we all know, developers are so mysterious. No no no, scratch that. We’re not mysterious at all, it’s the process of creating software that’s mysterious. Staring at a screen all day is way different than working a jack-hammer on a street corner. How is a manager to tell if their developers are actually getting work done? Well, that is a question lots of people are still trying to solve, but this post is about keeping developers happy, not gathering metrics.

But hey, let’s start off with productivity. Productive developers are happy developers, or so I’ve heard. Here’s my thoughts on how to keep your developers happy, and therefore productive.

All software developers know about the zone, that mysterious place of intense concentration that produces hundreds of lines of code and makes us wonder where the time went when we “awaken”. Several times I’ve coded right through lunch and not realized it until almost 5:00 in the afternoon. The zone is good. But it takes at least 30 minutes to get into the zone. To make sure your developers can get into (and stay) in the zone, there should be…

a) No interruptions. Interruptions should be kept to an absolute minimum, or if possible entirely eliminated. It’s hard to get into the zone when you know you have a meeting coming up in an hour. Granted, this is my perfect world fantasy, and there are still instances where interruptions can’t be helped (for example, when an angry client is upset), but minimal interruptions is still the ideal.

b) No task switching. Having a manager call or email every hour or so with a new emergency is the atom-bomb of counter-productivity. If you have that many support emergencies, something’s big time wrong with your development process, or the way developers are used in your organization. I once worked in an organization where developers fulfilled a part-time (sometimes full-time) role as application support personnel, while simultaneously carrying on normal development activities, which didn’t work out so well as far as productivity went. This should be a no-brainer, specifically if you’re interested in gathering any sort of accurate software development metrics.

c) Quiet working conditions. The absolute best working conditions I ever had were when I had my own, private office, with a door. The worst conditions were when I was right next to Human Resources and got to hear them interviewing candidates, arranging blood drives, and taking phone calls about employee benefits all day. Oh yeah, sometimes they would discuss their sex lives too… loudly and in the hallway, which I have to say was interesting to listen to but didn’t help me write more code.

I also once sat next to a gentleman coder that would take a few hours out of his day to arrange dates with women he had met on the Internet. That was interesting as well, but likewise didn’t help my productivity.

Quiet working conditions are important because developers need to concentrate. Not quiet as in: like the baboon cage at the zoo, but quiet as in: like the library.

Obviously this post isn’t about successful project or program management, it’s about environment management. Software Development takes a lot of time and a lot of thought, and so an environment should be created that gives developers a lot of quiet time to think. In a nutshell, I guess you could say Leave Me Alone is the key to developer productivity, even more so than cool toys like multiple monitors and super-duper PCs.

Give it a try and see how much more productive your developers are.

Leave us alone, and let us code. 


Windows Live Virtual Earth

December 18, 2006

Have you seen the latest incarnation of Microsoft’s Virtual Earth? I dunno – but I think it’s safe to say that if they haven’t already trumped Google Earth, they will soon. Competition is definitely good. And so is this product.

I just visited for the first time in quite a while – maybe 3 months? On my last visit Virtual Earth was still in beta, and was clearly a stinker compared to Google’s product. But this – this is something to be proud of.

It’s interesting that Virtual Earth supports a web-based 3D view, whereas http://maps.google.com does not. To get 3D with Google, you have to download the standalone Google Earth, which is not web based, doesn’t do directions or traffic and so forth, and is completely separate and unrelated to the web based maps offering. Microsoft is, I think wisely, combining all of these features into a single, web-based offering, with AJAX and lots of Web 2.0 goodness sprinkled around to boot.

Microsoft is like a tiger when cornered. Remember Netscape anyone? The Google vs. Microsoft battle is proving to be oh so fun to watch.


MultiPoint

December 16, 2006

Anyone who says Microsoft isn’t creative is a little silly. Take a look at MultiPoint, for example, a new technology that allows multiple input devices (i.e. mice) to be connected and used at once.

You may be thinking, “That would be aggravating beyond reason!” But there really are some nifty possible applications. Some that came up in this demo are educational or game based, for example a group of students could interact with a learning program at once. Multiple input devices appear on screen as different colored cursors, which can all be used at the same time!

The educational possibilities are obvious, especially after watching the Channel 9 demo (see link above). Students participating at once would become more competitive, be involved more, and learn faster.

And what about games? Wouldn’t it be cool if you could play Age of Empires on a widescreen monitor in split-screen mode with a friend, instead of wiring up a second computer? OK, maybe that’s stretching it – but I could definitely see some cool games being developed with this technology.

Very cool stuff. You go Microsoft with your creative selves.


Code Toaster

December 15, 2006

You may be wondering, “Wussup with Code Toaster?”

Weeell, I’ve been fixing bugs and perfecting my installation package, you see. I really don’t want to put it out here for everyone to download only to get inundated with emails about how it won’t run, templates won’t compile, strange errors are popping up, or what have you.

Which is what’s been happening in my test environment (a VPC running Win XP) for the past few weeks. I think I’ve gotten all the issues related to Dotfuscator straightened out, and the app is running nicely after installation (proving that the installer is laying down all of the required files), I just need to make but a few more tweaks before giving everyone, hopefully, a nice Holiday surprise.

Yes my friends, hopefully I’ll be able to make available the first ever public release of Code Toaster sometime next week, before I go on Holiday for Christmas to the lovely little tourist trap known as Myrtle Beach, SC, where I will be doing some winter-time ocean kayaking with my family.

So look for coolness in a few days. 

Later.