19 feb. 2013

Cross-Compilarea și rularea Win32 pe siteme Unix-like

Intro

    Utilizând un sistem de operare Unix-like, nu e prea mare plăcăre, ca în scopuri educative, să-ți părăsești, măcar  mediul pentru a utiliza Win32 API. Totuși, există posibilitatea de cross-compilare, față de care mulți sunt sceptici. În orice caz, compilez strict în scopuri educative, fără a reutiliza binarele în altă parte.


Necesitate

    Studiind cursul de "Event-Driven Programming on Win32 API", ar fi trebuit să-mi trag o mașină virtuală cu oarecare Windows și să-mi ridic tot environmentul meu preferat pe acea mașinică virtuală, ceea ce nu mi-a părut cea mai bună idee la prima vedere, dar e o ieșire din situație și asta.


Cerințe

Notă:  În distribuțiile linux veți găsi de obicei pachete precompilate cu mingw32-gcc și wine.


Utilizare


Compilăm în linia de comandă:
i386-mingw32-gcc -mwindows file.c -o file.exe

Executăm din linia de comandă:
wine file.exe

Ce poate fi mai simplu? ; )
În dependență de mediul de instalare și variabila $PATH probabil să fie necesară rularea compilatorului prin path absolut, sau ajustarea variabilei $PATH.
Plus, dacă utilizezi vim, poți mapa compilarea și executarea, unui shortcut, cum am făcut-o eu:
nmap <F8>:<C-U>!i386-mingw32-gcc -mwindows %:r.c -o %:r.exe && wine %:r.exe<CR>



Outro

    Utilitatea Cross-compiling-ului este extrem de mare. La fel putem compila produse spre exemplu pentru arm, sau oricare altă arhitectură de destinație. Acum poți compila același cod practic pe orice mașină.
    Happy programming!

27 sept. 2012

Cum să convingi pe cineva contrar voinței acestuia. Despre microbuze.

    Când ai o problemă mult prea dificilă și subtilă, vine timpul conformării cu un compromis. Dar cum convingi mulțimea? Cum îți justifici decizia în fața ei? Exact! Doar prin contradicție. Crează, modelează extrema cea mai rea posibilă și impune-o mulțimii, dar fă așa ca ea (mulțimea) să nu realizeze șiretlicul tău. Fă ca totul să decurgă în circumstanțe normale.

    Teoria-i clară? Nu? Hai că-ți explic acu...
Alde consiliul municipal având profituri bune de la serviciul maxi-taxi, și fiind în relații tare bune cu administratorii rutelor de microbuze, au început să dorească profituri mai mari, care, fără o eventuală majorare de preț ar fi o misiune imposibilă. "Dar cum să majorezi taxa pentru o călătorie?" Se întrebă unanim consiliul, căci dacă ar majora, mulțimea ce-i votează i-ar judeca. Deci, trebuiește de înscenat extrema cea rea. Cum? De convins alde șoferii de microbuze să protesteze o zi, două, trei... "De CONVINS?!" te întrebi tu mirat... Exact, anume așa! Pentru că un protest de câteva zile ar însemna câteva zile fără profit. Un profit destul de bunicel, de altfel.
Dar cum de făcut situația și mai rea? Simplu, de anunțat presa că se vor suplini cursele de transport public tradițional, pe când în realitate nu a fost cam așa. (Troleibuzele nu sunt conduse de roboți, ci de oameni... Angajați ce scuipă-n pod, RTEC nu are din câte știu..) Totul pentru un singur scop, pentru a convinge cetățeanul de rând că unica soluție ar fi compromisul cu alde maxi-taxi-urile. Decizia compromisului trebuie să apară în subconștientul fiecărui cetățean, pentru că la momentul legiferării deciziei, să nu fie pentru nimeni o surpriză. Ceva timp, și ideea "Mai ghine deam șinși lei decât așa bardak" va fi la majoritatea clienților de transport public.

Condiții?
    Ok, hai să lăsăm într-o parte toate teoriile conspirative și imaginația mea... Ieri, pe site-ul primăriei a apărut un anunț tare vesel: Condiții înaintate administratorilor rutelor municipale de microbuz. Niște condiții de nedescris! Fenomenal de interesante. Citindu-le, realizăm că până acum, fumatul, vorbitul la telefon în timpul conducerii microbuzului, brutalizarea pasagerilor, nerespectarea orarelor(sau chiar lipsa lor) au fost o chestie absolut normală. Eu presupun că acele condiții sunt unele firești, și fără respectarea lor, atât șoferii de microbuze cât și administratorii rutelor meritau să mănânce peste bot fie penalizați, fără careva avertizare.

Preț/Necesitate/Obligație?
    Acum hai să fim realiști. Chiar credeți că o taxă de 5 lei i-ar face pe șoferi mai puțin bădărani needucați? Vă asigur eu, unii nici cu taxe înzecite nu au să fie altfel, pe când cei culți(da, știu, îs puțini de ăștia), și acum se comportă adecvat. Despre faptul că ei prestează un serviciu public care trebuie să activeze în interes public am mai scris. Cum naiba să le dai licență celor care asumându-și dreptul de a presta serviciu public, pot brusc să perturbeze viața urbană? Regulile de joc le pun consiliul municipal, cui nu-i place: "давай, до свидания!", ar trebui să zică primăria, desigur, dacă eventual consiliul nu-și trage foloase pe urma acestor decizii.

Realitate...
    Spre final, vreau să zic, că sunt pentru investirea în transportul public tradițional. Dar, cu toate astea, fizic noi nu avem capacitatea de a asigura transportul în siguranță doar prin troleibuze. Da, mie-mi place să merg cu troleibuzul... Da, mie-mi plac troleibuzele noi... De fapt îmi place să merg și în microbuze, dar nu în alea pline până-n parbrizul frontal, în care mai mereu ești îndemnat să "treci mai în fund".

    ...Șoferii de microbuze continuă se se plângă pe salarii de 1200 lei... :))))) (plus vreo 5-6 plicuri cu același nominal fiecare)


Artwork by Avalonix

Au mai scris: Andrei (1) (2), 2nitZza, Irena, Mihaela

4 iun. 2012

Mâzgălitură în cap.

    În ultima vreme, risc să mă repet, gândurile mele au luat forma unei mari mâzgălituri... În capul meu toate polițele, s-au răsturnat și datele s-au dezintegrat... Învățat - lucrat - învățat - socializat - îndrăgostit - lucrat - nu dormit - învățat, așa o buclă dinamică în fiecare zi m-a făcut să înțeleg, oarecum, că îmbătrânesc trece vremea și nu mai am timp de nimic... Sau, mai bine zis am timp (cum zicea și Mihaela)... Doar că nu-mi permit uneori să-l utilizez așa cum aș vrea eu, ceea ce până la urmă poate nu-i rău... Nu știu...

    Alaltăieri, după ce am finalizat toate task-urile critice, simțeam nevoia să ies din încăpere, să fug undeva departe... Da' unde? În spații închise nu mă mai pot focaliza în totalitate asupra lucrurilor ce trebuiesc efectuate. În scurt timp am hotărât să mă mai duc o dată la Valea Morilor.

    Eram prin Chișinău, undeva la sectorul râșcani, bd. Moscovei cu str. Alecu Russo ca să fiu mai exact... Căutam "the shortest path" până la Valea Morilor... Și, am hotărât să merg pe jos... Nu că ar fi prima oară, nu că mi-ar fi fost greu să merg cu transportul public, da' e ceva mai cool să meditezi, să structurezi gândurile mergând pe jos, decât să trec "mai în fund" și să ascult șanson în microbuzele moldovenești. La final am făcut 6km și ceva, merși în totalitate pe jos, în aproximativ o oră... Tot timpul ăsta m-am deconectat aproape în totalitate de la realitate... Ba mai mult, la un moment dat m-am abătut de la traseul planificat pentru vreo 10 minute... Am mers sub soare, apoi sub ploaie, cu gândul la soare, apoi iar sub soare... Vremea era alternantă... Aproape ca și gândurile mele...

6.33 km... E tare simplu! :)

    Odată ajuns la destinație, am fost de-a dreptul captat de culorile și sunetele care le percepeam... Nu, nu eram high :D Doar că de tare mult timp nu am prea stat în sânul naturii, singur, să-mi filtrez gândurile, să lucrez... Lume nu era prea multă, eu m-am așezat și mi-am scos laptopul și am învățat ce aveam de învățat... Eram unicul cu laptop pe perimetrul vizibil... Probabil toți alde IT rebeata guys, stau undeva în încăpere călduroasă și lucrează... Afară totuși e mai cool ; )

    Ah da, despre ce vroiam eu să vă povestesc? Asta cam e tot... Nu vroiam să scriu direct despre microbuze marșrutneci, nu de alta, da' eu nu-s blogger și susmenționații "marșrutneci" nu merită timpul meu... Un lucru vroiam să vă zic, special pentru new generation, mai mergeți pe jos până la cea mai apropiată stație de troleibuze (dacă nu puteți/doriți mai mult), care nu doar sunt mai libere, dar mai sunt și ecologice...

    O zi bună! :)

18 apr. 2012

Transportul public din Chișinău. Serviciul Maxi-Taxi.

    Se întâmpla azi. Era trecut de ora 22, mergeam cu microbuzul spre casă. La un moment dat a urcat o doamnă ce a acuzat șoferul că a așteptat microbuzul mai bine de 25 de minute pe când pe orarele lor oficiale aprobate de către primărie(?) intervalul între microbuze trebuie să fie 7 minute la ora asta. Tot atunci am aflat că noi, pasagerii, ar trebui să-i mulțumim șoferului, pentru că ne face ditamai serviciu/înlesnire mergând la ora asta, citez "în minus"(nu are profit) "cu dzășe oameni în crușe", ba mai mult, am aflat că domnul șofer merge în condițiile date LA ORA ASTA nu pentru că are careva obligațiuni impuse de primărie/șef, dar pentru că trăiește în regiunea stației terminus spre care se îndrepta, și oarecum merge și el acasă. Well, omul se crede mare filantrop că își permite LA ORA ASTA să ducă pasagerii acasă... măi măi măi... Ca un bonus își mai permite să înjure cât încape (da apropo, oamenii psihic dezechilibrați nu trebuie să fie angajați la posturi publice, da' asta deja-i altă temă...).

Păi stați fraților, voi mergeți doar când vă e comod? Atunci când cuvintele cheie sunt "treșiț mai în fund, fășeț loc la oameni(a se subînțelege 'loc la încă trei lei')", atunci când în loc de 12-16 locuri pe scaune strângeți încă atâția oameni minimum, în picioare? Din câte știu, profitabilitatea normală se consideră când toate scaunele sunt ocupate, păi cum stăm cu profitabilitatea când dinnafară se văd doar funduri și nu mai e loc unde de intrat? Deci dacă în careva intervale de timp este așa o supraprofitabilitate, dar așa intervale îs mai bine de juma de zi, păi rămâne loc și pentru mers "în minus", nu? Și oamenii ăștia vor mărire de tarife? Pfff...

Și serviciul nostru maxi-taxi mai are o mulțime de lacune. Habar n-am cum se impozează veniturile lor. Teoretic ar trebui să fie eliberate bilete pentru fiecare călătorie.(În genere politica de bilete e puțin învechită, dar asta deja-i altă discuție) Sunt sigur că și tu nu ai primit niciodată bilet în microbuz. Ironic, dar în unele microbuze stă o rolă de bilete legată de bara de susținere, sau mai mult, inscripții ingenioase:
Eu am cerut bilet și am fost înjurat de către nenea șofer.

La categoria de foițe puse de formă merg și orarele lor ce nu sunt respectate, atenționări precum că păzea "În microbuze acționează hoți de buzunare" ș.a.

Păi iată dragi șoferi/șefi de maxi-taxi, nu uitați că nu trebuie să ieșiți "la pescuit" doar în orele de vârf, nu trebuie să vă comportați ca niște animale sălbatice. Nu uitați, pe lângă toate cele scrise mai sus, fiind șoferi de transport public vă asumați răspunderea pentru sănătatea călătorilor Dvs.
Vorbind despre schimbări, ele ar trebui să vină de mai sus, dar am impresia că  Ministerul Transporturilor și Primăria nu cam au mare motivare de a schimba ceva, ba chiar scot foloase pe seama acestor neajunsuri.


Alexandru Lebedev scria: Călătoria cu microbuzul poate fi o plăcere?
Andrei Fornea scria: Preţul la microbuz trebuie să crească cu 33 bani
Alexei a filmat un iepuraș de la "SRL AFGBASVET": Șofer iresponsabil pe ruta de microbuz 169 (pe curaj mai puteți găsi filmulețe interesante la temă)
Victor Ciobanu scria: Mafia "marşrutcilor".
Artwork by Stinger.MDIMG

10 mai 2011

TEDxChișinău - Impresii


   A trecut și ziua de 7 mai - o zi minunată petrecută în cadrul evenimentului TEDx Chișinău. Boring. Break It! Per total mi-a plăcut și sunt gata să vin și la următoarele evenimente de acest tip, așa că, bravo organizatorilor pentru că într-un fel sau altul mi-ați captat atenția.
   Prima parte a evenimentului a cam avut de suferit din cauza boxelor vechi și probabil incorect setate care distrăgeau atenția ascultătorilor prin "buzzz-ueală", dar, după prima pauză, calitatea sunetului s-a îmbunătățit considerabil și nu a jucat mari feste pe parcursul evenimentului.
   În următoarele rânduri aș vrea să fac un mic total, cu scurte feedback-uri pentru fiecare speaker și probabil o frază (parafrazată) din discurs, care mi-a rămas în memorie până la momentul actual. %)

Deci, să-i dăm foc!