Blog

  • Background of Programming

    I was in the Sarnia Library, the Lambton Mall location when I found Perl for the first time. I had graduated the business program at Lambton College and was back working at a call centre, and didn’t go to the library expecting to find anything… actually, I thought I wasn’t able to take out books because I had taken about 6 months to return Brave New World six years before.

    During college I was experimenting with Linux. A friend had told me about it, and I installed Ubuntu and fixed my Toshiba laptop’s cpu fan by editing a /sys file, and loved it. I was playing acoustic shows at the local bar most Fridays for some beer money, and then started fixing my college friend’s computers for $40 a pop at the same time, so I jumped back and forth between Linux and Windows for four years. Had it not been for Compiz, I probably would’ve just stayed in Windows and given up on Linux… but something about the look of it in PCLinuxOS made me feel like it was home.

    Anyways, I was at the library and found Learning Perl by Randal Schwartz, and decided I should level up my computer skills. I had been learning Bash, databases, and was wanting to make the full time switch over to Linux… but because my music production software used Windows and Unreal Tournament was Windows, I would still dual boot them.

    I don’t know what it was about Perl that was so intriguing. I didn’t know why I would learn it, and not something the majority was using. But the more I read it, the more I loved it. So I spent three months working at the call centre reading the textbook between calls, and then coming home and trying the ideas late into the night.

    The call centre closed, and then I got frustrated by how long it was taking me to learn Perl and gave up. And this is when I learned something about learning; you can’t learn anything in one shot. You gotta keep coming back to it. And I did. The next year I was self-employed as an on-site computer repairman, and had set up a home server with Owncloud for a customer, and wanted a log reader to detect any intrusions. When I started writing it in Perl, I got it. Not sure how or when, but it was like I was suddenly fluent… ish.

    Looking back, Perl gave me the freedom to write it how I thought it, and no, I didn’t have to write tests or comment the code. And no, I didn’t have to follow any particular paradigm, and can mix and match procedural and object oriented. When I was reading Lisp textbooks a couple years later, I could write that way too.

    My code is unreadable to anyone but me. It’s a way of protecting my intellectual property, but on the other hand, as a musician, I make up chords on the guitar that won’t be guessed by anyone else, and that’s just how I roll. Perl lets me write it my way, and guarantees that I’m the only one who can modify it, rewrite it, or teach it.

  • What are you doing?

    I’m still working on the same stuff I was a few years ago. Actually, I knew it would take this long to develop.

    When I was doing I.T. I realized there was a big opportunity for a system that would handle everything. No, that’s not the best way to say it.

    Two years ago I thought my project was to keep track of what I was doing, and that I would just type whatever I was thinking or feeling, and eventually I’d develop an algorithm that would organize all of those things.

    I really don’t know how to say it.

    I’m building a piece of software that’s obviously been done before. It’s a journal, a music/video player, a webstore, invoicing and quotes (I did that before)… ummm, I’m building a recording studio for audio and video, as well as a Tetris game. Uhhh, there’s also this thing where I can drag and drop things to build relationships between them. I can take a picture on my phone, and the encrypted copy shows up on my laptop… ya, it’s all been done before. There’s really no room in the market for it. It’s going to be an epic failure, and nobody will use it.

    And ya, it also does automation. First, I’m using the Raspberry Pi Pico 2W, a super cheap microcontroller that is really easy to program with dual core functions. I’ve got it wired up to relays, pots, switches, buttons, and leds. Then I can toggle and measure things from my program, or I can have the switches or pots send data to the program. That’s been done before, obviously.

    And ya, I can measure anything automatically, or I can type in measurements, in any… what’s the word… I can type in 28 degrees C, or I can say that I weigh 155.2lbs. I can even have it wired up to a relay so that when I detect <12 degrees celsius it turns on a heater. Customized automation. The word is unit. And I guess I see myself selling hardware that will be rigged up to anything a customer wants automated. I see myself charging a fee for training, and then they can show up to meetings where we talk about the software, and they can access my training videos and written material. But I still need to finish it.

    Like I was saying, I’m not surprised I’m still working on it. When I started I budgeted 5 years. I may as well say, the program also does this kind of budgeting where I can say I need to sleep 48h/w, and it will show me or notify me when I’m under or over budget. I also have one for guitar, 105m/w… that’s one hundred and five minutes a week.

    They can also pay for me to install the software, to provide updates and upgrades. They can buy the smartwatch that’s able to interact with it all. That really exists.

    I call it President.