Category Archives: IT

Energie pro kodery

Co potrebuje koder? Poradny sluchatka na poradnou muziku. Deep Purple nebo Ping Floyd? WTF, no to asi opravdu ne. Poslechnete nasledujici set od Ultima C (ceska DnB nadeje); video vjem je samozrejme kvuli zanru bezpredmetny, takze virtualne firefox & a fg %1; me osobne zanechala samotna muzika sedet v aute pred domem az do finishe(na Radiu Jedna).

Git cheatsheet

Dneska jsem objevil u Zacka Rusina zdarily cheatsheet pro verzovaci system Git, ktery jsem zacal nedavno pouzivat pro soukrome ucely. Vrele doporucuji oboji – vlastni Git i obrazek :).



Kouzelne Ruby

Ruby jsem se zacal venovat posledni rok ponekud aktivneji a porad me neprastava prekvapovat svou eleganci, za niz vdeci predevsim blokum(closures), mixinum (injektovani funkcionality vedle dedicnosti) a runtime modifikacim objektoveho modelu.

Demonstrovat silu techto konstruktu si muzeme napriklad na patternu Singleton. V prehistorickych programovacich jazycich obvykle udelam private konstruktor, budu mit lokalni statickou instanci a statickou synchronizovanou metodu pro pristup k ni.

V Ruby kod vypada nasledovne


require 'singleton' 
class FooService include Singleton end

a pouziti

foo1 = FooService.instance

NetBeans bugs/misconceptions list

Note: This post has been created a few days back, so needn’t necessary reflect the current status of NB 6.1 beta. In fact, I would be more than happy to be blamed for being “lama” with the lack of knowledge of this and that killer feature of NetBeans…

As Jiri Pisa recently became a true fan of ruby, we started to discuss this language almost every day. I summed some of our findings related to the best ruby editor currently available – NetBeans. Note, that the list is not ruby specific only. I will keep updating this list until NetBeans is perfect. 🙂

Domain: Setup

– on Mac: if you turn on Eclipse key binding it’s Windows one not Mac OS one

– keyboard shortcut card (pdf) is static – default Windows eg. doesn’t represent the current status. Looks like somebody made his life easier. 😛

– no setup filtering aka Eclipse – difficult to find the setting (example: try to change key mapping for “Format”)

Domain: Ruby editor

-caching of context help – shows even deleted classes/attributes in content assistant

-quotes pairing madness – duplicates the second quote when closing the first one

missing features

-content assistant in script/console – example: Foo.column_names

-refactoring – file rename – update require clause when changing ruby file name

More to come….

Pekne srovnani ruby/RoR IDEcek

Pokud se stale nemuzete rozhodnout pro vyvojovy tool pro ruby/RoR, mrknete na nasledujici pekny prehled. Tabulka je neustale aktualizovana tak, jak Tor Norbye (Netbeans) pridava jeden komentar za druhym. Zatim zustanu u Netbeans, ktere ale maji take much vic nez dost – viz budouci prispevek v anglictine – pro Tora…. :).

Ruby and RoR IDEs

JetCast numero 4

Posledni dobou ziju za 3, pracuju za 5 a parim za 0.1, takze uznate, ze nemam prilis casu na kvalitni plnohodnotne posty, na ktere jste si zde postupne zvykli. JetCast je jednou z veci, ktera me opravdu bavi, proto urcite zkontrolujte posledni dil, venovany novinkam a nasemu olympionikovi ve windsurfigu Tomasi Malinovi. Enjoy!

Epizoda 4: Dymkovy tandem!

Utu – kladivo na diskutery?

Zed Shaw, autor http serveru Mongrel (a take autor nemene zajimaveho zmrdozpytu hlavnich jmen Ruby on Rails komunity), pracuje na specialnim protokolu, kterym by rad nahradil IRC. Protokol se jmenuje Utu a mel by adresovat issue spojene s anonymitou inetu.

The Internet gives little people the power, confidence, and anonymity they need to abuse anyone they want without any fear of retribution.

In the real world you would tell them to screw off personally. You’d call the police. You’d move to the other side of the room and tell all your friends to ignore them. You’d punch them in the face for the things they said about you and your family. You’d never give anyone with that much acne control over anything in your life.

Cela implementace sestava z hubu, ktery vyhodnocuje nenavist (hate). Pokud nekoho nemusite, zaplatite poplatek v tzv. hashcash za to, ze na vas dana osoba nebude mluvit. Dana osoba pak, chce-li komunikovat, musi zaplatit soucet vsech hashcash poplatku vuci ni. Pokud je to vetsi suma, ma celkem smulu a je vymezena. Dulezite je, ze muzete takto omezit jen osobu, ktera na vas mluvila. Take plati, ze je nenavist dedicna, tedy sdilite nenavist pokud jste nenavidenou osobu sami do systemu prizvali.

Nejevi se to jako spatna myslenka do okamziku vytvoreni zmrdich subsystemu. Staci, kdyz donuti svou obet k reakci na nevinnou otazku a muzou ji penalizovat. Spolecne pak timto zpusobem dostanou ven kohokoliv, vcetne Zeda. 🙂

Apple jede

Takze vcera probehla monstrozne ocekavana keynote Steve Jobse, ktery tradicne kazdy rok ohlasuje nove produkty. Tento rok to nebylo takove preklapko jako loni (iPhone), i tak to rozhodne stalo za to. Ohlasen byl MacBook Air (vykonny subnotebook), Time Capsule (N wifi access point + harddisk), Apple TV 2, pujcovna filmu pres iTunes, kdy s Apple spolupracuji vsechny velke filmove spolecnosti a 1.1.3 pro iPhone.

Apple jak se rika ownuje zejmena z duvodu Continue reading

Kibibity a mebibajty

Asi jsem to uz v minulosti nekdy videl, ale zcela se mi to vykourilo z hlavy. Proto jsem bral udaj o volne pameti v systemu uvadenemu v MiBs ve skriptu kolegy spise jako preklep. Jak me pak udivilo, ze za nevedomce jsem tu ja, a ze se skutecne jedna o oficialni jednotky. Budiz mi utechou, ze jsem nebyl sam, kdo nevedel. 🙂

Prefixes for binary multiples

Java 6 Developer Preview a Eclipse 3.3 nejsou na Macu kamaradi

A duvod je ten, ze SWT vyuziva Carbon(C++), ktery v Leopardu uz neni k dispozici v 64-bitove verzi, pro kterou je naopak zkompilovana prave Java 6 od Apple. Na prepsani do Cocoa (Objective-C) se intenzivne pracuje v ramci projektu SWT (napr. Hacking at Apple). Takze v soucasne dobe skoncite pri startu Eclipse s podobnou hlaskou:

_NSJVMLoadLibrary: NSAddLibrary failed for /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Libraries/libjvm.dylibJavaVM FATAL: Failed to load the jvm library.

Kdybych se mohl vrhnout na IDEAu, udelam to.

Metamorfoza na salesmana

Az doted jsem se vetsinu casu zivil kodovanim, rozdavanim rad ci koucovanim. Tak, jak se software, na kterem v Jetminds delame, blizi do zdarne bety, je treba prevleknout kabatek a nasadit si na cas ten barevny, salesmansky, se strikaci kytkou v klope.

Jiste, je tu otazka, proc si na to nenajmout nekoho zkuseneho. Z minulych staci
Continue reading

Echoes from the past – XName.org again

Yesterday I had problems with XName.org again (DNS provider), this time I could only laugh. Late night Morgi found out, that my domain is not accessible. I checked it and really, all names pointed to completely different machines. With suspicion of someone stealing my precious domain I started with investigations. What was my surprise, when I found out the target IP is my old UPC one, I had used two years ago. Looks like somebody messed things up and took incorrect tape when renewing previously crashed XName DNS database. 🙂

vision.jpg

My new personal VCS – Git

For some while I was looking for some handy VCS tool without unnecessary configuration burden. I started with SVN, but recently came across Git . Git is a tool utilized by Linux folks (originated by Linus Torvalds), supporting distributed VCS paradigm. Torvalds motivation follows:

When I say I hate CVS with a passion, I have to also say that if there are any SVN (Subversion) users in the audience, you might want to leave. Because my hatred of CVS has meant that I see Subversion as being the most pointless project ever started. The slogan of Subversion for a while was ‘CVS done right’, or something like that, and if you start with that kind of slogan, there’s nowhere you can go. There is no way to do CVS right.

If you’re new to DVCS and know czech, you can read an introduction written by one famous czech blogger Dagi Pichlik. (Btw Git homepage is hosted in czech domain.). The basic idea is that each contributor has his own local repository and propagates his changes to repositories of his colleagues and optional central repository (Integrator).

What is kind of hidden behind the DVCS curtains is the fact, that git alone is (maybe) the most powerful cmdline vcs tool currently available. I was really impressed seeing all possibilities especially history queries like

git log –since=”2 weeks ago”

Git also comes with handy visualiser gitk, which provides view on existing branches, merge points and search capabilities.

picture-1.png

DVCS support is again very straightforward, commands for cloning (creates a new repository) and pulling changes from other contributor are simple as they should be (forget CVS switch hell). Creating of branches and merging back is a question of 3 words command at max.

Remote repository can be accessed either by ssh, git native protocol, rsync or http.

Killer features are out-of-box support for cvs and svn repository import, git-svn command (one can work with SVN the git way), stash function (saves the current changeset, restore the actual working copy for another changes and revert back to previous changeset – very handy for adhoc spot fixes) etc.

Where to start:

Git homepage (Git sources)
Installation Linux, Mac OS

Tutorial

Small gotcha I faced during the installation:

checking for C compiler default output file name… configure: error: C compiler cannot create executables

assembler (/usr/bin/../libexec/gcc/darwin/i386/as or /usr/bin/../local/libexec/gcc/darwin/i386/as) for architecture i386 not installed

This was caused by previous wild installation of XCode and fixed again by reinstallation of XCode 3.0. 😛

Hadankar.cz

Rad bych zde upozornil na zajimavy pocin kamarada Ghaneeho nazvem Hadankar.cz, zamereny na hadace.

Naleznete tam pel-mel kvizu od tech nejjednodussich az po hardcore. Na designu to chce jeste trochu zapracovat, ale nudit se nebudete.