Moving on

I’ve got a new blog! Follow this one instead http://searchzen.org

installing geoserver on debian

I just installed geoserver on debian using apache 2.2 . Here’s what I did:

First of all I installed jetty using “sudo aptitude install jetty” , then I grabbed the geoserver source from http://svn.codehaus.org/geoserver/trunk/ and compiled it using openjdk-6 and maven 2.2  (looks like the build fails using the standard maven in debian, so I grabbed a version of maven from ftp://mirrors.sunsite.dk ) .

After compiling, I copied geoserver/src/web/app/target/geoserver.war to /usr/share/jetty/webapps/ and restarted jetty using /etc/init.d/jetty restart .

I can only access port 80 on my webhost, and I need apache 2 for other purposes , so I had to configure mod_proxy. I setup a virtual host in /etc/apache2/sites-available/geo.searchzen.org and symlinked it to /etc/apache2/sites-enabled/geo.searchzen.org . To enable mod_proxy , I created  symlinks  for  /etc/apache2/mods-available/proxy.load and /etc/apache2/mods-available/proxy_http.load to /etc/apache2/mods-enabled. (mod_proxy fails without the symlink to proxy_http.load)

Here’s the relevant parts of my mod_proxy configuration in /etc/apache2/sites-enabled/geo.searchzen.org :

Tags:

Listening to the geoguys at wherecamp eu 2011

Today I attended the first day of Wherecamp EU 2011  unconference, learning about the latest stuff on the geoscene.   This being my first geo-related event , I didn’t know anybody  - but the geoguys seemed like a friendly lot . The Wherecamps are annually returning events all over the world – and it looked like the most of the guys knew each other from a lot of earlier events (and of course there were some friendly rivalry between the Nokia, google and openstreetmap guys).

Ed Parsons discussing open data

I started the day by dropping in late   ( I had been eating breakfeast with my family) . When I arrived , Ed parsons from Google lead a discussion on  how we want goverments to share data. It  sounds like Google are trying to help out the EU with  the process of sharing data.  During the discussion  I noted that people do not like the general idea of goverments sharing data in form of pdf reports or other non machine-readable forms – people also discussed the pros and cons of adding a clause of making data collected for govements “open”  - and what “open” should mean.

 

Kashif Rasul leading a debate on geodatabases

After walking around a bit to find the room,  I participated in a session called  ”Postgis on an iphone?” by Kashif Rasul. I think Kashif wanted to talk about his libpg-ios project where he is building a client for postgis that runs on the iphone  - but the discussion ended up more in the general concepts of what a geo database can do. This session was great! At the end of the session I had an impression of what the general expectations are of a geodatabase.   Kashif left some notes here

Gary Gale  talking about his experience with his w3c work on poi

 

I walked into the middle of  a session (true unconference style) while Gary Gale was talking about “democratic maps”. Gary talked about the difference  in the production of maps back from when maps were produced and printed into a book – not changing  for years-  to today where changes are almost instant .

After that  he talked  about his experience on the poi working group at the w3c working group , trying to define what a place of interest is.

 

 

Peter Batty on “To G or not to G”

After lunch Petter Batty talked about his work at ubisense and the various different architectures his products has been through – the current architecture is using Postgis and mapfish with a mix of google maps and openlayers. It sounded like a healthy approach to mix the use of google maps for publicly facing stuff – and using Openlayers for more complex data.  During his talk , Peter discussed various licensing aspects of google appengine and why he chose not to use it  in production for enterprise clients.

I also attended a Q/A session with the Openstreetmap guys , they managed to keep focus away from their upcoming license change for a bit, but then the debate went over into license discussions – with the Google and Nokia guys giving some friendly rivalry. I was a bit bored, so I decided to checkout potlach2 .  I am not a big fan of flash – so I hope to find a javascript openlayers editor to contribute to.

The last session I attended was by Georgi Kobilarov from Uberblick (of dbpedia fame). They are working on aggregating place data and commentary from various social networking sites.  I will look into this technology in the future.

All in all – a day well spent in Berlin . I am here with my family , so I will spend the rest of the weekend seeing the sights  . I hope to attend another wherecamp in the future!

 

 

 

Tags:

Learning some Sencha touch MVC code fu at sourcedevcon 2011

This week I had pleasure to attend sourcedevcon 2011 at the awesome resort  Le meridien Split together with  @virdun ,@jakobkruse and @stureandersen . I have been lurking for a couple of years in the ExtJS community  since attending  the extjs conference in Orlando back in 2009, keeping up to date on things at our local Öresund ExtJS meetup , so it was nice to get in touch with some of the regular faces in the ExtJS community.

Near the Dicoletian’s Palace

sourcedevcon 2011 was in the lovely town of Split, near Dicoletian’s Palace.

 

Flying into Split I had some doubts on how many ExtJS devs would take their time to fly to split, this being the first community-driven sencha conference in Europe. After arriving I quickly put all my doubts aside – since the venue and conference organization was carefully laid  out.  Split itself is a very charming city, and we had an easy time arriving (leaving was another problem though). I was impressed by the fact that 200+ attendees had chosen to show up (that figure somewhat resembles the first Orlando conference in the US).

At the venue , the first thing we noticed was the outstanding bar with an overview of the local marina and the ExtJS swedes @FredricBerling , @EmilPenlov (and @bryntum when he was not to busy hanging out in some other bars).

Learning some  Sencha touch MVC  Code fu.

At some point Johan (@virdun)  decided that he wanted  to get a Sencha Touch application up and running  . So we kind of lost him for a moment there in the bar.  I don’t remember if it started before @jamespearce introducing sencha touch  – but Johan started hacking furiously on this app for his site http://citypolarna.se somewhat right about  that session.

Johan playing with his mobile phone

Being Johan, he just wouldn’t let go, so I had to answer a lot of questions  about how sencha touch applications worked.

When I discovered that Johan was not being satisfied by the answer “but hey, I haven’t coded a line of sencha touch yet” we walked through the basic shopping list example for sencha touch and Johan modified it a bit, so it could serve as as base for implementing an event viewer for citypolarna. Combining the info found on http://sencha.com and info from the sessions by @_jdg and @edspencer this was an easy task, so modifying the shopping list example to a working application could be done during the conference. Oh yes, it also helped that we remember  to use extraParams instead of baseParams .

A good thing  about exploring sencha touch and mobile user interfaces is that it can be done in the bar while drinking Mojitos

Learning to migrate to ExtJS 4

Besides learning more about sencha touch I learned a lot from @bmoskeau‘s session on migrating from to ExtJS 4.

Here I especially noted that using the MVC pattern can be postponed to a last optional step and that during migration to ExtJS 4, the old “new” constructor syntax should be able to work (but that the new Ext.define and Ext.create constructs is the preferred way to go).  Brian laid out a migration strategy using the   4 R’s  “Rendering , Running, Ready, Refactor” describing the 4 stages the migration should go through.

@bmoskeau talking about migration

ExtJS Scheduler and Calendar

The session by @bmoskeau and bryntum on Ext Calendar and Ext Scheduler  was supposed to be a showcase of the two products, but to me the main value of the session was seing how easy it was to integrate such complex ExtJS  components. My jaw dropped when I saw Brian demonstrate him using his component updating the data model simultaneously in ExtJS scheduler. This is a testament to two very well designed components .

Wrapup

All in all sourcedevcon 2011 left me with the impression of a very vibrant ExtJS community  – I also got the impression of the strong commercial focus Sencha has. Sencha presented   Sencha.IO as a product – I look forward to exploring that  more indepth in the future. I chose to focus more on learning about Sencha touch and the MVC parts of ExtJS 4 during the conference..

“The Irish guys” has posted some writeups of their experiences at sourcedevcon . Well worth a read:

The lowdown of sourcdevcon

http://www.joelennon.ie/2011/05/05/source-dev-con-day-1/

@nielsdehl has posted pictures from the conference at flickr here :

http://www.flickr.com/photos/nils-dehl/sets/72157626648487744/ (sourcedevcon day1)

http://www.flickr.com/photos/nils-dehl/sets/72157626533490549/ (sourcedevcon day2)

http://www.flickr.com/photos/nils-dehl/sets/72157626544637927/ (sourcedevcon day3)

http://www.flickr.com/photos/nils-dehl/sets/72157626672433598/ (sourcedevcon day4)

http://www.joelennon.ie/2011/05/05/source-dev-con-day-1/

Mindful software

I have spent considerable amounts of  time thinking about the concept of information and how to convey it in software.  Some years ago I came to the conclusion that I want to present information in context, e.g not present crude extracts from databases, but adapt it to the presentation context, with the user in mind.

Some useful contexts could be “location” or “social networks” – the context should be varied depending on the type of information context – e.g information about abstract concepts have no use of location information. The use of context should increase the likelihood of the information being conveyed to the user in a understandable manner.

When I observe users, I rarely see one user that uses only one tool to achieve her goal. Information gathering is usually done using a variety of sources – so a good system design principle could be to know where the system should stop – and how to present the information  in a such a manner that supplemental or related information can be retrieved from another system.

So , to me, presenting information in context is also about presenting the least amount of “friction” in the system. Here I consider any obstacles hindering information flow in and out of the system as “friction”. By minimizing the “friction” we make it easier to present information in context by connecting data between systems.

This has lead me to think that good system design should focus on how information is shared  between users via connected systems.  Turning the attention to how information is shared between users via connected systems, then we obtain a understanding what the data is (since we need to be able to share it).

Tags:

geocoding with nominatim

Update 2011-03-30: I fixed som z-index issues that made the example fail in browsers other than google chrome

I have been playing around with nominatim for geocoding using openstreetmaps data. You can see the result here . I took the original frontend code from nominatim.org and added a Openstreetmaps map .

Tags:

git svn goodness

Some time ago I put a experimental websocket gameserver using node js and socket-io into a branch on 1942js on google code.

These days I prefer git over svn ,so I created 1942jsmulti on github.com and tried this :

git svn clone https://1942js.googlecode.com/svn/branches/multiplayer/ 1942jsmulti
git remote add origin git@github.com:jacobandresen/1942jsmulti.git
git push origin master

Now I can mirror changes from the svn repo and still use git . sweet!

Tags:

On the untimely demise of google wave

Alas, Google wave is no more. I knew it well.

Or.. rather. I knew the api’s well. All the cool technology behind it – I knew that.  The google wave team tackled some tough issues to get it up and running. Google wave included an implementaion of  Operational transforms for largescale realtime collaboration. The google wave api was also pretty nifty.

Now – when thinking about it , I remember email conversations about google wave – facebook conversations about google wave. Real life conversations about wave. Hackathons about wave. I never actually did anything useful in wave itself.  All the fun memories I have about google wave is basically learning about new technologies and meeting new people. There is nothing bad in hacking on interesting tech – during this process I learned about google app engine, cloud computing, python,  protocol design and some longhaired math – all these things are usefull to me in the long run.

It looks like that some of  the technologies of google wave will live on in other google products.  One of the main features – realtime collaboration in documents is now available in google docs.

Tags: ,

Using the ExtJS Designer

Update 2011-4-17 : I deleted the project on github .

Update 2010-10-16: I renamed the example project ExtBeer to “Beer”.

I have downloaded the ExtJS Designer and tried it out . It has some minor kinks , but it looks like it is in a usable state. I left some notes here , and an example project here .

Tags:

Surviving in the post-sun software era

Now that an era has passed then I thought I’d write up a list things that you can do if you want to use open source variants of projects now maintained by Oracle.

MySQL is now also maintained as maria-db. Today I switched my home mysql server to maria-db using the instructions here .

The JDK is now opensource and can be retrieved by issuing “sudo apt-get install openjdk-6-jdk” on debian.

openoffice now has an accelerated development cycle at go-oo

opensso is now maintained by forgerock in the OpenAM project.

Oh yes. For those of you that have been using netbeans , I would recommend you take a look at eclipse . (Oh .. eclipse? .. now I get it)

Tags: