-
Application Frameworks
Posted on May 31st, 2005 No commentsAn application framework can be described as ‘a skeleton
of an application that can be customised by an application
developer’. A key difference between a framework and a traditional
library of code is what the authors call ‘inversion of control’.
With a library, the developer reuses library components by writing
a main program that calls them as and when required. An
application framework, however, calls the developer’s code and is
responsible for structure and flow control. You never write
main(). Another distinction is that frameworks are often domain
specific. -
Web based ToDo Lists
Posted on May 31st, 2005 No commentsWall Street Journal article on web based to do lists
-
Google Maps
Posted on May 31st, 2005 No commentsThe Future of the Google Maps API
Nobody knows the future of the Google Maps API. Today it is free (in Beta) but tomorrow, who
O’Reilly points to a pessimistic and an optimistic point of view
Google Maps ManiaGoogle Map Hacks
Using Google Maps in Real-EstateFor Developers
Google API Docs
How to embed a Google Map viewer on your website
How to Hack Google
Google Maps on your website
Google Maps Embedding How-To
Google Maps Hacking Wiki
Where’s Tim Hibbard? – Help connecting up to Google Maps & Google EarthHow to draw a circle around a waypoint
Gnikville WikiThere are several sites that will provide longitude/latitude for a given address. Just search on "geocoding" and you’ll get plenty of hits. Some sites offer an API allowing free access up to a certain number of requests, after that you would have to pay.
-
iPod Accessories
Posted on May 31st, 2005 No commentsGriffin makes great accessories for iPods and a nice microphone that can be used on a PC.
-
Workplace Blogging
Posted on May 26th, 2005 No commentsNPR: Blogging Poses New Workplace Issues
Blogging the Intranet -
Project Management the Joel on Software Way
Posted on May 24th, 2005 No comments
Interview for Joel on Software LiveMichael Smith: This time we are talking with Joel Spolsky about his CFUNITED-05 talk "Project Management the /Joel on Software/ way". So why should a developer come to your session Joel?
Joel Spolsky: Most people who have to manage software projects are software developers, not project managers, and nothing about writing code has trained them to put together large projects and ensure that they actually deliver a quality product on time. I’ll use this session to introduce my own simple philosophy of project management: running a team, picking the features to do first and the bugs to fix first, and deciding when to ship.
MS: So what kinds of things can happen when an untrained project manager runs a software project?
JS: All kinds of things. A common mistake is to hope, against all evidence, that the team members are smart and will be able to organize themselves, so the newly promoted programmer decides he or she can afford to spend 80% of their time writing code and only 20% of their time managing. The trouble is that without any kind of system in place to decide what to do and in what order, chaos ensues and you either get a death march project that’s never done, or an inadequate product that nobody wants. A typical manifestation of this is that team members work on the fun things first, not the important things, so when the schedule is running late and you have to cut features all the features left to do are important features that can’t possibly be
cut.MS: Ouch that sounds painful! So how do you think the team should be run?
JS: I would never have the chutzpa to say that I have the answer for all teams. However, in most cases, the key thing is to have a constantly-updated, real-time, highly detailed list of features and tasks, with priorities and estimates for each item. Then at any time everybody knows what they should be working on and in what order, and if you have good estimates, you should be able to say "if we do all priority 1 features, we’ll finish on date X, and if we also do priority 2 features, we’ll finish on date Y." Now it’s a simple matter of setting a date that gets the optimal balance of features and shipping (shipping is a very valuable feature).
MS: What about bugs – software always seems to ship with bugs – can that be stopped?
JS: For the purpose of project management, a bug and a feature are the same thing: something somebody has to spend some amount of time on with some priority. If you can store feature requests and development tasks in your bug tracking system, all the better, because now every morning every developer knows exactly what to work on first.
MS: Doesn’t tracking bugs and tasks add a lot of overhead to the project?
JS: Yeah, and hiring an architect adds a lot of overhead to your kitchen renovation, but they both save you a lot of time and money, in the short run and in the long run! You’re going to be tracking bugs and tasks anyway, it’s just a question of whether you do it in an organized fashion where everyone can be on the same page, or on a whiteboard in one person’s office, where it’s apt to be erased by the cleaning lady.
MS: What about dependencies between tasks – especially things the client is delivering to the team. Any comments on how you handle that?
JS: My experience is that when building software you don’t have as many dependencies as you might think. In house building, you really have to build the walls before you can put in furniture, or it will rain and ruin the furniture. But in software the furniture programmer can just write "int wall(){return 43;}" as a placeholder and get all his furniture in place long before the wall guy has delivered his piece. Its so easy to move things around that you hardly have any dependencies, and those you do have are so clear and obvious it’s almost not worth tracking them formally.
MS: How do you estimate when the project will be completed?
JS: Begging forgiveness in advance for a glib answer, you don’t! What you do is set the date when the project has to be completed and then pick the optimal set of features to meet that date. Your schedule should have line items and estimate for every task, bug fix, and big line items for debugging, integration, buffer for new features that you forgot to mention, even line items for vacations and holidays. Then you can add up the number of hours you have for each person on the team, take the maximum of that, add it to today’s date, and get your scheduled completion date, which, inevitably, will be two years too late. So then you start prioritizing and re-prioritizing until you can reach the date you have to ship on with only the top priority features.
MS: Sounds good. See you at CFUNITED.
-
PDF Tool
Posted on May 20th, 2005 No commentsPDF to Word Conversion (online)
-
What’s the difference between Google Alerts and PubSub?
Posted on May 17th, 2005 No commentsPubSub’s Bob Wyman explans the difference between Google Alerts and PubSub
-
Recommended Podcasts
Posted on May 16th, 2005 No commentsThe Next Wave of Open Source: Applications
Recommended sites:
PodTech.net [recommended by Scoble]
MSNBC Podcasts -
Texas Chilli Context
Posted on May 16th, 2005 No commentsJudge #3 was an inexperienced Chili taster named Frank, who was visiting from Springfield, IL
Frank: "Recently, I was honored to be selected as a judge at a chili cook-off. The original person called in sick at the last moment and I happened to be standing there at the judge’s table asking for directions to the Coors Light truck, when the call came in. I was assured by the other two judges (Native Texans) that the chili wouldn’t be all that spicy and, besides, they told me I could have free beer during the tasting, so I accepted".
Here are the scorecard notes from the event:
CHILI # 1 – MIKE’S MANIAC MONSTER CHILI…
Judge # 1 — A little too heavy on the tomato. Amusing kick.
Judge # 2 — Nice, smooth tomato flavor. Very mild.
Judge # 3 (Frank) — Holy sh**, what the he** is this stuff? You could remove dried paint from your driveway! Took me two beers to put the flames out. I hope that’s the worst one. These Texans are crazy.
CHILI # 2 – AUSTIN ‘S AFTERBURNER CHILI…
Judge # 1 — Smoky, with a hint of pork. Slight jalapeno tang.
Judge # 2 — Exciting BBQ flavor, needs more peppers to be taken seriously.
Judge # 3 — Keep this out of the reach of children. I’m not sure what I’m supposed to taste besides pain. I had to wave off two people who wanted to give me the Heimlich maneuver. They had to rush in more beer when they saw the look on my face.
CHILI # 3 – FRED’S FAMOUS BURN DOWN THE BARN CHILI…
Judge # 1 — Excellent firehouse chili Great kick.
Judge # 2 — A bit salty, good use of peppers.
Judge # 3 — Call the EPA. I’ve located a uranium spill. My nose feels like I have been snorting Drano. Everyone knows the routine by now. Get me more beer before I ignite. Barmaid pounded me on the back, now my backbone is in the front part of my chest. I’m getting sh**-faced from all of the beer.
CHILI # 4 – BUBBA’S BLACK MAGIC…
Judge # 1 — Black bean chili with almost no spice. Disappointing.
Judge # 2 — Hint of lime in the black beans. Good side dish for fish or other mild foods, not much of a chili.
Judge # 3 — I felt something scraping across my tongue, but was unable to taste it. Is it possible to burn out taste buds? Sally, the beer maid, was standing behind me with fresh refills. That 300-LB woman is starting to look HOT…just like this nuclear waste I’m eating! Is chili an aphrodisiac?
CHILI # 5 LISA’S LEGAL LIP REMOVER…
Judge # 1 — Meaty, strong chili. Cayenne peppers freshly ground, adding considerable kick. Very impressive.
Judge # 2 — Chili using shredded beef, could use more tomato. Must admit the cayenne peppers make a strong statement.
Judge # 3 — My ears are ringing, sweat is pouring off my forehead and I can no longer focus my eyes. I farted and four people behind me needed paramedics. The contestant seemed offended when I told her that her chili had given me brain damage. Sally saved my tongue from bleeding by pouring beer directly on it from the pitcher. I wonder if I’m burning my lips off. It really pi**es me off that the other judges asked me to stop screaming. "Screw those rednecks!"
CHILI # 6 – VERA’S VERY VEGETARIAN VARIETY…
Judge # 1 — Thin yet bold vegetarian variety chili. Good balance of spices and peppers.
Judge # 2 — The best yet. Aggressive use of peppers, onions, and garlic. Superb.
Judge # 3 — My intestines are now a straight pipe filled with gaseous, sulfuric flames. I S… on myself when I farted and I’m worried it will eat through the chair. No one seems inclined to stand behind me except that Sally. Can’t feel my lips anymore. I need to wipe my a** with a snow cone.
CHILI # 7 – SUSAN’S SCREAMING SENSATION CHILI…
Judge # 1 — A mediocre chili with too much reliance on canned peppers.
Judge # 2 — Ho hum, tastes as if the chef literally threw in a can of chili peppers at the last moment. I should take note that I am worried about Judge # 3. He appears to be in a bit of distress as he is cursing uncontrollably.
Judge # 3 — You could put a grenade in my mouth, pull the pin, and I wouldn’t feel a thing. I’ve lost sight in one eye, and the world sounds like it is made of rushing water. My shirt is covered with chili, which slid unnoticed out of my mouth. My pants are full of lava to match my shirt. At least during the autopsy, they’ll know what killed me. I’ve decided to stop breathing it’s too painful. Screw it; I’m not getting any oxygen anyway. If I need air, I’ll just suck it in through the 4-inch hole in my stomach.
CHILI # 8 – BIG TOM’S TOENAIL CURLING CHILI…
Judge # 1 — The perfect ending, this is a nice blend chili. Not too bold but spicy enough to declare its existence.
Judge # 2 — This final entry is a good, balanced chili. Neither mild nor hot. Sorry to see that most of it was lost when Judge #3 farted, passed out, fell over and pulled the chili pot down on top of himself. Not sure if he’s going to make it. Poor feller, wonder how he’d have reacted to really hot chili?
Judge # 3 – No Report


