May 05, 2007
-- The (not the Apollo 17 Flight Journal
is back in business - new, improved, and much fuller. The site is also
a showcase for how to use MediaWiki as a platform for project
documentation and research. I've also expanded and extended the list of
I'm based in Toronto, but at home anywhere with a decent IP connection.
I'm always interested in development opportunities -
is great. I'm passionate about technology - but as a tool, not an end in
Let's face it: computers don't simplify your life or get things done faster.
They're just tools to help you get more done in the little time you have. If
they don't, then they're not working right - probably because of bad or
I believe that:
- The only software worth writing is software that has never been written before.
- Re-use saves documenting, debugging, testing, and maintenance time as well as development time. Refactor where possible.
- We have so much computer horsepower available these days that you need a really good reason to optimize code for the computer's sake.
- Let the framework handle the details and concentrate your time on getting results.
- No technology is worthwhile if it doesn't address the business problem.
- Just because it's logically or mathematically correct doesn't mean it's correct in the real world.
- Just because it's automated doesn't make it better.
- Sometimes it's wiser to involve a real person than to try and code for all the 1% cases (especially if nobody understands them).
- If your company doesn't sell software then maybe you shouldn't be writing it.
Essay: "Patch it until it's robust"
Try to get it right the first time.
- Use the best tools available.
- Let somebody else help you design, write and test.
Use stubs for "fill it later" rather than "fix it later".
- Build it so it's easy to change.
- Document before you code.
- Document details of coding, debugging, testing. Informal notes are invaluable.
- Don't rely on a single vendor, but don't count on decent support when you mix vendors.
- Don't mix business and religion.
- Just because something [comes, doesn't come] from [company, organization] doesn't mean that it's [divinely right, evil].
- No language/methodology/operating system/supplier is "better" for every purpose. They're all tools, and you need the right tool for the job. The more tools you can use, the better.
- The tools are not as important as the result, unless you're a tool maker.
- Essay: On Error Resume Next
- Passionate about using technology and keeping abreast of recent trends
in the market.
decision making skills and solid sense of judgment. Business requirements
must drive the technology, not vice versa. Solid technical background to
enable thorough analysis of alternative solutions and appropriate
- Excellent analytical and problem solving skills. Equally at home with
any project role, including manager, advisor, writer, architect, tester,
trainer, programmer, and advisor. Superb troubleshooter with full-system
expertise and perspective, literally down to the metal if required.
- Solution development relies on communication and collaboration skills
(written, verbal, and listening!) to effectively coordinate ideas, actions,
and plans with people at all levels. Reputation for rapport with business
users (both technical and non-technical), technical staff, architects,
developers and project managers. Proven customer service and interpersonal
communication skills with the ability to effectively provide service to
customers within and outside the organization. Preferred choice to develop
and deliver sales and technical presentations, RFPs, business plans, pre-
and post-sales support, installation, remote and on-site troubleshooting.
- Business requirements must drive the technology, not vice versa.
- Software Development Life Cycle, tools 15+ years: SDLC, systems
development methodology, requirements, architecture, design, construction,
technical specifications and documentation, source control, version control,
testing, implementation, quality assurance, unit testing, defect management,
integration; legacy/inherited systems, analysis, refactoring tools;
implemented and deployed solutions to a test environment that are then
successfully implemented in production.
- Object Oriented Design 10+ years: Sound OOD principles and design
patterns, UML, MSF, process flow diagrams; design, build, test, deploy,
support complex applications
- Middleware 10+ years: Multi-tiered web applications, client server
systems; Experience producing 3-tier products that needs to be customized to
multiple clients; enterprise-level web applications and development
environments; Service Oriented Architectures, messaging, BizTalk; writing
multithreaded code; concurrency; scalability
- Visual Studio 10+ years: MCP certified in VS6 C++/C/MFC/COM/DCOM/COM+,
- .NET 6+ years: Expert C#, VB.NET, C++, .NET framework (especially .NET
2.0), Compact Framework, .NET forms, ASP.NET, web services, mobile
applications, web applications, threaded applications
- Relational database 10+ years: MCP certified in SQL Server 6.5 design
and administration; even more at home with SQL 2000, 2005. Extensive Oracle,
PL/SQL in both development and production environments. Data interfaces
including error handling and audit aspects, conceptual to physical database
modeling, design of data dictionaries, schema, process models, stored
procedures, triggers; documentation. Also ISAM, flat, inverted DB.
- Web development 10+ years: HTML, DHTML, CSS, XHTML, IIS/ASP, ASP.NET,
- Web technologies 8+ years: XML/XSL parsing, formatting, messaging; web
services –SOAP, WSDL, UDDI; RSS
- Windows/Office 15+ years: Windows & Office 2000/2003/XP; FrontPage,
Word, VISIO, PowerPoint, Excel Access, Outlook; macros/add-ins with xBasic,
VBA, .NET; operational/application support; GUI design; Adobe Acrobat,
C, C++, Visual C, Visual C++, C#, PHP, Visual
assorted Assembler, MASM, FORTRAN, HTA; Visual Studio; UML; use
cases; object-oriented design; SQL, SQL Server, Oracle, CTree,
ODBC, ADO, ADO.NET; COM, DCOM, COM+, .NET, MTS, MMS; J2EE, WSDL,
SOAP; Exchange, BizTalk, Terminal Server, Citrix; HTML, CSS,
XHTML, XML, XSLT, RSS; spam, antivirus, spyware; Office,
Outlook, FrontPage, Word, Visio, Access, Excel, PowerPoint,
Photoshop, Omnipage; Windows, Windows Mobile, Pocket PC, DOS,
UNIX, Linux, VMS, AOS/VS, CP/M, emulators, Virtual PC. GPS,
geocoding, Google Earth, RFID. SQL, T-SQL, stored procedures,
triggers, data rules, key constraints, ODBC, ADO, ADO.NET, DDL,
MSDE; Oracle, PL/SQL, Access, Jet; ISAM; flat files, data
migration, VBA programming. Data interfaces, error handling,
audit, database modeling, data dictionaries, schema, process
models, stored procedures, triggers; documentation.
My Home Network (really, but much simplified)
Latest Essays, Articles, and Assorted InfoNuggets
See the Tech Notes page for details and
a fuller list. See
for old stuff.
About this Web
This site merges a combination of FrontPage static pages with MediaWiki and
WordPress PHP pages and a healthy dose of
CSS Zen. This site is currently hosted at
GoDaddy.com; it used to be at
ASPnix.com. I like to think of GoDaddy as the McBurgers
of hosting and domains - they're huge, they're everywhere, they're
relatively cheap, and they're utterly consistent. Just don't ask for
anything that's not on the menu.
My old blog is archived as static
I used Radio Userland from 2002 to
2006, but as you can see
I didn't post publicly a lot. Mostly I use my blog/site as part of my toolkit for managing
the information glut. When I see something interesting in my aggregator, I
either "clip" the article or file it in one of my blog categories, such as
I've added gratuitous illustrations to lighten up some of the pages. Many of
these are Russian revolutionary posters from the Museum of
Soviet Posters at the
IISH (which also has a fine
collection of Chinese and Cuban posters). I find them much more inspirational than the
typical "there's no 'i' in 'team
spirit" variety. Support the 5-year-plan! The
workers control the means of production! Power to the people! Copyright-free content!
The background wallpaper is from a photo of the dunes at the bottom of
Endurance Crater on Mars, taken by the Mars Rover Opportunity in
The full false color image is
October in my latest