Nekaj čez enajsto zvečer 28.3. na #sourcemage je nekdo spraševal, kako je naslednje možno / logično:

$ date +%Y-%m-%d -d 'tomorrow'
2009-03-30
$ date +%Y-%m-%d -d 'yesterday'
2009-03-27

Prvi hip sem mislil da bo kakšen trik s prestopnim letom, ampak zdaj je že marec in to ne more biti to. Trik je v prehodu na poletni čas.

Če bi uporabil možnost -u, bi date uporabil časovni pas UTC/GMT in za “jutri” izpisal 29.3. Ker temu ni bilo tako, je uporabil sistemski časovni pas (ki je bil CET, GMT+1). Vse ostalo je stvar preproste matematike:

danes = 28.3. 23:45
včeraj = danes - 24h
jutri = danes + 24h

včeraj = 27.3. 23:45

jutri = 29.3. 23:45 + 1h zaradi prehoda na CEST (GMT+2)
jutri = 30.3. 0:45

Ključna je tista urica in seveda čas poganjanja - uro prej ali kasneje bi vse lepo delovalo.

Moja telefonska številka:

vd65b. .d3@@ .d#Y#.      6<99P  d90>  0939        #3 v88b >1.v
7P  Y0 4   8 Ybwwd>        vP  9Pv46. 6w#.       7<9  wwP . d4
8b  d0 `6w70 dP""Y1 wwww  ^>   33  ^8   `8 wwww dP^.    6  .<
>#44#’     0 >#b#P^      ^^    `#<8P' Y39P         8 >0.4 ^8^<

Saj niste mislili, da bo tako enostavno? :) Natečaj vseeno velja - kdor me prvi pokliče ali pošlje SMS z vsebino “Wasabi does not grow on Java”, ob priliki dobi pivo (oziroma kar rad pije, sploh če je celiakaš). Tale ezoterična uganka seveda je rešljiva. Za razliko od wasabija iz jave, se z njo ne morete opeči.

Navdih sem dobil pri The International Obfuscated C Code Contest. Veselo razbijanje. :)

EDIT: ne rešujte tega preko Planeta LPN, ker je tam wiki pojedel par znakov! Pojdite na naslovni naslov.

(Pred prenosom sem pozabil posodobit bazo, zato je tale nedavni post tu še enkrat. Če ga je že kdo prebral, ni v njem razen konca nič novega.)

Na ircu mi je Pyro povedal za tole uganko. Obljubil sem, da jo bom rešil v bashu, razen če se izkaže za preveč intenzivno (recimo da bi bil odgovor par biljard plus drobiž).

Izkaže se, da temu sploh ni tako in je rešitev že devetindevedeseta kombinacija:

# e v math.h je prekratek, zato poberimo prvih par
# tisoč decimalk z interneta in počistimo oblikovanje
e=$(wget -O - http://www-groups.dcs.st-and.ac.uk/~history/HistTopics/e_10000.html 2>/dev/null | sed -n \'/2.718/,/905198/ { s,2.718,2718,; s,\\s*,,g; p}\' | tr -d \'\\n\')
i=0

# potujoče okno desetih števk
while true; do
num=${e:$i:10}
if [[ ${#num} != 10 ]]; then
echo reached end of known e digits
echo $i
break
fi

# v coreutils je program factor, ki za podano številko vrne faktorje
# rezultat shranimo v polje in če je njegovih članov preveč,
# vemo da nimamo praštevila (število članov == število faktorjev+1)
nfactors=( $(factor $num) )
if [[ ${#nfactors[@]} == 2 ]]; then
echo $i:$num
break
fi
((i++))
done

Poženemo in preverimo rezultat:

...
99:7427466391
navaden@lynxlynx ~ 128 $ factor 7427466391
7427466391: 7427466391

Naslednji izziv je pi, algoritem pa enak.

...
4:5926535897
navaden@lynxlynx ~ 0 $ factor 5926535897
5926535897: 5926535897

Naslednji izziv je že malo težji, ker se ga s prejšnjim algoritmom reši samo dve tretjini. Je pa očitno zadnja uganka te serije. >:)

Tale problem lepo prikaže, kako se da mnogo stvari narediti neposredno, na hitro, kar v lupini. Celo težje računske probleme, kjer je pa seveda treba zaradi učinkovitosti intenzivne stvari prepustiti namenskim programom (v tem primeru factor). Klasična UNIX filozofija (”Do one thing and do one thing well” + shell glue).

GemRB 0.3.2

Danes sem poskrbel za izdajo novega GemRB. Več o tem pogonu za igre si lahko preberete na njegovi domači strani, kjer je tudi seznam sprememb od zadnje izdaje (prejšnjega septembra).

Zadnji mesec se je zgodilo precej dobrih stvari. Projektu se je pridružila še ena programerka. Izkušena (delala že na drugih reverse-engineering projektih), trmasta, pikolovska in ljubiteljica IE iger. Kaj bi si sploh še lahko želel? :) Po prvih parih patchih je hitro dobila dostop do repozitorija in k bolj aktivnemu delu spodbodla še ostale razvijalce. Sinergija++.

Moj glavni prispevek (v smislu vrstic kode) je v tej izdaji izklopljen, ker še zdaleč ni končan. Trenutno liki ne morejo pridobivati izkustvenih stopenj in ravno na tem sem delal. Delno implementacijo vmesnika za Throne of Bhall (na kratko tob; dodatek za bg2) sem ovekovečil z mojo prvo pesmico tipa limerick (imamo slovensko besedo za to?):

r5639 | lynxlupodian | 2009-02-04 17:11:24 +0100 (Wed, 04 Feb 2009) | 6 lines
Changed paths:
M /gemrb/trunk/gemrb/GUIScripts/bg2/GUICG9.py
M /gemrb/trunk/gemrb/GUIScripts/bg2/GUIREC.py
A /gemrb/trunk/gemrb/GUIScripts/bg2/LevelUp.py

tob: basic level up gui;
lots of things still to try
and mend and fix
and think up tricks
to have a nicely leveled guy.

Ja, ko bom velik, bom bard. :P

SVM Mac

Kot sem že omenil, mi je največja francoska revija o macih SVM Mac, obljubila nevirtualno kopijo decembrske izdaje, ker je v njej članek o Wormux-u.

Pošto sem dobil brez dosti zamude, me je pa presenetilo, da se je vse skupaj vrtelo le okrog kratkega sestavka. Če vsakogar vprašajo za dovoljenje za tak opisek, imajo pa res preveč časa!

Dokaz ni najbolj oster, ker je bil posnet s telefonom. Razen tega, da maskoti firefox-a rečejo rdeča panda, ni v samem članku nič posebnega, zato mi boste oprostili neberljivost. ;)
svm mac od dalečsvm mac od blizu

V reviji je veliko reklam, a tudi zanimiv vodič, ki po korakih razloži, kako si narediti lasten “zaslon” na večprstni dotik (”multitouch”).

Jeremy Allison je napisal dober povzetek govora iz Ontario Linux Festa o težavah z uvajanjem linuxa v Afriki (oz. slabše razvitih deželah). Tudi, če jo imamo, tehnična superiornost ni vse.

Nepovezano, še en grenkosladki biser.

Ste se kdaj vprašali kako hitro gre razvoj? Projekti registrirani pri CIA (ne tista :) ) imajo na voljo nekaj preprostih statistik. Seveda tam ni vseh projektov, jih je pa mnogo (4819) in čisto dovolj za čudenjem nad hitrostjo sprememb.

Pridružite se kanalu #commits na irc.freenode.net in videli boste kako to brzi. :) Za statično sliko pa kliknite na tole povezavo (podprimer za KDE).

miscellanea

LPN IRC kanal (seveda #lpn) je zdaj na omrežju Freenode (irc.freenode.net), domu večine prostoprogramskih kanalov.

Nick Clifton, inženir pri Red Hat, mesečno objavlja povzetke sprememb v gcc (prevajalniki), binutils (povezovalnik ter drugi) in še parih precej pomembnih paketih (”GNU toolchain”). Do sedaj je to delal le za firmo, ker skrbi za njihove kopije teh paketov, od septembra pa jih tudi javno objavlja.

Izšel je phpBB 3.0.3, a forum na LPN še ni posodobljen.

Nove izdaje 1

Spet “Nove izdaje”, tokrat še vroča iz pečice: Sorcery 1.14.2. To je nova različica iz stabilne veje, torej ne vsebuje nič pretresljivega in nobenih čarobnih novosti.
 
Več si lahko preberete tu.

[Wormux] lepa gesta

Po epošti sem dobil vprašanje, če se strinjam, da francoska revija SVM Mac objavi članek o Wormuxu in ga še priloži na cede. Zanimivo, da vprašajo! Gre se za najbolj popularno revijo o Mac-ih v Franciji (naklada 80k/mesec)! Yes, please! :)

Zapovrh so ponudili še kopijo izdaje po navadni pošti. Večina glavnih avtorjev je iz Francije in me zanima, če jo bodo res poslali tudi meni. Zdaj, ko smo vsi v EU, je najbrž tudi s pošto manj komplikacij in stroškov.

« Prev - Next »