My first Linux HOW-TO

I’ve been using Linux on and off for a long time. Best I can recall, my first Linux experience was with kernel 0.11 (do WHAT??) back in 1991. The Linux landscape was very different back then, in particular the breadth of offerings of Linux distributions. To wit: none existed. If you wanted Linux, you downloaded two disk images: one for a boot disk and a second with a root filesystem. You’d boot the boot disk, then when prompted to do so you would swap the boot disk for the root disk and continue booting. Once fully booted, you had a tiny filesystem to play with that had almost no free space on it.

Fun? Back then, yes, it was very fun. However, before anything serious would could be done you had to get the Linux root filesystem on your hard drive, and that required some sweat.

It was totally doable, though. There were instructions within the documentation for the boot and/or root disks that explained (roughly) how to do it. However, booting directly to that hard disk…well, not so simple, at least not for someone with no computer science background and only limited knowledge of computer hardware.

That’s where I was when I started experimenting with Linux. I was a DOS guy (shut up) but I had a thirst for more, and the appeal of a free UNIX-like operating system was just the ticket, even though it was buggy as hell and software-wise quite limited. Evidently, the challenge of getting this damn thing on my hard drive was too good to resist.

Continue reading

Posted in DOS, Linux | Leave a comment

The end is nigh (for my 1st gen MacBook)

It’s the laptop that I just can’t bring myself to hate. It’s the last of my 32 bit machines, or at least the last of them that I still use. I assume my old iMac G4 is a 32 bit machine as well but it sits under a layer of dust in my basement. Anyone want a 17″ desklamp-looking G4 iMac? Hm…

Anyway, my old MacBook is still a powerhouse of a machine. I bought it in 2006 and it’s run reliably ever since. When Apple declared it orphaned I explored FreeBSD (documented elsewhere on this blog) as well as a number of different flavors of Linux. I even went back to Mac OS for a while just because I figured I couldn’t go wrong with the native OS, but that didn’t last. In the end, I installed Linux. The laptop is currently running Ubuntu MATE, the only flavor of Ubuntu that doesn’t make me wish I didn’t install Ubuntu. I love it, actually. It’s one of the most solid Linux distros that I’ve used in years, even compared to other flavors of Ubuntu. Until further notice, I’m sticking with it.

However, as lovely as this distro may be and as wonderfully as this laptop has performed over the past few years of college, I’m starting to see signs that even with Linux this thing is about to become dog food.

This came about after I decided to dive into Android Studio. There are many things you never get to learn in college even when pursuing a CS degree. Those things need to be learned in your off hours, after the 60-80 hours of school work are finished for the week. Not easy, but necessary. I can’t actually say learning Android Studio is essential, but it’s something I’ve been wanting to do so I figured now, while on break, it’s as good a time as any. So, I tried it.

Long story short, AS doesn’t run as cleanly on 32 bit systems as I’d like it to run. The warnings about 32 bit support being deprecated don’t help, nor do the warnings that near-future versions of AS may drop 32 bit support entirely. So, as if it’s not bad enough that Apple is pushing 64 bit development even for software that absolutely does not require 64 bit support, now there are Linux applications that are doing it. I guess I can’t blame them, but as long as I’ve used Linux I’ve been impressed with its ability to run on old hardware and this kinda knocks that impression down a notch. Breathing life into obsolete hardware is a huge selling point, and if I was more environmentally-inclined (on a scale of 0-10, I’m about a 7) I’d say it’s essential for keeping ‘puters out of the local dump.

Oh well. Nothing lasts forever. I would feel better about this if the MacBook was running like crap, but I’m still waiting for it to rattle and it’s not rattling. It’s almost like it’s a high-quality computer or something. Can’t say for sure. Putting this out to pasture would be a shame.

Maybe it’ll become a PLEX server. Who knows. What a sad end to such a regal piece of technology. Or maybe this will become my sole travel computer. It kinda is now, but not officially. I can’t stomach decommissioning it. Something will work out.

Posted in macbook | Leave a comment

Mysterious “btst” DIV hack on this site…FOUND

This is fun, right?

For a long time, I’ve had a hidden (actually just aligned 4000+ pixels off to the left) DIV at the top of every page of this site that included links to websites I have no interest in. I did not put the DIV there. I did not want the DIV there. For a year or two, I have been wanting to kill that DIV but could not figure out how.

Ah, the joys of shared hosting.

Well, this morning I found the code that was causing the problem and I got rid of it. If you’re in a similar situation and have a similar DIV at the top of every page of your [expletive deleted] WordPress site, the following info may help. Note that my situation may not completely match yours so I can not guarantee this will solve your problem. My site’s DIV was immediately followed by an HTML comment that looked like the following comment, in case it helps match my situation to yours:

<!-- btst -->

The code that was causing this DIV to be added was hidden in a BASE 64 encoded string that was being decoded and “eval’ed” in the wp-config.php file in the root directory of my site. The line looked like this (I’m editing the encoded gibberish because I don’t want to share anything useful beyond the appearance of the text):


The line was immediately after the ob_start() command. I deleted it with extreme prejudice.

Voila, no more DIV at the top each page.

I’ll note here that the wp-config.php file was set to mode 644 so only I, the owner, had write permission on the file. This tells me that something within WordPress may have added the nefarious code. I guess I’ll know in a few days because the lines will return to wp-config.php. If so, screw it, I’ll do what I’ve been threatening for years and dump WordPress for good.

Posted in WordPress | Leave a comment

Building YouCompleteMe on Vim 7.4 in Ubuntu Trusty (32 bit)

Oh, how I love documentation for open source software. In some cases it’ll get you close, or at least close enough to take things the remaining 2% of the way to completion. However, far too often it barely gets you off the ground.

YouCompleteMe is a great code-completion bundle for Vim. When it’s installed and configured and running it’s so amazing that you’ll question many of the reasons you use an IDE for development.

That said, getting the damn thing installed on a 32 bit version of Ubuntu “Trusty” will make you want to climb a tower with a high-power rifle. Continue reading

Posted in Vim | 5 Comments

Observations: Getting started with TI Launchpad (MSP430)

This will be more of a collector of observations and notes than anything actually useful or productive. I want to document these things so I’ll remember them. They may even be useful outside of my office. Who knows?

Regardless, here we go… Continue reading

Posted in Launchpad, msp430 | Leave a comment

About getting started with AVR programming

Like one post by a guy like me could possibly encompass everything you’d need to know. Pshaw. Continue reading

Posted in Arduino, AVR, hardware | Leave a comment

Nokia 1260 (or 3360) display and Arduino/AVR? Maybe. Not yet.

I’m going to make a confession. My favorite mobile phone of all time is the Nokia 1260. Nope, not an iPhone, not an Android phone, not even a smartphone. Sorry folks, but the telephone hardware in smartphones sucks all the way across the board. WORST. PHONES. EVER. Why even include the hardware? Screw it, just make smartphones pocket robots and be done with it. I digress.

This little pre-paid AT&T mobile phone was fast, cheap, rock solid, and had all the features I’d ever need in a phone plus about 20. AndandAND…it’s absolutely worthless in 2014. Oh well, I guess phones aren’t in style anymore.

Seeing as how there is no resale value in this thing anymore and I have no intention of moving from my iPhone back to a pre-paid mobile plan, I may as well crack this thing open and salvage parts for DIY projects.

Continue reading

Posted in hardware | Leave a comment

Kenwood RC-405 remote control meets an Arduino Uno

Show of hands: how many of you think remote controls for car stereos are ridiculous?

Okay, maybe I’m the only one. Regardless, I have one and there’s no way in hell I’m ever going to use it in or around my car, so I may as well put it to good use elsewhere.

Like, maybe to control an Arduino? Sure, why not.

Continue reading

Posted in hardware | 1 Comment

Dying in a college math class? You need a better textbook.

So at this point, anyone that reads this blog knows I’m taking computer science classes at a local university. One of my ongoing beefs with * science majors is the (IMO) ridiculous amount of math classes that everyone has to take. In the case of computer science, I swear there are more math classes than there are actual computer/programming classes. It’s nuts.

Last summer I stumbled my way through a pre-calculus class (yeah, I didn’t need to go far with math when I got my BFA) and managed to get an A. I didn’t get an A because the professor was awesome (she was cool but I had a hard time learning from her), nor did I get an A because of the textbook. In fact, I got an A in spite of the textbook–what a utter and complete piece of kunk–and in spite of difficulties learning from my professor. My A was punk through and through. Buck the system, and all that.

I could wax philosophic about college math departments, but I’ll save my conspiracy theories for private conversations. Suffice it to say I think they do not all have your best interests in mind when they (a) choose their textbooks, (b) hire their professors, and (c) teach you math.

In my case, a double-whammy of difficult teacher + horrific textbook drove me to Kahn Academy and other free resources on the Internet. That worked for me, but I still wish my pre-calc class required less hunting. I wish I had a resource right here in my basement office that I could pull off a shelf and read instead of my assigned math textbook.

Turns out I could have done that all along. Oh, the things you don’t think about when stressing over functions.

I checked out other colleges near me and found one textbook that got consistently good reviews from students. It’s called College Algebra and Trigonometry through Modeling and Visualization (2nd Edition) by Gary Rockswold. It’s at least two editions behind the most recent edition, but the beauty of math is that it doesn’t change. The pre-calc you’re learning now is the same pre-calc that existed before Isaac Newton defined calculus. On top of that, when a textbook edition is two or more editions old, it’s dirt cheap. This book was about $150 new, but I got it through for $1.50. Note the decimal position. With expediting shipping, I paid $7. I win.

Long story longer: if your college math textbook sucks, get a better one. It’s cheap and you’ll do better in math in spite of your college’s efforts to knock you down. Bastards.

Posted in school | Leave a comment

The Affordable Care Act. Yeah, that.

Okay, I’m going to get political here for a minute. Don’t want to read it? Don’t worry, just skip it.

Continue reading

Posted in opinion | Leave a comment