Friday, January 19, 2007

Tools I love and use

Textpad has to be my number one tool, although I am willing to migrate to a newer text-editor. It just is easy for me to search/replace thru many folders/drivers, regular expressions, macro programming.

Compare-It, is a file comparing tool. Let's say you have a code on development server and code on production, and you need to see what's different. Or I have also used it to compare stored procedures, after saving them as text files. Just a very nice file comparer.

I use Firefox as my web browser, but I use many extensions to help me test code, such as the Web Developer Extension, Extended Statusbar, Firebug to debug javascript errors, IETab to view a new tab as if IE was inside firefox, ServerSwitcher is a great extension that allows you to view a web page on dev or production, then switch back and forth.

I recentally got the Multi-IE Package, that installs multiple versions of IE on your pc, each in it's own folders.

For database querying, I use a great query tool called Advanced Query Tool, I like it because it makes it easier to design, visualize queries, test them, on each database server you have.

I have been playing with this SQL Server Monitoring Tool, called SQL Stripes, which is a freeware/shareware
that provides a powerful console for managing multiple servers running Microsoft SQL Server ™

I also love this trial version of Toad for SQL Server, it has a very powerful, sql tuning component. Basically, you give it a query that you think could be re-written for better performance, and it will try re-writing that query many times, until it has the sql query version, that provides the best solution. I can't yet afford this tool, but it is a very wonderful tool for improving performance of your sql queries.

For FTPing, I use FileZilla, it just is a very easy to use, and open source costs, make it a very nice and powerful ftp client.

There are a lot of nice tools out there, what are your favorites?

Thursday, January 18, 2007

Coding Inside and Out

Steve Jobs really makes sense in this quoted interview on Jeff Atwood's Coding Horror. He really identifies that Microsoft may be great financial company, but their products are third rate. They are third-rate because they have no thought about taste, style or culture in their design process.

And here's Jeff Atwood's comment, that really sinks the hole in one for me.

At Apple, taste and culture are designed into every product from day one. Nothing is released until it looks as good on the outside as it works on the inside.

That is so blindingly true, look at the ipod, maybe it doesn't have every feature that other mp3 players have, but it is so easy to use, and it is so intuitive.

And part of the cause of the not thinking about taste and culture, is short-term thinking.

Here's another comment by Jeff Atwood, that makes this clearer, and I do hope you read his blog posting, it is well worth it.

Jobs is dead on with his criticism. But the problem is much deeper than Microsoft; it extends to the entire PC industry. In the PC world, taste and culture are rarely considered, and if they are, it's always as an afterthought. Ship it first, make it look good later. If you ever do.
Isn't it time for us to wake up smell the roses, see the huge consequences of not caring about the quality of our applications, other than ship it fast, ship it now!

I mean it's obvious that Google has a similar strategy, 37signals.com, all the really good companies, care about the long term.

It's even in 37signals, philosophy, to release fast, but release with less features.

Or like how Google has a very simple page for their front page. which is so attractive in fulfilling our basic needs to search the internet.

Where are the people who really care about their applications, more than just when their creating it, or having to fix some one else's code.

I think I am personally sick to death of always having to fix someone else's code, or that it is so horribly complex and undocumented, that it takes forever to figure out what does what.

I think it's time for us application programmers to take a stand, we're not just monkey's on type-writers, we care for our apps, we want them to be the best, inside and outside.

I mean, they say your just a coldfusion programmer, so that is supposed to mean, don't care about the database, don't care about the design, interface or usability of their apps.

Just create it, and create it now..

And let someone else try to fix what bugs you introduce...

I know I am a tad cynical, but I also have hope, and would love to hear from anyone else who cares too...

Wednesday, January 17, 2007

Do small companies/departments need structure?

This has been a question that has been hitting me home. Some companies think that because they are small, they don't need to spend any time or energy being organized/structured.

By structured/organized technically I mean:

1. Bug Tracking System - That helps developers kill all bugs, which incites them to create less bugs.

2. Project Management System - can be excel, notepad, anything that helps developers manage their time, and managers set priorities, due dates and manage that.

3. Documentation of Code Logic/Business Rules - So that if lead developer dies, and he/she had it all in their head, how in the world would the next lead developer figure out the code/logic and business rules?

4. Common Coding Styles - Including page naming, commenting, indenting. And have this written to train new members, and remind old.

5. Set, Record and aim for Technical Goals not related to specific projects but affect overall success of developers. IT Architecture, Scalability, Updating ColdFusion, Updating databases, Security, etc. Do you just create more code, or do you also work on improving the environmment, universe the code resides?


Maybe the size of the company can dictate the complexity or depth you go to provide solutions to your main needs, but to not provide them sounds like something that should be on the DailyWTF.com

How do you explain the importance of organization/structure to those who think small companies don't need them?