Categories
Blogs Bookmarks Computere og Internet Education/Undervisning Frivillig arbejde Hackers Historier/Stories Kim Blog (English) Open Source Resources Technology

BarCamp Copenhagen 8.2: BarCamp Copenhagen Intelligence Agency – Part I

BarCamp Copenhagen 8.2 - one of my bagsBarCamp Copenhagen 8.2 on the 22nd of November 2008 is over, THANK YOU SO MUCH for being such a great crowd.

I’d like to extend a special thank you to the sponsors (Signal Digital, Københavns Erhvervs Akademi, Nabz.dk, basementcopenhagen and Toothless Tiger), Ras Bolding and our fabulous team Henriette Weber, Thomas Kristensen, Anders Bendix, Troels Wittrup, Benjamin Wendelboe, Laura Kiralfy and Mark Wubben – you ALL rock, and you KNOW it!

BTW! We’re trying to build a community site at barcamp.dk, so check back often for updates

Pre-camp game
I’m a 3 time veteran of BarCamp Copenhagen, and this time I had multiple roles, primary Henriette challenged me to host a pre-camp game, and this article is focusing on how that unfolded.

My roles were these:

  • Co-organiser
  • Co-host
  • Host of pre-camp warm-up – hmm, it was freezing wasn’t it – event
  • Co-sponsor through Nabz.dk – reseller of the Nabaztag
  • Speaker (accept my sincere apologies for that disaster of a session, but I did learn some important Xcode/Interface Builder tricks)
  • Webmaster at barcamp.dk

Phew! I think that’s about it, no wait, I also found time to be a participant!

“Un-conference”
For those of you not familiar with the concept, BarCamp Copenhagen is part of the world-wide phenomenon BarCamp, and can best be described as a conference with a twist, a so-called un-conference.

I’ll try to illustrate the differences between a conference and BarCamp below.

Conference

  • The list of speakers usually is announced and scheduled
  • Active participation is neither required nor the norm
  • Speakers are invited and often payed
  • Attendees usually pay a fee

BarCamp (un-conference)

  • The list of speakers and the schedule is made up just before the camp starts
  • The audience is expected to participate actively
  • Speakers are volunteering, and access is only limited by the number of presentation slots

Technological treasure hunt, huh?
My major contribution to BarCamp Copenhagen 8.2 was being organiser of the pre-camp warm up.

As mentioned, the task of organising a pre-camp warm-up was given to me by Henriette Weber, she had envisioned a “technological treasure hunt”, and I immediately jumped at the chance, but what to do?

Technology and treasure hunt, we’ll that should be something with GPS, isn’t that something you can assume that people have these days?

After looking into what existed in the market, and even considering if we should try to build our own, I was sort of stuck for at while.

I suspect that Henriette was getting a bit worried, so she sent Mark Wubben to the rescue, and that was great! Mark is probably the coolest guy I’ve ever met, and it’s hard to believe that he’s only 22. Mark is destined for greatness, and I’m humbled by his presence!

I quickly started down an avenue of sending the participants out to research the history of the neighbourhood where the event was to take place, but Mark, in diplomatic terms, told me that that sounded too boring, I instantly agreed, it did sound like a school project didn’t it? I guess my short career as a school teacher had a bad influence on my creativity ;-).

Brainstorm
On October 28th I met with Mark, and he made a couple of important points.

  • The game must not be boring
  • The game should be “hackable”
  • The game should be directed using SMS by the game master

We had a great brainstorming session, and immediately we were turning in the direction of spies, conspiricies etc. Mostly because I instantly made the connection to November 22nd and the mother of all conspiracy theories, since November 22nd is the day of the JFK assassination.

So what we came up with was the concept of a spy-game where you were supposed to find an assassin, take a picture and return with it to the headquarter.

The assassin would be meeting with a contact at an undisclosed location, I thought of Nørrebroparken because it has a “grassy knoll” ;-).

The participitants would be divided into teams, and then sent around in the area looking for codes that, when found, should be relayed to HQ, resulting in another hint about the whereabouts of the assassin.

Planning
On the 8th of November Mark Wubben and I met to investigate the area, and we found several places that would be suitable for waypoints, we decided that Nørrebroparken would be too far away, since we only had two hours for the game, and wanted 5 hints/waypoints.

I didn’t really work too much on the detalis of the game, after the 8th, but when the 22nd of November approached, I suddenly decided that we needed a website to support the game, and what you can whip together in two shakes of a rats tail using Drupal is just amazing, I had a full community site with full geolocation support up and running in a few hours.

Calls for participation
Approx. one week prior to the event, we issued an e-mail with a call for participation, and people were asked to sign-up for the pre-camp event, this was before I had configured the website, so I received a possitive answer from a few people.

Teaser
On the eve of the event, I then sent out this e-mail to the people that had responded to the call for participation:

Dear Agent,

You’ve been selected as a prospect to lead a team at BarCamp Copenhagen.

You will be given a mission that requires that you operate as a field agent from 10am to 11:59am.

Any technology you bring can potentially help you, but you’ll need, at least a camera and a cellphone.

There will be a briefing at 10am on November 22nd @Lygten 16.

Until then you can get updates at the barcamp.dk site, so check back frequently. http://barcamp.dk/content/barcamp-copenhagen-intelligence-agency

If you choose to accept the mission I’ll need your cell-phone number.

Kind regards
Kim Bach aka. K.ox
BCCIA Director

I received commitment from 4 people, I picked them as team-leaders, so that we would have four teams, and now I started building the website, having specific locations geocoded on the website helped me produce nice maps, so all I needed was to finalise the plot.

In the week leading to the event I had enlisted two of my friends to act as agents, and one of them is an experienced role-player so she helped me debug the game, she suggested that I should get rid of the good/bad distinction, and focus on making it much more confusing what was good and bad.

We met the night before BarCamp and decided that the mission should be for the teams to located the whereabouts of an agent, deliver documents, that they should document the handover of the documents, and return to base. What they weren’t aware of was that there was a second agent operating, and that he should steal the documents and disappear.

Hackable game
As mentioned, Mark Wubben tought me the importance of the game being “hackable”, this means that you should be able to bend the rules, so what I came up with was this:

  • Information about the waypoints would be made available on the website once the teams had departed
  • It would be possible to guess the access-codes, and get the hints faster. I choose these numbers for the 5 codes that should be gathered: 13-21-34-55-89 – does that ring a bell? Not? Well it’s the 5 two digit Fibonacci numbers 😉
  • You could get help if you asked for it

The plot
I ended up with a plot where the participants were sent out to locate field agent Szeba, they would be guided by hints that were given to them once they had gone to a waypoint and located the access code and sent it by SMS to HQ

The mission was to hand over some documents to the agent, and return with proof that the documents were delivered to the agent, and return to HQ.

The twist
What the participants didn’t know, was that I had also enlisted another agent, Petrus. The idea was that the agent would steal the documents once they were delivered to agent Szeba.

Game-on
On the eve of the evening I met with agents Szeba and Petrus (aka. Signe and Kim, thank you for helping me, you guys rock).

We went over the plan.

Szeba would be at Nørrebro Station at 11:30 waiting for the documents, Petrus would be lurking, wait for the next train, steal the documents and jump on the train just before it left.

We were ready for the game – mu-ha-ha-ha – it will be GREAT!

Stay tuned for the part two of this where you’ll be told how the game actually unfolded.

The picture that accompanies this article was taken by Karin Høgh, it’s copyright Karin Høgh and she has allowed me to use it here. The picture shows one of my bags!

Categories
Blogs Bookmarks Computere og Internet Kim Blog (English) Resources

DrupalCamp Copenhagen 2008 – Drupal Danmark: You’ve come a long way, baby

Drupal.OrgRegular readers might know that I’m a big fan of the Content Managment System Drupal. I’ve been actively promoting this system for 3 years, and I was active when Drupal Danmark, the Danish Drupal community, was established in the spring of 2006.

Despite this, I’ve never really managed to build anything useful using Drupal!

It’s not that I haven’t tried, actually I’ve ventured into a number of projects where I’ve tried to use Drupal as an application framework, because I, strongly, believe that Drupal is so much more than a CMS.

The projects haven’t failed completely, and I’ve learned valuable lessons, but I never really managed to finish them.

As a developer trying to work with a CMS for development is rather frustrating, since you get to spend most of your time configuring the system, and you constantly run into limitations, that mostly are related to the fact that developers and non-developers alike, has to be able to configure the system.

Why did the projects fail? Was it due to lacking skills on my part, or is Drupal not suited to use as an application framework or are there additional factors?

I’d like to explore this, so I’ve signed-up for the very first DrupalCamp Copenhagen, that will be held November 15th and 16th 2008 in Copenhagen.

I’ve also proposed a session: Using Drupal as a Web Application Framework, let’s see if that is accepted, but for sure I’m not going to be a tourist, and I’m going to actively pursue an answer to my questions.

You’ve come a long way baby
Like I mentioned, I was present when we took the first steps trying to establish the community back in spring of 2006, but since late 2006 I’ve been mostly absent from the community.

Since then Drupal, and Drupal Danmark, has grown stronger and stronger, and if you take a look at the sign-ups for DrupalCamp Copenhagen 2008, you can see how strong the community has grown.

The fact that there’s a significant number of international attendees is impressive. This has a lot to do with Drupal Danmark and evangelists like Morten DK’s and Mikkel Høgh’s very active participation in the international community.

So thank you all for growing the community, and having the guts to go ahead with DrupalCamp Copenhagen 2008. YOU ROCK!

Drupal Danmark: You’ve come a long way baby.

Hope to see you at DrupalCamp Copenhagen.

See also:

Categories
Blogs Bookmarks Education/Undervisning Kim Blog (English) Kunst Music

Planning for Kulturnatten 2008 (Copenhagen Night of Culture) despite elitist selection practices by organisers

Kulturnat2008It’s time for the yearly Copenhagen event “Kulturnatten”, or “Night of Culture”, and I’m basically done planning for it.

At the bottom of this post, you’ll find a list of events I’ve saved to my profile on kulturnatten.dk, unfortunately they don’t have a RSS feed or a URL that I can share, so I had to copy/paste/edit the list :-(.

I’m planning to attend the events below, but I usually stray, and end up in strange places, my recommendation is to just go with the flow, and stay in places longer than you originally planned for, if you feel “good vibes”.

Last year the high point for me, was a visit to the old shipyard crane on Holmen, which is back this year, and Ars Nova in Marmorkirken, which isn’t :-(.

The events hit by elitism
I’ve been a huge fan of Kulturnatten for several years, but this year the organisers has decided to limit the official program, and has weeded out some events that had been running, successfully for several years, for instance the event by IT Politisk Forening.

I’ve been noticing that Kulturnatten over the years has become more and more like a carnival, and that was somewhat annoying, but I think that the strict selection of “relevant” events is an example of elitism.

This being said, the Kulturnat is an impressive show of strength, and I’ll keep on attending, even though I strongly disagree with the new policy of the organisers.

List of events I’m planning to attend:
Kultmusik og magiske videoinstallationer
Kultfænomenet Snöleoparden fylder gården med sin særlige equilibristiske nordiske version af østens musik, alt imens den verdensberømte kunstner Yang Fudongs magiske videoinstallationer tegner billed…

Time: 18:00 – 00:00
Place: GL STRAND, Gammel Strand 48

Lasershow illuminerer facaden på Charlottenborg
Facaden på Charlottenborg er hele kulturnatten illumineret med klassisk italiensk billedkunst. Lasershow arrangeret af den romerske kunstner Livia Canella.

Time: 18:00 – 00:00
Place: Danmarks Kunstbibliotek, Kongens Nytorv 1, Postboks 1053

Konspirationsteorier fra Tempelriddere til 11. sep
Konspirationsteorier er som en virus, der angriber, når immunforsvaret er svækket. Med benhård historisk kildekritik afmonterer Dan H. Andersen nogle af nutidens mest populære myter og konspirationst…

Time: 20:30 – 21:30
Place: Frederiksberg Bibliotek, Falkoner Plads 3

Polkageist Power Party
Nyd energifyldt koncert inspireret af salsa, calypso, funk, rock og balkanmusik sammen med “cool” øko-snacks.
Generel info: handicapfaciliteter, bespisning

Time: 21:00 – 22:30
Place: Det Europæiske Miljøagentur, Kongens Nytorv 6

Social networking /foredrag
Kim Sneppen, Models of Life, NBI

Time: 22:00 – 22:30
Place: Niels Bohr Institutet, Blegdamsvej 17

Herredømmet – Lykke, Thordal, Trier & Zahle
Carsten Lykke, Kenneth Thordal, Tobias Trier & Oliver Zahle pisker stemningen helt i vejret med en vittig, varm og swingende koncert om den moderne mands genvordigheder. Sangenes tema “Mænd forstår a…

Time: 22:00 – 00:00
Place: Frederiksberg Bibliotek, Falkoner Plads 3

Salsa Loca – Kulturnattens hedeste danseaften
Traditionen tro spiller Salsa Loca op til dans. Kulturnatten afsluttes på denne måde med et brag af en fest med livesalsamusik af bedste kvalitet og dans til den lyse morgen.

Time: 22:00 – 03:00
Place: Krudttønden, Serridslevvej 2

See also:

Categories
Blogs Bookmarks Computere og Internet Hackers Historier/Stories Humor Kim Blog (English)

xkcd: Command Line Fu: “I’m trying to forget it”

xkcd: Command Line Fu

Her: “I’m trying to forget it” (in Danish: “Jeg prøver at fortrænge det!”).

I miss her!

Categories
Blogs Bookmarks Kim Blog (English) Music Resources

Last.fm, Jaiku and Dorit Chrysler – a match made in heaven?

Dorit ChryslerIt’s been a while since I wrote about the Jaiku online service, but it’s a service I use all the time, and I love it.

This is, mostly, due to the fact that Jaiku is filled with people, with whom I share interests, but the people there, all, seem to be more interesting than I am, so I can learn new things, and that is the thing in life I love the most.

One of the things I’m very adventurous about is my music, and another of my favourite online services, Last.fm, supports that perfectly.

Yesterday a conversation about Last.fm surfaced on Jaiku:

Jaiku | Det slår mig lige, hvorfor jeg er så vild med last.fm. Jeg kan holde liv i det ved at gøre noget, jeg alligevel ville gøre: Høre musik :-

Translation: It just struck me why I’m so crazy about Last.fm. I can keep it going by doing something, I’d do anyways: Listen to music 🙂

That is correct, Last.fm builds and extends your network by comparing your musical preferences to the other users, and it also gives you recommendations based on your listening habits.

Eventually the question was asked: What do you use it for?

This triggered me to use Last.fm again, something I usually only do once a month, and the feature I love the most, is the similar artist radio.

In April 2008 I travelled to Lisbon, Portugal, and I was so fortunate to attend a concert by Dorit Chrysler, a very talented artist from Austria, that has specialised in using the Theremin instrument, a very strange instrument that you control by moving your hands in the electrical field generated by the instrument, that basically is a bend metal-rod.

So the Jaiku post triggered me into finally ripping the CDs I bought in Galeré Zee dos Bois in Lisbon, listening to them, and then using that to listen the Dorit Chrysler Similar Artists Radio.

And what I dug into, was a wealth of wonderful music, that spans from Opera to Classical Chanson, over Russian Abstract Hip-Hop and even the wonderful Colleen, that I already knew.

Here’s a list of some of the wonderful artists I discovered:

  • Robert – A wonderful French chanteuse
  • Gudrun Gut – German female singer. Original member of Einstürzende Neubauten
  • Ute Lempner – German chanteuse
  • Susanna and the Magical Orchestra – Norwegian act that, for instance, does some amazing covers, especially one of Dolly Partons Jolene is wonderful
  • Meret Becker – Another German singer that has be associated with Einstürzende Neubauten

The list goes on, and I’ll recommend exploring the artists that are similar to Dorit Chrysler, you will not regret it.

Last.fm remains one of the most impressive, and genuinely useful, online services – the list of these services is short, the big three are, to me, Jaiku, Last.fm and Flickr.

The picture used here was taken from Last.fm, and is, most likely an official promotional pressphoto, I hope my use here will go under “fair-use”

Categories
Blogs Bookmarks Computere og Internet Humor Kim Blog (English) Technology

xkcd – A webcomic of romance, sarcasm, math, and language – By Randall Munroe

xkcd – A webcomic of romance, sarcasm, math, and language – By Randall Munroe

I love xkcd, it’s way over my own humour, which, frankly, is Benny Hilly, I bow in respect, I’m not worthy :-D.

The ones about academia, often are over my head, but my online buddies Esben, Thøger and Jacob, who introduced me to xkcd, seems to get them (faster) than me, I suspect that they’re not uneducated drop-outs like me ;-).

The computing ones, sometimes, stoop to the Benny Hill level of computing jokes, like this one:

Sandwich

Nah, it’s actually quite profound…Brilliant…For even geekier computing humour check the geohashing wiki, I’ll have to try that!

Categories
Blogs Bookmarks Computere og Internet Kim Blog (English) Resources Technology

OIO REST: RESTful web services developed by the Danish Public Sector

The Danish Office for IT and Telecommunications (IT & Telestyrelsen) is experimenting with so-called RESTful web services, and I’m very happy to hear that, because this is an indication that something finally is happening again, after years of impasse.

Services for the REST (sry) of us

RESTful web services are the predominant implementation model for web services developed by web 2.0 companies, Last.fm and Flickr are prime examples of services with extensive RESTful web services and APIs (Application Programming Interfaces).

A web service is a software service, or API, that software (application) developers can use to provide functionality to their applications, and thus users. The “web” refers to the fact that the service can be accessed using technology developed for the web, like a standard web-browser.

Other technologies for implementing web services exits, the best known is the web service or (WS_*) stack, often referred to as SOAP. REST is, however, much easier to use than SOAP, because it has a GET based interface, meaning that you can query a RESTful service using simple URIs for instance entered using a browser. REST is also much better understood by commercial web developers in the private sector, and the tools they use, eats REST for breakfast.

Here’s an example: http://oiorest.dk/danmark/veje?q=lindevangshusene

This retrieves the road-code and city-number of the street I live on in XML format, pretty sweet.

What IT&TS has done is that they, two years later, have picked up my idea, so that I don’t have to implement it (well it only means that I’ll never release my own code) ;-).

Concerns that history will repeat itself

I’m pleased, very pleased, and surprised that The Danish Office for IT and Telecommunications (IT & Telestyrelsen) has begun experimenting with such a relevant service, and has actually made some real-word applications available on the web-site.

But! I fear that history might repeat itself.

Something like 3-4 years ago, a sample SOAP service Address Web Service (AWS) was developed by IT&Telestyrelsen, they even had a competition to develop a sample application, and there even was a winner. But AWS never went into production, and the project dropped off the radar, that is until now. It seems that AWS soon will be released for production, and this is great news.

The problem was that I lost faith in AWS, I felt the project had died, so I didn’t really want to develop against it, and I hear the same concerns from others regarding the RESTful services today.

Do we need pseudo-standards like REST?

The RESTful experiments will probably never launch, but with the SOAP/WS_* AWS likely to go into production, we don’t really need them do we?

What we do need is an open and free infrastructure, for instance for eFaktura, it’s way too expensive to use the current providers, so I suggest that the next thing you do IT&TS, is to pick up another of my old projects 😉

In many ways I fail to see the real need for a RESTful service, but RESTful APIs are so much easier to implement than SOAP.

What I’d like to see is light-weight data-formats, like JSON, and JavaScript APIs Google style. The light-weight data-formats are simpler to parse than XML, so I’d love to see a JSON, or similar, version, e.g. something that is closer to the internal representations of data, without going to binary interfaces, even though they’re coming back, for instance through WCF (Windows Communication Framework).

Conclusion: BIG thumbs up! (but it was overdue)

All in all BIG thumbs up to IT&TS for this initiative, keep it up, and stay above the radar in the future, please. We need widely available, and free, services like AWS, and with the competition from Google GeoCoder, which can be implemented with few lines of code – and works with other than Danish addresses, and findvej.dk – that is using it’s own, outdated, copy of data from Kort og Matrikelstyrelsen to provide a nice, URI based service, reviving of AWS, and the new initiatives, were way overdue.

Categories
Blogs Bookmarks Computere og Internet Kim Blog (English) Open Source Resources Technology Videnskab WordPress

Weaving an untangled web – The Friend of a Friend (FOAF) project

FOAF Project LogoThe Friend of a Friend (FOAF) project

I really need to “get out more”, since I’ve only just now discovered the Friend of a Friend project (FOAF), and I LOVE it!

The Friend of a Friend (FOAF) project is creating a Web of machine-readable pages describing people, the links between them and the things they create and do.

Say what?

FOAF is an important part of the so-called semantic-web, and FOAF is just a so-called RDF specification of who you are. RDF (Resource Description Framework) is one of the basic technologies of the semantic web, and it’s nothing more (or should I say less) than an XML schema condoned by the W3C for describing resources.

Think of RDF as “the mother of all links”, RSS and Atom actually uses RDF.

The problem with links

So what is that RDF does better than the tradtional link?

When you create a link, you rarely remember to provide important information about what it is that you actually link to. At best you provide an ALT attribute (description) to an image tag. Google actively uses the ALT tag when indexing images, but if the link to an image contained more information, eg. semantics, Google could do a much better job.

Semantics means that you provide information about content and context, not just a link to it. You could call that metadata, abstracts or just “data”.

Many CMSes uses the URI of posts to provide some semantics, it’s often called SEO (search engine optimisation), the URI of this post has FOAF in it, meaning that a link to this article indeed contains some semantics.

A common standard for the WordPress CMS is that it uses year, month, day and the title of the post to generate the URI.

The problem is that this information should be provided in a structured, machine readable and – most importantly – open format, in order to make it possible to provide semantics.

I actually despise the concept of SEO, since it amounts to cheating, the only valid SEO is:
“provide interesting content”

A semantic “you”

A number of standards for providing semantics exists, one of the most interesting, especially in this day and age of social media, is the FOAF format.

FOAF is a format that describes you and your connections to provide semantics about people (you) and your connections (friends), in a standardised way, using RDF.

The FOAF file contains information about who you are, how to contact you, but most interestingly it contains links to your friends, and their FOAF files.

The beauty of FOAF is, that all you have to do, is:

  1. Create a FOAF file, for instance using FOAF-a-matic
  2. Put it on a server
  3. Provide the URI
  4. Make sure that it can be found by others (e.g. by posting a link on a page you know is indexed)

Chances are that the FOAF spiders will have a feast on your FOAF, sooner rather than later.

Create your FOAF file

It’s quite simple to create a FOAF file, all you need to do is go to FOAF-a-matic, fill in a number of fields, generate the FOAF file, copy it to a text-editor, publish it on your web-site.

Below is a screenshot of the FOAF-a-matic page.

FOAF-a-matic screenshot

Take back your profile, it’s…YOURS!

No need to register with social networking sites, your profile is YOURS.

Who owns the information about “who you are”? You do! Should that information be made available in an open format? You bet! RDF and FOAF is the way to go.

And don’t take my word for it, just take a look at the people who are promoting and developing RDF and FOAF…

So how did the chicken cross the road

I’ll provide you with the story about how I found FOAF, since it’s interesting to say the least.

My good buddy Sebastian Lund just recently set up his blog, Silence is deafening, and I’m looking forward to following it, he’s using a beautiful theme, the Dilectio Theme, developed by Design Disease.

Design Disease has a number of free WordPress themes available, and you can test them, when I tried that, their “Lorem Ipsum” turned out to be an article by no other that TBL, timbl, Tim Berners-Lee, Mr. Web himself, and he was writing about blogging and FOAF…

So:

What an untangled web we’re weawing.

Now I need to think of a good URI for my FOAF file, TBL suggests this:

A lot of people have published data about themselves without using a URI for themselves. This means I can’t refer to them in other data. So please take a minute to give yourself a URI. If you have a FOAF page, you may just have to add rdf:about=”” and voila you have a URI http://example.com/Alan/foaf.rdf#ABC. (I suggest you use your initials for the last bit). Check it works in the Tabulator.

Ready, steady FOAF

So what are you waiting for? Create your own FOAF file, and start sharing.

And now I’m moving on to explore Tabulator, more on that later…

Categories
Blogs Bookmarks Computere og Internet Hackers Kim Blog (English) Open Source Technology

PHP blues – drawing a blank

Software development can be extremely frustrating, and it might be true that the computer only does what you tell it to do, but these days a lot of people, besides yourself, are telling the computer what to do, a fact that complicates matters “somewhat” (understatement of the year).

The following experience documents a case, where I was sure that I wasn’t doing anything wrong, and you could argue that I didn’t, I just didn’t know any better, but thanks to the community I solved the problem.

The setting

I’ve recently begun doing some PHP programming, and I like it a lot, mostly because of all the wonderful community. it’s my gut feeling that I find answers to my questions much faster when I have PHP related questions, compared to .NET questions.

So I was experimenting with generating some XML code from PHP, but when I gave the URL to the W3C validator, it told me that the XML wasn’t well-formed, and that it was the header that was the problem.

I couldn’t see anything wrong, until I took a closer look. There was a mysterious space prefixed the output when I did a View/Source, a space that I for sure knew I didn’t echo. Hmm…

I tried several things, including flushing the output, but nothing helped.

Then it dawned on me: it’s very likely that someone else has had this problem, and if they did, for sure they would have the generosity to share it, so Google to rescue.

I googled: problem php output leading blank, and hit number two yielded this article:

Script for removing blank spaces before and after PHP tags « memento

The solution

It turns out that PHP is quite sensitive if you, by accident, leave prefixed or sufficed blank spaces outside the starting and ending php tags.

So I went through my PHP files, luckily I only have two, made sure there were no leading or trailing blanks og lines, and I get well-formed XML now.

This is a rather annoying bug in, or should I say feature of, PHP, and it exists in both PHP4 and PHP5.

Once again the community came through, without it I’d still be drawing blanks.

And I love the drawing on the memento site, it doesn’t get geekier, and I think I’ll remember to strip leading and trailing blanks now.

I’m still looking for a modern development environment for PHP development (e.g. sourcecode debugging). PHPEclipse, a plug-in for the Eclipse development environment, should provide a relatively modern development environment, even though it’s not up to the standards set by Microsoft VisualStudio, that I’m so accustomed to, Microsoft has spoiled me.

Categories
Blogs Bookmarks Computere og Internet Design Kim Blog (English) Resources Technology

iPhone Dev Center – Apple opens the iPhone and iPod touch for developers

Iphonedevcenter Loginbanner
iPhone Dev Center – Apple Developer Connection

Apple means business with their promise to open up the iPhone and iPod touch platform to developers with the launch of the iPhone Dev Center, and it looks quite impressive, even though it’s mainly information on how to develop web-applications, and links to already existing information for Mac OS X.

Below is a quote from the mail I just received from ADC:

Available to all ADC Members, the iPhone Dev Center is your complete source for technical information, resources, and expert advice on how to design, code and optimize web applications for iPhone and iPod touch. Take advantage of the iPhone Reference Library, web development guidelines, and sample code to build or optimize your web application. Through ADC on iTunes, you can watch iPhone experts discuss everything from user interface design to optimizing your web applications and content for iPhone.

Once your app is ready, or if you have an existing web app, submit it for possible listing on the Apple web apps page. Log in now and access all the resources of the iPhone Dev Center today.

Unfortunately I don’t think Apple is going to make the platform available to other hardware manufacturers, which is typical Apple, but wouldn’t it be great with Mono ported to the iPhone and iPod touch? And I’m confident that Mono and even Silverlight/Moonlight will be ported to the iPhone platform.

Another brilliant touch (pun intended ;-)), is that the developer resources only is available to registered ADC users, something that the open source communities would barf at, but Apple will get away with it, as usually, and I think that the open source communities should take lessons from Apple.

I think ADC will receive a huge influx of registered users because of this, and it’s a direct path to marketing of the WWDC, which will see an unprecedented surge in attendance next year, which I predict will force Apple into move towards two WWDCs every year, one for mobile and non-mobile devices.

This is yet another brilliant move by Apple – and is that a Steve Jobs version of “the monkey dance” I see on the horizon? Developers, Developers, Developers!