It works! I must admit it's a little surprising because my programming talents could fit into a thimble. But it works! Check it out at http://redneck-haiku.f-sw.com/.
There is alot of streamlining and rewriting to do. A number of features came to mind after the core code was in place, so it will mean a busy few days. Of course, having it rain every day while you are on vacation makes it easier to code and not do other things, outside.
Monday, June 30, 2008
Sunday, June 29, 2008
Hacking Twitter
I've recently create a Twitter account, which in and of itself, is fairly pointless. However, it does allow you to post to the web via SMS. So if you are like me and work for a cheap-ass company that doesn't pay for email phones, it works well because you can post via text-messaging.
This gave me an interesting idea. If you could scrape that info using a web-app of some description you might be able to do something interesting with it. Having recently acquired a Microsoft Streets and Trips 2006 with GPS for a stupidly low price, I have been playing around with Latidudinal and Longitudinal coordinates, the Google Maps API, and Javascript/AJAX. I occured to me that if I posted coordinates to my Twitter account, maybe I could scrape those coords off the page and generate a Google Map from them.
It turns out the HttpRequests in AJAX do not like to play outside their own domain (ie. you can't pull data from twitter.com from a page on google pages). So to get around this javascript issue, I used PHP. It's really simple, actually, and here is a rough outline of how it works:
This gave me an interesting idea. If you could scrape that info using a web-app of some description you might be able to do something interesting with it. Having recently acquired a Microsoft Streets and Trips 2006 with GPS for a stupidly low price, I have been playing around with Latidudinal and Longitudinal coordinates, the Google Maps API, and Javascript/AJAX. I occured to me that if I posted coordinates to my Twitter account, maybe I could scrape those coords off the page and generate a Google Map from them.
It turns out the HttpRequests in AJAX do not like to play outside their own domain (ie. you can't pull data from twitter.com from a page on google pages). So to get around this javascript issue, I used PHP. It's really simple, actually, and here is a rough outline of how it works:
- PHP creates a SimpleXML object that pulls my last twitter entry (in xml format) into a variable.
- The PHP script writes a cookie with the coordinates pulled from twitter.
- PHP forward to another page that uses Javascript (the Google API language of choice).
- The javascript page reads the cookie and parses out the coordinates.
- The javascript uses the coordinates as the centre of a Google Map.
I will post more info later. Still in the debugging / thinking of features stage. I am sure there are a grillion or so real programmers who will shoot holes through my methods. I don't care. As a non-programmer this seems like a pretty slick set up to me.
Saturday, December 01, 2007
google api
This might turn out to be interesting. Playing with .NET these days and there are a whole slew of things you can do with Google. One thing I surely need is a way to get my calendar to my desktop... I am so bad at remembering things that I forget I wrote them down so I wouldn't forget them. Occasionally I remember something, but that could be just because I forgot that I forgot it....
Saturday, July 14, 2007
rock on white stripes!
Rock on White Stripes! Thankyou for playing whacked-out mini-shows for free for your fans up close and personal! That's rock and roll as it's best. The White Stripes are breathing life back into rock like the Sex Pistols and Nirvana had done, by making it accessible to everyone. I love Keith Richards, but I don't love the Stones Corporate Machine despite the fact I understand it's necessity.
One of the best shows I have ever seen myself was nearly 17 years ago at a small club downtown. Teenage Head, a band that had a couple of rockabilly/punk style semi-hits in the eighties, playing to a crowd of about 100 or so... absolutely intense, sound was rockin' loud but clear as a bell, totally professional. And the band was just there, as if this was it, the last show, no more after this one. I've seen much bigger names, even been right up to the stage, and nothing comes close to the Teenage Head show.
Although I bet the Arva Grain Mill White Stripes show would have summarily kicked my white ass!
One of the best shows I have ever seen myself was nearly 17 years ago at a small club downtown. Teenage Head, a band that had a couple of rockabilly/punk style semi-hits in the eighties, playing to a crowd of about 100 or so... absolutely intense, sound was rockin' loud but clear as a bell, totally professional. And the band was just there, as if this was it, the last show, no more after this one. I've seen much bigger names, even been right up to the stage, and nothing comes close to the Teenage Head show.
Although I bet the Arva Grain Mill White Stripes show would have summarily kicked my white ass!
Sunday, May 20, 2007
some people's egos....
I have a co-worker who has dedicated a website to his forthcoming marriage. Apparently 'Love is Forever', although I am sure if you asked his first wife she might have something to say about that...
All that aside, he has this irritating little 'Only xxx days until the Wedding' counter. So I have countered, so to speak, with my own counter. My wife and I have purchased a lovely home in the nicest part of our town, called 'Old North'. We move in ... well you can see how many days, then, can't you?
Irritated yet? I hope so...
All that aside, he has this irritating little 'Only xxx days until the Wedding' counter. So I have countered, so to speak, with my own counter. My wife and I have purchased a lovely home in the nicest part of our town, called 'Old North'. We move in ... well you can see how many days, then, can't you?
Irritated yet? I hope so...
Sunday, March 04, 2007
review: Virtual Lego

If you are going to start using MLCad, you require the book pictured to the left. I have had the book only 4 days and already I have learned so much it's astonishing.
It is an outstanding reference book and worth every cent.
I bought it specifically to learn how to create flexible parts such as hoses; within a half an hour I had not only run through the tutorial, but also implemented what I learned in my own model.
Click here to buy it from Amazon.ca.
update: am I 4 cents ahead, or not?
Back on December 15, 2005, I posted a blurb about how I owed the bank 11 cents interest on a line-of-credit account, but had a 15 cent credit on a cancelled credit card from the same bank. At that time I was speculating about whether I would ever see my 4 cents.
Well I finally have the result. Actually, that's not true; I have had the results for quite some time, but forgot I had created the original post. My follow up is 'tardy'.
The upshot of it all is: I am out exactly 1 Canadian dollar. I wasn't allowed to pay the bank just 11 cents, I had to transfer the minimum of $1.00. And of course the credit card company said they would transfer the 15 cents to my account, but never did.
What more can you say?
Well I finally have the result. Actually, that's not true; I have had the results for quite some time, but forgot I had created the original post. My follow up is 'tardy'.
The upshot of it all is: I am out exactly 1 Canadian dollar. I wasn't allowed to pay the bank just 11 cents, I had to transfer the minimum of $1.00. And of course the credit card company said they would transfer the 15 cents to my account, but never did.
What more can you say?
Tuesday, February 27, 2007
why lego is such a great company
Recently I purchased the Mindstorms NXT set (8527). Upon opening the box, I discovered that the software CD-ROM was missing. I decided to see if the software might be available for download, so I went to lego.com and started poking around. Very sensibly, Lego does not offer their base load software for download; you can however download many enhancements and addons free-of-charge.
Not knowing what to do next, I decided to try using the 'Missing Parts' customer service webform. After entering the set number and browsing the available replacement parts, I was a bit disenheartened to see that the CD-ROM was not listed. But this is Lego, the greatest 'toy' company that has ever been, so I figured I had to at least try. So I clicked the 'Don't see your part listed? Describe it here.' link and submitted the form requesting the CD-ROM. In all honesty I really didn't expect anything to come of it.
Well today I find a bubble-pack envelope in my mailbox, from Lego, containing not only the software, but a letter, actually addressed to me with my name in the salutation, expressing Lego's sincerest apologies for having provided an incomplete set.
Well didn't the sun shine just a bit brighter this afternoon!
Lego had come through yet again. What a wonderful company! What a wonderful product! I feel like spending all of my disposable income on Lego sets. Well alright I wanted to do that anyways, but this just strengthens that desire exponentially. Maybe I will try to get my friends to spend their disposable income on Lego...
I went back to the website a few minutes ago and filled out the same form as last time, but this time I expressed my gratitude to the Customer Service Team. I hope it gets printed out and circulated to the team.
I think pretty much every other company around could learn from Lego's example.
Not knowing what to do next, I decided to try using the 'Missing Parts' customer service webform. After entering the set number and browsing the available replacement parts, I was a bit disenheartened to see that the CD-ROM was not listed. But this is Lego, the greatest 'toy' company that has ever been, so I figured I had to at least try. So I clicked the 'Don't see your part listed? Describe it here.' link and submitted the form requesting the CD-ROM. In all honesty I really didn't expect anything to come of it.
Well today I find a bubble-pack envelope in my mailbox, from Lego, containing not only the software, but a letter, actually addressed to me with my name in the salutation, expressing Lego's sincerest apologies for having provided an incomplete set.
Well didn't the sun shine just a bit brighter this afternoon!
Lego had come through yet again. What a wonderful company! What a wonderful product! I feel like spending all of my disposable income on Lego sets. Well alright I wanted to do that anyways, but this just strengthens that desire exponentially. Maybe I will try to get my friends to spend their disposable income on Lego...
I went back to the website a few minutes ago and filled out the same form as last time, but this time I expressed my gratitude to the Customer Service Team. I hope it gets printed out and circulated to the team.
I think pretty much every other company around could learn from Lego's example.

It seems I am getting better at putting the Lego models together in MLCad. It also seems that I am getting the hang of using the rendering tools that are packaged with the Ldraw.org install. I don't like all the shadows I am getting within the images, but I am sure I will figure out how to get rid of most of them. Still, the output is fantastic!
Saturday, February 24, 2007

The Lunar Lander from set 565. It is not perfect, as I am still trying to learn how to use MLCad. Still, MLCad is alot of fun to use, and it gives you a chance to build sets you may not actually own. You can always seach lugnet for models and instructions.
Wednesday, February 21, 2007
565 Moon Landing
Tuesday, February 20, 2007
854 finally done

Well it's finally done. Although it is very cool that MLCad lets you build Lego models you have the plans for but perhaps not the actual Lego parts, it is a much more painstaking process. This model is far from perfect, although LDView helps smooth out some of the rougher edges.
It still needs the hoses attached. I am no where near to figuring out how to add those in MLCad.
Sunday, February 18, 2007
ldraw
Of all the tools I have found for experimenting with Lego, the CAD program MLCad is the most fun to use. MLCad, based on the original LDraw program, allows you to build models in a virtual environment. The parts list includes almost every part imaginable, and new parts are being added all the time. The image you see to the right is a partially-drawn model of Lego Technic Set #854. I received this set as a child, and only recently pulled it out again to build it. I found that I was missing some parts, and trying to sort out which parts were gone was beginning to drive me a bit nuts. Then an idea occurred to me: If I built the model in MLCad, not only would I have some great pictures of the model in process, but would also have a complete list of parts I could compare to the actual parts I have. Yes I could go through the instructions and figure out what parts are needed, but that would not be anywhere near as much fun or geeky.
Thursday, February 08, 2007
lego mindstorms nxt

Meet AlphaRex. He's one of the robots I will be building shortly with my new Lego Mindstorms NXT set. I have been looking forward to this for a long, long time.
One of the reasons I have remained a fan of Lego over my 40 years is that Lego never compromises their quality. I have Lego parts that were purchased in the 1960's, that were used continuously by myself and my siblings until probably the mid-1980's, and those parts are not worn out at all.Perhaps a bit scuffed up from being stirred around in a box while we searched for the elusive 1x2 flat plates, but otherwise perfect. They still hold together as if they were new. And not only are the parts durable, the instruction booklets are durable. With the robotics, the software is well-thought out and properly presented. Everything in the Lego world is presented with a professionalism and a respect for the consumer that is unmatched.
As a Robotics Invention Systems 1.5 user (the previous Lego robotics incarnation) I was continually amazed at the capabilities of the base system, and even more amazed at how far the user community was able to recreate the system. I became a huge fan of Dave Baum's NQC, using the BricxCC IDE to develop and test programs far more complex than the original Lego IDE would allow. And it didn't stop with software: The number of 'homebrew' passive and non-passive devices that were developed by the user community was staggering. Mike Gasperi is the undisputed homebrew sensor King. Ralph Hempel has written two programming languages for the Mindstorms Series: pbForth for the Robot Inventions System series, and now pbLau for NXT. And there are more, such as LegOS.
It looks like that enthusiasm has carried over into the NXT world as well. If you look at Phillipe Hurbain's website, you will see the kind of dedication Mindstorms has invoked. I cannot think of another 'toy' that pushes people so hard to think and create. It would be interesting to find out how many software and hardware engineers, who are at the top of their game, played (or more likely still play) with Lego. Alot, I bet. Probably well over 80%.
Lego has become the seminal cross-generational toy. People who loved it as kids love it as adults. For people like me, there has always been Lego, and there will always be Lego.
Tuesday, December 19, 2006
ethical microchipping
Microchipping people has stirred up some ethical debates in the past. The usual arguements (some convincing, some not-so-convincing, some downright paranoiod) float around until they just seem to go away. It seems the time to make a case for microchipping people.
People have been microchipping their pets for some time, for very utilitarian reasons. If the pet gets lost, you scan the chip imbedded just under their skin, and you can get info placed on the chip when it was implanted. Usually this info is the owner's name, address etc. Chipping people so that they can be returned to their rightful owner, however, is not necessary. Chipping people so their actions can be 'edited' is extremely necessary.
What do I mean by 'editing'? Very simple really. For example, let's look at self check-out lines that have become popular at box-stores and grocery stores. The first time you use one of these devices, the store proprietors should be allowed to monitor your ability to use the device, then retain your performance statistics. Your 'score' would determine your authorization to use the self-checkout service, and this information would be stored on your chip. Therefore, if you are a reasonably intelligent, competent person, you would likely receive a passing score, and would be allowed to use the self-checkout lines. If, however, you are a drooling moron who, despite repeated tries, still doesn't understand that the device weighs each item after you scan it, so you must put it in a bag, your chip will reflect your inability to deal with simple tools and automatically tell the self-checkout machine to shut down upon your approach.
Critics of this plan would probably cry foul, that this is discrimination. Well... they would be right. But if you can move the morons out of the way, and convince them that having someone else scan and bag their groceries is a special service, then any perception of discrimination would be eliminated. The rest of us would be able to use the self-checkout lines without the fear of being stuck behind someone who scans their purchases and immediately puts them in their cart, then wonders why the device keeps 'stopping'.
People have been microchipping their pets for some time, for very utilitarian reasons. If the pet gets lost, you scan the chip imbedded just under their skin, and you can get info placed on the chip when it was implanted. Usually this info is the owner's name, address etc. Chipping people so that they can be returned to their rightful owner, however, is not necessary. Chipping people so their actions can be 'edited' is extremely necessary.
What do I mean by 'editing'? Very simple really. For example, let's look at self check-out lines that have become popular at box-stores and grocery stores. The first time you use one of these devices, the store proprietors should be allowed to monitor your ability to use the device, then retain your performance statistics. Your 'score' would determine your authorization to use the self-checkout service, and this information would be stored on your chip. Therefore, if you are a reasonably intelligent, competent person, you would likely receive a passing score, and would be allowed to use the self-checkout lines. If, however, you are a drooling moron who, despite repeated tries, still doesn't understand that the device weighs each item after you scan it, so you must put it in a bag, your chip will reflect your inability to deal with simple tools and automatically tell the self-checkout machine to shut down upon your approach.
Critics of this plan would probably cry foul, that this is discrimination. Well... they would be right. But if you can move the morons out of the way, and convince them that having someone else scan and bag their groceries is a special service, then any perception of discrimination would be eliminated. The rest of us would be able to use the self-checkout lines without the fear of being stuck behind someone who scans their purchases and immediately puts them in their cart, then wonders why the device keeps 'stopping'.
Saturday, October 07, 2006
civilized?
Well as a group, humans are demonstrating just how uncivilized we really are. I say this because we are starting to cringe from fear of Muslim retribution. We have all heard about the opera in Germany that was cancelled out of fear it might upset the Muslims. And now, and artist is closing down an exhibit in the U.K. for the same reason. My question: Where will it end?
So at what point do we stop going to our own churches for fear of upsetting Muslims?
As far as I am concerned, the Muslims are idiots for taking these affronts so seriously, and the rest of us are idiots for caving in to our fears. So at the end, we are all equally idiotic.
So now that we are all equal, is it possible we might start acting that way?
So at what point do we stop going to our own churches for fear of upsetting Muslims?
As far as I am concerned, the Muslims are idiots for taking these affronts so seriously, and the rest of us are idiots for caving in to our fears. So at the end, we are all equally idiotic.
So now that we are all equal, is it possible we might start acting that way?
Saturday, September 09, 2006
JPOD
JPOD, Douglas Coupland's latest (I think) offering is well-worth giving a chance. The characters are typically Coupland, with quirky personality traits and strong opinions. The story-line is interesting, and rolls along at a decent but not tiring pace.
However, my favourite parts of this novel occur when Coupland himself shows up as a character. It's an oldish trick (the writer appearing in his own fiction) but Coupland does it in a refreshing, self-deprecating way. The story folds in on itself (are we reading a Coupland novel, a novel by someone else who knows Coupland, or a novel written by Coupland after the events of the novel have taken place? Take your pick, they are all correct answers).
I'd write more but I'm tired now. Go get the book; you will like it.
However, my favourite parts of this novel occur when Coupland himself shows up as a character. It's an oldish trick (the writer appearing in his own fiction) but Coupland does it in a refreshing, self-deprecating way. The story folds in on itself (are we reading a Coupland novel, a novel by someone else who knows Coupland, or a novel written by Coupland after the events of the novel have taken place? Take your pick, they are all correct answers).
I'd write more but I'm tired now. Go get the book; you will like it.
Tuesday, June 27, 2006
my most useful program ever
This is the most useful program I have ever written. It is a pause or sleep program for DOS batch files. I know, I know, there are lots out there... but I wanted the simplest pause program I could get. This one takes one parameter: duration of pause in milliseconds.
So... it works like this:
sleepy 30000
That would give you a pause of 30 seconds.
If you need support for this program, you shouldn't be using a computer.
Get it here.
So... it works like this:
sleepy 30000
That would give you a pause of 30 seconds.
If you need support for this program, you shouldn't be using a computer.
Get it here.
Sunday, June 18, 2006
Corporate Trash
It's been a while since my last post... and alot of very interesting things have happened since that time. The most important thing that has happened, at least to myself and my wife, is our mutual confirmation in our steadfast belief that humans are, for the most part, garbage. And collections of humans, such as corporations and their respective departments, are greater piles of garbage than the sum of the individual piles of garbage that inhabit them. The whole is greater than the sum of the parts.
Our bleak outlooks were affirmed over the past two weeks as I negotiated (and subsequently declined... twice...) a new job in another city with my current employer. The new job was a significant jump in levels (2), an increase in responsibility, a better title, and other minor but attractive elements. It seemed to be, in and of itself, and excellent opportunity and a very good fit with my current skillset. The problems started when the Human Resources department became involved. Actually, that's not quite true. The problems started once I was identified as the top candidate, and HR then had to 'make it happen' for myself and the manager who wished to hire me.
To make things a little easier, I will list in point form the events which transpired. I will strive to list things in chronological order; however, some events occurred simultaneously.
Our bleak outlooks were affirmed over the past two weeks as I negotiated (and subsequently declined... twice...) a new job in another city with my current employer. The new job was a significant jump in levels (2), an increase in responsibility, a better title, and other minor but attractive elements. It seemed to be, in and of itself, and excellent opportunity and a very good fit with my current skillset. The problems started when the Human Resources department became involved. Actually, that's not quite true. The problems started once I was identified as the top candidate, and HR then had to 'make it happen' for myself and the manager who wished to hire me.
To make things a little easier, I will list in point form the events which transpired. I will strive to list things in chronological order; however, some events occurred simultaneously.
- Find and apply for job at company website - job located at site I had visited and worked at for one week last year. It was a good experience.
- Contacted by HR - hiring manager wishes to interview me for position.
- Interview with hiring manager. Seems to go well.
- One and a half weeks pass... receive email from another person who works for hiring manager, asking some questions re. technical skills. Reply to message.
- Following day (a Wednesday), receive notification for HR that hiring manager has selected me for the position. I indicate that I am interested. HR says they will follow up with more details, salary offer etc.
- Receive salary offer. It is appx. $5000.00 more than my current salary. After much speculation, calculation, and planning, my wife and I come to the conclusion that $5000.00 is far too low to even consider moving across the province. On the following Monday I inform HR that I am officially rejecting the offer, and indicate that I am no longer a candidate for the position.
- I receive an email from HR asking what I would have taken as an offer. I tell them $10,000.00 per level (total $20,000.00 raise), relocation expenses, and free high-speed internet, expecting HR to laugh and go away, considering the pathetic original offer of $5000.00. I am informed by email that such a raise would require the authorization of a VP.
- I receive a call from HR next day, stating that the offer will be up to $3000.00 in relocation expenses, free high-speed internet for home, $12,000.00 in salary increase, and $8000.00 more after a 6-month performance appraisal. Not bad at all!
- Negotiate (or try to negotiate) some other details re. vacation, seniority etc. I am told the start date will be in 3 1/2 weeks... a very short period of time to try to find a new home and buy it, get ours ready for sale and sell it etc.
- Finally after much deliberation, I accept the job late on a Friday afternoon. I call HR to inform them of my decision and I am told that an 'offer' letter will be forwarded on the following Monday.
- Friday night / Saturday / Sunday - my wife and I find, review, and place an offer on a condo in the vicinity of my new work campus. We order carpet to be installed in our basement front room. We begin packing our belongings and arrange to have quite a large amount of our belongings moved to storage. Offer on new house accepted (conditionally). Financing and inspection conditions to be met on next Friday.
- Monday - Send HR an email indicated that we had found a home and that we require the paperwork for the new job ASAP in order to get approved financing for a mortgage. No offer arrives from HR. Continue to pack belongings. Painter arranged for Wednesday. Carpet installer arranged for Wednesday. Arrange house inspection ($375.00) for Wednesday on new home.
- Tuesday - things continue, still no offer paperwork (or otherwise) from HR. Formally resign from my current position.
- Wednesday- my current boss sends out a note that I am leaving current account and moving to Ottawa. This turns out to be a blessing in disquise as coworkers come out of the woodwork to congratulate me, but warn me that HR does not always (or ever) play straight.
- Wednesday - call HR enquiring when my offer letter might show up. I am told no earlier than Friday. Of course, this is not sufficient as we need the documents for the mortgage by COB Thursday. I send an email reiterating the terms of our verbal agreement to HR and indicate that if the documents are not available to me by COB Thursday, our financing will not go through, and I will not be able to accept the position.
- Wednesday - late afternoon the offer arrives. It does not outline the terms of the verbal agreement; specifically, the $8000.00 is not mentioned, the $3000.00 relocation costs are now available if I apply f or them (which of course means they are not available). Other details not mentioned at all.
- Thursday - I ask for my current job back, which I receive. I decline offer officially and indicate no further negotiations will occur. Luckily we cancel financing and offer on home.
- Friday / Satureday / Sunday - try to figure out how we will put our house back together. Calculate expenses for trying to take this job.
So you can see this was quite a ride. We, being my wife and myself, are still walking funny after the screwing we received from the company I have worked 8 long years to help be successful. I suspect we will be walking funny for a long while yet...
Sunday, May 14, 2006
ottawa does it again!!
Yay Sabres!! I love it!!
The best part about the Sabres putting the Senators out of the playoffs is that it was a shorthanded goal (the refereeing in the series was blatantly pro-Senators) and the Sens player who got beaten was Alfredsson. He showed just what a lazy, good-for-nothing, self- important, useless piece of work he really is. He didn't even try to stop the Sabres player.
I love it!! Goodbye again Senators!! Enjoy the golf season... you should... it takes about the same energy output you seem to be capable of..
Oh and now maybe Heatley will have time to get a tooth... come on Dany, you make grillions of dollars (for apparently no reason), so get your damn teeth fixed! You make hockey players look like idiots.
The best part about the Sabres putting the Senators out of the playoffs is that it was a shorthanded goal (the refereeing in the series was blatantly pro-Senators) and the Sens player who got beaten was Alfredsson. He showed just what a lazy, good-for-nothing, self- important, useless piece of work he really is. He didn't even try to stop the Sabres player.
I love it!! Goodbye again Senators!! Enjoy the golf season... you should... it takes about the same energy output you seem to be capable of..
Oh and now maybe Heatley will have time to get a tooth... come on Dany, you make grillions of dollars (for apparently no reason), so get your damn teeth fixed! You make hockey players look like idiots.
Subscribe to:
Posts (Atom)
