Monday, December 31, 2007

How to make a dog puke


Gentle reader,

The following is a quick story about what happened after my dog accidentally ate something that it shouldn't have. Maybe it will help someone else some day.

So, my 12-year-old dog was supposed to have gotten some medicine following an operation on its ear, and I (ahem) accidentally gave it two of wife's old anti-inflammatory pills, carefully wrapped in a piece of Kraft American "cheese"... Don't ask. I was having a bad day. Following the advice of the poison control center (which they billed my credit card $55 for) I did the following:

1) I made a trip to Walgreens to buy some hydrogen peroxide, 3%.
2) Mixed about 3 tablespoons of the hydrogen peroxide with something that I knew the dog would enjoy eating - vanilla ice cream.
3) Put down a bowl containing this mixture for the dog. The dog thought it was a great treat and lapped up the mixture, hehe.
4) About 5 minutes later...bingo! What a mess.
5) It was VERY IMPORTANT to be around for the actual puking event. After a dog pukes, it will often try to override its stomach by re-eating whatever came out. I had to make sure I cleaned it up before that could happen. Gotta be quicker and smarter than the dog!
6) Patted myself on the back.
7) Try remember to NOT give the dog incorrect medication again!

I am happy to report that Rover (name changed to protect the innocent) is back to his usual good health and is happily eating out of the cat litter box again. Litter on the nose is a dead giveaway.

Time for today's quote...

Your every decision conspires to make this moment happen.
-Christi Philpott

Until the next time, gentle reader, I remain,

Your friend,

Buford Twain

PS - Happy New Year!

Friday, December 28, 2007

The Crazy World of Web Development Needs-a-Fixin'


Gentle reader,

Allow me to put on my propeller-tipped hat as a software engineer and go off on a short rant.

It is 15 years after the invention of the WWW.

Let's take a quick gander at the hip-to-be-square IT scene, as it applies to web-development.

I have to say, we are not quite at the point where robots have taken over the world.
However, we sure do have all sorts of crazy-assed technology.

Let's see...

On the client side (and by that I mean the stuff that is displayed by your very own web browser) we have goofy HTML, wet-and-wild javascript, annoying Ajax, insipid CSS, freaky flash and (thankfully almost extinct) Java applets. We also have lots of different browsers such as still-cool-yet-slowly-becoming-bloated-and-unstable Firefox, much-maligned-and-rightly-so Internet Explorer, obscure Opera, stupidly-named-Safari and even-more-stupidly-named-and-french-accented "Navigateur-Orange".

On the server side, we have a veritable cornucopia of complex languages and frameworks.
Let's see: There's curmudgeonly Java (it must be curmudgeonly, I use it) and its bewildering array of associated development frameworks such as Spring and Struts. There's insanely-hard-to-read Perl. There's whitespace-significant (gasp! horror!) Python with its accompanying strangely-named frameworks Zope and Django. There's an over-hyped-python-clone called Ruby with perhaps the most hyped framework of all, Rails.
Then there's lowly, sad and amateurish PHP. And I mustn't forget (though I try), evil empire Microsoft's ASP.Net (admit it, Mr. Gates, the idea for .Net was so stolen from Java).

To the uninitiated web-development virgin, that must seem like an absolute zoo of technologies.
But trust me, I have actually listed only a very tiny subset of what is actually available to
Joe- and Jane-aspiring-web-developer (in the spirit of honesty, it's almost always Joe, actually).
And I didn't even mention verbose XML and silly XSLT yet.

So, what have we accomplished with all of these technologies? What pinnacle of knowledge have we succeeded in ascending? Well, we have created an array of complicated and mostly-overlapping technologies, all of which, on the server side at least, pretty much do the same damn thing. Yet each of which happens to require its own (sometimes steep) learning curve.

As we all know, being readers of blogs and users of facebook and eBay and craigslist,
the web is not really about launching the space shuttle, managing a nuclear power station, doing brain surgery or finding the Higgs particle, is it? No. For heaven's sake, the web is used for a few simple things.

Let's see...

1) selling baubles

and...

2) exchanging a little bit of basic information

Notwithstanding, for some bizarre reason, it is getting MORE COMPLICATED EVERY YEAR to figure out how to get some very basic stuff done. Why, oh why, must the world of web software development be so fragmented and complicated? Is it any wonder that I have a hard time teaching this stuff to my kids in the hope that they will get excited by it and thereby gain the skills to make a decent living (despite virulent outsourcing and other corporate-initiated evil)?

If nothing else (and believe me, there is else), it is costing us time and money.

It shouldn't have to be this way. Seriously.

So here is a heartfelt request to anyone involved in creating new technology for the world-wide-web:

PLEASE, can SOMEONE make things a little bit simpler, instead of even more complicated?

That would so make my year.


Today's quote:

The main challenge of computer science is how not to get lost in the complexities of [your] own making.
-Edsger Dijsktra


Until the next time, gentle reader, I remain,

Your friend,

-Buford Twain

Wednesday, December 26, 2007

Dog Butt Jesus


You have to squint, but He is definitely there...

Monday, December 3, 2007

The humans are dead by Flight of the Conchords

I don't have much to add to this, just watch the clip. Added bonus: awesome binary solo at the end.
The singer on the left could easily get a 2nd job as Stephen Hawking's voice synthesizer.

Saturday, October 6, 2007

On Education


Gentle reader,

I confess, I spent way too much of my life in school. I went the whole hog - all the way from primary school in the UK to a PhD in the USA. Looking back now I really feel that my education was mostly a waste of time. I say mostly because it did give me the chance to make some good friends. I just turned 41 and my best friends are still the ones from secondary school in the UK
(high school as they say in the USA). From an educational perspective, though, I would have been better off if left to my own devices. I wish home-schooling had been an option for me. At the time it wasn't, really. Back in the UK it was mostly unheard of. It was a time when truant officers roamed the streets looking for naughty boys and girls who were "bunking off" (avoiding school).

By the way, having just talked about truant officers roaming around, that reminds me that the UK makes its residents pay a TV license fee and they have people in special "TV detector vans" driving around seeing who is watching TV so that they can catch people who are watching TV without a license (http://www.bbc.co.uk/pressoffice/pressreleases/stories/2003/06_june/24/licensing_detector_vans.shtml).
How messed up is that?

Anyway, I will admit that, sadly, almost ALL of my school career was spent focusing on getting
a good grade, as opposed to actually learning something. Studying for tests, figuring out what was needed to get an "A". That is the Achilles Heal of most educational systems. These systems are geared towards categorizing and "weeding out" students as opposed to teaching them useful things.

I did end up with good grades - but somehow it felt hollow. I spent years and years of my life simply jumping through hoop after hoop after hoop, just for that little piece of paper. Finally when I was 26 years old, I got my PhD. Then, after working a couple of "real jobs" in physics I eventually went back to doing what I had had already discovered I enjoyed 30 years ago - writing software.

Back when I was a whipper-snapper, 12 or 13 years old, I spent lots of time tinkering around with the first commercially available computer in the UK (a Sinclair ZX81). Sometime later I was able to translate a program that create d crossword puzzles from an older version of Basic to the version that ran on my own computer. Then my Mum was able to use it to generate crosswords for her French class (she was a teacher). To me, that was true learning. Reading a book, trying something out, learning for pleasure and trying to achieve something of real value.

Of course, tests are considered somewhat of a necessary evil. Even the great physicist Richard Feynman though so. Otherwise how do you know your students are doing the work? But fundamentally I think we are barking up the wrong tree with our educational system and I hold myself up as an example of how things can and do go wrong.

If somebody is really good at something, say mathematics, and that person enjoys doing mathematics then they will most likely do mathematics on their own. They will pick up
a book, or use the internet, and will learn it. Most undergraduate degrees are not directly used by their recipients and they are very expensive. Taking on a large debt for something that is probably not going to be of use is generally not a good idea.

If we are going to be stuck in school for many years, there are some things that probably should be taught, at the expense of other more 'academic" subjects. With the benefit of hindsight, here are a few things that I would teach in high school if I were designing the curriculum.

First, and probably most importantly, I would emphasize problem-solving. Most of life is about
solving problems, after all. If you can't do that, you are probably going to be stuck for a large
portion of your life. Everything from car repair to relationships involves problem-solving. One of the best ways nowadays is to use the internet. Many problems can be solved by doing a simple search. Check wikipedia. And for a really deep dive, join a forum. I have had such great experiences with internet forums. I have managed to fix my PC (pcmech.com), get some ideas
on car troubles and repaired my ancient John Deere tractor (weekendfreedommachines.com)
with the help of experts who kindly devote their time to helping others. The ability to clearly
ask a question, providing enough detail, and then listen to the advice, is a skill worth learning early.

I would teach the basics of personal finance. This would include gems such as not spending more
than you earn, advice on buying a house, a car, retirement, compound interest, 401(k), stocks, bonds and other things people tend to frequently encounter and become confused about. Why are these things not taught currently?

I would try to provide some truth about the working world. Assigned reading would
be "Working" by Studs Terkel. We would learn some of the pros and cons of being a manager versus an "individual contributor" (ugh, I hate that term). Some of the psychology that goes on at corporations. Some warning about office politics. The fact that the Human Resources department is not usually on the side of the employee. And so on. And also emphasize the fact that you are NOT likely to stay in the same career or job for your entire life. And what to do when your company downsizes. How to ask for a raise. How to interview.

There would be a strong focus on health, fitness, medicine, the human body and the myriad ways in which it can go wrong. Some talk about end of life. What the options are. Assisted suicide? Perhaps. Cremation versus burial. What do they do to the body to prepare it? Let's give this information out early, because too often people make bad and expensive decisions under tremendous pressure when a loved-one has just died.

I would put more focus on starting and running a business. What can go wrong. Things
to keep in mind. Financials. Plenty of stuff to learn about here.

How about some information on maintaining a house - such as heating, cooling, attics, ventilation
, flooring, plumbing and electrical work? And then something about gardening, growing your own vegetables, raising animals. Oh and some information concerning how our food is currently produced and distributed. Bit of an eye-opener there, eh?

Then, wouldn't it be nice to learn something about relationships? Men and women are
different, they communicate differently, they solve problems differently. Let's try to
prevent some of those divorces before it's too late. Hindsight is 20-20 but we can benefit from
the hindsight of people who have already made those mistakes and learn from them.

Let's teach more about other cultures and put more emphasis on the fact that people from other countries are like us - usually down-to-earth, regular folks, no matter what stupid shit their government happens to be pulling. Then perhaps we won't be quite so scared of other people who are "different".

Let's also teach about religion. Not proselytize. Teach. Present the history of the main religions. It is a fascinating history. Be even-handed and then students will be equipped with enough information to decide if one particular religion is right for them, or perhaps none is. Also teach about humanism as an alternative.

I think that would be a good start. I am guessing we could fit all of those things into one or two
years. And that would leave students with plenty of time to pursue their own interests.

Time for today's quote:

You will have to search among the oddballs and black sheep, among those whose shoes aren't shined and whose smiles aren't rehearsed. No, do not go in search of a job, but an inspiration.
Find a leader, a guide. Find friends. Look until you discover true individuals
and then plead with them to take you in.
-Dale Dauten

Until the next time, gentle reader, I remain as always,

Your friend,

-Buford Twain