Showing posts from 2007

New Office for Syllogistic Software

Syllogistic Software has a new office! That's right, we're moving up in the world -- in terms of elevation :) We're now located on the 12th floor of the Marsland Centre in Uptown Waterloo. There's a picture of the building on our website.

We're still getting settled, but things should be semi-normal by next week. Give me a shout and drop by if you're in the area.

Experts agree: Salt is bad for you

Health Minister Tony Clement says sodium is a bigger health threat than artery-plugging trans fats. "It's almost become a silent invader of our food supply and only now are we seeing the consequences of it." -

Dr. Graham MacGregor of the U.K.-based World Action on Salt and Health (WASH) says that reducing dietary sodium would result in “the biggest improvement in public health since clean water and drains.” -

"You hate to always point the finger at fast foods, but if you tend to go and get a meat and cheese breakfast sandwich on bread, you're probably consuming about 1,800 milligrams of salt," Sally Brown, CEO of the Heart and Stroke Foundation -

The Centre for Science in the Public Interest estimates that as many as 15,000 Canadians a year are dying annually because of excessive salt consumption. -

Google Maps now hi-res in Waterloo

For the longest time, Google Maps' super-high-resolution images were only available in large city areas, like New York, Toronto, etc. I noticed recently, however, that Kitchener-Waterloo has it now.

I can actually see my car parked at my building. I can also tell that it was taken before May (when the large tree at the bottom right was taken down by a storm) in the summer (all the trees are full and green) and that it was early morning (from the shadows).

I wonder if this has anything to do with Google opening up a larger office in Waterloo soon.

How to make a To-Do List work

There's a great little article over at What's the next action about how to make an effective To-Do list. If you don't find making lists effective, it might be because you're doing it wrong!

Some of the key points are:

Use verbs: Everything on the list needs to be actionable, which generally means it should start with a verb.
Be specific: If an action isn't specific enough, it's easy to defer it since you don't really know what the "next action" is.
Group by context: Group your tasks by context. (at the computer, on the phone, running errands, etc.)
Focus on "next": Filter out everything except the very next task for each context.

The Not To-Do List

Tim Ferriss (author of the 4 Hour Workweek) recently posted a great list of "stressful and common habits that entrepreneurs and office workers should strive to eliminate."

My two favorites:
1. Do not answer calls from unrecognized phone numbers (I never do)
4. Do not let people ramble (I almost always answer personal calls with "Hey, what's up?" and business calls with "Hi, what can I do for you?"

Canada Mobile Providers Profit up 27% to $5.6 billion

This makes me mad. The recently released CRTC Telecommunications Monitoring Report highlighted how lack of competition in the cellular phone market is leading to increased profits year after year. From the report:
"The telecommunications industry's earnings before interest, taxes, depreciation and amortization (EBITDA) increased from $12.4 billion to $13.1 billion, a $0.7 billion or 5% increase. The increase was due to the mobile phone service providers, whose EBITDA increased from $4.4 billion in 2005 to $5.6 billion in 2006, a $1.2 billion or 27% increase."
Most of the Canadian market (95%) is served by a group of three providers -- Bell, Rogers, and Telus. None of them really compete, as their plans and pricing are nearly identical, and far more expensive than other G8 countries.

There's no easy solution to this problem. Foreign competition has been introduced on several occasions, but subsequently crushed by the "big trio". Sprint introduced very compe…

Most Popular Web Languages / Frameworks

Update:New 2010 numbers can be found here.

The other day, I was wondering to myself, "What are the most popular web frameworks right now?" Finding accurate numbers is actually pretty hard, so I decided to go to the expert: Google.

Sometimes you can (very unscientifically) determine something's popularity by simply noting how many references Google has to a particular keyword or phrase, so here are the current results:

Web programming languages:

ASP.NET: 86 millionRuby: 101 millionPHP: 2.95 billion
Specific web frameworks:

Symfony: 4.6 millionCakePHP: 4.8 millionRuby on Rails: 5.4 million
I was really surprised that PHP beat ASP.NET by such a wide margin. I was also happy to see that Symfony (my framework of choice) was holding its own against CakePHP and RoR.

It was really surprising to see that Ruby had more references than ASP.NET. Perhaps I'm not searching for the right string. I'd be interested to hear others' results.

If a tree falls on your car...

Since I work from home, I'd say my car is generally parked at my apartment building an average of about 23 hours / day (95.8% of the time). Normally my car would have been nestled right back in the corner of the right-hand spot in the picture below.

It just so happened that yesterday when the lightning storm hit, I was out at a networking event that ran late. Looks like that event saved me from a significant insurance claim!

Canada wireless monopoly equals insane mobile data rates

I called Fido today to ask about data plans. The standard rate is 5 cents / KB = $51.20 / MB. To give you an idea, at mobile speeds (about twice the speed of a modem) you can download about 50 MB / hour. So downloading at full speed costs $2,560 / hour - plus tax. The best plan you can buy lets you pre-pay $100 / month for 200MB, and then $5 / MB thereafter -- still about $250 / hour.

Fido used to have an unlimited data plan available. This was canceled shortly after Rogers purchased them. How much money did Rogers have to pay to bribe the competition bureau to approve that sale?

It seems like more and more people have been blogging and writing about this. Even the mainstream media is starting to wake up:

Bell to charge you $3,600 per hour for Wireless Internet access
Fido data comes down in price, $4000 now buys 1GB of data not 200MB
Canadian cell phone rates are higher than Mexico

Call your MP today and ask them why the big three (Bell, Telus, Rogers) are continued to be allowed th…

The worst possible ways to manage people

A couple of the worst possible ways you can manage people:

Ostrich mentality (a.k.a. Head in the sand): Refers to the "ignore it and it will go away" attitude. Some managers think that if they just "leave it until next week" somehow the problem will just go away. No. It'll get worse. Act on it now.
Ditch digging theory of management: This is the belief that every task in business is the same as simple manual labour (like digging a ditch). In other words, they think that to make a project go faster, they just need to add more people ("horsepower"). No. Often adding more people to a complex project will just slow things down. Some things just take time.
Warm body theory of management: This is a personal pet peeve of mine because I see it everywhere. This is the belief that people ("warm bodies") in the office, sitting at their desk somehow equals productivity. Some managers frown on personal time, and reward people who are there every d…

Economy slowing down?

Economic trends are notoriously hard to predict. Lately, I've been reading about (and seeing) some things that make me wonder if we've already entered a slow-down period. I'm no economic expert, but I have a few personal key indicators that I've seen change significantly over the past six months:

Emails from recruiters: My resume is well indexed and during boom times I get 3-5 emails per week from recruiters (Usually for jobs that don't match my qualifications at all! Can't recruiters read?) I've seen this drop to less than 1 / week in the past few months
Syllogistic job leads: I've been steadily optimizing and improving my online presence and advertising. Until recently, the number of leads was increasing along with this. Lately, this has started leveling off and perhaps even decreasing a bit.

Now, keep in mind that these two factors are heavily US-based (most of the leads I get are from the States). My guess is that the United States could be hea…

Salt is killing us!

An important study was released from Statistics Canada today. The report shows that Canadians, on average, eat way too much salt.

A CBC article about the study says excessive sodium intake (more than 2,300mg / day) "...can lead to health problems including hypertension. Hypertension can cause strokes, heart attacks and kidney failure and is one of the leading causes of death in Canada."

I don't eat fast food very often, but today I was traveling and had a Harvey's hamburger for lunch. How much does it take to get to 2,300mg?

Well, the burger itself has 540mg. The bun adds 360mg. The condiments are another 290mg. I also had a side salad (10mg) with half a package of light Italian dressing (160mg) plus a medium Brisk Iced Tea (100mg). That's a grand total of 1460mg - about 60% the Health Canada recommended daily intake, but almost 150% of the 1000mg that some health professionals recommend.

That's about as healthy a Harvey's meal as one can eat. Let'…

Canada Worse than 3rd World Countries when it comes to Mobile Data Access

Tom Purves has created a nice graph illustrating what I've suspected for a long time -- that Canada's wireless oligopolies are pricing services way out of line with what a competitive market would. Not only are data rates bad, but voice and long distance are more expensive than they should be as well.

Wireless providers are second only to the banking cartel in Canada for collusion and price-fixing. ISPs aren't far behind.

Unfortunately our Conservative government isn't going to be doing anything about this any time soon.

read more | digg story

Stability problems with ASP / .NET

People always try to tell me that IIS / ASP / ASP.NET is just as stable as Apache / PHP.

The Canada Post website has been down for hours, simply displaying:

A ScriptEngine threw expection 'C0000005' in 'IActiveScriptParse::ParseScriptText()' from 'CActiveScriptEngine::AddScriptlet()'.

I know C0000005 errors well from my Win32 C++ programming. It's a generic "access violation" or crash error. It means something is seriously wrong.

Now, you can tell me, "They haven't applied patch X", or, "They haven't configured Y properly", but I see this sort of thing all over the net. Even Microsoft's own pages have these errors from time to time.

On the other hand, I rarely see PHP error messages. Even when I do, they're typically "can't connect to database" timeouts on an overloaded server, as opposed to major system crashes like the message above.

I continue to assert that Apache/PHP is generally more stable tha…

Software development is not like building a house

A common problem with software development project management is that most people don't really understand how it works. Programmers are often likened to construction workers. Managers view them as skilled labour, like a carpenter or brick-layer. If you want something built faster, you hire more people, and things go quicker.

Software engineering is a different beast, though. Fred Brooks wrote The Mythical Man Month in 1974, and it is often considered the "bible" of software engineering. In the book, he explains how creating software is different.

Brook's Law states that "Adding manpower to a late software project makes it later." It's important to keep teams small and agile, especially in the early stages when the architecture is in flux.

Creating usable, high-quality software takes a lot of time, skill and experience. Trying to cut a deadline by adding more people will almost guarantee the opposite effect.

Chicken McNuggets apparently contain lighter fluid

I "banned" McDonald's food years ago, after living in Atlanta, Georgia and realizing that the food standards there were significantly below those in Canada. Today I read an article describing the 38 ingredients found in Chicken McNuggets. Surprising facts:

They're mostly made of corn (56%)
They have trace amounts of several suspected carcinogens
They contain trace amounts of a type of butane (lighter fluid!)


UPDATE: Apparently there is some controversy about whether TBHQ (the ingredient in question) is actually a form a butane.  Chemists seem to think not.   Nonetheless, eating one gram of TBHQ will cause "nausea, vomiting, ringing in the ears, delirium, a sense of suffocation, and collapse."   So it's clearly not great stuff to be ingesting.

Common mistakes made by startups

I just read an article that summed up some common mistakes when starting a business that rung true to me. They mentioned the following (which I've put in the order I think is most important):

Not focusing on the user
Not having enough infrastructure (money + time)
Forgetting about branding, marketing and sales
Trying to do everything (similar to #2)
Staying in "Stealth Mode" too long

Have a look at the original article here:

Comparison of three major web development platforms

I've created a web development summary chart comparing the major web application development platforms out there today. I've tried to make the comparison as unbiased as possible, and stick to mostly to business and technical reasons for choosing each one.

As you can see, there is no one perfect platform. They are all very capable, and which one you go with depends a lot on your business priorities.

Canadian Banks don’t care about Customer Loyalty

Last week I closed two accounts at Bank of Montreal. The one account was a corporate chequing account I’d had with them for 4 years. The other account was opened when I was 13 years old. It’s been active for more than 15 years.

Moving all of your financials from one bank to another is a pretty time consuming process, and not usually done unless there are significant reasons. I had several:

BMO wanted to charge me $500 just to apply for a corporate line of credit, whereas RBC approved me quickly with no upfront fee
RBC’s online banking system is better than BMO’s
I don’t like my closest BMO branch
The service fees at RBC are marginally cheaper for the number of transactions I do

The amazing thing? Nobody even asked me why I was closing two major accounts after being with them for over 15 years. The CSRs didn’t care – which means that upper management doesn’t care either.

In a normal competitive environment, a service company would be very concerned about losing a good, long-term custome…

HOWTO: Quickly Estimate Software Development Time in 5 Steps

Estimating software development time is hard. There are so many variables, unknowns, "unknown unknowns", and the specification always changes. Besides that, developers tend to be optimistic by nature.

Here's a handy little way to come up with a quick, yet accurate estimate:

Come up with your best, overall estimate that you feel is realistic using your favorite technique, or pure "gut feeling" if you are a very experienced developer and you know the problem domain well.
Ok, you have your absolutely realistic number now, right?
It's not realistic. I guarantee you there are aspects you haven't thought of. Double the number. This is your best case scenario estimate. This is how long it will take assuming everything goes well and there are no snags or major changes along the way.
Now double it again. This is your most likely estimate. This is how long the project will probably take, when all is said and done.
Now double it a final time. This is your worst…