Posts

Showing posts from July, 2008

Hardware failures for the loose

My Dell laptop (which is my primary computer while I'm in the states) has died today. I'm typing this on a Asus EEE PC I bought the last time I had to send my regular computer in for service. Hopefully all goes well, but this means I've probably lost a weeks worth of code :(

Wireless Spectrum bidding ends, new Wireless Carrier for Canada

If your not Canadian, this probably isn't a lot of interest to you. However for Canadians this is excellent news. Yak Communications announced today that they have won spectrum across all of Canada (with the expected and notable exclusion of Quebec) and are intent on providing cellular access. There press release alludes to the current high prices and lack of service on existing Canadian wireless carriers. Sadly the spectrum they own won't work with any of my existing phones, but maybe for the next openmoko :P Anyways more competition is good, and certainly needed. The full text of the press release since doesn't seem to be on the wire services yet: GLOBALIVE READY TO USHER IN A NEW ERA OF WIRELESS CHOICE FOR CANADIANS Globalive set to become a major wireless carrier in Canada TORONTO – July 21, 2008 Globalive Wireless Management Corp. is pleased to announce that it has provisionally won spectrum in Industry Canada’s Advanced Wireless Services Spectrum Auction across Canad...

My start with the OpenMoko/FreeRunner

Now that I have my OpenMoko its time to get started developing for it. I have a number of personal itches that I want to scratch, but like with learning any new language or platform I find it best to start with the smallest useful project possible. With that in mind I decided I'd create a small opkg (openmoko's package format) to sync the time from the gsm tower. After doing some digging in the gsm daemon it turns out that there are two separate parsing functions, one of which is never called (which is good because it does nothing), and the other which rejects the value reported by both AT&T and T-Mobile [it assumes a range of -48 to 48] and the networks report 138 for GMT-8. Reading GSM 02.42 didn't help much, except specifying that the time resolution must be at least 15 minutes. There seems to be very little, documentation about gsm network time. If you've got an FreeRunner or Neo and some free time and could add: gsmd_log(GSMD_ERROR,"starting ctzv_parse par...

Co-Op term at Amazon

This semester I'm at Amazon, its quite a lot of fun. Seattle is a really nice city, especially in the summer. At Microsoft some people referred to the summer as "demo weather" because thats when they brought down the interns to try and recruit them :) Most of my summer is being spent working on the problem of detecting miss-classified items (so for example if a fridge was listed as a shoe that would be bad news). Its the kind of work which I really enjoy because its fairly open-ended in terms of the solution and hard. A lot of traditional stock solutions proved to be unworkable since we have such a large data set. Oddly enough searching for information about scaling the approaches I dumped into some posts by a third-party trying to accomplish something similar with a subset of the Amazon data :). Since the general rule of software projects seem to be if you create it you get to name it, I decided on naming my project "BrowseEpicFail" (I later renamed it to be mo...

Integrating your HUnit (or other) tests into your cabal package

As part of one my side projects I'm working on learning haskell, and creating a simple DNSBL lookup tool. An important part of any project, especially one which you plan to build on top off is its testing. There are quite a few options for Haskell testing such as quickcheck ,etc., and the one that I ended up using HUnit . Most developers that I know have been burned at one time or another by making some "trivial" change building it and checking it in to only have it fail when running there tests would have caught it. The solution of course is to integrate your automated tests into the build process. Cabal is a wonderful package build system for haskell. Unfortunately, very few (if any) people seem to use the provided mechanism for hooking in tests. The first set is opening up the Setup.hs (or lhs) file and overriding the default test hooks. Start off by importing the necessary libraries import Distribution.Simple import Distribution.PackageDescription(PackageDescription...

Unexpected gmail account name disclosure on calendars

Image
I came across a an interesting blog post showing how to get the name of a Gmail account. Since the bug was visible through Google Calendars I hoped that it was maybe limited to users who had signed up for Google Calendar. This is not the case. The steps that I followed: 1)Register brand new gmail account with default settings register new Gmail account 2)Go to google calendars (as a different user) select a calender invite the user to share one of my calendars (click on the down arrow next to your calendar) choose a calendar to invite the user to share 3)Invite the user Invite the user to share your calendar 4)Save the changes (note that it indicates the user isn't registered for Google Calendars) & go back Invite user to Google Calendars 5)See the users name see the username Normally I'm all for notifying the company of the problem before public disclosures, but the cat is well out of the bag and having a walk around. It apparently works regardless of whether the user is ...

DNSRBL module for haskell released

I'm pleased to announce that I've uploaded my first ever module to hackage (so please be kind, but suggestions are warmly accepted). The module looks up a hostname (or a hostname & hostaddress) on a set of DNSRBLs. This is probably of use only to a very small percentage of people (the application I've created it for is anti-spam and I can't really see any use outside of that). But with that being said check out my DNSRBL module ,or on hackage along with the classy documentation .

Unboxing the OpenMoko/FreeRunner including the spares kit, debug board

Image
Everything (OpenMoko/FreeRunner, spares kit, debug board) Originally uploaded by dmcopernicus My FreeRunner (along with debug board and spares kit) has just arrived today. A few people have already unboxed FreeRunners, but I haven't seen any pictures of the debug bored so I figured I'd show: I've been playing around with getting it to register on AT&T and T-Mobile. T-Mobile worked with my first SIM card, which was no big surprise. Given the difficulties with the Neo1973 and AT&T SIM cards I wanted to try it on AT&T, which was less of a success. Of my 3 AT&T 3G SIM cards, 2 of them worked, and one had a bit of difficulty: r # Register EVENT: Netreg searching for network EVENT: Netreg registration denied Some words of advice to wrap up the pictures, when following the getting started with your FreeRunner guide , if you are behind a router there is a chance your ethernet connection is 192.168.*.*, you can get around this by just running: route add 192.168.0.202...

I just got my Hackage account

Which means that I will be uploading my first attempt at creating a haskell package ( a small library to do lookups in DNSRBLs ). Funtimes :)

OpenMoko/FreeRunner

Phones are a guilty pleasure of mine, I own quite a few. The OpenMoko / Neo FreeRunner look quite interesting, if not particularly state of the art. I ordered my phone from the online store almost as soon as it went online and have been waiting for the shipment notification (apparently they were overwhelmed with the volume of orders).I just got the e-mail confirming that my phone has shipped :) I'm looking forward to hacking on some low level code again :)