Ubuntu 13.4

It has been a busy several days. I decided to upgrade the fleet to Ubuntu 13.4…and everything that a non-long-term-supported distro involves.

Step 1_: backup data
Step 1a: reevaluate backup regimine
Step 1b: realize backup system is non-sustainable
Step 1c: implement cloud storage solution
step 1d: place eggs in cloud basket
Step 2_: upgrade machines
Step 3_: fix a whole bunch of junk
Step 3*: junk fixing

Step three got ugly. Canonical blacklisted a whole bunch of stuff that ran and runs well. Thumbs down.

post storm calm
post storm calm

The upgrades to my machines were simple, but significant issues arose in updating from 12.04 to 12.10 and from 12.10 to 13.4. The former was mainly in ‘not compiling video card drivers’ and the later was primarily pertaining to neglecting Dell’s primary Wi-Fi drivers. I went manual and had boxes that were mostly functional, but decided to roll the dice on fresh installs…which, predictably, worked well. That gut feeling in doing something of that nature is very Window-y, and I don’t like it one bit.

In short, poorly played by Ubuntu. It might be time to get some real QA going on these upgrades…I spent enough time researching this stuff to be upset, and I debug issues similar to this professionally. There was a ton of noise on forums, so it is safe to assume the user base was significantly disheartened by this process.

On the flip side, 13.04 is slick…Unity is improved a ton…all of that. The marketing is not cool, and I’d be better off with pure Debian if this wasn’t one of my hobbies. Worst upgrade of all time, but still something I look forward to and will likely do again.

D+

Spotify on Linux

Hey nerds. Guess what? Spotify on Linux.

Super easy too…fire up a terminal [ctrl-alt-t]

Step one:
cd /etc/apt
Step two:
sudo vim sources.list
Step three:
add “deb http://repository.spotify.com stable non-free” to the file

spotify for linux
sudo vim

Step four:
sudo apt-get update

spotify linux ubuntu
_{_n_/_Y_}_Y

Step five:
sudo apt-get install spotify-client-qt

spotify on ubuntu
can I kick it

That is that. It is not a supported version, but I doubt anyone installing via aptitude will really care about that item.

Side thought: How sad is it that my favorite album came out in 1993? Old balls.

Virtually Awesome

You may be wondering how I could one-up my work setup. Probably not, but play along.

We are too .NET-y for me to nuke Windows, but Oracle-y enough to get carte blanch on a whole bunch of new stuff.

Item one: VM Virtual Box Manager

virtually awesome
virtually.

I have an Ubuntu box rolling on the far right and an Oracle Linux box dead center. DropBox setup on the base machine and virtuals, for quick file mashing…diffing…command line python…grepping, etc. Good stuff.

The only thing that could be more virtually awesome would be a fourth monitor running Arch Linux. Virtually unbeatable.

Android SDK / Eclipse / Ubuntu

I updated to Ubuntu Oneiric Ocelot last week. For some reason, the automatic upgrade process botched pulling over my Android Development Tools (ADT) components. Chalk this one up with the strange camera issue I am seeing, as two votes for bailing on a fixed release cycle. Canonical has pushed out two consecutive iffy builds…but I digress.

It had been a while since I had set my Android development environment up. I had to start from scratch, so figured I would spell out the process.

Note the lack of “Android *” from the list of installed components:

eclipse ubuntu android sdk
...no sign

I’m starting from the point of having Eclipse installed. That part is straight forward…I snagged it off of the Ubuntu Market, but you an do it with Aptitude or however you like. Same goes for the JRE and JDK, the Java Runtime Environment and Java Development Kit. Snag those from the Market, Sun’s site, or apt – get…verify you have the correct version by running “java -version” from the command line. Mine is currently:

swantron@Dell15:~$ java -version
java version “1.6.0_23”
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre10-0ubuntu5)
OpenJDK Server VM (build 20.0-b11, mixed mode)

The Android SDK is the next component to snag. It has two pieces: Standard SDK (starter package) and SDK components. The later is where you can grab pieces to test Galaxy Tabs…stuff like that. The specifics are located there. You first need to download the starter package from d.android.com/sdk and run the UI. There you can pick and choose the pieces you want to implement, manage emulators, etc.

The last piece is the actual Eclipse plug-in. It is simple to implement. Navigate to Help . Install New Software, and feed through the process until you are asked for a site location. Said site is dl-ssl.google.com/android/eclipse

A restart should have Eclipse up and running. Give a shout if it doesn’t…after doing this a few times, I am becoming somewhat of an expert.

Upgrade to CyanogenMod

My relationship with Motorola’s firmware has ended. It was a good run…well, no. That is a lie. It was certainly better after rooting my Droid 2 and wiping out Verizon’s boatware, but the Moto* junk had to go too. I finally decided to gut everything and install Cyanogenmod yesterday.

It is plus one awesome.

Although the process of flashing Cyanogenmod’s firmare involves a little work, it is no more difficult than rooting the phone in the first place. Since I did that a while ago, I really wasn’t concerned with blowing up my warranty…I figured bricking the thing would either result in some sweet haxxing or a new phone. Win / win.

I would suggest an upgrade to anyone. My phone finally screams, as it should have from day one. My battery life is better | everything imaginable is configurable | my apps and Google accounts all work | and, wait for it, I don’t have to kill processes all day. In fact, I don’t have a stand-alone task killer going…that is pretty surreal still.

Well, as with any exercise of this nature, backing up is imperative. Astro File Manager is great…Titanium Backup is great. The other players are the same too…ClockworkMod Recovery makes snagging the MODs easy. I am actually running a daily build, since there is not an official stable build for the Droid 2 yet. No memory leaks though, and everything so far has been functional.

Anyhow, on to the actual firmware stuff. I downloaded the zip file, and booted into recovery mode…

cyanogenmod 7.1 install android
lousy picture is lousy

…during game one of the World Series. Not sure if that is Pujols or Furcal in the reflection. Either way.

Great picture, huh? This is the first time I have used my webcam since upgrading to Ubuntu 9.11. Whoops…screwed up the camera, fellas.

On the screen is a ClockworkMod selection for Google’s bits. I imagine that this was done for legal reasons. Anyhow, I had to go back and install this from recovery, as I missed it at first.

CG7.1 android installation droid 2
Katie's guest cameo

Hi Katie. ^

I also managed to get stuck in a boot loop of sorts during my first attempt. It turns out that I cleared the data but not the cache from the recovery menu. No good. A pulled battery and some troubleshooting and we were good to go.

cyanogenmod boot loop
post boot loop

I spun up the Android market, and did fresh installs of my apps. For the important stuff (the Angry Birds Trilogy, 9 Innings Pro Baseball, et. al.) I pulled the backup data back over top of things. No issues.

I had been wanting a landscaped workspace since I got my phone. .. now I know why…

landscape mode on cm7
at long last

It just makes sense. CM7 allows this to be configured. Like basically everything else. Want your menu on the bottom? Put it there. There are options all over the map…like the camera exposure, for instance.

camera function CM7.1
choice laden

Sweet. It is tough to beat the performance gains in general, but it is wholly possible. Check this out:

Cyanogen Warning Dragons Ahead
here be dragons

One stop overclocking. Disregard that popup and go nuts.

One part of me wishes that mobile carriers would take note of Cyanogenmod’s presence and push Android updates to customers. The other part of me likes to void warranties and do things that the clowns from Verizon frown upon. Either way, my phone is now awesome…that is all that matters.

Ubuntu Update Day

The Dell Mini 9 always draws short straw. The little guy once again gets to play the part of guinea pig, and be the first to upgrade to the new version of Ubuntu.

ubuntu upgrade day
+1 Oneiric

V. 10.11 a.k.a. Oneiric Ocelot

We’ll see if they sharpened Unity up a bit. Preliminary reviews are pointing at a good release. Expect my review before long.

FWIW, ‘oneiric’ is a mouthy way to say dreamy. I don’t care for the word, and neither does my spell checker.

Ubuntu Update Day

The Dell Mini 9 always draws short straw. The little guy once again gets to play the part of guinea pig, and be the first to upgrade to the new version of Ubuntu.

ubuntu upgrade day
+1 Oneiric

V. 10.11 a.k.a. Oneiric Ocelot

We’ll see if they sharpened Unity up a bit. Preliminary reviews are pointing at a good release. Expect my review before long.

FWIW, ‘oneiric’ is a mouthy way to say dreamy. I don’t care for the word, and neither does my spell checker.

Ubuntu Fast Flash Issue

I was horsing around with the Google+ Hangout function last week. In installing the required Google / Flash plugins via Ubuntu Update Manager, I managed to cripple my system.

I wiped Flash off of my machine, did a fresh install…the whole works. To no avail. The bug (and fix) were strange enough to warrant a write-up.

First, the symptoms were strange. Any Flash video would run super fast…triple speed. While watching Cubs replays in fast forward was sort of amusing, I couldn’t get audio to work either. All media was wonky, including streaming audio. I tried to play an MP3 from my hard drive…playback was nonfunctional. That sort of led me to the solution:

ubuntu audio problem
hmm

I disabled the HDMI audio function, restarted Firefox, and that was that.

Why audio settings would spawn that sort of malfunction is beyond me. I am going to submit a bug report on this guy…too strange to let slip.

Spoofing User Agent Types from the Command line

I’m back on the command line…look out…

ubuntu terminal spoofing user agents
green on black...my favorite

So, I am still poking away at various ways to interface between the bash and various web components. This stuff is still shaking out of my Twitter to CLI to LCD project. I have been using some of the usual suspects (wget, python url libraries, etc) in an effort to find one that is best suited to sniffing and parsing html info. I have found that writing to serial is the most fail-proof means of mashing around data quickly, so that is my inspiration.

Anyhow, I was horsing around with curl on the command line. It turns out, that spoofing user agents is pretty simple to implement.

Take this two-line one liner for instance:

swantron@Dell15:~$ x=10
swantron@Dell15:~$ for (( y=1; y<=x; y++)) ; do curl --user-agent "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" swantron.com ; done

In a nutshell, this is acting to snag this site ten times, with credentials indicating the machine is running Windows 2000 and MS Internet Explorer 5.1. The success is indicated by my server statistics:

Before:

Windows 2000 IE 5.1
Windows 2000 IE 5.1

After:

IE 5.1 on Windows 2000
IE 5.1 on Windows 2000

Not too bad. I am considering using this as a testing tool for my site. Messing around with PHP and CSS…I can put together a quick regression using some legacy operating systems and browsers to make certain that I can still snag my content. Granted, the example setup may seem like gross overkill, but as those stats indicate, I do see quite a few requests from ancient machines. Makes you wonder..

Anyhow, this layout is in need of some serious testing. If anyone is interested in a copy, drop me a line. Cheers.

Twitter CLI Teaser

I sort of forget what my original project entailed…something about tweeting via the command line, for Arduino purposes. You can pretty much just toss a bunch of words in a hat, and add ‘Arduino’ and ‘Command Line’ to them, and there you have one of my typical projects.

Anyhow, here we find ourselves. I am missing some dependencies with OAuth, but have managed to get twitter working from an interactive python shell:

cli twitter
command line-y

This section is as much for my reference as it is for public knowledge…I snagged the commands that I ran to snag my comments. It first prints swantr0n (my dev account) and then my primary Twitter feed, @swantron

swantron@mini9:~$ python
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24)
[GCC 4.5.2] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import twitter
>>> api = twitter.Api()
>>> feedSwantron = api.GetUserTimeline(‘swantron’)
>>> feedSwantr0n = api.GetUserTimeline(‘swantr0n’)
>>> print [ x.text for x in feedSwantr0n]
[‘development account for @swantron | tune into http://t.co/SpDFBkK for projects’, ‘hello world’]
>>> print [ x.text for x in feedSwantron]
[‘@vftb …you better believe it’, ‘Twitter Project Teaser : http://t.co/7ZrOLUn | one step closer to tweeting from the #CLI … might take a run at make it tweet’, ‘Might need to implement some sleeves into my wardrobe… @adafruit just flipped the script with open source cuff links’, ‘unsafe at any speed… updating #ubuntu on the road http://t.co/Q8gfc56’, ‘Upgrading Mini 9 to #Ubuntu Natty http://t.co/7yT9w81 | posting to kill time… review here ( http://t.co/RM675lX ) lunch-aft on the morrow’, ‘https://swantron.com/basic-mower-cord-repair/ #DIY lawn mower repair from a #math major. spoiler: it works’, “#arduino no you didn’t https://swantron.com/html-to-python-to-arduino-to-lcd/ #LCD project, stepped up a bit”, ‘working on a python script to dump info from web to LCD https://swantron.com/python-teaser/ #arduino’, ‘http://youtu.be/MpomhE6dgww video of #boc unboxing (for the win)’, ‘#woot bag-o-crap unboxing @ https://swantron.com/woot-boc-unboxing/ not too shabby’, ‘https://swantron.com/compiz-error-in-ubuntu-natty/ still finding some compiz issues in #ubuntu 11.04’, ‘#Arduino project @ https://swantron.com/command-line-lcd-arduino-interface/ | driving LCD screen via command line’, ‘@RobotGrrl… what version are you running? I had no problems with IOIO / Droid 2 (froyo 2.2)’, ‘Easy LCD #Arduino Display | https://swantron.com/easy-lcd-arduino-display/ | feels good to have a warm soldering iron and functional hardware’]
>>>

I will keep plugging away until I get this thing hammered out. If not, I can print this suff to my LCD for a real-time Twitter display. Could be cool either way.