Never Say Devil

Get a hoop, I feel like jumping!

Taking Chances

April 19th, 2012

The last year has been quite a flurry of activity and I really haven’t been writing on my site very much. I have had both a good year and a bad year. Last year my Grandpa passed away, and I still miss him very much. My friend Kara moved away, and I also miss her very much, but at least with her I know she’s well loved and being a Mom and having a lovely time down under. Also, the Internet gives me little glimpses of what she’s going through and has allowed me to slowly get to know her husband Greg, and he looks like a stellar fellow. That’s all good, but still I miss having coffee and talking photography with her.

As most of you know, I write a lot of software. I’ve been working for a startup company called Calgary Scientific. We just released a very important new version of our software, called ResolutionMD. I worked very hard to make the Android version of their application, and am still working to maintain it. I’m very proud of that. We are really hoping this big gamble will pay off, and we won’t have to resort to playing poker online to make money this year. Things are looking promising, that’s for sure. We’re set to make millions of dollars this year so far.

In my spare time, I write and maintain a transit application for serving transit data to Calgarians with Android devices called Transit Tamer. I recently moved the server for this application to a new hosting site because I was dissapointed by the complexity of running the service on Google’s App Engine hosting system. I spent many a late night just trying to get my data uploaded to their servers, let alone maintain things. I am paying $7 a month for my server now, and the application is free for use. So, I am always looking for ways to make money quickly. I suppose I should just be more patient and let the money come to me.

I have also been maintaining a small game assistance application called Glitch Skills for managing your character skills on the super fun multi-player game, Glitch. I wish I had more time to play games. It’s like being addicted to poker, but instead you’re running around petting foxes and piggies. Such fun. I am proud of my application. It is fast, easy to use, and stable, and people seem to like it.

I am always looking for the next big idea to come along. I hope it happens soon.

Canadian Netflix, nay: Notflix!

May 31st, 2011

Netflix wants me back. I unsubscribed in December. At the time I said I would not subscribe again until they improve the selection of movies and television shows. As I see it, they have not yet done so.

I said I wouldn’t resume my subscription until they support Netflix to Canadians without an XBox 360 Gold account. I don’t want to pay two companies to watch television. I want Android support and likely will never see it in Canada.

Netflix, do NOT show me the content you will not serve me! You have it in your database just to taunt me? If I make a query, show me only what you DO have not what you don’t!

These things irk me. But I am still waiting for better days. A day when being a Canadian isn’t some curse that limits my selection of media. If the CRTC is to blame, here, placate them with more Canadian content and get the rest of the media to us. Stop pussyfooting around already. K thanx.

Between Two Worlds

April 18th, 2011

Recently I’ve begun to learn iOS programming at work. I got a mini mac on my desk and a magic mouse and xcode 4.0.2 and I’ve started down the road to the dark side. Apple used to be a company I looked up to. My first computer was an Apple II+ with 48K of ram and Applesoft basic in ROM with an Integer Basic expansion card and a floppy disc drive. I spent many hours writing code to peek through memory, store the raw screen lines onto the floppy drive in an attempt to keep a journal of my favourite things. Who knows what happened to all of those old floppy discs. Probably long since rusted. The short story is that I used to love Apple and all of its products. Somehow, over the years I’ve found myself on the other side of the fence and have stayed firmly there. I had friends that loved NeXT when it was in full swing, but I was already on Linux and found that worked quite well for me.


Now I have many Android devices. I’m actually writing this post on a Motorola Xoom. Today the news that Apple has decided to sue yet another Android manufacturer over supposed patent infringments really gets my hackles up. Apple, you have no need to be doing this, do you? Your   quarterly earnings statements and your solid fanbase will keep you alive for eternity already, won’t it?


Spend more time making your development environment more useful. Make even better tools to allow developers to make gorgeous apps on your phones, tablets and other devices. Stop trying to sue the pants off of all of your competitors. Maybe then I might feel less like I’m betraying my principles when I try to write software for your platform. I miss the days of the rainbow colored Apple logo. Be less like the Darth Vader of the computer world, k thanks.

Mad Scientist Chronicles – Blue to Black

October 2nd, 2010

   Built in to every man’s madness is the ability to destroy. Destroy your surroundings, the places you live, the things you love. Being afraid to do any damage is the handicap of sanity. Criminals do not care for the safety of others. Some of these thoughts went through my mind in the final seconds of my life. You, dear author, are the only connection that was present in those last moments. A connection across universes. In your dreams you witnessed parts of the end, not just of me, but the extinguishing of the flames of billions of lives. The day everyone on our planet was left staring up at the sky, with nothing to do but stand there and die. So, listen closely and I’ll tell it, and when you wake please bring it into the consciousness of your version of the Earth. Retell it and hopefully, you will keep it from happening to you.

~

   “I can’t believe him.” my father said quite plainly at the supper table that night. Dr. Edison had announced to the world that he had cracked the secret to pulling energy out of thin air. [Note: It was later understood that Nikola Tesla had accidentally killed himself attempting one of his early alternating current experiments, and Edison had continued those experiments vaulting him into position as the creator of the modern age of electricity. This is not, of course, how things happened on your world, dear author.]
   “What, father?” my sister had asked.
   “Edison is so sure of himself. What if something were to go wrong with his experiment? What then?” he lifted a forkful of potatoes to his month and chewed. Dinner was never very interesting at our house. The mines were not producing like they once were and our family was one of the last in our small desert town that were still hanging on to their old homestead in hopes of finding a new vein of ore. It was one of the last mining towns still in operation in the area, and was all but a ghost town.
My sister and I would play in the mines together. Flashlights in our hands, and miner’s helmets on our heads we would play games among the jewel encrusted caverns, and stalactite cathedrals that were near the entrance of the mine. People had discovered these long before they started digging to find the veins of gold that marked our town’s initial birth. The caverns were our playground.
   “He’s a very smart man, dear, I’m sure he’s worked out all of the possible problems with his device.” mother had said. “Would you like some more potatoes Andrew?” she asked me and I shook my head. Mother would never sit down to eat if she was up all the time serving everyone, so finally after everyone had refused the second helping, she sat down and ate a little of her meal.
   “You’re probably right. I just can’t help but feel strange about it.” dad said between bites.
   “I think it’s going to be amazing.” I had said. Edison was like a childhood hero to me. His inventions had captivated me since I was a little boy. First his alternating current, then his more recent discoveries of the quantum electron gateway. It seemed so amazing that he now thought he could pull raw energy from other dimensions. Dimensions with surpluses of energy could be used to fuel ours. Fantastic indeed. His trial runs were set to proceed the next morning.

~

   Breakfast was brief. The radio announcer sounded afraid. Something had gone wrong. I wasn’t sure what had happened. The announcer said:

   “The Edison device was switched on at ten o’clock, New Jersey time. At first, nothing appeared to be happening but soon the air around the device seemed to crackle with electricity. The effects began to intensify and move outward from the device and quickly everyone was rushed away from the device, and the warehouse complex. We have news now that there has been an unanticipated problem and everyone in the area of the device has suddenly died. Oh, this is terrible, no one was able to turn off the device, which has continued to affect the air, and the effects are continuing to spread.”

   “Oh my.” my father had said.

   We all rushed out of the house. The dusty yard met the dirt road, and at the edge of the road we all stood looking up at the sky. Our town was nestled in between two mountain ranges so our view of the sky was somewhat obscured, but we could already see that there was something wrong with the sky. The usual light blue at the horizon was more like the darker blue if one were to look straight up. My eye followed my head as I tilted it back, and as I looked straight up I could see stars! In the middle of the day, there were stars! My breathing was already laboured, and as I looked around, my father and mother had already gone down on one knee and were holding hands. My sister reached for my hand and with one of my last movements I grasped her hand in mine.

   The sky, by that time, had turned entirely black as if some dark candle had been lit which inverted night and day with its terrible flame. My family and I, and all of the families in the rest of the world, suffocated silently. My last thoughts were of the Saviour of Menlo Park, Dr. Thomas Ogden Edison, who likely died quickly with a look of surprise on his face. His inventions saved our world from the brink of destruction, only to finally and completely destroy us all. He would not be remembered.

~~

   So, dear author, please remember your dream. Our world’s light was put out by the very man who created our world’s first incandescent bulb. There is some irony in that. It is a miracle that I found you here, in my afterlife and in your dreams. Warn your world. There will be more warnings to come. Believe it or not, there are many of us here with stories to tell of the many disasters brought to our worlds by our mad scientists.

[Author’s note: It seems Thomas Edison didn’t reject the ideas of Tesla in their universe and actually embraced the alternating current. It also seems he was given his father’s middle name. The prefix of Doctor on his name suggests that his schooling was not cut short by ignorant teachers, and instead he went on to graduate school and obtained a degree of some sort. I have not been given this information, it is just a supposition based on the details of a dream I had once and have since gone over and over in waking and have committed to this story.]

Beethoven’s hidden song inside Moonlight Sonata

August 17th, 2010

I was messing around one day, with the kids, and we were changing the tempo on our home Casio Electronic Piano. It had Moonlight Sonata built into it as a demo song, and we had tried playing it at 255 bpm. Suddenly a completely different song emerged, and I found it really exciting and unexpected. The kids and I listened to it over and over again amazed that the song had been structured in such a way that by increasing the tempo, a hidden song was perceived.

So, a while ago I decided to find a MIDI rendition of Moonlight Sonata and run it through Propellerhead Reason, and produce a couple of MP3s showing the original file, and the faster one. I’ve attached links to those, here. Enjoy.

Moonlight Sonata 95bpm
Moonlight Sonata 255bpm

As near as I can figure, this provides some proof that Beethoven planned his songs by producing a framework that is a song in its own right. Then an embellishment layer was applied to that song to fill in the gaps as the appropriate tempo was applied. I wonder how many other songs follow this pattern?

Please be kind, this is on my home server, and likely won’t stand up to diggs, boing boings, or slashdotting. Mirror first before advertising elsewhere, thanks.

Android 2.2 Breaks “Say Time” Application

July 17th, 2010

So, I’ve upgraded my phone to Android 2.2 and noticed that my Say Time application stopped working. So I did some research into why. Apparently the old system of MEDIA_BUTTON intent priorities wasn’t good enough for Google and they decided to change it to another, very different, method. Here’s how it works:

  • Any Android application can request that it become the current MediaButtonReceiver. This puts that application onto the stack and it becomes the SOLE receiver of media button presses.

  • If another application comes along and requests to be the MediaButtonReceiver, the current application is never sent any MEDIA_BUTTON events.

In my application, I had simply set it to be a MEDIA_BUTTON intent receiver with a high priority. And then when I got a press, I would either abort the broadcast (become the sole receiver) or choose not to abort the broadcast (passing it on to any other applications interested in getting MEDIA_BUTTON presses). This allowed my application to cooperate nicely with other applications using that button (on the headset) as input.

Now, my application is no longer able to easily cooperate with other applications. I could start a thread that calls registerMediaButtonReciever() and makes sure my application is always the SOLE receiver, then unregister again to allow the last receiver to get their presses again. When the unregister is called, the previous application that has registered becomes the SOLE receiver once again. But, the fact that I have to have a thread running all the time whether the button is pressed or not means my application will consume battery power, and I don’t like that.

I looked at the source code for the Music application, and it calls registerMediaButtonReceiver() every time a new music track begins playing. This basically steals the MEDIA_BUTTON events from any other application that might want to get them.

I have no idea how I would be able to influence Google to change their API to allow some way of knowing when another application has registered thereby replacing the current media button receiver. I think if I had that type of API, I would be able to avoid having to write a thread to set it all the time.

I’ll be trying the thread approach, and hopefully it solves my problem without becoming a battery drain. If anyone has any other ideas, please let me know. Thanks.

SayTime v1.2.0

June 13th, 2010

Today I worked on SayTime for a little while and added a Settings menu item so that you can set which trigger(s) you want to use, how long the application will ignore triggers, and whether to pass the button broadcasts on to other applications in the phone or to cancel the broadcasts while the application is sleeping.

If you can think of any more settings you’d like, I’d be happy to try and work them into the application.

Update: Apparently a German fellow thinks my program sucks. Well, at least that’s something. ;)

SMS To Twitter Gateway Source Code

June 7th, 2010

I’ve created a GitHub page with the SmsTweeter application, and so you can dig into the source code of it, if you like. I’ll be using GitHub as the place where the code for this application is maintained. I expect I won’t have a lot of time to maintain this, but it does work, and it might be useful for someone else.

I will be releasing the application on the Android Market as soon as I give it a bit of polish and make an icon for it.

Enjoy.