Sat, 30 Sep 2006
Bluetooth-based Social Engineering
An article about an advertising sign that uses detection of Bluetooth devices as a way to determine what it should display reminded me of a thought I had during my time in US airports.
For laughs I ran this simple Python script on my Nokia 770 while sitting in various airports:
#!/usr/bin/python
import bluetooth
for i in bluetooth.discover_devices():
print bluetooth.lookup_name(i)
(It's also possible to get the same results from using the BlueZ command line tools.)
Anyway, in addition to the occasional obscene device name it struck me that device names offer a form of information leakage. (I'm sure that's not an original thought.) I did wonder how much you could get away with from learning someone's name ("Joe Smith's AZ890 Cell") and recognizing the model of phone: "Hey, Joe, Joe Smith, is that you? Wow, long time no see...". So, are generic device names (Bluetooth-accessible or otherwise) simply security-by-obscurity or a vital form of defense against dangerous social engineering? </dum-da-dah!>
Posted at: 11:55 | category: /maemo | Comments ()
Maemo Browser Tab Grab Bag #2
Continuing the series here's some of the open tabs related to Maemo and Nokia 770 projects in some way:
Linux Automation Tools
For the controllee side of Maemote on Mac OS X the choice of the initial automation tool to support is fairly obvious—AppleScript. Unfortunately in Linux-land the choice isn't so obvious, so here's a few related tools I've noticed recently, it remains to be seen what is most widely supported:
- dogtail—"an automation framework for GNOME and other applications that use ATK or otherwise support accessibility via AT-SPI", "written in Python" and "AT (assistive technology)".
- PyUNO OpenOffice.org example.
- S-Flux—cross-platform graphical automation tool.
- Atomato—a currently DBUS-based scripting and automation tool for GNOME (early stages).
- McClient—A project from late last year to write a Nokia 770-based control system for MPD and Muine.
Mac OS X Automation and AppleScript notes
As the current Maemote version uses AppleScript on Mac OS X I needed a few pieces of information:
For a basic forward/backward action suitable for slides and so forth I needed the correct arrow key values to pass to the System Events handler:
orkey code 123 -- Left key code 124 -- Right key code 125 -- Down key code 126 -- Up
keystroke (ASCII character 28) -- Left keystroke (ASCII character 29) -- Right keystroke (ASCII character 30) -- Up keystroke (ASCII character 31) -- Down
Although dated, this Scripting the Unscriptable in Mac OS X article may be helpful also. (See also.)
For future reference this Mac OS X home automation tool might be useful.
Hachoir
When I was playing around with creating ar format files in Python I was thinking about reading or investigating binary file formats using Python. Soon after I discovered Hachoir "a library written in Python which allows to see and edit a binary file (or any binary stream) field per field". I didn't look too far into the library but it seems worth further investigation should the need arise—and, yes, it does have ar file format read support. :-)
Convert video for Nokia 770 viewing
An online tool to convert video into a format suitable for viewing on the Nokia 770—I haven't used it yet but if I ever get around to getting that bigger RS-MMC card (in capacity, not physical size, obviously...) it might be useful. The 770 video conversion software used is also available off-web too.
Other stuff
stdeb - Python to Debian source package conversion utility (still requires Debian packaging tools to be installed though).
Posted at: 11:25 | category: /maemo | Comments ()
Browser Tab Grab Bag #1
In an—probably futile—attempt to reduce the total number of browser tabs I have open here's some items that have been on my "to write about" list:
Conference Presentation Judo
I had been talking with someone about presentation technique and they mentioned Mark-Jason Dominus's "Conference Presentation Judo" which I had discovered ages ago but then lost track of its location. Searches for terms related to perl and presentations seemed to only turn up Damian Conway's "Presentation Akido" when what I was wanting is the 2002 version of "Conference Presentation Judo" slides and "Conference Presentation Judo" video.
python, ctypes, and debugging symbols
I've been using ctypes for a project and was intrigued to see someone experimenting with using debugging symbols in an attempt to avoid some of the busy-work ctypes requires.
Max Headroom
'Nuff said. (Incidentally, having something approaching "real broadband" seems to be conducive to watching more online video, go figure.)
Product size visualisation
From the simple-but-nifty department here's a site that assists people to visualise items by comparing the size of the object to a common household object. The target market is apparently online shoppers.
Posted at: 11:20 | category: / | Comments ()
Mon, 18 Sep 2006
Hmmm, maybe I should go outside
I had to smile when I saw this post order on Planet NZTech:
Posted at: 16:20 | category: / | Comments ()
Tornado Country
Planet NZTech and my other "web properties" were down in the last day or so due to a tornado somewhere in middle-America—go figure. :-)
The good news was the downtime happened after my two linux.conf.au 2007 talk proposals were submitted and the Maemote release—so it was less disruptive for me than it could have been.
Posted at: 13:30 | category: / | Comments ()
Sat, 16 Sep 2006
"Recent" talks recap
The linux.conf.au 2007 proposal submission process requires a section on previous speaking experience. This prompted me to write up the talks I've given in the past few years and link to slides (using S5 browser-based presentation software) or other media where available. (Note that the slides might take a while to load--hit space to advance through them once loaded.)
linux.conf.au — January 2006 — Dunedin, New Zealand
OpenLayers : Open geographic visualisation in your browser presented the OpenLayers Javascript Map Widget Toolkit and demonstrated how audience members can integrate it into their own site. The OpenLayers presentation slides are available but there aren't too many as most of the presentation consisted of a live demo of GPS tracking of a Nokia 770 uploading position data over a cell phone link. Video was shot but I don't have a copy—if you have access to the video I'd really appreciate a copy.
New Zealand Computer Society — October 2005 — Christchurch, New Zealand
Invited to speak on the topic of Open Source Development Tools and Trends this presentation was entitled "AJAX, Open Source & You". The talk demonstrated the current state of the art for AJAX-based applications; discussed the pros and cons of the technologies involved; suggested related Open Source projects and covered how the audience could benefit from advances in the field. And had a few laughs. :-) "AJAX, Open Source & You" slides are available. A twenty minute "AJAX, Open Source & You" video (30MB) is also available thanks to Marek Kuziel.
O'Reilly Where 2.0 Conference — June 2005 — San Francisco, USA
Invited to have a booth at the 2005 Where Fair event (but too last minute to get on the programme apparently!) you can read more about my attendence at the Where Fair towards the end of this conversation between Tim O'Reilly and Nat Torkington.
At the "booth" I demonstrated my Google Maps reverse engineering project and the in-person feedback I received during the evening was incredible—I think I talked non-stop for two hours!
Christchurch College of Computing — Various Dates — Christchurch, New Zealand
On two occasions I spoke to students at the now defunct Christchurch College of Computing. The one hour conversations covered topics including being an independent software developer, computer technology, work & life in the United States, balanced work/life choices and a question & answer time.
BayPIGgies Python User Group — March 2003 — Stanford University, USA
The presentation entitled PyChecker and friends: Easing the transition from ad hoc scripts to stable, maintainable Python applications introduced PyChecker, demonstrated some of its functionality and discussed some of the lessons learned from its use in a commercial software development environment. Response to the talk was positive.
Posted at: 15:05 | category: /talks | Comments ()
Announce: Maemote — turn your Nokia 770 into a Bluetooth remote
Finally after weeks of veiled allusions today I can announce the "got-to-have-a-release-to-accompany-my-linux.conf.au-proposal" release of Maemote--the Nokia 770 Bluetooth remote application.
Now you can easily control specific functions of your desktop or laptop from your Nokia 770 with Maemote--the Bluetooth remote.
Features
- Use Maemote on your Nokia 770 to control applications on your desktop or laptop (Mac OS X only currently--but the intention is to make it multi-platform).
- Connects using Bluetooth.
- The potential to control your music player, movie player, presentation software, terminal, home automation and more!
- Customisable commands and interface--use the touch screen or hardware buttons to send commands. Create task-specific (e.g. entertain, presentation) interfaces and command sets.
Downloads
Other
Maemote is currently a "technology preview"--it has many rough or non-existant edges--but I hope you'll find it useful in some form and maybe try hacking on some command actions for it.
Thanks
A big thanks to aCiDBaSe on #maemo for being the first to take the time and be brave enough to test the release. :-)
And, of course, a big thank you to you-know-who for supporting me. :-)
What's in a name?
Oh, and by the way, if you could tell me whether or not Maemote is an hideously offensive word in Tagalog or some other language I'd be interested to know...
This release brought to you by bdist_maemo
The Maemo package for Maemote was created with bdist_maemo. If you're wanting to package a Python (or other language?) application for Maemo/Nokia 770 check it out.</pimping>
Posted at: 10:35 | category: /maemo | Comments ()
On this side of the International Date Fence
Not that I'm admitting to anything but on occasion it's good to be on this side of the international date line.
Posted at: 10:30 | category: / | Comments ()
Fri, 15 Sep 2006
Announce: bdist_maemo disutils package released
Hmmm, where did that come from? Somehow the Python ar file creation script and the mkdeb shell scripts turned into a distribution packaging command bdist_maemo for distutils. The command produces .deb files suitable for installation with the Nokia 770/Maemo Application Installer.
The command is a pure-Python implementation and requires no external tools (i.e. no ar, tar, gzip, perl, debhelper or dpkg-dev installation is needed). It includes a generic .deb package file class which could be used for generic .deb file creation but I've only tested it with the Nokia 770 Application Installer.
It's a first cut that "works for me" and is under-documented but does include an example Python script and example_setup.py packaging script. After unzipping bdist-maemo-0.1.0.zip run python example_setup.py bdist_maemo. If it works for you (or not) I'd appreciate you letting me know.
I've opened a ticket in the Maemo Bugzilla for adding bdist_maemo to the pymaemo distribution as the result of a request on IRC #maemo.
Posted at: 08:50 | category: /maemo | Comments ()
Wed, 13 Sep 2006
Create ar files from Python
Heh, you knew this was going to happen, didn't you..? :-)
Okay, so maybe I did end up writing a small Python module to create ar (archive) format files.
Posted at: 03:25 | category: /maemo | Comments ()