Author Archive

I’ve flown my Assassin combat wing a lot, but never with a camera. So while visiting some friends this weekend I gave it a go with the GoPro Hero HD camera. I had to mount the camera in the battery bay and move the battery far back to get it to balance. The result? Awsome!

Share/Save/Bookmark

Comments No Comments »

As I wrote earlier; The customer support from Infinity Hobby is excellent, and I received my Gaui 330X the same day as I wrote the previous post. Took me 3 hours to finish the build and this is the first video I’ve shoot using the GoPro HD cam and the 330X.

Share/Save/Bookmark

Comments No Comments »

Recently I ordered a QuadFlyer 330X made by GAUI from an unknown hobby shop in Taiwan named Infinity Hobby. I also ordered a “Aero Spy Conversion Kit” that is basically a new landing gear accommodated to hold a camera. This morning the parcel is on a plane somewhere heading for Europe and I got this email from customer support at Infinity Hobby:

Dear Paul,
We are sending you this email because you purchased our 330X Aero Spy Conversion Kit in your order #xxxxx. We just realized GAUI have revised their 330X kit a bit in the gear mount after our Aero Spy Conversion Kits were made. This will cause the problem that the mounting holes of CF Landing Gear legs in the conversion kit are not able to fit the revised 330X kit. We are asking the factory to revise the landing gear legs accordingly and urgently, and will send you the update pack with the revised legs in a couple days probably within next week.
By the way, we also noticed the originally packing list of the Spy Conversion Kit does not include the mounting bolt for camera. As people may have difficulty in find the suitable screw locally by their own, we will include the screw in the kit. This screw will also be included in the update pack.
Feel free to let us know if you have further questions anytime. We will appreciate any comments or advice you’d care to give. Sorry for any inconvenience caused.
Have a great weekend!
Regards,
Infinity Hobby
I’m amazed. This is what I’ll call up-front customer support. Instead of leaving me stranded and frustrated when I receive my package they make sure I’m still a happy customer that of course will talk positively about their business. As a co-worker of mine pointed out; This is just as great as IKEA’s return policy.

Share/Save/Bookmark

Comments No Comments »

I’ll post this piece of code since it could come in handy for more developers than me.

	private static HashMap decode(int[] data) {
		HashMap m = new HashMap();

		// Extract date information
		int date = data[0] << 8 | data[1];
		int year = 2000 + (date & 0x7f); // 7 bits
		int month = (date >>> 7) & 0xf; // 4 bits
		int day = (date >>> 11) & 0×1f; // 5 bits

		// Extract time information
		int millis = data[4] << 8 | data[5]; // 16 bits
		int time = data[2] << 8 | data[3];
		int minute = time & 0x3f; // 6 bits
		int hour = (time >>> 6) & 0×1f; // 5 bits
		int second = millis / 1000;
		millis = millis % 1000;

		// Construct Date object
		Calendar c = Calendar.getInstance(TimeZone.getTimeZone(”GMT+00″));
		c.set(year, month-1, day, hour, minute, second);
		c.set(Calendar.MILLISECOND, millis);
		m.put(”gpsTime”, c.getTime());

		// Extract validity
		m.put(”valid”, (time >> 31) == 1);

		// Extract latitude
		int latValue = data[6] << 24 | data [7] << 16 | data [8] << 8 | data[9];
		if((latValue>>>31) == 1) latValue = - ((~latValue) + 1);
		m.put(”latitude”, latValue * 0.0000001);

		// Extract longitude
		int lngValue = data[10] << 24 | data [11] << 16 | data [12] << 8 | data[13];
		if((lngValue>>>31) == 1) lngValue = - ((~lngValue) + 1);
		m.put(”longitude”, lngValue * 0.0000001);

		// Extract speed
		int speedValue = data[14] << 8 | data[15];
		m.put("speed", speedValue * 0.01);

		// Extract course
		int courseValue = data[16] << 8 | data[17];
		m.put("course", courseValue * 0.01);

		// Extract altitude
		int altValue = data[18] << 8 | data[19];
		m.put("altitude", altValue);

		return m;
	}

I hereby put this code into the public domain.

Share/Save/Bookmark

Comments No Comments »

Presentation I held last year for my colleagues at Adresseavisen.

Share/Save/Bookmark

Comments No Comments »

I just stumbled upon an article by

Eventually Consistent: “This is a specific form of weak consistency; the storage system guarantees that if no new updates are made to the object, eventually all accesses will return the last updated value. If no failures occur, the maximum size of the inconsistency window can be determined based on factors such as communication delays, the load on the system, and the number of replicas involved in the replication scheme. The most popular system that implements eventual consistency is DNS (Domain Name System). Updates to a name are distributed according to a configured pattern and in combination with time-controlled caches; eventually, all clients will see the update.”

In the same reading frenzy I also read these related pages:

  • http://www.readwriteweb.com/archives/is_the_relational_database_doomed.php
  • http://belaban.blogspot.com/2009/01/replcache-storing-your-data-in-cloud.html
  • http://commons.apache.org/sandbox/pipeline/
  • http://www.jgroups.org/demos.html
  • http://www.helidb.org/

Share/Save/Bookmark

Comments No Comments »

Could not help but smile and donate some more to micro loans for women at Kiva.org. You should do the same!

Share/Save/Bookmark

Comments No Comments »

My employer Adresseavisen (local newspaper in Norway) released a Google Maps based property transfer database I’ve written for them today.

You can visit the application here: Eiendomsdatabasen

Share/Save/Bookmark

Comments No Comments »

“In 2007, Paul Rothemund gave TED a short summary of his specialty, DNA folding. Now he lays out in clear, adundant detail the immense promise of this field — to create tiny machines that assemble themselves.”

http://www.ted.com/index.php/talks/paul_rothemund_details_dna_folding.html

I just watched this presentation and thought that I should share it with you. As a software engineer this is intrieging.

Share/Save/Bookmark

Comments 1 Comment »

 

You may download the files below

Share/Save/Bookmark

Comments No Comments »