Two weekends back, me and two friends went to the cinema in Sint Niklaas, a city in East Flanders, Belgium. Some lol’ed stuff happened though:
As usual, we bought our tickets at one of the ticket machines at the entrance. To be more precise, our favourite machine, which, as all others there, runs on Windows XP (win!), but is a little more bugged, since it allows you to get rid of the reservation application in several ways. For some reason we got blank tickets, with nothing printed on them
We tried to go to the room where the film we wanted to see (The Book of Eli) was played, but did not get access, since they first had to check the misbehaving machine. In the meanwhile, two other people had bought a ticket at that machine, but didn’t get anything out of it at all. After 5 mins of waiting they came to fix up the machine by resetting some stuff, and we could finally go and see the movie we came for. It’s so typical this happens to use, and we have to wait there for 5 mins!
You have absolutely no reason to think I somehow managed to get free tickets from the machine, and then mess it up, so we could go watch the film for free. Therefore the title of this blog post is obviously highly misleading.
Since last week I have 1 BOINC project with over 10k credits – yay. This project is Einstein@Home, which is a distributed computing project hosted by the University of Wisconsin–Milwaukee and running on the BOINC software platform. It searches through data from the LIGO experiment for evidence of gravitational waves from continuous wave sources, which may include pulsars. Like the other projects I’m participating in, which are Milyway@home and SETI@home, I’ve been a participant for about 2 and a half months now.
What is Boinc? The Berkeley Open Infrastructure for Network Computing (BOINC) is a non-commercial middleware system for volunteer and grid computing. It was originally developed to support the SETI@home project before it became useful as a platform for other distributed applications in areas as diverse as mathematics, medicine, molecular biology, climatology, and astrophysics. The intent of BOINC is to make it possible for researchers to tap into the enormous processing power of personal computers around the world.
In essence BOINC is software that can use the unused CPU and GPU cycles on a computer to do scientific computing—what one individual doesn’t use of his/her computer, BOINC uses. In late 2008, BOINC’s official website[6] announced that NVIDIA (a leading GPU manufacturer) had developed a system called CUDA that uses GPUs for scientific computing. With NVIDIA’s assistance, some BOINC-based projects (e.g., SETI@home, Milkyway@home) now have applications that run on NVIDIA GPUs using CUDA. Beginning in October 2009, BOINC added support for the ATI/AMD family of GPUs also. These applications run from 2X to 10X faster than the former CPU-only versions.
(Above text comes from the English Wikipedia.)
I’m participating in these programs cause I refuse to be part of the “let’s waste ~80% of our CPU time” attitude most people sadly enough have.
I’ve been working on the Wikimedia Storyboard extension for a week now, and like to provide the people who are interested in it with some more details about what the project goal is exactly, and what my current progress is.
The idea of the Wikimedia Storyboard is to develop a fundraising landing page on http://wikimediafoundation.org/ with moderated but up-to-date stories from users and donors explaining the role Wikimedia has played in their lives. The motivation of building such a landing page is that donor and supporter stories can help to convince and persuade people of the impact an organization is having. It’s essentially an extended, moderated version of the real-time contribution history.
Basically the extension can be divided into 3 separate parts:
The storyboard interface
The storyboard interface will contain several stories stacked vertically in a box that follows the “eternal load” paradigm, much like Google Reader. Each story will consist of a picture with some text next to it, and some “share” features for stuff like Facebook and Twitter. For people with a special storyreview permission there would also be a button allowing them to hide the stories from being displayed in the storyboard. This part of the UI will be implemented using the tag extension <storyboard/>. You can see a rough layout on the underneath mock-up (on the left).
Story submission interface
As the above image reveals, there will also be an interface where you can submit stories, that will be placed on the right of the storyboard itself, in a tab gadget, together with a donate page. Like the storyboard itself, this will be implemented using a tag extension: <storysubmission/>.
Story review interface
The story review interface will allow users that have the ‘storyreview’ permission to review, edit, publish, and hide stories. Hidden stories could still be published later; they would simply be available through a separate queue. This interface will be implemented as a special page (Special:StoryReview), but will be transcludable, meaning it can be put into other pages.
My progress
Over the past few week, most of my dev time has gone to reviewing documentation about how to correctly create the desired features in the Storyboard extension. Things new for me include, tag extensions, special pages, database interaction, and permission management. I now also better understand some other stuff like how variables should be escaped properly, which I’ll be applying to Maps, Semantic Maps and Validator for their next release. I’ve set up the basic structure of the extension, as you can see on svn trunk, and am now working on creating the dynamic aspects of the interface using jQuery and jQuery UI.
Some stuff I’ll still have to review further at some point is how to make the stories searchable, how to best internationalize the stories and how I’ll implement the “share” features. I’m looking forward to getting more familiar with MW core though, and getting the hang of these things should not be to difficult with the awesome support I’m getting from the devs at the MW IRC.
A few days back I decided I should release an update including a new update platform to some of my old applications. Apparently I had deleted the source of my little class library that I used for these applications a while back, and had to do a binary search through my backup archives to find the latest version. While implementing the new update platform in one of these apps, BN+ Brute Force Hash Attacker, I did a bunch of high level refactoring, both in the app itself and the used library, and decided to put them both freely available on SourceForge. I also decided to make some changes to the interface of BN+ BFHA, and replace the usage of a C# library for BigInteger support with the stuff that comes natively with .Net framework 4.0. So basically, after having put this app on the shelve for about a year, here is a new version, which might very well be the final one for this app.
Changes in 1.2.0
* Replaced custom BigInteger class by native .Net 4.0 class. * Replaced update platform with native ClickOnce deployment updater. * Refactored code structure and reduced required assemblies to BN+ Framework core. * Improved Help menu links. * Fixed Import/Export issue. * Redesigned about screen.
Downloads
Links
This is a screen shot of the previous version. This part of the interface is pretty much unchanged.
I’m also planning to release the new version of my class library that’s used for this app, which I renamed to BN+ Library, in the near future
As of today I’m working for the Wikimedia Foundation as developer. I have a 3 month contract, after which I’ll participate in GSoC 2010, and do a project for … well… Wikimedia Foundation
(I’ll post more about GSoC 2010 later on, I have a really awesome project planned :d) Although the payment is pretty regular for this type of dev, I think it’s completely awesome to work for a mission based company with as objective to make knowledge freely available to everyone, create completely open source software and work with really enthusiastic and talented people.
The project I’m going to start with is the Wikimedia Storyboard, which will take the form of an extension. The idea is to develop a fundraising landing page on http://wikimediafoundation.org/ with moderated but up-to-date stories from users and donors explaining the role Wikimedia has played in their lives. The motivation of building such a landing page is that donor and supporter stories can help to convince and persuade people of the impact an organization is having. It’s essentially an extended, moderated version of the real-time contribution history.
I’m hoping to get this extension finished in a bunch less then 3 months, so I can also do other stuff before GSoC. I’ll only be working part time on this though (~3hours/day), and will also be doing work on Semantic MediaWiki for KIT as well as other projects, such as Maps and Semantic Maps
I’ve been so fortunate enough to be able to attend FOSDEM 2010, which stands for Free and Open Source Developers’ European Meeting, and is the biggest yearly open source event in the world, again this year. It took place last weekend in Brussels, as usual. I mainly attended talks of the Mozilla Foundation, covering topics such as HTML 5, the nature of the Mozilla foundation, hackability and new services. Anyway, I had a great time there, and learned a lot. Not going to go into detail, cause I’m pretty busy getting into a few new projects about which I’ll post later on
Today I released Maps and Semantic Maps 0.5.3. Both releases mainly include bug-fixes, some of which quite important:
I also discovered an oversight in the hook system of Maps, which is kind of a dormant bug, that could have caused errors for certain implementations of extensions to Maps. The oversight was that a mapping service does not necessary support a sub feature, like the parser function display_point, of a feature, like the parser functions. A check is now in place, together with a defaulting mechanism that also allows you to set the default per sub feature. I’m planning on changing this to a more recursive algorithm in the future though.
A last change is the adding of initial Google Maps v3 support. It’s only implemented for the display_map parser function, and has a rather limited set of customisation parameters at the moment, not to forget a whole load of issues. My conclusion from trying to implement this is that the GMaps 3 API is definitely not in it’s final state yet, since it’s lacking vital methods needed for basic functionality. The support for GMaps v3 is therefore sort of an alpha release, and won’t be put on the documentation page until it’s more stable and complete.
Downloads
As you can see, I changed the location of the releases from my forums to 2 brand new Google Code projects [ Maps, Semantic Maps ].

Categories
Tag Cloud
Blog RSS
Comments RSS
Last 50 Posts
Back
Back
Void « Default
Life
Earth
Wind
Water
Fire
Light 