Close

Skyhook Wireless: Wifi-Based Location Detection (and the handy API)

Skyhook Wireless is a company that does one thing, and does it well: wardriving. They send vans equipped with wifi-detecting equipment and GPSs (wait, is that the plural of GPS? Is it GPSii?) and log the data. Unfortunately, they do not make their data publicly available. What they do have, however, is a XML API.

With a simple HTTP POST, you can (quite accurately) determine the location of a computer based on the BSSIDs (MAC addresses) and signal strengths of the networks it sees. You receive back an easily-parsed XML document containing latitude, longitude, and street address. However, Skyhook is quite bad at figuring out street addresses; the latitude-longitude data is much more helpful.

Skyhook has a Javascript API for web apps with a special browser plugin. The C API is handy for C apps (even has a Linux version!). But those are both wrappers over the simple XML protocol.

OATT is a Sourceforge project to create an open antitheft tracker for stolen laptops. Full disclosure: I am the admin of the project. For laptops without (insert plural of GPS here), I decided to use Skyhook and created a handy Python wrapper.

To use this wrapper in other Python apps, you must do three things (not including downloading the code and cd’ing into the source.)

  1. From a shell, run “sudo IWList.py”. This will save network information accessible only to root to a file. To update location, you must rerun this command.
  2. In your Python program (the OATT source must be in your $PYTHONPATH), add “import lookup” to the top of the source.
  3. In your Python program, read the contents of “lookup.results”. This is a dictionary with the following keys:
    • “address”: This is a tuple containing the house number, street, city, state, country, and zipcode, in that order.
    • “latlong”: This is a tuple containing the latitude and longitude (both with very many digits after the decimal) in that order.
    • “accuracy”: This is a value taken from the raw Skyhook data. It represents the accuracy in some sort of units.

I am not affiliated in any way with Skyhook. However, they are quite technically impressive and I believe the API should be in much wider use.

Don’t be shy

In this article I shall attempt to relive my experience finding, beginning to use; and finally full conversion into a GNU/Linux desktop user. I will enumerate both the frustrations and the pleasures experienced during this first year of use. In an attempt at full disclosure my opinions and bias will be sprinkled throughout; after all this is written entirely from personal perspective. In the end the purpose of writing this is to provide the experience of one local (eastbay) user to any and all people who have started to use, or contemplated using Linux (shortened from Gnu/Linux for brevity) for any reason.
In February of 2009 I was paying money for inferior software, third world phone support, and software to protect me against inferior software.  I had had enough of the frustration wih being infected with spyware, viruses, and expensive proprietary software. And yet how to tumble out of the immense monetary dryer set to Permanent Press? Then a realization buried beneath the frustration finally arrived: the problem wasn’t Micro$oft. It was me. I had been scared of change; sceptical of an operating system being free. So I set out to research what this Linux was. How could an OS be free? Who was doing this? I used the internet for all my research. I read the history of the Gnu project, copyleft, and Linus Torvalds. I learned why it was free and remain grateful. Next I needed to find out if it was for me. To accomplish this I decided to aggregate opinions of everyday Linux users from various websites. Gleaned from across all the blogs, forums, and video posting sites I visited the zeitgeist was ubiquitous: Linux users were elated with their OS. The virtues extolled by most are Linux being virtually virus free, open source, and community oriented.
So I had found a free replacement for the Windoze but it came with a steep learning curve. I ran into problems getting online since at the time I knew nothing about command line interfaces, package managers, or even simply a network manager. This was for my 3G USB dongle I had at the time. All I knew up to that point was plug and play connectivity. I hadn’t been exposed to anything more than click here and here then watch for the spinny thing and a balloon popup notifying me that I was online. I didn’t understand device support or (I had only a notion of) what a driver actually was. I was too soft from allowing myself to be spoon-fed by a Microsoft GUI. Fortunately for me, after a tweak or two, it became easy to get online while using Ubuntu. Next came installing video and audio codecs so that I could watch movies. What I had done before was install movie playing software from CD’s that I had to buy, all wrapped in shiny paper, so that I didn’t have to deal with Windows Media Player. Now, so long as I was online, I could use the free package manager to download free codecs. All it required was a search engine to find out how. After all this I decided to set up dual booting between Ubuntu and Windows. Several months would elapse before I knew enough about using even a ‘desktop-friendly’ distro such as Ubuntu so that I could ditch all the bloatware from my laptop and use Linux as my sole OS. It could have been a lot easier had I simply visited my local Linux user group; but instead, I decided to not ask any questions on a forum or blog and RTFM like I was told to from the old hacker texts I downloaded.
I would like to make this point: you don’t need to go the same route as I did. If you are busy with work, family, and other activities; and also, you would like to actually meet someone in person rather than going back and forth on a Q&A forum, come visit us at the next BerkeleyLUG meeting. This way you can get a feel for the community in general; which in my opinion is great. Or perhaps even more pertinent for someone who wants to try Linux for the first time: https://wiki.ubuntu.com/Grantbow/UbuntuForTheVillage. When I, with trepidation at being such a newb, did attend my first meeting I was delighted to find anyone from new users such as myself to advanced users. Some of these advanced users can be seen without even a GUI; they hardly use anything but the command line! That kind of elegance I find fascinating; and it winds my clock aspiring to communicate with my hardware only a layer or two removed from the components as they do.
The free and open source software community and computing in general have propelled me so much that now I find myself yearning to be deeply involved with computerization. In fact I mean to ‘drop out’ of my current profession to pursue a different career. It is my sincere hope that this article will nudge at least someone out of their Redmond, WA induced torpor and into an adventure in the world of FOSS. Please join us at BerkeleyLUG.
P.S. Here is a short glossary of acronyms used:
FOSS – Free and Open Source Software
GNU  – Gnu’s Not Unix
GUI   – Graphical User Interface
LUG   – Linux Users Group
OS     – Operating System
RTFM – Read The F*****g Manual

Banshee and Android Rock Together . . . Or Why Ubuntu Should Drop Rhythmbox

To a Linux user like myself, an iPod is more or less a fancy paperweight; since Apple does not provide a version of iTunes for Linux.  Yes, it sorta works in Wine and does work well in a VirtualBox… but, really, why bother?  Even if there was an iTunes client for Linux, I probably wouldn’t want to use it when there are already sleeker, faster and more complete media players for Linux available like Banshee, Songbird and Amarok.  This doesn’t mean I don’t get a little jealous about the iPod/iTunes experience, though.

Android users often ask if there is an iTunes like app for synching their music to their Android phone.  The answer is yes – unlike the iPod, Android is an open platform and users can use any number of applications to sync their music collection to their phone, including simply dragging and dropping your music folder onto the android device.  Drag and drop works well enough, but if you want to sync podcasts, playlists and album art to the device automatically, you need something a bit more sophisticated.  Banshee does all of this for you and more.  When you plug in your Android device (for Nexus One support pictured below you need the most recent package from the Banshee PPA), Banshee automatically shows you the music and videos on the device.  If you have purchased music from the AmazonMP3 store on the phone, Banshee recognizes it and gives you the option to import it to the music collection on your computer.  It then gives the option to sync your music collection to the phone.  It will also automatically, sync your newly downloaded podcasts, artwork and playlists with the phone.  Add or delete a file in Banshee, and it is added/removed from your Android device the next time your sync as well (you can instead choose to manually manage which songs or playlists go to the device).  Downloaded a new podcast, or listened to an old one?  That change is reflected on your Android phone the next time you sync as well.

By the way, got an old iPod lying around?  Try putting Rockbox on it, Banshee detects and syncs Rockbox devices flawlessly.

When you consider that Banshee also plays and manages your video collection, looks elegant, has a ton of useful plugins, including amazing Last.FM support, and has full-time support from Novell; you’d think it would be a no brainer for Ubuntu to switch from Rhythmbox to Banshee.  Appparantly Ubuntu is hung up on the few things Rhythmbox has that Banshee doesn’t like crossfading and a magnatune music store (despite the fact that Banshee now has EMusic support and demand for magnatune is small compared to stores like EMusic and AmazonMP3).  And, of course, there is the anti-mono contingent.  Whatever the reason, it’s sad that Ubuntu is holding on to Rhythmbox and that the great Android support to be had with Banshee won’t be default.

Edits:

In the comments below, it was pointed out that gtkpod can sync newer iPods.  That is good news.  When I had an iPod Touch a year or so ago, the only way to sync it on Linux was the jailbreak it and use ssh to get into the device…

OMG!Ubuntu posted a nice summary of new features coming in Banshee 1.5.3 to be released tomorrow:  http://www.omgubuntu.co.uk/2010/01/whats-new-in-banshee-153-folder.html

Sunday Meetings Continue

We hope to see you on Sunday at Bobby G’s Pizzeria, 2072 University Ave, Berkeley.   On the 2nd and 4th Sunday of each month we have our usual sparkling conversation, sharing of tips, tricks & solutions and planning for some events coming up in the next few months.  The next releases of various Linux distributions such as Ubuntu are coming up as soon as the end of April which isn’t too far away to begin thinking about release parties and associated events.

Another triage fest!

Hi, Kory Malmrose here. We’re going to be doing another triage fest this Saturday, the second day of the new year. Same caveats and information apply from the last one, except with one change: There will be a suggestion(not a strong suggestion, but a suggestion nonetheless) to be there between noon and 4.

Super Linux Triage fest at Zareason HQ this weekend

Berkeley High School student Kory Malmrose  will be hosting a triage fest tomorrow, Saturday Oct 31 and Sunday, Nov 1, at the Zareason shop in North Berkeley.  If anyone is bored tomorrow and would like to come assemble machines for Linux labs for schools in Mexico, this will be guaranteed to be a good time.  Plus free pizza!!

As an added bonus, this project will be held at the Zareason shop in Berkeley, the site where many of us have purchased pre-installed Linux machines.  Come on over and see the west coast’s best Linux-only retailed in action!

Here is Kory’s announcement:

####################

I need help frankensteining 30 desktops so I can send them to Mexico for a Technology Transfer Program led by Stormy Peters of the GNOME Foundation. Christian Einfeldt was nice enough to give us the hardware and last weekend we moved them from SF to my family’s computer shop in Berkeley. The project is for my Eagle Scout. I was going to have a group of friends help that helped my brother with his Eagle Project, but something came up at the last minute and now I have only one helper on Saturday and possibly two on Sunday (all from the Berkeley LUG). Are there any other LUG volunteers in the Bay area who can help me out?

The first session is at 10 am on Saturday (and other on Sunday) at our shop at 1647 Hopkins St, Berkeley, 94707. The BART is close & we can pick you up from there if that makes it easier. We’re also getting some great Gioia pizza and some good stuff from Hopkins Bakery for lunch. Stay however long you like and if you can’t come at 10, we have other times that will work too. Let me know if you can help.

Thanks for helping out at the last minute. I really appreciate it.

Coming in December: Ludum Dare 48-Hour Game Programming Contest

The 16th bi-annual Ludum Dare (a.k.a. LD48) game programming contest is coming up in December. This is a really fun, very informal, online event that is free to enter. Anyone interested in video game programming should have a look. Their web site can explain the event better than I, so have a look.

Essentially, contestants submit ‘themes’, and are able to vote on these themes. At the moment the contest begins, the winning theme is announced and the contestants work to build a game that incorporates this theme. Before the 48-hour deadline, entries must be submitted and posted online (you will need a web hosting account, FTP site, etc.) and contestants have two weeks (I believe) in which to cast their vote for winning entries (there are categories). Typically, contestants are working solo – this often leads to some pretty funny graphics and sound effects. =)

As far as I know, the contest is open to submissions programmed in any language, designed to run on any platform. People are all across the board with their entries; coding games in assembly to run on Nintendo emulators, using Python/Pygame, using OpenGL, SDL. There are some guidelines about which libraries are and would be considered off-limits. Also, any game content (graphics, sounds, etc.) must be created during the time of the contest.

I threw down the gauntlet in LD48 #14 last year, and can say that I had a blast. People stay very active on the contest’s IRC channel during the event, and the forum is also very active with lots of crazy sleep deprived and/or caffeine fueled postings during the event. Another popular activity is the recording of timelapse videos, showing the contestants screen and/or torso via webcam. Here is a link to my timelapse video on YouTube.

While the majority of the 100+ game entries in LD48 #14 were for Windows, there were several Linux games. My entry was a Linux game using C/C++ and OpenGL for graphics. I think that this event is a great opportunity to express the open-source mentality in a fun, creative, and challenging way. I hope some of the readers here will consider giving this a shot, or at least passing this on to some friends. Game on!

Linux for low-end HW, pseudo-scientific study(1)

OS Choices Indeed (for most!)

I myself am currently engaging in a pseudo-scientific self-study on optimizing some very low-end PCs with Linux.

Hardware that I obtained f or negligible cost

Pentium I MMX 200MHz
64MB 60ns EDO RAM
1 x 1GB hd, 1 x 2GB hdd
The pre-existing MS-Windows 98(FE) is still required for a minimal number of applications….. boo/hiss 🙁

Pentium I MMX 200MHz
160MB 60ns EDO RAM
1 x 8GB hd
The pre-existing MS-Windows ME is still required for a minimal number of applications….. boo/hiss 🙁

Pentium III 500MHz Celeron
256MB PC100 SDRAM
1 x 10GB hd
Pre-existing MS-Windows 2000 wiped clean off after BIOS updated — yay 🙂

Pentium III 600MHz-E (Energy-saving)
256MB PC100 SDRAM
1 x 10GB hd
Pre-existing MS-Windows 2000 wiped clean off after BIOS updated — yay 🙂
————————————
Routine questions I did ask and still ask myself on these:
– Do these low-end PCs power on, boot up and otherwise function at operable base-levels (motherboard, BIOS, CMOS, RAM… etc.) ???
– Are BIOS revisions as up-to-date as possible for these old PC’s ??
– What purpose can these low-end PC’s be BEST used for (e.g., “starter” office productivity workstations, simple multimedia workstations, router/firewall appliances, … etc.) ???

No DVD or USB-booting, no wireless setup, no CD-burning capabilities
———————————————————
My own groundrules RE: distros used

NO K/Ubuntu 9.10 “Karmic Koala” Linux, NO Fedora 11 Linux, NO OpenSUSE 11.x Linux, NO Mandriva 2009.x Linux

YES low-weight floppy and CD-R installable Linux distros having minimalistic X-Windows

——————————————————
Distros used

Basic Linux 3.50 ftp://ibiblio.org/pub/linux/distributions/baslinux/index.html
Damn Small Linux (DSL) http://distrowatch.com/table.php?distribution=damnsmall
– DSL 3.4.12 Syslinux
– DSL 4.4.10 Syslinux
Slackware Linux 13.0 http://distrowatch.com/table.php?distribution=slackware
Absolute Linux 13.0.3 http://www.absolutelinux.org/
Zenwalk Linux 6.2 Standard http://distrowatch.com/table.php?distribution=zenwalk (c’mon for goodness sakes, this is Berkeley!)
Debian GNU/Linux “lenny”/stable 5.0.3 XFCE+LXDE http://distrowatch.com/table.php?distribution=debian
Debian GNU/Linux “squeeze”/testing 5.0.2 XFCE+LXDE  http://www.debian.org/News/2009/20090730
Knoppix EN[glish] 5.1.1CD http://distrowatch.com/?newsid=03956
Eventually(maybe!), Puppy Linux 4.3.x, MEPIS 8.x.x, and/or Xubuntu/Lubuntu 9.10 “Karmic Koala” installation CDs

———————————–

Used solely as testing LiveCD’s, and for distro-downloading/CD-burning on another PC :
Knoppix ENglish 6.0.1CD http://distrowatch.com/?newsid=05299
Lubuntu 9.10 Lyxis Beta 23 https://wiki.ubuntu.com/Lubuntu and http://download.lxde.org/lubuntu-9.10/
TinyCore Linux 2.4.1 http://distrowatch.com/table.php?distribution=tinycore


Used as low-spec routers/firewalls
FREESCO http://www.freesco.info/index.php
floppyfw http://www.zelow.no/floppyfw/
Devil-Linux http://www.devil-linux.org/home/index.php

I’ve done all the ISO/img downloads and burning, and am more  than halfway finished performing Linux installs on all four low-end PCs.

I absolutely (not the above distro;-)  STILL NEED TO perform extensive diagnoses and troubleshooting with these older PC both BEFORE and DURING their Linux installations.

Results of this pseudo-scientific study soon to follow — maybe within about two months ??

-Aaron / GoOSBears

OS Choices

Thanks to Bob Lewis of the Felton LUG mail list for the link to “Battle of the OS Titans” on Forbes.com written by John Dragoon, Novell‘s chief marketing officer.  Novell is the sponsor of community-supported openSUSE.  I think the article gives a nice summary, emphasizing that the dominance of Microsoft has loosened compared to a few years ago.

The Operating System release calendar this month is amazing: Microsoft Windows 7 general retail availability was October 22nd, Ubuntu 9.10 Karmic Koala releases Thursday, October 29th, openSUSE 11.2 Fitche releases Thursday, November 12 and Fedora 12 Constantine is released Tuesday, Nov 17th.  Apple beat everyone to a release by about a month: Apple’s OS X 10.6.1 was Sept 10th after the late August Snow Leopard release.

One point I would have liked to see John emphasize more is the impact of Google’s Chrome OS entry.  This isn’t just any old Linux distribution.  Google has significant mind share in the public at large and I am looking forward to seeing how the Linux and mainstream computing landscapes shift with it’s availability in the second half of 2010.

The telephone targeted Android was a good warm up.  I use it daily on my phone.  Yet the netbook & desktop targeted Chrome OS has some tricks (like a new security architecture) that should prove interesting.  Mike Belshe has blogged about the Chrome browser development story giving some more background on this.  I believe Google has achieved improved security, speed, and stability with their browser and I am looking forward to seeing how this approach translates into their Chrome OS (Linux) distribution next year.

For now I’m getting ready to celebrate the new releases.

Linux Friendly Audiobooks

When people first think of getting audiobooks online, they probably think of Audible.  But, Audible has one really big problem: DRM (Digital Rights Management).  I.e. every book you buy from Audible is encrypted so that you can only listen to it using a very limited number of applications and media devices.  There is no application for Linux to play Audible audiobooks, and Android devices don’t support playing Audible files (yet anyway) either.  Quite frankly, when you purchase a book from Audible, you are not buying it, you are only renting it.  Even if you have a player that is compatible now, in 5 years when you get the urge to listen again, it is likely that your new device or computer will no longer be able decrypt the file.  If you are lucky, Audible may pull an Apple and offer to remove the DRM from the file for additional cash out of your pocket; so you can finally own the book you thought you already bought.  However, there is no guarantee of even that…

Do not despair, though, there are some really great options for DRM free audiobooks that work great on Linux and Android.  I will discuss two: one being a store like Audible (but without the restrictions) and another a project that creates public domain audiobooks of Novels no longer in copyright.

emusic-USThe first is EMusic.  EMusic started as a DRM free, low priced music store that quickly gained popularity in the indie music scene.  Two years ago they started selling DRM free audiobooks in ordinary MP3 format.  Their library is now huge, containing thousands of audiobooks from many publishers.  It is not quite as complete as Audible, but is complete enough that you would hardly tell the difference.  Dan Brown’s latest book “Lost Symbol” hit the library in a matter of days for example.  EMusic’s library is big enough that I have a download queue of nearly 50 books and a collection of equal size already.  One book basically costs you $9.99  (which is incredibly cheap compared to the price of the discs at a bookstore.  Slightly cheaper prices are available if you commit to buying more books over a year period.

If EMusic’s $9.99 cost per book has you turning your couch upside down looking for spare change, LibriVox might be right up your alley.  LibriVox is an open project to create public domain audiobooks from novels whose copyright has expired.  Basically, people around the world, have volunteered to record themselves reading books aloud for the benefit of others.  While, on average, the “acting” quality is not quite the same level as the professionally read audiobooks on EMusic, they are generally quite well produced.   If you have an Android phone, there is a free App in the market called “Ambling Book Player” that lets you download Librivox audiobooks to your device directly (and of course to listen to them).  This is a great way to the listen to classic novels for a price you can’t beat.

booksfinal3

So, if DRM has you down, help send Audible a message by supporting EMusic for a huge collection of DRM free professionally read audiobooks and Librivox for great public domain audiobooks.