Skip navigation

image

Any idea what it is?

I bought a Raspberry Pi for myself this Fall in order to play around with the minicomputer that is so popular these days as an opportunity to teach myself a little more about Linux, hardware, and networking. I read many many posts about lots of individuals running the Pi as a media server for their first experience with this computer. Seemed like a reasonable place for a Pi noob like myself to start as well…

If this previous paragraph sounds anything like you, consider this post a warning.

TL;DR version: DON’T! Just because you can do something, doesn’t mean you should.

  1. Install RaspBMC to SD card
  2. Boot Pi
  3. Wait for OS to initialize
  4. Realize process is frozen
  5. Reboot Pi
  6. See that installation is corrupted because previous attempt to start failed
  7. Go back to step 1
  8. Continue previous steps until the XBMC interface actually installs all updates without freezing or corrupting itself
  9. Try to do something once interface is loaded
  10. Oops, you moved the mouse too quickly or used the wifi connection and pulled too much power; system is hung
  11. Reboot
  12. Continue this process until you can get to the “Plugins store”
  13. Browse available plugins
  14. Peruse the vast wasteland of useless XBMC plugins
  15. Realize that nothing worth loading runs on an ARM processor (Want Netflix/Hulu/CW/ABC/etc? Too bad!)
  16. Say fuck it all and install something else your SD card. This thing wasn’t meant to run XBMC

If you want a media player, just buy a commercial product like a Roku 3 or Apple TV. By the time you’ve invested enough time, money, and energy in just getting what the Pi needs to run (case, 5V/1A+ PS, USB cable, HDMI cable, powered USB hub, SD card, mouse, keyboard, wifi dongle, etc), you will have spent MORE on an inferior product!

But wait a minute, this was supposed to be a learning exercise for you, right? Didn’t you at least learn something about the hardware or Linux? Well maybe, I did learn how to get my TV tuner working on my laptop, in an attempt to get it working on the Pi. So there’s that. But the time I wasted and frustration I endured was absolutely not worth learning that bit.

I’ve got Raspbian wheezy, a Debian derivative for ARM processors, installed on it now. That is running great so far. Probably just going to keep it there too. I’m still running Mint, also a Debian-derivative. Its easier to keep everything the same for the sake of learning

Still here. Just limping along without an internet connection at the moment.

My laptop has been crawling lately, and not just because Box is running the background. Some damn “Windows Search Indexer” service is chewing up half my CPU cycles.

Windows Search Indexer

Microsoft Windows Search Indexer out of control

My laptop is crippled enough, here’s how I fixed this errant ‘Windows Search Indexer’ service in Windows 8.

First, bring up the right sidebar, and click on the Search button.

Windows 8 Search

Windows 8 Search

We are looking to stop a service, so start typing the word ‘service’.

Search for 'Services'

Once the ‘Services’ button appears, click it to open.

Services

Next, find the “Windows Search” service.

Find the Windows Indexer Search Service

Open this Service and disable it.

Windows Indexer Disabled

After a brief period, the service should be shutdown.

I haven’t had any issues with search or performance since I performed this trick. If there is a downside, I haven’t come across it yet.

I have a Samsung Epic 4G. A really old-ass Android phone. Fortunately for me, Android is an open platform and a very talented pool of hackers and coders have created a vibrant non-commercial ecosystem.

Case in point, I am running Android 4.1.2 (Jelly Bean) on a phone that Samsung never intended to get past Android 2.3 (Gingerbread). The features this opened up to me (running apps that previously were blocked, Google cards, enhance system customizability, etc)  made the phone feel as though it were brand new!

Now, to clarify, I am running the very popular cyanogenmod ROM. Currently running version 10. I could go into a whole other blog post about the bluetooth and memory issues I experienced in CM 10.1, but I just want to get to the fix I needed to get CM10 running smoothly.

I immediately started experiencing issues with the software keyboard after I loaded the gapps package for CM10. I was continually getting the error message, “Unfortunately, Android keyboard (AOSP) has stopped working”  popping up everytime I tapped on something that needed text input. This practically made the phone unusable. Fortunately, the Epic has a hardware keyboard and I was able to find a workaround.

First, you will need to download some alternative keyboard app. I had purchased SwiftKey a while ago when it was on sale, so I just added that to my phone again. I imagine that you can install your keyboard app of choice.

Select Menu (hardware key) -> System Settings – > “Language & input”

language & input

Select Language & input

Select SwiftKey or whatever keyboard app you downloaded

Select alternative keyboard app

Select SwiftKey or other keyboard app

Notice that the Android keyboard (AOSP) can’t be unchecked. This is a problem. Even though the SwiftKey keyboard now appears whenever a keyboard is needed, the Android keyboard is still being opened too. The error message is still appearing. This can be fixed by disabling the Android keyboard app.

In order to do this:

From the Home screen:

Select Menu (hardware key) -> Manage Apps

Swipe all the way to the right until “ALL” app list is displayed, and navigate to the list until “Android keyboard (AOSP)” is displayed

Navigate to Android keyboard (AOSP)

Navigate to Android keyboard (AOSP)

Select the Android keyboard to bring up its properties. Then select ‘Disable’.

Disable Android Keyboard (AOSP)

Disable Android Keyboard (AOSP)

This will deactivate the keyboard and thus, Android won’t continue to try to open the broken keyboard.

I haven’t had a keyboard error message since I have done this.

Just a quick teaser post for today’s Friday Fix. It is of a personal nature as well.

About two or so weeks ago, I began looking for a house. What should be a fun and exciting life event, has been marred by the incredibly frustrating and stressful process of trying to get a loan. I am going to do a proper write-up on my situation shortly and the challenges involved. But in the mean time, I want to point out that not having a credit score, even if you have no other debt or delinquent payments, is a huge deterrent to getting a home loan. Without a credit score, a person is automatically deemed a high risk individual until proven otherwise (via manual underwriting).

Hey everybody, kind of an exciting Friday Fix this week. I just submitted my first pull request to an open source project!

First, a little back story. A short while ago I noticed a discussion on Twitter, that spread to github, regarding the name of a particular javascript testing library named Testacular. I believe that it was meant to be a play on the work ‘spectacular’, but it doesn’t take a huge leap to notice that it is one vowel away from the word ‘testicular’. A very valid argument was made that by naming the library in such a way, the project’s author was potentially alienating women and thus undercutting the project’s adoptability. After a semi-heated debate on the project’s github issue tracker, the name of the tool was changed to ‘Karma’. Fast forward to this week, and I’m checking out AngularJS to see what the buzz is about. In checking out the tutorials page, I see a reference and link to the Testacular framework for testing. Knowing that this information is no longer accurate, I click the “Improve this doc” button, modified the references to Testacular, created a pull request, and submitted! As of the writing of this post, the change isn’t on the site. But it does look like it passed testing and will be merged into master at some point.

It is an odd feeling, the level of accomplishment I experienced for having done something so simple. But I guess that’s the nature of open source. So many individuals providing contributions, both large and small, all striving toward a common goal. Everyone wants to improve the project, and anyone can contribute. And now, in a very tiny way, I have helped make the open source community a little bit better.

In working with a Liferay theme recently, I came across a curious bug involving jRuby and CentOS 6. It manifested itself in a rather confusing SASS parser error (the details of which I don’t have anymore). To add to this confusion, I had just switched from using the traditional Ant-based Liferay plugins build to using the Maven liferay-theme-archetype. After spending almost two days trying to figure out what was going wrong with my project, and a lot of help from our NetOps genius, I stumbled across the answer. It was a library problem that existed only on Liferay systems running on CentOS 6.

Fortunately the fix is simple, as it’s just a property override.

Add the following lines to your portal-ext.properties file and bounce your server. Everything should be ready for deployment after that.

scripting.jruby.load.paths=
classpath:/META-INF/jruby.home/lib/ruby/site_ruby/1.8,
classpath:/META-INF/jruby.home/lib/ruby/site_ruby/shared,
classpath:/META-INF/jruby.home/lib/ruby/1.8,
classpath:/gems/chunky_png-1.2.1/lib,
classpath:/gems/compass-0.11.5/lib,
classpath:/gems/fssm-0.2.7/lib,
classpath:/gems/sass-3.1.7/lib

I have spent the past month, attempting to learn my way around the Vaadin framework. Kind of sucks that its Eclipse plug-in is broken, right out of the box. As soon as I installed it, I started getting this error whenever I would launch my IDE.

Could not start XULRunner(version 1.9 or higher required)

Could not start XULRunner(version 1.9 or higher required)

I didn’t, and still don’t, know what the hell XULRunner is. Some library from the Mozilla Developers Network that is currently at version 19.0.2, as of this writing. I think the good folks at Vaadin have abandoned this project; version 1.9 is ancient!

Software rot aside, if you’d like to get rid of this annoying error dialog, you will need to add XULRunner 1.9 to Eclipse’s file path. Here’s how I did it:

  1. Close Eclipse, if it is open
  2. Download XULRunner 1.9.2 from MDN
  3. Install XULRunner by following the instructions here for your operating system.
    1. Be sure to perform the registration step
  4. Open eclipse.ini or your Eclipse shortcut (Windows) and add the following line
    1. -Dorg.eclipse.swt.browser.XULRunnerPath=C:<path><to>xulrunner-1.9.x.x
    2. Here, you can see how I added the line to my Eclipse shortcut link
    3. Adding XULRunner to Eclipse's classpath via shortcut

      Adding XULRunner to Eclipse’s classpath via shortcut

    4. Click ‘OK’ or Save the ‘eclipse.ini’ file
  5. Start Eclipse

Hopefully, at this point, the error will be gone and you can move on to being disappointed by the Vaadin Visual Designer, distraction-free!

I spoke with a recruiter recently, in an attempt to get a feel for the marketability of Ruby skills in my area. He hadn’t heard of any Ruby jobs that were available, but he did have one that called for Groovy on Grails. I have heard of this technology in the past, but didn’t know what it was. After a bit of research it seems to be language and convention-over-configuration framework that runs on the JVM, very similar to Ruby. So this has gotten me wondering if focusing on Ruby would be a mistake. Judging by the number of resources I encountered for each during my brief investigation, I’d say that Groovy doesn’t seem to be anywhere near as popular as Ruby. But if there is a job market for Groovy over Ruby in my area, perhaps I should be looking there instead.

Of course, it would be foolish to change my entire career path on such a minor and anecdotal conversation. If I get out of this missed deadline hole I’ve dug for myself at work, I’ll have to research the topic more seriously. I’m new to both, so I’m thinking that I’ll still lean toward the tech with more free tutorials and resources available. I have such a backlog of codeschool lessons and youtube videos to watch, I don’t think I’ll ever catch up.

In related news, I have decided against developing on Dreamhost’s version of Ruby/Rails. They are extremely old (Rails 3.03, anyone?) and I can’t upgrade them on the shared hosting I have. I’ll look at getting some dedicated Ruby hosting once I have something worth sharing.

%d bloggers like this: