30 Sep 2009 @ 2:12 PM 

Remix is a Microsoft event I attended yesterday that focuses on what’s coming next on the web. I arrived half an hour late due to some problems with the public transportation, but still was able to see the biggest part of the keynote.

MX ReMix Brussels 2009I’m really happy I attended it, cause I learned about quite some things I didn’t know about yet. There where 2 tracks you could follow: designer (UX) and developer. I of-course followed the dev track. The main focus was on Silverlight 3, the latest version of microsoft’s answer to technologies such as Flash and Google Web Toolkit. From what I’ve seen, which included some impressive demo’s, I concluded that Silverlight 3, together with the development tools that are needed for it, probably form the most advanced set of RIA development sets out there. I’ve been considering getting into it for quite a while now, and still can’t decide due to the pretty important drawbacks that come with choosing Silverlight. These include the fact that Silverlight is as much Microsoft as it can be, making it a very improbably candidate for most open source projects, the costs of all the dev tools, and the Silverlight client required for you to be able to view a Silverlight site. There also where presentations about the involved development tools, which are Expression Studio 3, and Visual Studio 2008. A few very nice demo’s of Expression Blend 3, part of Expression Studio, where given, introducing the public to the basics of control, template and style creation, as well as things like animation and import options.

At some point in a demo, Google was used to demonstrate an SEO aspect of a Silverlight app. A few moments later the following entry appeared on the remix2009 twitter channel: Attention Steve Ballmer; A Microsoft employee is using Google. This drew a laugh from most of the public.

Although FOSDEM is way cooler, I’m already looking forward to MS Remix 2010.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted By: Jeroen De Dauw
Last Edit: 30 Sep 2009 @ 02:18 PM

EmailPermalinkComments (1)
Tags
 30 Sep 2009 @ 1:34 PM 

Hackerspace BrusselsYesterday the Dutch GSoC student meeting took place at Hackerspace Brussels (which appears to be the first, and currently only hackerspace in Belgium). Unfortunately 1/3rd of the attendees forgot to come, resulting in only 2 people being present. Some interesting people where present at HSB though, which who I had some nice conversations about ICT related subjects. I also installed Maps and Semantic Maps on their wiki, as a demonstration of the extension’s usage.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted By: Jeroen De Dauw
Last Edit: 30 Sep 2009 @ 02:29 PM

EmailPermalinkComments (0)
Tags
Tags: , , , ,
Categories: Events
 25 Sep 2009 @ 3:59 PM 

Two days ago my new laptop arrived (woot!). I got an Acer (Aspire) Timeline 3810T. The main characteristics of this laptop are that it has 8 hours (that’s right: 8h) of battery power, and that’s it very light weight and easy to carry. For it’s price, the other specs are also quite decent. It has 4GB DD3 RAM, which can be upgraded to 8GB (2x 4GB), 320GB HDD, HD LED monitor with glare (13.3 inch), HD webcam, blue-tooth and some other nice stuff. The only thing that’s less then with the other laptop models in the same price category is the procesor, which is an ULV (ultra low voltage) duo core of 1.4GHz with an FSB speed of 800MHz. Surprisingly it rates better on windows performance index (3.6 vs 3.3) then my one year old HP laptop, which has a 2GHz duo/dual (I don’t know) CPU.

Anyway, I’m quite happy with it until now. It seems to work faster then my old laptop, has more storage capacity, and other nice extras. Some negative points are the keyboard, which is slightly smaller then what I’m used to, causing me to frequently mistype things, and the position of the USB ports, which forces me to put my U3 and dev-usb on different sides of the laptop, which is un-practical in placing and carrying it. Another negative point is the size of the monitor, which makes it less suited for programming with a complex IDE. The reason I chose this model is that although it’s not ideal for heavy dev, it is really good at what laptops are supposed to do: providing an easy way to work or look up things anywhere, without worrying about if you have power or not all the time, and without being bloody heavy/verbose. It might not provide the brute power and larger display of the very expensive laptops, but IMHO you better get a decent desktop pc/workstation then such a model. You’ll be off with better gear for less money, and more flexibility in upgrading, and re-using components.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted By: Jeroen De Dauw
Last Edit: 25 Sep 2009 @ 04:11 PM

EmailPermalinkComments (0)
Tags
Tags: , , , ,
Categories: Uncategorized
 22 Sep 2009 @ 4:27 PM 

While working on the Download class of the .Net Download Library yesterday, I came across the need to add and retrieve items from a HashTable of a fixed type. After asking at MSDN forums, someone suggested creating for example a StringHashTable, which then contains a number of Shadow methods that ctype a parameter of the type String to Object, and then pass it along to the corresponding native method of the base class. I extended a little on this by creating a general type defined HashTable extension class: TypeHashTable. This class is pretty identical to the String variant, but I added one variable type (see the code below), making it usable for whatever type you need it, without any manual converting. I’m probably not implementing this in the .Net Download library, since the conversion there only requires a one line function, and the philosophy is to keep it as simple and small as possible. Anyway, I’ve put this class on my forums so that anyone can use it. It’s also a neat example of the usage of variable type definitions IMHO :)

Public Class TypeHashTable(Of ItemType)
    Inherits Hashtable

    Public Shadows Sub Add(ByVal key As ItemType, ByVal value As ItemType)
        MyBase.Add(CType(key, System.Object), CType(value, System.Object))
    End Sub

    Public Shadows Function Contains(ByVal key As ItemType) As System.Boolean
        Return MyBase.Contains(CType(key, System.Object))
    End Function

    Public Shadows Function ContainsKey(ByVal key As ItemType) As System.Boolean
        Return MyBase.ContainsKey(CType(key, System.Object))
    End Function

    Public Shadows Function ContainsValue(ByVal value As ItemType) As System.Boolean
        Return MyBase.ContainsValue(CType(value, System.Object))
    End Function

    Public Shadows Sub Remove(ByVal key As ItemType)
        MyBase.Remove(CType(key, System.Object))
    End Sub
End Class
Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted By: Jeroen De Dauw
Last Edit: 22 Sep 2009 @ 04:33 PM

EmailPermalinkComments (0)
Tags
Tags: , , , , ,
Categories: Programming
 21 Sep 2009 @ 9:04 PM 

Today I was able to do some work on the .Net Download library project. I mainly focused on the cross thread event handling, on which I’ve been busy for quite a while now. Thanks to some helpful docs on MSDN, I now have a working implementation, that successfully fires events of the Download class onto the thread the instance was created. (yay!) The next step is to clean up the code a little, and implement it for all events. I’m still looking for the best way to store all the event delegates. I originally had a delegate for each event, but now moved them to a HashTable, from where I identify them via an Int32 Enum

.Breakpoint successfully triggered after cross thread fired event

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted By: Jeroen De Dauw
Last Edit: 21 Sep 2009 @ 09:04 PM

EmailPermalinkComments (2)
Tags
Categories: Uncategorized
 12 Sep 2009 @ 10:48 PM 

Today a new version of Maps and Semantic Maps where released. This version, 0.3.4, mainly focused on the internal structure of the extensions, performance issues and bug fixes. Some small new features have been added though.

Bug fixes

  • Fixed some issues with invalid parameter handling. This comes down to 2 things. The first is that before this version, an empty parameter (so || instead of |name=value|) would override the default value when it occurred after the default. So #display_point:coordinates=1,1||service=openlayers would end up showing an error that no coordinates where provided. The second one is a fix in the error message you would get when entering a coordinate parameter with an empty value, like |coordinates=|, this previously caused the error that location “” could not be displayed, and has now been replaced by an error message saying that no coordinates have been provided, as is the case.
  • In the from handling code, I fixed a more severe bug, one that caused a wiki with SM installed to fail in case Semantic Forms was not installed and enabled. Someone pointed out this bug to me via a talk page. Surprisingly, no one had noticed this pretty big bug before, which demonstrates the wide use of SF, at least by the people also using SM.
  • Another bug pointed out by someone on the talk page of SM is that SM only displayed the last coordinate property in a result of a query on a map. Semantic Google Maps supported this feature, but a some point, presumably at version 0.2, I accidentally removed it while refactoring the query result handling code. Anyway, it’s back now.

Refactoring

  • The biggest change in this release is the introduction of a new feature hook system. This hook system allows you to add new mapping features to Maps, very much like the mapping service hook system. This has great consequences for the modularity of Maps, which has taken a big step forward. Every feature is loaded and initialized from the initialization method of Maps. This allows any extension to adds it’s own functionality to Maps, that can then use the general mapping functions of Maps, and the services hook system, and of course then be used in other extensions. This change has rendered Semantic Maps into a simple holder of 2 features: query printers and form inputs. It does not do any initialization on it’s own any more, and simply hooks into Maps. Obviously, this new hook system brought with it a whole list of extensive changes made in both maps and Semantic Maps.
  • Added internationalization for the mapping service names, and to the list notation at several places.
  • Moved the SM related JS present in Maps files to separate files in SM.
  • Fixed tiny performance issues all over the code.
  • Added fall-back mechanism to the geocoding methods, and re-introduced the old style request, for cases where cURL is disabled.

New features

The only real new functionality is that you now can configure which mapping features should be enabled, and which should not. This is of course a direct result from the new feature hook system.

You can view a complete list of changes to Maps and changes to Semantic Maps at the relevant documentation pages.

So, what’s next?

Before 0.4, which will introduce some big new features, I’m planning to release at least one update to the 0.3.x branch. This update will have geocoding as a feature in the new hook, a hook system for parser functions, a new mapping service called OSM (optimized OSM code working with OpenLayers) and a new parser function display_map, to simply display a map without any markers.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted By: Jeroen De Dauw
Last Edit: 16 Sep 2009 @ 10:59 PM

EmailPermalinkComments (0)
Tags
 11 Sep 2009 @ 7:31 PM 

Sunday, 11th of October, I’ll be giving a presentation about Semantic Mapping with MediaWiki. This comes down to presenting the two mapping extensions for the MediaWiki platform I developed, Maps and Semantic Maps. The presentation language will be English, but Dutch questions are acceptable.

Presentation contents

  • Introduction to the wiki concept and MediaWiki
  • Introduction to the semantic web and Semantic MediaWiki
  • Why mapping is useful
  • Introduction to Maps
  • Usage of Maps
  • Introduction to Semantic Maps
  • Usage of Semantic Maps
  • Future development
  • Questions

As you can see, the presentation will focus on the usage of the extensions, and not the technical aspects involved. Therefore no extensive knowledge about any of the involved technologies is required.

Where and when

The presentation will take place October 11th, in the afternoon. The exact moment is not yet determined, although the presentation will probably start around 14:00 and last for about an hour. It will be held at a presentation room at Zebrastraat, 9000 Gent, Belgium. The accommodations are provided and paid for by Alain Liedts.


View Larger Map

Targeted public

This presentation is most interesting for everyone active in the areas of mapping, semantics and wiki’s, but also for those involved with any form of software development, site administration or web publishing.

Attending

If you are interested in attending, you must contact me in advance to ensure there is enough room. There is no entrance fee. See this article for more info.

Future presentations

In November, I’m likely to give another presentation about Maps and Semantic Maps at Semantic MediaWiki Camp 2009. SMWC is a 2 day user meeting by and for the SMW that will take place in Karlsruhe, Germany on November, 7th – 8th 2009. This talk will probably be shorter, since the introductions to MW and SMW will not be required, and the attendees will be better informed about the relevant systems.

I’m also likely to give another presentation in early 2010, again at the Zebrastraat. This presentation will be part of a regular event held every Thursday, and will be publicly announced by the organization running the event. This is still far ahead, and no precise date has been chosen yet, so I’ll post more about this later on.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted By: Jeroen De Dauw
Last Edit: 11 Sep 2009 @ 10:25 PM

EmailPermalinkComments (2)
Tags
 10 Sep 2009 @ 12:52 PM 

Me and two fellow Google Summer of Code students, one from the Netherlands, and one from Belgium, have decided to hold a meeting in Brussels. This will be a great opportunity to discuss each others work, and future plans.

There are over 10 other Dutch speaking GSoC students we haven’t heard of, they are of course also welcome. I’d also like to invite people who are interested in GSoC. This includes people who are simply curious and want to know what it is, but also those who are considering to participate as either student or mentor in a future GSoC. Note that non Ducth people are also welcome! Feel free to send me an email, or one on the GSoC student list, if you are interested, or simply comment on this blog post.

The meeting will take place September 29th, at 19:30, in Hacker Space Brussels (HSB). HSB is located at PRINSES ELISABETHLAAN 46, 1030 Schaarbeek, Brussels.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted By: Jeroen De Dauw
Last Edit: 10 Sep 2009 @ 12:54 PM

EmailPermalinkComments (0)
Tags
Tags: , , ,
Categories: Events
 04 Sep 2009 @ 8:15 PM 

Me and Yaron, my former Google Summer of Code mentor, agreed that Maps would be a good choice as mapping extension on the wikimedia wiki’s, like Wikipedia and Mediawiki.org. There are various reasons why we think Maps is the best choice, but I’m not going to list them here.

I’ve recently discussed this with Ævar, one of the front people in the effort of getting mapping onto wikimedia’s wiki’s. The current plan is to display maps provided by OpenStreetMaps via the OpenLayers API. This includes creating a map tile rendering infrastructure, since the OSM service would simply not be able to cope with all requests if maps are all over Wikipedia. Basically, the complete OSM database will be copied to Wikimedia servers, from where it’ll be processed. Later on data might be directly added to that, loose from OSM. This would allow to add things like bird migration patterns to maps, which is not, and mpost likely will not, be present on OSM. Another big difference with the current usage of maps is that the OL maps won’t be simply ‘shown’ to a user. A requirement to put the mapping onto Wikipedia and the other wiki’s is that it should be usable by people that do not have JavaScript enabled, or use a browser that does not support it (that can happen when you live in the time zone that’s still in the stone age apparently). Concretely this means a rendered static image will be displayed of the map, without any of the map controls. Users will not be able to zoom or pan around since it’s a plain static image (.jpg, .gif, .png, stuff like that). When you click on that image however, it’ll be replaced by the map, after which you will have all functionality that comes with OL available.

The biggest part of the mapping effort is going to the stuff that happens ‘behind the scenes’, meaning the rendering and messing around the data. ATM SlippyMap, a small OL-spesific mapping extension, is used to display the actual results. Ævar agreed that Maps probably would suite the needs as well. This list contains some of the most important changes that will need to be made to Maps to make it suitable for large-scale deployment:

  • Maps should be able to handle images from the rendering infrastructure of Wikimedia Foundation.
  • Maps should support static display functionality, meaning display a regular image on page load, and the dynamic map after it’s clicked.
  • The performance of Maps should be optimized – or at least the part relevant to the display of OSM maps via OL.
  • Maps should be able to display maps without any markers on them.

It would also be nice to have the ability to view high resolution images via OL, the so called image-as-layer feature. This was already on Map’s (and Semantic Map’s) to-do list, but has now gotten a higher priority, since it has pretty much been requested by Brion Vibber, the Wikimedia Foundation CTO (he’s totally awesome at giving awesome presentations about awesome stuff btw, which is of course awesomely awesome).

The underneath video is from Wikimania 2009, in Buenos Aires, showing Ævar talking about the rendering infrastructure and SlippyMap.

If you are interested in Wikimania, be sure to check out Yaron’s email report about it.

This is a great opportunity for me, but will require a lot of work before it’s possible. In any case, I’m looking foreward to adding the new functionality to maps, and see how the performance of both the PHP and JS can be increased.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted By: Jeroen De Dauw
Last Edit: 04 Sep 2009 @ 08:18 PM

EmailPermalinkComments (0)
Tags
 04 Sep 2009 @ 2:55 PM 

While working on .Net download library, I realized I still didn’t know how to fire events from the background threads onto the main thread (meaning the thread that started the download by calling Start). I posted query on how to do this in vb.net on several forums, and got some helpful responses at MSDN. Apparently, the thing I’ve been searching for is called the Event-based Asynchronous Pattern, which is a general pattern for asynchronous operation’s with events. I have done some familiarization with it by doing the entire walk-through, and I also started implementing it into the Download class. I’ll probably commit my current code this weekend, hopefully with working cross thread events :)

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted By: Jeroen De Dauw
Last Edit: 04 Sep 2009 @ 02:55 PM

EmailPermalinkComments (0)
Tags

 Last 50 Posts
 Back
Change Theme...
  • Users » 1293
  • Posts/Pages » 169
  • Comments » 119
Change Theme...
  • VoidVoid « Default
  • LifeLife
  • EarthEarth
  • WindWind
  • WaterWater
  • FireFire
  • LightLight

About me



    No Child Pages.