rolisz's site

Tutorial Camelot

Nu sunt Arthur sau Merlin, așa că nu voi vorbi despre orașul Camelot, ci despre frame­workul Python, care îi pretty much everything but the kitchen sink.

Cum tutorialul acesta este mai mult pentru colegii de grupă cu care lucrăm la proiect colectiv, voi presupune că este deja instalat Camelot.

Proiectul pe care îl vom crea este o mică chestie pe care eu vreau s-o fac de mai mult timp, și aceasta este opor­tu­ni­tatea perfectă: vom face un program cu care să pot urmări când se întâmplă anumite lucruri, în speranța ca mai încolo să pot extrage informații utile din când se întâmplă acele lucruri. Ce am de gând să măsor continue.

Git tutorial - part 2

Acest tutorial e mai mult pentru colegii de grupă cu care voi lucra la Proiect Colectiv

Prima parte am scris-o mai demult, dar nu îi bai, că nu s-o schimbat multe la Git de atunci :)))

În prima parte am configurat Git-ul, am creat un proiect nou, cu un fișier .gitignore și am făcut primul commit. În cei doi ani care au trecut de atunci ne-am dat seama că la primul commit am greșit două chestii: mai trebuia inclus fișierul config.txt și trebuia să dăm un mesaj de commit mai detaliat.

> git status
# On branch master
# Untracked files:
#   (use "git add ..." to include in what will 
continue.

Cura de slăbire

La începutul vacanței am fost la cineva și m-am cântărit pe un cântar electronic. Și rezultatul a fost de xy kg. Care îi muuuult prea mult. Știam eu că în sesiune am mâncat în prostie (îmi place să ronțăi când învăț), dar nu credeam că am ajuns în halul ăsta. Mai ales că înainte să vin la Cluj aveam un zt kg foarte re­spectabil.

Așa că m-am apucat de o cură de slăbire. În aceeași seară deja am decis (ajutat de mami) să nu mai mănânc seara. Bazat pe un articol pe care l-am citit care spuneau de un regim super-mega-hiper-sănătos, să nu mănânci timp de 16 ore, iar apoi continue.

Statistici la jumătatea facultății

Am ajuns la punctul culminant după cele două tutoriale de d3.js și vom vedea rezultatul final: grafice frumoase :D

Am testat în Chrome, Firefox și IE, ultimele versiuni.

Grafice

Grafice cu d3.js - part 2

Data trecută am făcut un barchart simplu, care să poată fi sortat. Acum, să îl complicăm un pic: vrem să prezentăm un set de date, care este împărțit pe mai multe grupe, datele având mai multe dimensiuni. Vrem să vedem cum se compară grupele diferite la diferite dimensiuni. Vom reprezenta datele din fiecare dimensiune în câte un barchart, separat pentru fiecare grupă sau mai multe împreună, schimbarea făcându-se alegând grupele care să apară. Când schimbăm în cadrul aceleiași grupe, indivizii vor avea per­sis­tență, adică car­ac­ter­is­ti­ca din a doua dimensiune va fi reprezen­tată în locul unde a fost reprezen­tată car­ac­ter­is­ti­ca core­spun­ză­toare primei dimensiuni.

În HTML vom pune butoanele pentru sortare și continue.

Grafice cu d3.js - part 1

Anul trecut am făcut graficele cu notele din sesiune în R. Au fost super simplu de făcut, mai am scrip­turile de generare, și probabil aș putea să le refolosesc și să termin cu toată treaba în 5 minute. Dar... arată un pic cam nașpa. Liniile nu au an­tialias­ing, culorile sunt cam stridente și, cel mai important, sunt statice, nu se poate in­ter­acționa cu ele.

Așa că am decis ca anul acesta să le refac în d3.js, care îi la modă acuma pentru vizual­izări de date. După cum sugerează și numele, acesta este o librărie Javascript care se folosește la ma­nip­u­larea doc­u­mentelor în funcția de datele pe care le avem. Se bazează pe HTML5, continue.

Colectare note

It's that time of the year again, ~~când vine Moșul~~ când fac statistici cu notele. Primul pas pentru aceasta este să adun la un loc toate notele pe care pot să le obțin (fără să cerșesc de la tot anul individual, cum ar trebui pentru SOD). Și aceasta necesită multă muncă.

Cum vreau să lucrez într-un mod trans­par­ent și re­pro­ductibil, am decis să lucrez într-un notebook IPython, pe care îl puteți vedea aici. Soon, graphs, pretty graphs :D

Elementary

Elementary
Poster Se pare că Sherlock Holmes a revenit la modă. Dacă serialele crim­i­nal­is­tice tot sunt așa de populare, de ce să nu ne luăm (americanii) după britanici și să facem și noi o mod­ern­izare a marelui detectiv de­ducțion­ist?

De data aceasta, în mod contrar obiceiului lor de a strica orice serial pe care încearcă să îl adapteze audienței americane, nu l-au stricat. L-au schimbat, l-au dres, l-au făcut po­lit­i­cal­ly corect și... merge. Inițial eram sceptic, mai ales pentru că au făcut din Watson o femeie, jucată de Lucy Liu, dar Mada m-a convins să mă uit și e chiar awesome. Nu se ridică chiar la nivelul variantei britanice, dar tot e continue.

Moar LISP

Că am tot avut discuții cu câțiva colegi legat de anumite probleme la LISP, voi posta re­zolvările la unele (mai cerute de public) și, dacă am chef, le și explic.

First off:

Sa se scrie o functie care plecand de la o lista data ca argument, inverseaza numai secventele continue de atomi. Exemplu:

(a b c (d (e f) g h i)) ==> (c b a (d (f e) i h g))

(defun invers(l)
    (invers_aux l nil)
)
(defun invers_aux(l sir)
    (cond
        ((null l) sir)
        ((atom (car l))
  
continue.

Katya's World

KatyasWorld-144dpi

În sfârșit un young adult SF decent, ușor de citit și care este și captivant. Și care nu conține urmă de poveste de dragoste \:D/. Când am citit aceste două rânduri aseară despre această carte, am știut imediat că este pentru mine, mai ales după soap-opera care a fost în seria Hunger Games.

Acțiunea din Katya's World are loc pentru planeta Russalka, locuită de de­scen­denți ai unor... ruși. Aceștia au venit aici în urmă cu 140 de ani, când Pământul a început colonizări masive datorită suprapop­ulării și a lipsei de resurse.

Ce face specială această planetă este faptul că ea este acoperită în întregime de oceane, fără pământ uscat, singurele continue.