The desktop war is over. Who won? Mobile devices!
Mobility Everywhere
Archives
« March 2008
SunMonTueWedThuFriSat
      
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
     
Today
XML
Search

Links
 

Today's Page Hits: 56

All | General
Main | Next page »
20060623 Friday June 23, 2006
Sun Java Wireless Toolkit 2.5 for CLDC Beta version released
Finally - the guys in Wireless Toolkit group released a beta version of WTK emulator. This version is a reference implementation of MSA - JSR 248, so it comes with many cool APIs, like Location API (JSR 179), Scalable 2D Graphics (SVG - JSR 226), or Advanced Multimedia Supplements (sound and image effects - JSR 234).

You can download the beta version of the emulator from java.sun.com page, install it and plug it into NetBeans with Mobility Pack installed using Java Platform Manager from Tools menu. When set-up, simply choose WTK 2.5 as your platform emulator and start developing code for those new APIs :-).

posted by bblog Jun 23 2006, 06:08:45 PM CEST Permalink Comments [1]

20060609 Friday June 09, 2006
Microsoft releases the Standalone Device Emulator
Although not a brand new news, last mont Microsoft released the Standalone Device Emulator, which emulates real ARM based Pocket PC system. This is great news, because there is no longer need to have installed Visual Studio to be able to use the emulator :-). You can download the emulator from microsoft page: http://www.microsoft.com/downloads/details.aspx?FamilyId=C62D54A5-183A-4A1E-A7E2-CC500ED1F19A&displaylang=en . They also released beta version of their next version of the emulator, which will be included in the next version of Visual Studio, as a Community Test Preview. You can download the preview from this page: http://www.microsoft.com/downloads/details.aspx?FamilyId=13F5DE85-30CD-4506-9C5B-A2068FA1EE9E&displaylang=en . Finally on the following page you can find all the links above and some other useful information concerning the emulators: http://msdn.microsoft.com/mobility/downloads/Emulator/default.aspx

Now why I'm writing this to my blog? Let me think ... did I secretly started to work for Microsoft? No :-) - you can actually use the emulator to run Java ME CDC version of JVM for Pocket PC and use NetBeans Mobility Pack for CDC start developing Java application for this platform, as I wrote some time ago in this blog entry. Furthermore if you would like to develop rather Java SE applications for PocketPC, you can try out open source VM for Pocket PC called Mysaifu JVM.

posted by bblog Jun 09 2006, 04:23:43 PM CEST Permalink

20060608 Thursday June 08, 2006
Back to home ...
I haven't written any blog entry for some time now - the reason is simple, preparing for JavaOne/NetBeans Day, NetBeans day and JavaOne itself and 14 days vacation after JavaOne kept me busy for some time. But from the beginning - as most of you already know, JavaOne was quite success for NetBeans and NetBeans Mobility Pack this year. On Monday I was doing demo at NetBeans Day how easily can one develop Swing applications for SavaJe phone using Matisse GUI builder, on Wednesday together with Tom Brandalik from Sun Java Wireless Toolkit team I had one technical session (TS-4589 - Good Morning, Buenos Dias, Dobry den Mobile Internationalization in Action), on Friday I was doing instructor-led hands-on-lab Mobile Applications: Visualize it, Build it, Deploy it to Many Devices. The most important event for me though was a demo on James Gosling's keynote on Friday, where Petr Suchomel and me showed how Java can be used to track RFID tagged items and how one can use a mobile phone to be notified about specific items position and interact with whole tracking system. Lukas has some nice entries and pictures in his blog here and here and some more pictures are here.



Finally, when done with all that JavaOne madness - on Saturday afternoon together with my wife I hit the road for a small vacation around national parks and such stuff. Well, small - at the end it turned out the whole trip was around 4 thousand miles - the guys at Avis have to definitely love me for driving that much (last year I was doing slightly smaller trip, just 3 thousand miles) - hopefully they won't revise their rental terms, especially the item concerning unlimited mileage :-). You can see the whole trip on the map below.


What actually very positively surprised me was the fuel consumption of the car I was using - Avis rented me Pontiac G6 GT with 3.5V6 engine and at the end of the trip the average for the whole trip was 31.9 MPG - that's 7.4 liters per 100 km - that's not a bad result for a V6 engine with automatic transmission - this is basically the same consumption I get with my car, which has 1.5 engine with less that half the power and manual transmission. I don't know why in Europe almost everybody believes american cars are very fuel hungry :-).


Anyway the trip was great, I was surprised by most of the places I traveled (that's quite a bad thing when you have to drive :-)) and I'm still wondering why the whole state of Utah is not declared as a national park - there are not many places like this on Earth.

Now it's time to get back to work :-). NetBeans 5.5 is on the way and there is still a lot of things/fixes to be done.

posted by bblog Jun 08 2006, 07:14:05 PM CEST Permalink Comments [2]

20060427 Thursday April 27, 2006
Developing Java applications for Pocket PCs using NetBeans - a dream or reality?
A recently released preview of Mobility Pack for CDC allows to develop Java application for Symbian based devices, in particular for Sony Ericsson P990 and Nokia Series 80, which feature a CDC configuration with Personal Profile. Unfortunately, the tool cannot be used out of box with one of the platforms, which is quite widespread these days,- PDAs running Microsoft Windows Mobile operating system. Luckily, because of extremely versatile build system used in NetBeans, it is not difficult to a basic support for deploying and running the developed application on a Pocket PC device (or emulator). Let's suppose you have some project developed for CDC/PP using Mobility Pack for CDC, ideally using Matisse form designer, and you would like to deploy and run it on a Pocket PC device. For example something like this:


To do so, you need to do some preliminary work first. You need to have either a device, or a full ARM emulator. Fortunately, last year Microsoft released a community preview of Pocket PC emulator running Windows Mobile 2003, which can be downloaded for free from Microsoft site - you just need to have a passport account). You need also ActiveSync to be installed and the device(emulator) paired with the computer running NetBeans. Furthermore you need to have a CDC/PP virtual machine. Fortunately, you get evaluation licenses of a CDC virtual machine from two companies - J9 from IBM (make sure you download a correct version for your device - PDAs are Windows Mobile, embedded devices are usually Windows CE) or CrE-ME 4.1 from NSIcom.

I suppose you have the device/emulator paired and you have successfully installed the virtual machine to it. The next thing you will require is Rapi Tools - these small programs are going to be used to communicate with the device over the ActiveSync connection. You can downloaded the package for free from this site. Unpack an archive to a suitable location (and try to remember it :-)).

Now the last thing to be done is to modify the main build script of the project you would like to deploy and run on the Pocket PC. Open the build.xml file (it should be located and add the following scriptlet into it and modify it to your environment.



The only modification you will need to do if you have used default installation paths for the VMs on the device, is to change the path to the bin directory of the rapi tools installation (I told you, you should have remembered the installation location :-)). The build script is well documented (I believe so :-)), so you shouldn't have problem with modifying it to your environment (for example you might want to remove the reference to Matisse layout when not using it in your project).

Save the modification and hit run - the IDE should build your project, deploy it to the device(emulator) and run it - you should see similar result as on the next image. Be patient, since running can take a while, especially on the emulator, which runs at something like 1/3 of the speed of a real device. And here you go, you just deployed and run the application on a Pocket PC device running Windows Mobile operating system.


To summarize - using this mini-how-to you can easily deploy and run the applications on Pocket PC PDAs running Microsoft Windows Mobile operating system (I tested it with both version 2003 and version 5.0 (the latest)). Unfortunately, you still need to use some SDK to build the application (I was using SDK for P990), but in the future this should not be required. Stay tuned :-).

posted by bblog Apr 27 2006, 04:16:18 PM CEST Permalink Comments [4]

20060426 Wednesday April 26, 2006
SDN Channel - Mobile Edition is now live!
SDN Channel features mobile tools this month. Make sure you check the site and see videos of John Treacy (this guy is actually my director :-)) talking about Mobility Pack and about recent development in mobile space, Paul Reddick from Sprint talking about latest trends in mobile development from carriers point of view and also Martin Ryzl (my manager :-)), who talks about Mobility Pack. Besides the videos there are many other links to tutorials, blogs, downloads and other things. Definitely worth a visit.


posted by bblog Apr 26 2006, 08:02:31 PM CEST Permalink Comments [2]

20060331 Friday March 31, 2006
Mobility Pack entering the big business?
Next week there is going to be the first NetBeans Mobility Day at CTIA Wireless conference in Las Vegas. The event will be held on Wednesday, April 5th, from 1pm to 6pm at Harrah's. From our side there will be presentation and demos about both, Mobility Pack for CLDC and also the brand new Mobility Pack for CDC.



Besides NetBeans, there are going to be also talks from Sprint, from Nokia and from UIQ. Sprint will show "how easy mobility development becomes" with their customized NetBeans Mobility Pack. Nokia will talk about their roadmap and SKDs (I'm wondering if they will dare to include any information about MTJ :-)) and UIQ will talk about their Java platform (CDC!) and their roadmap (but I'm sure UIQ guys will be happy to show how easily can one develop applications in Mobility Pack for CDC and run it on a real device).

From my perspective - having NetBeans so visible on perhaps the most important wireless technology event of the year is definitely a big step for us. Unfortunately I'm not going to be attending the event, but Suchys will, will do the demos and will answer the most peculiar questions he can get about NetBeans Mobility. So make sure you register and attend the event. You can also win some stuff (I have heard something about Playstation and some devices from Samsung and SonyEricsson including a 6 months free service from Sprint). Go mobility pack go :-).


posted by bblog Mar 31 2006, 11:29:58 AM CEST Permalink

20060330 Thursday March 30, 2006
Mobility by Microsoft
Yesterday I attended Microsoft Mobility Tour event here in Prague. It was held in Hilton Hotel, so I finally got a chance to see this place (see included pictures). The event was nice, a lot of good food (Microsoft knows how to feed its potential customers :-)). There was around 30 people attending it - I was actually surprised by such a small number, I would expect rather around 100 people. It could be interesting to see how many people would come for Sun Mobility Tour - I guess we could get at least 100 :-).


Hilton Hotel atrium - the main lobby


The event itself was very interesting and I was rather (positively) surprised by the amount of tools and support Microsoft gives to the mobile application developers. I spent there all day and basically found everything interesting. At the end we got a DVD set with Windows Mobile 5.0 Developer Resource Kit, where is a lot of materials so I'll be slowly going through over the next couple of weeks to learn something new. Unfortunately (and as usually :-( ) I didn't win the raffle - they had a very nice phone running their OS with VGA! screen and full keyboard. Hopefully next time ... :-).


Microsoft evangelist in action ...


What surprised me negatively, though, was two things - Microsoft does not offer any performance tool or profiler for .NET Compact Framework - the guy doing the session was nice and was trying to demonstrate at least some capability of their solution, so he set an obscure registry value at the target device (how typical ...), run the application, terminated the application and them downloaded a text log file from the device and tried to interpret it. From developer's point of view, this was hardly usable (I would call it even worse than that). The fact you have to terminate the application to be able to read the log file is simply ridiculous. When I asked the question whether there is any visual tool for performance measurement, the answer was 'we are working on it'. Ok - hopefully something will come up with the next version of the Visual Studio - perhaps in 2008 or some time around that. Looks like we (i.e. Java developers) have quite advantage here ...


An afternoon dessert ...


The other, "striking", thing was their platform fragmentation. I knew there are two editions of the platform - Windows Mobile for PocketPC (for PDAs and some phones) and Windows Mobile for Smartphones (for phones). What I didn't know was the fact that when you are using .NET Compact Framework 2.0 and targeting Pocket PC devices, you still need to keep in mind there are several editions of the platform (Windows Mobile 2003, Windows Mobile 2003 Second Edition, Windows Mobile 5.0) and each of them offers a set of different APIs for you as a developer. Thus to develop an application using .NET Compact Framework 2.0 and Windows Mobile 5.0, you need to make sure you are not using any classes specific for 5.0, because the application wouldn't work on the older version of the operating system. This might be quite frustrating. In Java, this is much easier - when you are using targeting CLDC 1.1/MIDP 2.0, you can be sure it is going to work on all devices supporting this standard (ok, ok, I know about device fragmentation, but ideally it should work). And when one considers also Smartphones platform, well, in this case there are 6! different platforms for which the application has to be carefully developed and on which should be also tested. Quite frightening IMHO ...


Inside the hotel's atrium


So to summarize the event - there are many things where we can learn from Microsoft (tools, support for end-to-end applications, ...), but this can be fixed by us, the tool developers. On the other hand, the Microsoft platform seems to be broken from the ground and I'm afraid there is no easy way to fix that. Again and again I'm glad I'm using Java and not their platform (but still keeping an eye on it and trying to make our solution more usable for the developers :-) ).

posted by bblog Mar 30 2006, 10:48:20 PM CEST Permalink

20060317 Friday March 17, 2006
JavaUK06, London and other stuff
This week I was doing Java ME and NetBeans Mobility Pack presentation in London at JavaUK06 event. I haven't been to London for a quite long time - for almost 10 years. The last time I was there, I was a fresh graduate and I was returning from a three months stay at the University of Ulster in Derry. To my surprise, many things hasn't changed and on the other hand many has. For example, the British are still using the old designed taxi cars (I'm wondering how old are they actually, and if it is only the design which hasn't change or whether is it still the same car - i.e. the same engine and other "internals"), the Tower castle, Big Ben, Westminster Abbey and the neon signs on Piccadilly Circus are still there (I'm wondering how much TDK and Sanyo had to pay to have their signs to be there for such a long time - does anybody know how many years they have been already there?). On the other hand, there has been a lot of significant changes since 1996 - for example the London's Eye and the new buildings across London's Tower. But I have to admit I really liked it and I'm glad London is such dynamic city. If it is going to take another 10 years for my next visit (I hope not), I'm wondering what I will see there - I suppose the taxi cars will be still of the same design and there will be a lot of new hyper modern buildings around the Thames river :-).

The event itself was great, perhaps even more than great. A lot of people came along and I'm sure it was well spend time for all of us at attending it. Personally I liked a lot the idea of having specific pods for NetBeans, Mobility Pack, Profiler, Creator and other products in the exhibition/refreshment area, so the delegates could ask various questions and we could show specific "on-demand" demos. I was at the pod for almost the whole day (except the time I was doing the JavaME/NetBeans Mobility Pack presentation) and I was kept quite busy. Many people were coming after my presentation and were asking detailed questions about Java ME, MSA and Mobility Pack. So in my opinion, pods on which are available the actual people doing the presentations is definitely a great idea - this really helps to both sides to start the conversation about the technology/products.

I also met a lot of interesting people from Sun and all of them were very passionate and confident about the technology and products we are currently offering to our customers - this is very good and it is great to be part of such company. The future looks bright - a lot of Sun(shine) will be there :-).

What did not look so bright at some point, though, was a little adventure which happened to me when I was going to the Heathrow airport to catch my flight back home. My plane was scheduled to take off at 18.55 from Heathrow, so at 16.30 I took the Piccadilly Line and was thinking myself what I'll do at the airport, since it looked I had a lot of time. The train was going ok (a little bit crowded, though) but when we stopped at Hammersmith, we started to wait - 5, 10 minutes and then I heard that "the services are stopped, because there is a security alert at the Stamford Brook station". I waited for another 10, 15, 20 minutes and started to be a little nervous - it was 17.20 and my plane was scheduled to leave at 18.55. Then even better message came from the station - "the services are stopped and it is not known when they are going to be resumed, so passengers are advised to use local bus transportation". I thought myself - great, I will need to use bus or taxi, but I have to do something now, the time is running away quickly.

I got off the train and went to the bus station just above the Hammersmith underground station. I got upstairs and asked the staff how to get to the Heathrow airport - I was told I have to take two buses (one and then change to another one), but I need to ask for details at the bus station, because they didn't know which buses are going that way. Even better, I though myself, and tried to get to the bus station. But when I moved a little bit further, I saw a huge crowd of people blocking the entrance to the underground station - it looked like nobody could get in or out. I was starting to worry a little bit at that time - it looked like the only option left is to try to get out of the station and catch a taxi (actually would the taxi make it to the airport from Hammersmith in 30-40 minutes during the rush hours?).

Well, fortunately when I was trying to burrow my way through the crowd, I heard from a security guy's walkie-talkie that the services are being resumed soon., so I immediately turned 180 degrees and rushed back to the train. The train was still waiting at the station, so I got successfully on and at around 17.30 we started to move closer to the airport again. I finally managed to get to the airport in time (well, it was 18.10 when I was checking-in :-)) and got a message from the check-in lady the flight is late 20 minutes. Eventually, the flight was late almost for one and half hour, so perhaps it wouldn't had been a problem to even walk on foot to get to the airport :-). So at the end it was not so bad, but if the services would had been stopped for another 10 more minutes and the flight would not had been delayed, it would had been very likely I would be staying in London for one more night (which is not actually a bad thing, but I'm afraid my budged wouldn't like the additional price of one more night in the hotel and a new ticket for the flight back home the next day).

Nevertheless, I'm very glad I was able to attend the event - JavaUK06 was really great. Now let's hope JavaUK07 will be even better :-).

posted by bblog Mar 17 2006, 07:02:41 PM CET Permalink

NetBeans 4.1 ain't dead yet, the grand finale
A while ago, just shortly after 5.0 release of NetBeans Mobility Pack, I was writing about NetBeans 4.1 being one of the finalists at 16th Annual Jolt Product Excellence & Productivity Awards. Well, the award ceremony was held yesterday and guess how we scored - we received a Productivity Award in Mobile Tools category. And I bet the judges haven't seen 5.0 yet. Next year, we must be the Jolt Winner. Go Mobility Pack, go :-).

posted by bblog Mar 17 2006, 01:13:16 AM CET Permalink Comments [1]

20060209 Thursday February 09, 2006
How to edit cells in TableItem

There was a question on nbusers mailing list if it is possible to edit the individual cells in the TableItem component provided by the Mobility Pack 5.0. Even though the TableItem component does not contain functionality which would let users directly edit the individual cells in the table, it is still possible to let the users edit the cells using the following technique:.


The editing itself will be done by a TextBox screen, so you need to add a TextBox to your design - let's call it tableItemEditBox. Then you need to assign a command to the table item (not to the form) - this command will be used to start the editing and to switch to the text box. You can do this by switching to the screen designer, dragging Item Command from the palette and dropping it on the table item. Below Assigned Item Command you should see an instance of the command you just dropped. Click on Edit action and set the action to switch to the display to the tableItemEditBox component.


You need to also add two more commands to the tableItemEditBox component - Ok and Cancel command, so user can either confirm or cancel the editing of the cell. Both commands should go back to the form with the table item. The flow design of the application could be similar to the following screen shot:





Don't be surprised the command assigned to the table item is not visible - the current version of the designer does not visualize commands assigned to the items (we definitely plan to change it in the future releases). Fortunately, the assigned command can be seen and its action can be edited in the screen designer when editing the form containing the table item:





Now you have to manually add a code, which will handle the edit action of the cell. Switch to the screen designer and right-click on the command assigned to the table item (itemCommand1[tableItem1] on the screen shot above). In the pop-up menu select Go To Source item - the source editor should open and you should see the actual code which switches to the tableItemEditBox. component. You should see the following code:

if (item == tableItem1) {
if (command == itemCommand1) {
// Insert pre-action code here
getDisplay().setCurrent(get_tableItemEditBox());
// Insert post-action code here
}
}
}

Now you need to add the code before the display is going to switch to the text box, which will get a value of currently selected cell from the table item and assign it to the text box, in which the user is going to edit the value. This can be done quite easily - you need to obtain column and row of the currently selected table item cell and set this value to the text box. The code might look like the following:


if (item == tableItem1) {
if (command == itemCommand1) {
// insert value from the currently selected cell in the table item to the text box
final int selectedRow = get_tableItem1().getSelectedCellRow(); // get selected row
final int selectedColumn = get_tableItem1().getSelectedCellColumn(); // get selected column
final String cellValue = (String)get_simpleTableModel1().getValue(selectedColumn,selectedRow); // get value from the model
get_tableItemEditBox().setString(cellValue); // set the value to the text box
getDisplay().setCurrent(get_tableItemEditBox());
// Insert post-action code here
}
}
}

Now you should be able to edit the cell value, but the edited value should get somehow back to the table. To do so, you need to add some more code to the Ok action on the text box component. Go to the flow designer, right-click on the line going from ok command from the tableItemEditBox and select Go To Source from the pop-up menu. This opens the source and the cursor is positioned at the code which switches from the text box back to the form with the table item. Here you can type the code which will get the edited value from the tableItemEditBox component, update the table model with it and then fire event that the table model has changed (so the table item can relayout the table grid based on the new values). The code could look like the following:


} else if (displayable == tableItemEditBox) {
if (command == okCommand1) {
// need to update the value of the edited cell
final String value = get_tableItemEditBox().getString();
final int selectedRow = get_tableItem1().getSelectedCellRow();
final int selectedColumn = get_tableItem1().getSelectedCellColumn();
get_simpleTableModel1().setValue(selectedColumn,selectedRow,value);
// don't forget to fire table model changed event, so the table item gets relayouted
get_simpleTableModel1().fireTableModelChanged();
getDisplay().setCurrent(get_form1());
// Insert post-action code here
} else if (command == cancelCommand1) {
// just return from the textbox - no change in the tableModel for cancel action
getDisplay().setCurrent(get_form1());
}
}

And that's it - now you should have the functionality for editing the cells of the table item. You can download an archive of the project which contains all this functionality and you can use it as you wish. I hope this mini how-to helps a bit when working with the new custom components available in the Mobility Pack 5.0.


posted by bblog Feb 09 2006, 03:47:19 PM CET Permalink Comments [3]

20060202 Thursday February 02, 2006
NetBeans 4.1 ain't dead yet

Even though we have just released version 5.0 of NetBeans and Mobility Pack, the previous version (4.1) is not dead yet. Although not quite a flash news, NetBeans 4.1 (together with Mobility Pack) was selected as a finalist in the Mobile Development Tool category of Software Developer magazine's 16th Annual Jolt Product Excellence & Productivity Awards. Hooray, another reason to celebrate :-).


posted by bblog Feb 02 2006, 09:43:37 PM CET Permalink

Mobility Pack 5.0 Released

Finally - the FCS version of Mobility Pack 5.0 has been just released! Currently perhaps the most powerful IDE for developing JavaME/MIDP applications. Just look at the features available in this version:


New Features:

So if you haven't done so, download the IDE and start coding. I'm sure you're going to have a lot of fun when woking with the tool.





posted by bblog Feb 02 2006, 10:57:31 AM CET Permalink

20060106 Friday January 06, 2006
Is it Time for NetBeans to Finally Throw in the Towel?

David Berlind - a well known journalist - is in his ZDNet blog entry called Out of '05 and into '06, Eclipse is on a major roll is asking a question whether it is time for NetBeans to finally throw in the towel.


I'm actually wondering what are the reasons David thinks NetBeans might even think about throwing in the towel. I can't seem to find any reason for such an action - NetBeans marketshare is growing (NetBeans Mobility is growing even more :-)), we have many features you cannot find in Eclipse - Matisse, Mobility Pack, seamlessly integrated support for web applications, collaboration tools, and many other features one usually has a hard time to put (and only if available) to Eclipse.


Perhaps the latest version of Netbeans David has seen was 3.5 (or some other 3.x version) - a lot of things has changed since than. It is definitely too early to throw in the towel for both of the parties :-) - with release of 4.0 NetBeans got a second breath and the features of upcoming 5.0 are clearly demonstrating the huge effort which has been put into the product to make it eventually the best IDE for Java (and also non-Java - stay tuned) development :-).


P.S. Happy New Year everyone :-)


posted by bblog Jan 06 2006, 09:17:18 PM CET Permalink Comments [2]

20051224 Saturday December 24, 2005
Merry Christmas from Prague

Together with my family, we went to the Prague's Old Square to experience the Christmas atmosphere in the old town. It was quite nice time - we enjoyed it a lot (I personally miss the snow, though). This is the the last blog entry from me this year, so Merry Christmas and Happy New Year everyone and see you next year.




Prague's Old Square this morning - note the 20 meters high Christmas tree in the center :-).


posted by bblog Dec 24 2005, 04:46:40 PM CET Permalink Comments [1]

20051222 Thursday December 22, 2005
Opera Mini for Everyone

Opera temporarily removed regional restrictions on downloading their browser for Java-enabled phones. You can download it by following the instructions on this page.






This is Opera Mini running on SonyEricsson P900 - this picure was taken by another phone, so please excuse the quality of it.


Anyway even though this device runs Symbian (and therefore "native" Opera), it is worth trying Opera Mini here. Later I'll try to do some comparison between pages rendered by Opera Min and native Opera - I'm really wondering what results I'll get.


posted by bblog Dec 22 2005, 05:41:41 PM CET Permalink Comments [2]