Category Archives: Geek

You know you want to know

Raspberry Pi – Video loop

Here is a nice week-end project, useful for automatic presentations, restaurant menus and waiting room video entertainment/marketing/information (my case).

I used a 32″ TV with a Raspberry Pi B (512 Mb RAM), a Wifi Adapter and a 64 Gb SD card (40 $CND at Costco) to create a simple video looping device.

My goal is simple, I want to use SFTP to upload videos in a folder, and have a simple Debian service loop and play each video file one by one.

Since I am not always here to restart the service, a simple reboot of the Pi (by unplugging) should restart the whole thing. No technical knowledge required !

Here is how I done it:

  1. Create nice corporate information slide deck
    • I suggest creating a visually interesting Powerpoint Presentation, with FULLY automated transitions and animation.
    • Test the presentation in Powerpoint.
    • Once it is perfectly tuned, export the Powerpoint to a MP4 video (sadly, only possible on Windows, not MAC OS)
  2. Setup the system
    • Install Raspbian with NOOBS on my 64Gb SD Card
    • Log-in with the pi user
    • If needed, setup wifi
      • type : startx
      • In LXDE, use the “Wifi” tool to setup the network
      • Exit LXDE
      • Reboot (sudo shutdown -r 0)
    • As a principle, I always upgrade the debian package and install vim (both are optional)
      • sudo aptitude upgrade
      • sudo aptitude install vim ctags
    • As we will use the CLI based Raspberry Pi Video player, omxplayer, there is no need for other software.
  3. Create the looping “application” (2 scripts and a folder)
    • Create a /home/pi/movies folder
    • Use your favorite SFTP client (ex: Mozilla) to push the corporate and other movie files to the Pi
    • Create the loop script (mine is named ~/declicTV/videoplayer.sh):
  4. mkdir /home/pi/declicTV
    cd /home/pi/declicTV
    vi videoplayer.sh

The code is greatly inspired from here.
I have made a few improvements:

#!/bin/sh
#first version from http://www.cenolan.com/2013/03/looping-video-playlist-omxplayer-raspberry-pi/

# set here the path to the directory containing your videos
VIDEOPATH="/home/pi/movies" 

# you can normally leave this alone
SERVICE="omxplayer"
SERVICE_OPTS="-o hdmi -n 3 -b"

# now for our infinite loop!
while true; do
        if ps ax | grep -v grep | grep $SERVICE > /dev/null
        then
        sleep 1;
else
        for file in $VIDEOPATH/*
        do
                #debug
                echo $SERVICE $SERVICE_OPTS "$file"
                
                #Display Files
                $SERVICE $SERVICE_OPTS "$file"
        done
fi
done
  • Then, it is a simple matter of adding a script to init.d, just like explained here.
    • Don’t forget the update-rc.d part.
    • Here is my init.d declicTV script:
#! /bin/sh
# /etc/init.d/declicTV
# taken from http://www.debian-administration.org/article/28/Making_scripts_run_at_boot_time_with_Debian

# Some things that run always
touch /var/lock/declicTV

# Carry out specific functions when asked to by the system
case "$1" in
  start)
    echo "Starting script declicTV "
    nohup /home/pi/declicTV/videoplayer.sh > /home/pi/declicTV/videoplayer.log &
    ;;
  stop)
    echo "Stopping script declicTV"
    killall -9 -r videoplayer.sh
    ;;
  *)
    echo "Usage: /etc/init.d/declicTV {start|stop}"
    exit 1
    ;;
esac

exit 0

I hope this will be helpful to you !

Display personal goals as QR Poster

I recently had this idea to display my life goals as a poster in my home office underground lair. The design is composed of 4 life goals and 16 proverbs, and displayed in a frame.
Here is the final result:

Please don't scan :-)

The project was relatively simple:

  • I used the QRStuff site to generate codes in both colors.
  • And then used Inkscape and it’s alignment features to create a .pdf
  • My local printing shop was kind enough to print it so it would fit in my Ikea frame

Upgrade to SSD without reinstalling Windows

It used to be that my first suggestion for a computer upgrade was “Bigger Screen” or “More RAM”.

Not anymore ! I announce that SSD is the next thing ! (If you can tolerate the craziness)

I just got a new Dell XPS 17 with a i7 Processor and 12 Gigs of RAM. I’m planing to use it for testing memory-hungry programs. Since I will use virtualization a lot, I figured I would need to give these SSD drive a try. Dell upgrade hard-drives prices were ludicrous for “no-name” SSDs, so I decided to buy a OCZ Vertex 3 120G drive from a local store.

For the record : SSDs rocks.

But since I forgot/did not bother to ask for a real Windows CD from Dell… I have a problem.

How can I upgrade my classic 500G HD to a 120G SSD without losing the OS ?

First, make sure you have this available:

  • A usb key/CD with Clonezilla installed (CZ)
  • A usbkey/CD with SystemRescueCD installed (SRCD)
  • A “self-made” Windows Repair CD (either 32 or 64 bits) (WRCD)
  • I assume you have access to 2 classic SATA hard-drives. I my case, I also had the good luck to have two SATA drives slots on a laptop. If that is not your case, try to use a USB external drive adapter or enclosure.
  • I assume you are replacing the first drive of a two hard drives system.
    • The main drive is going to be replaced by the new drive;
    • The second drive will remain in place at the end of the process.

Here are the simple, not-at-all-excessive-steps list to follow:

  • CZ: Before booting the system the first time, backup the main drive to the second drive
  • Figure out witch is the main drive (apart from the second drive) (In my case, Dell documentation was helpful)
  • Boot one time using the original main drive
  • SRCD: Resize the main drive so that the partition would fit on the (smaller) SSD drive
  • Reboot Again : Windows will react by a drive test (this is required or the next steps will fail)
  • CZ: Backup one more time (optional)
  • Remove 2nd drive
  • Move main drive to 2nd drive former socket
  • Install SSD drive in first socket
  • CZ: Clone form main drive to SSd drive
  • Remove main drive, and store in safe place (from now on, this will be your backup)
  • Install second drive in second socket
  • Reboot, again . Windows should react by a drive check
    • At this point. you witness your quickest. reboot. EVER.
  • Optional cleanup steps
    • SRCD: Delete “special” and “recovery” partitions
    • SRCD: Resize main partition to maximum size (all disk)
    • SRCD: Set boot flag on remaining “main” partition
    • WRCD: Boot with Windows Repair CD twice
      • First time will trigger an auto-repair feature
      • At second time, ask for “Repair startup” option to repair the OS
  • Reboot, cleanup again
  • CZ: Backup one last time.
  • Done.

The state of Ubuntu as a Netbook OS

Remember netbooks ? Still have one ?

I my case, my Netbook is my primary home computer. This Atom “powerhouse” received HD and RAM upgrades… and the external monitor and wireless keyboard/mouse is really making it a decent workstation.

I find this setup is good for all my needs : Programming (Python, PHP), Web Surfing and MP4 watching.

My biggest problem with this rig is the graphic card. It is fine when the extra screen (1680×1050) is not plugged-in… But the problem comes when I try to find a Linux distribution able to correctly display on the extra screen, that is easy to setup, at that does not suck all the (somewhat limited) power in my setup.

In the last 3 weeks, I tried three : Debian Stable(Lenny), Debian Testing(Wheezy) and Ubuntu 11.10 (Oneiric Ocelot)

Lenny was great while it lasted, but is way too boring

I have great words for Lenny. As I always come back to “pure” Debian when Canonical push it too far (Unity introduction, anyone ?). I been with Lenny for the past 3 months with great results, but as always, the problems are :

  • Having to fight for last versions. (Backports, alternative apt sources)
  • Gnome 2 (almost) stock, nuff said.
  • Stable, vanilla, working, old, plain… (qualities for servers, not desktops)

Then I made a mistake. In my quest for trouble, I decided  the current “testing” version of Debian may feel sexier. I was very very wrong.

Wheezy is still working on is whistle

Wheezy is still very much a testing distribution. 3 hours after upgrading, I decided to give Ubuntu a new try. The bugs with Wheezy (this week) were:

  • Broken Wifi
  • Broken eclipse packages

I know it’s my fault. Expecting the “testing” version to be usable so near of the last stable release was madness… anyway, I’m glad if at least you don’t do the same.

Ubuntu, saving the day (for once ?)

Being tired, needing my wifi… I made a move that was maybe pushed on me by despair. I tried Ubuntu 11.10. Last Time I did, on the very same Netbook, I ended my “relationship” with Ubuntu for the following reasons :

  • They” introduced Unity, and took back the good netbook interface I loved (I assume I was the only one)
    • Unity was not ready, but it was made default for some reason.
  • “They” introduced Ubuntu One… And we were all lab rats. (Heavy integration, syncronisation was releasing odd messages when offline, program and/or website failing)
  • “They” changed the UI radically, going as far as removing nautilus. And while nautilus is not perfect, it is better that M$ explorer, and *WAY* better that the first Unity suggestion.

Boy, they made me hate that OS… And they drove me away for a year or so… But now I F$%@ up my Debian setup, and I am ready to give “Them” (Canonical) another chance.

I did the right thing.

Ubuntu 11.10, my comments so far

So far, I notice:

  • Canonical improved it’s own installer. (yet again)
  • The OS is working faster than before. (after some adjustments, see below)
  • I now have modern version of Firefox, and Libre office, by default. (Debian, this is why you fail me on the desktop)
  • Unity is still there, but nautilus is back. (I’m so grateful by the way)
  • As usual with Ubuntu, Wifi setup and encryption setups went very quickly and painlessly.
  • The new UI now feels simplified, and pure.
  • I still use Synaptic.

I’m overall very optimistic for the future, and can say I am slowly coming back on the orange side.

Small adjustment I had to make for my Netbook

Here is the things I had to do to make the Stock Ubuntu 11.10 more friendly:

  • This excellent list of things to do after 11.10 installation on sudubits.com
  • I installed “synaptic” (# sudo apt-get install synaptic)
  • I rebooted, and choose the “Gnome 2D” option before login. This allow for 2 things :
    • It removed “Compiz” from the picture entirely (see the picture below).
    • It allowed my (limited) graphic card to display at higher resolution.
This is the reason Compiz is no longer a "Netbook friendly" software. I made that screenshot by simply moving a nautilus window around.