On november 22nd 2008 I paid Barcamp Cph a visit.
In my head: It is a chance to hear about the doings of other programmers in exchange for a presentation yourself will have to give.
Henrik Gudbrand of Gudbrand & Løkken presented his homemade RFID race timing solution made for timing DTU Adventure race.
He impressed me with two things:
– He played an electronic engineer without having any electronic knowledge. Almost not needed, he said. He is a true entrepreneur, who just do it.
– Also Ruby he gave a try. Eclipse had too bad database integration. He found and demoed that Ruby has a ORM tool included, which makes it possible to access the data – from a shell in realtime – as objects instead of relational SQL selects. Is that cool or what? That is worth a WOW :-).
I must have a look at that one day. I wonder if something similar would be possible with PowerShell and LINQ in the .NET world? Probably it would require more work.
Adventure race timing solution
His solution was built using two different MIFARE RFID card readers, that each were check points placed far from each other:
– A Nokia NFC 6131 phone with a MIFARE card reader included. From this phone he also utilized the SMS features to send collected data to a central result database. Cool.
The phone also had a watch included witch makes it possible to make time stamps.
– An Arduino board with some extra RFID card reader hw – could have been a RFID kit from Tinker. By extending the Arduino with a discount phone, you would get both card reader, SMS and watch for small money.
The MIFARE RFID cards has onboard 1K memory. Henrik stored each visit to a check point onto it, so it could be seen if all check points were visited and when.
Programming languages used: Arduino: A C like language – Wiring. Phone: J2ME. Result base: Ruby.
Henrik demoed how Arduino can be used in two scenarios:
Quick start: Get a Diecimila board. You connect that to your PC through the serial interface and a USB adapter.
Low budget: Use a PBBB board.
Henrik recommended to use a Switch mode power supply. One should be possible to get for arround 7 Euro.
Libraries exists for writing towards LCD.
Programming Arduino was easy.
– Connect the device through its serialport via an USB adapter to a PC.
– Write your wiring or java program, compile and upload.
He also had a timing solution which was extended with a webcam. Cool.
His solutions was often PC connected. For this purpose it can be convenient to buy one of the lowcost EEE PC’s.
Some solutions made use of wireless bluetooth connections.
RFID, Camera, GPS logger, clock, SMS, bluetooth, WLAN, Lego Robots – seems like creating small intelligent internet connected devises has become as easy as using RAD tools.
M.C. Widerkrantz explained about IPV6. This time it was not the nerded version as last time.
He had one message, that we shouldn’t underestimate: IPV4 addresses will run out of stock/space in 2011 or 2012.
But does it matter? For several years it has been possible to expand the number of connected devises by using NAT translation. In that way several local IP adresses shares one Internet IP address. Often the ISP will split up an address using NAT and again in your private home your router will once more divide the ISP local address into several addresses in your home. No wonder that a fixed IP address costs extra.
The cost for NAT is that the local bandwidth must be shared and it breaks end-to-end connectivity. It seems likes the NAT translation only complicates making Peer-to-peer applications function, but not impossible.
Network cards can support both V4 and V6 at the same time. If some does not have one of the types, then a convertion can be made through a 6-to-4 tunnel.
Peter Brodersenhad fun with presenting a slide each 30 sec. He had a helper doing timing. Apparently that kind of “giving-only-a-glimse-of-a-subject” has been popular recently. I guess you have to be younger than me to enjoy that. No time for digesting.
Some of the things I did catch was:
- Google translate has an API you can use.
In the source language you can choose “detect”. Google just took translation a step further in that way.
- http://openstreetmap.org/ – like wikipedia – the users provide map content, which is freely awailable.
- FireShot – a printscreen editor. Seems like an advanced version of my favorite little ImageShack.
- Sending SMTP mail without fire-and-forget. How to do that? Henrik Biering has successfully implemented such code into a web app. Contact him if that is your requirement.
- Google Calculator can convert currency and units.
Look at this cool example: 2.35 usd/gallon in dkk/liter. Result: 2.35 (U.S. dollars / US gallon) = 3.51256845 Danish kroner / liter.
- A few commandline PDF utilities. PDFTK, PDFtoText, GS (for screenshots) and a book – PDF Hacks.
Peter is certainly busy picking up the trends and making new ones.
Kim Bach spoke about Drupal. His presentation was about extending Drupal. Using it as an application framework.
He was using a RAD tool for hooking events to buttons.
In more details I didn’t get. It was both a new language, API and development environment. Too much to grasp that late in the afternoon.
In Japan OpenId has been widely implemented and accepted much more than anywhere else. It has even been extended to be sufficient secure for online payment.
They have succeeded within the three segments: consumers, business and government.
With SSO there are two parties: The provider and the relying party. The provider can authenticate a user, when the user is logging on the relying site.
As I understand it, SSO is much about having a wallet and several membership cards.
The provider can have a whole wallet of membeship cards for a user. It can be individual which cards the relying parties accepts. The user can choose to send different cards to a relying party. He might want to show a private membership, a corporate membership, a disguised/anonymous membership or something else.
If you want to implement OpenId, then Plaxo has a good guide.
Henrik is certainly the an expert within this field.
My own presentation was samples from this blog. It was some samples that I thought could be nice to have or know about.
But due to a close exam, I had set the preparation down to low priority. Not good. Must test on my kids next time :-).
Hopefully see you next time.