FOSDEM’09

Minulý týždeň som sa zúčastnil konferencie FOSDEM (Free OpenSource  Developers' European Meeting), ktorá sa každoročne odohráva v Brusseli. Tu sú moje dojmy:

  • dlhá a únavná cesta (vlak, lietadlo, vlak, električka)
  • nemám vybavené žiadne ubytovanie a hostely sú plné
  • letisko vo Viedni má wifi, ale žiadne zásuvky
  • couchsurfing je skvelá vec, vďaka nemu sa nakoniec ubytovanie našlo
  • v piatok som konečne dorazil do Brusselu
  • hromadná doprava je zložitá, našťastie ľudia sú ochotný poradiť
  • 18.00 Delirium Café - FOSDEM Beer Event
  • 2000 druhov piv... 0.25l @ 3 Eur... Ehm..
  • Trafil som domov :)
  • sobota ráno - konferencia (a bolesti hlavy) začínajú
  • príprava nášho stánku (Sip-communicator)
    • ZRTP video hovor funguje ako má, ale internet nefunguje, teda demo portu na Android sa nekoná (o cca 15.00 začína fungovať internet)
  • zvyšok dňa prednášky, hranolky, kola a aspirín:
    • IcedTea
    • Jigsaw
    • OpenJDK
    • nove vlastnosti v Java 1.7
    • Jingle
    • Scala
    • nejaké lightning talks
  • večer opäť pivný dýchanek, tentokrát už len sip-comm team a za "google money"
  • romanticka prechadzka po Brusseli o 2.00 má svoje čaro
  • nedeľa - opäť zaujímavé prednášky:
    • WT::Ruby
    • metaprogramovanie v Ruby
    • VMKit
    • Jikes RVM
    • Cacao
  • lúčenie a cesta domov s miernou adrenalínovou príchuťou (takmer som nestihol lietadl
  • moje dojmy - videl som veľa zaujímavých prednášok, stretol som veľa zaujímavých ľudí, dozvedel sa o množstve zaujímavých projektov a v neposlednom rade vypil množstvo skvelého belgického piva - už sa teším na ďalší ročník :D

Ak by ste chceli nejaké fotografie tu sú nejaké: http://picasaweb.google.com/martinhrvn/Fosdem09

Google Offices visit / GSoC meetup Krakow

  • english
  • slovak

Last week I went to Krakow to visit Google Offices and to meet with fellow GSoCers. I enjoyed it very much, but first thinig first. I took a train there and it was not very good (now I understand that Dylan Moran wasn't really joking about it :) ). It had 2 hours delay (good thing I came an hour early) and then the car I had ticket for did not arrive. Good thing was that most of the train was empty so I had a compartment for myself. At 6 a.m. we arrived to Krakow and I was sort of tired as I couldn't sleep very well on the train.

That early there was not much you can do in Krakow. I did walk around the city and enjoyed it, Krakow is really beautiful city with a lot of historic buildings and stuff. After a long walk I stopped in a cafe to have a java to wake me up and some snack as I was already feeling a bit peckish. There was nothing much to do untill the meeting time which was scheduled for 11.30 so I did some more walking and sightseeing. I realized one thing, sightseeing is fun for a while then it starts to be a drag (mainly if it is that hot outside).

As the time was getting closer to meeting time I went to look for the offices (little did I know that the address posted on the wiki page was not all that correct ;) ). I met 3 other GSoC-ers (one of them was mentor) we decided to sit there have a beer and wait what will happen next. And surely in a while few googlers showed up to pick us up. And take us to the office.

The office. Did I mention it's cool? Well, I will now. We signed in, got name tags and broken into groups and one googler walked us through their offices. A few things I think are worthy to mention. All the rooms have funny names, best of which I guess is Access Denied (try entering that room..), the same holds for printers (/dev/null). Everything there makes you enjoy working at that place -  there are fatboys lying around, there's table tennis table,   table football, gaming consoles and a big screen TV. Now who wouldn't want to work there?! And did I tell you they also have a very cool kitchen there with lot of food and a shower? Well, those things make it even sweeter place to be in. The place is full of great things and most of all great people. Really googlers really seemed like very nice and friendly people I would like to work with.Google Swag

After the Tour de Office we sat in the "social" room (the one with the table tennis) and we sat down and couple of googlers very informally introduced what they are working on and the life in Google generally. It was amazing to see how many different projects are worked on there. The things they said about work in Google make me want to work there even more (don't get me wrong I know you do have to actually work there and it's not all fun and games :) ) - the fun events Google organize, the 20% rule (you can spend 20% of your time on a project of your choice). Each of the students was given some google swag (T-shirt, notepad, stickers..).

GoogleOfficeThen each of the students got a time and place to introduce his (and her since Ania was also there :) ) project. It was really interesting to see what a wide variety of projects are people working on (Tcl, GCC, wxWidgets, Java Pathfinder are only to name a few). After we introduced our projects we work on we had some free time to eat the snacks they googlers prepared and to chat with either people working in google or other students about various things.

RockbandAfter a while they took us to the second office this is located in more historical building but it still has this Google feeling to it. There we had some fun too. Some of us grabbed the guitars drums and microphone and played RockBand game, some of us played wii tennis. All in all it has been fun and before I knew it it was time to go. Too bad it's not allowed to take pictures inside Google Offices.

Beer!!We did last few group photos and decided to go to have a beer somewhere. All in all it has been wonderful day and I am glad I decided to attend the meetup. I met a lot of interesting people and had lot of fun there. So I'm sure I'll meet you on next GSoC meetup next year.

Next generation of Windows based on Linux kernel

  • english
  • slovak

According to Microsoft's new head of Windows development Steven Sinofsky Microsoft was rethinking their "Largely bloated operating system" and decided to create new kernel for the new generation of operating systems that will be based largely on Linux kernel. The licensing policy under which the new Windows kernel will be released is still undecided. According to Sinofsky it is very probable that it will adopt GPL license and sources will be published.

"A lot of people think of Windows as this really large bloated operating system, and that may be a fair characterization, I have to admit" Microsoft's engineer Eric Traut said. "It is large, it contains a lot of stuff". There haven't been much public information about new kernel, Trout stated that they are already have version that they are using internally to build products based on Window.

The engeneers show previously unseen fondness of Linux operating system. According to Traut, "It's not just the OS that's running on many laptops in this room, it's also the OS used for media centres, for servers, for small embedded devices. It's used in a lot of different ways, and this will provide the opportunity to move into a lot of different areas."

I will be very interested how the new version will stack up against all the other operating systems that are currently on the scene or how the Linux fans will react. All in all I guess everyone will benefit from finally opening their products.

New Netbeans - 6.1

  • english
  • slovak

netbeans splashIt's not been too long ago since Netbeans 6.0 was released and yet a new version is to be released - 6.1. Judging by version number one would expect only minor fixes, that's not entirely true. One of the main features of new version is said to be the speed of the editor.

Since I was one of the folks that were complaining, I couldn't wait to test it. On the new features they claim: "Up to 40% faster startup" and that's not entirely true... In my case the speed boost is even higher. I measured it all and the results speak for themselves - the 6.0 version started on average in 60+ seconds, new 6.1 starts on average in 20 seconds. Now that's what I call boost! Kudos to developers for that - keep it up and we will show everyone that Java is not that slow. :)

Other new features I noticed is improved JavaDoc writing. However in my oppinion the old JavaDoc tool should've been left at least as a plugin. New version now supports standard @ tags such as @params, @return etc.

In the feature list on the official 6.1 webpage I also noticed other new things - Netbeans now support JavaScript, new hints for Ruby and Rails. This will probably mean that easy refactoring will be available also for Ruby and other dynamic languages and that's great.

I'll repeat once again, developers have done great job hacking Netbeans, and fixed the most important thing for me - start speed. That means Netbeans is one step closer to becomming the ultimate IDE for me.

If you are a programmer and you haven't tried Netbeans yet, or you have older version, you might consider trying 6.1. You can download it here. It is still beta and the final version of 6.1 is due April 23rd 2008.

Metaprogramovanie v Ruby

V jazyku Ruby sa metaprogramovanie stalo štandardným spôsobom písania aplikácií a existuje množstvo techník, ktoré sa dajú použiť, ale existuje len málo materiálov. V tomto príspevku sa pokúsim dať dohromady aspoň základné spôsoby, ktoré sa v Ruby dajú použiť.

V prvom rade je na mieste otázka What the f*** is metaprogramming..? odpoveď nie je jednoznačná. Dalo by sa povedať, že ide o vytváranie programov, ktoré vytvárajú alebo modifikujú iné programy... Toľko definícia podľa wikipédie, poďme sa pozrieť ako to vyzerá v praxi.
Continue reading →

Balíček týždňa VI. (8.3.2008)

Miro ScreenshotV novom šate a s novým elánom pokračujem v písaní. V prvom rade sa chcem ospravedlniť za dlhé ticho. na svedomí ho má ako inak - škola (skúšky, bakalárka...). Škola sa síce ani zďaleka neskončila, ale vyzrá to tak, že sa všetko nejak uvoľnilo a ja sa s pokojným svedomím môžem venovať blogovaniu (snáď to budem tvrdiť aj o týždeň :) )

V poslednom čase som našiel niekoľko aplikácií, ktoré by si zaslúžili titul balíček týždňa nakoniec som sa rozhodol pre Miro - prehrávač internetovej TV a bittorrent klient v jednom.

Continue reading →

Converting .avi to DVD in Ubuntu

  • english
  • slovak

If you happen to have any movie that you would want to see on your DVD player you came to the right place. This mini how-to will show you how to convert almost any movie to DVDformat.

What you will need:


1) We have to convert video to DVD compliant mpeg2 format, in this howto we will use ffmpeg to do that. You can use command like this in console:

ffmpeg -i test.avi -target pal-dvd test.mpg

That is basic command which will assume default values for bitrate, codec and buffer size. (Default settings are: bitrate - 6Mbps, codec mpeg2video, audio codec: ac3, 48 000Hz, stereo, 448kb/s). Of course you can customize any of those settings.

Here is description of most common switches you can use:

-aspect 4:3

- sets aspect ratio (4:3 or 16:9)

-sameq

- converts into same quality as source movie so there shouldn't be any quality loss. BUT! This can lead to bitrate greater than 9.8Mbps, which is maximum bitrate of mpeg2 dvd video. DVD players will usually freeze there.

-s 720x576

- sets size to 720x576

-padtop 20 -padbottom 20

- adds padding on top and bottom 20px wide

-pass 2

- used with variable bitrate, movie will be encoded two times, first time it will log character of video and will optimize bitrate second time. It is preferred to use 2 pass encoding. First time you should specify -pass 1, when the conversion is successfull you should start conversion once again with the same settings, this time with -pass 2 instead.

-b 6000k

- Specifies what bitrate to use for video. The higher the bitrate the bigger will the movie be. Default is 6Mbps.

-ab 96k

- sets audio bitrate, default setting (448kb/s) is fine, setting it to lower value will not save much space anyway.

So much for the settings. I have to say ffmpeg is one of the fastest encoders I know. Hour and a half movie was transcoded in less than hour (single pass only).

As a help to set padding and dimensions aspect ratio you can use the following bash script.  >>Here<<

Usage is trivial, you just run it and as parameters you provide the dimensions of original video (source video). Te script outputs parameters for ffmpeg.

2) When we have DVD compliant video we can now use some dvd authoring tool to create DVD direcotry structure. There are few tools to do that (QDVDAuthor, DeVeDe etc.). I chose QDVDAuthor, because it provides many options and it allows to do some more advanced things (adding subtitles, audio channels etc.).

dvd-author screenshot

I will describe QDVDAuthor in details in some of following posts, for now we will just add our movie to our project and select Create DVD option.

Program allows to burn the DVD right to disc or just create the directory structure (AUDIO_TS and VIDEO_TS) and then burn it in some other tool (K3B, gnomebaker).

Konečne sme sa dočkali - Netbeans 6.0

Po týždňoch čakania a v mojom prípade aj betatestovania sme sa konečne dočkali finálnej verzie Netbeans 6.0.

Poďme sa pozrieť, čo nové nám prináša:

Nový Netbeans prichádza hneď v niekoľkých verziách, líšiacich sa v programovacom jazyku ktorý mienite používať v ponuke je verzia pre C/C++, Java (SE alebo EE), Ruby, Mobility, alebo tiež kompletný balík, ktorý obsahuje všetky spomínané pluginy. Samozrejme všetko sa dá neskôr doinštalovať cez Pluginy.

Hlavné zmeny v prostredí IDE nastali hlavne v práci z tabmi a panelmi, ktoré je teraz možné premeniť na samostatné okná, čo môže byť vhodné pri práci na viacerých monitoroch. Naviac nastalo určité zlepšenie aj v prispôsobivosti obsahu panelov. Z ďalších noviniek sa dá spomenúť ešte možnosť vytvorenia skupiny projektov, čo uľahčí prístup k príbuzným projektom.

GUI builder, to je ďalšia oblasť zmien - k lepšiemu. Novinkou je Beans Binding technológia pre stavbu aplikácií používajúcich databázu ako zdroj dát - je to veľmi šikovné a neuveriteľne to zrýchľuje prácu pri vývoji takýchto aplikácií. Ďalším pozitívom je to, že už sa dá vygenerovaný kód pre Swing aspoň ako tak modifikovať, stále by to chcelo viac voľnosti, chápem že je to v záujme konzistencie vytvoreného designu, ale mne osobne nemožnosť čokoľvek zmeniť niekedy prekáža.

Čo sa týka podporovaných jazykov, hlavnou zmenou je podpora Ruby, a Ruby on Rails, čo bol tiež dôvod, prečo som sa na 6.0 tešil. Podporuje ruby zdrojáky, RSpec a YAML súbory, obsahuje aj Ruby a Rails debugger, testovanie a správcu pre Ruby Gems.

Zmeny sa dotkli aj UML modelovacieho pluginu, hlavne v podobe prispôsobivejšieho generovania kódu z UML diagramov, alebo importu požiadaviek programu z XML alebo Telelogic DOORS.

Používal som šiestu verziu už pomerne dlhší čas. Teda som ju (v rámci možností) otestoval a môžem povedať, že sa s ňou pracuje naozaj pohodlne, no neodpustím si aj trocha kritiky - GUI builder, zmeny boli k lepšiemu, ale stále to nie je ono, hlavne čo sa týka zarovnávania komponentov, niekedy sa nestačím diviť prečo prenesenie komponentu o niekoľko pixelov dozadu rozhádzalo celý formulár na nepoznanie. Program nie je najrýchlejší, čo sa štartu týka, možno preto, že mám kompletné vydanie so všetkými pluginmi, ale do budúcna je nevyhnutné štart o hodný kus zrýchliť.

Ďalšia verzia Netbeans, ktorá sa u mňa stane opäť IDE číslo jedna (snáď len ak mi niekto chcel darovať IDE-u :) )

Balíček týždňa V. (25.11.2007)

Dnešný diel bude niečím výnimočný. Napríklad tým že dnes nebude predstavený iba jeden balíček ale hneď päť a navyše pôjde o hry. Na úvod hneď jedno upozornenie - všetky tieto hry sú vysoko návykové preto dobre zvážte či ich vyskúšate.

Zoradené sú podľa mojej obľúbenosti:

  1. Xmoto
    XmotoÚplná klasika - motorky a adrenalín. Cieľom hry je prejsť v každom leveli všetky checkpointy a dostať sa do cieľa, pričom sa treba vyhnúť nástrahám.
    Je možnosť hrať singleplayer, proti najlepšiemu skóre alebo aj multiplayer, zatiaľ iba na jednom počítači.
    Stereotypu sa báť nemusíte, exituje viac ako 1000 levelov, z ktorých väčšina je veľmi kvalitných a existujú aj skriptované levely ktoré umožňujú meniť pravidlá hry a pridávať rôzne fintičky ako sú zmena gravitácie, pohybovanie elementov v leveli atd.
  2. Battle for WesnothWesnoth screenshot
    Ďalšia skvelá opensource hra, tentokrát ťahová fantasy stratégia. Prirovnal by som ju k Heroes of Might & Magic, hoci má iné pravidlá.
    V repozitároch ubuntu sa nachádza hra, rovnako ako aj ďalšie rozširujúce kampane.
    Množstvo užívateľmi vytvorených kampaní opäť zaručuje zábavu na dlhé zimné večery. A ak by vám nepreberné množstvo levelov bolo málo v repozitároch sa nachádza aj level editor, kde sa môžete podľa chuti realizovať :)
  3. TremulousTremulous
    Všetkých fanúšikov FPS určite poteší Tremulous. Poskytuje neuveriteľnú zábavu vďaka úpne rozdielnym, no napriek tomu vyrovnaným týmom (ľudia vs. alieni)
    Je to síce úplná multiplayerovka, pretože vďaka úplne rozdielnej povahe oboch týmov je ťažké vytvoriť nejakého schopného protivníka, ale alpha verzia TremBot-a už existuje.
  4. Armagetron Advancedarmagetron screenshot
    Ťažko túto hru niekde zaradiť, pretože preteky to nie sú, nie je to strieľačka. Ak poznáte hadíky, viete o čom je hra armagetron. Pre tých ktorý nevedia to v krátkosti pripomeniem: máte svoju motorku, ktorá za sebou necháva steny. Po náraze do steny motorka vybuchne. Cieľom je zostať nažive ako posledný.
    Dá sa hrať proti kamarátovi po sieti, alebo na jednom počítači ale aj proti počítačovému protivníkovi, ktorý je viac než kvalitný a dokáže prispôsobovať svoje schopnosti schopnostiam hráča.
  5. Vega Strike vega strike screenshot
    A na koniec ešte jedna lahôdka - vesmírny simulátor. Táto hra mi pripomenula časy keď som hral Battlecruiser 3000AD.
    Na týchto hrách ma fascinuje tá voľnosť. Je na vás či sa z vás stane vesmírny pirát, obchodník, strážca poriadku alebo len vesmírny turista. Vega Strike ponúka toto všetko a to celé v nádhernej grafike. Hra je síce dosť náročná na ovládanie - hlavne na naučenie všetkých klávesových skratiek, ale keď sa ich raz naučíte už si budete iba lietať nekonečným vesmírom.

Šťastné a veselé!

Ak si myslíte, že mi preskočilo, alebo že som si pomýlil dátum, nemáte pravdu a zrejme ste ešte nenavštívili svoj obľúbený supermarket. Ja som tak spravil pred týždňom a nestačil som sa diviť.

Continue reading →