Posted on mart. 17, 2019 | 0 comments

N-am mai scris pe blog de ceva vreme. S-au întâmplat multe în ultima vreme.

Mi-au apărut niște articole. De exemplu acesta de psihologie pe eBihoreanul: ”Afecțiunile psihice, între mit și adevăr”. Sau acesta de pe LinuxConfig.org: ”How to install software in RHEL 8”.

 

Work

 

Nici nu știu cu ce să încep. Începem cu LinuxConfig.org. Care editor m-a sunat din Australia și m-a angajat part-time, că mi-a citit CV-ul. Așa că mă voi ocupa de scris articole ca freelancer și am și salariu fix în USD pentru corectură și întreținere articole. Omul mi-a citit CV-ul, i-a plăcut, m-a invitat să-i scriu un text, am vorbit la telefon pe la vreo 2 dimineața or României vreme de vreo jumătate de oră și m-am trezit angajat acolo.

Am luat bursă de performanță la Sociologie, la partea de licență. Singurul cu 10 pe linie din an. Cumulat cu bursa de la doctorat iau ceva mai mult de salariul mediu pe economie dar tax-free, direct pe card. La doctorat am trecut cu bine de prezentarea referatelor semestriale iar semestrul ăsta la licență l-am început tot cu un 10. I’m loving it.

La cabinet efectiv a plouat cu clienți în ultima vreme. Ca norocul pot să-i programez când vreau așa că am vreme după cursuri. Amân de luni de zile să-mi depun dosarul de psiholog autonom la Copsi pe consiliere și psihologie clinică pentru că asta presupune interviu iar interviul presupune drum la București. Iar de ăla efectiv nu am chef acum.

M-am apucat să fac cursul Cisco CCNA Routing & Switching din Oradea cu cei de la Net Academy ca să-mi dau examenele ICND1 (100-101) și ICND2 (200-102) după ce termin prin august cele patru module. Mi-am luat și-un router Cisco 1800 cu CompactFlash și mă joc cu PacketTracer. E mișto că toate comenzile sunt sinonime ale celor din Linux așa că în CLI-ul unui Cisco mă simt acasă. Tot anul ăsta vreau să dau și examenele RHCSA și RHCE. Cum ceea ce scriu în prezent pentru LinuxConfig e despre RHEL 8, cu ocazia asta văd ce mai e nou prin beta-ul celor de la RedHat.

Se pare că am să predau la o asociație de două ori pe săptămână programare și robotică Arduino unor grupe de copii + informatică unor grupe de adulți. Partea bună – e la trei minute de mers pe jos de mine. Partea și mai bună – e vreo 8-10 ore pe săptămână cu concentrația brută în weekend.

 

StudentHelp dedicated server

 

Am făcut un Intranet pentru studenții de la Facultatea de Științe Socio-Umane a Universității Oradea. Rulează pe un Raspberry Pi Zero W pe care am dat vreo 50-60 de lei, un MicroSDHC de 32GB care a costat vreo $4 plus o carcasă de vreo 25 de lei și un adaptor de 5V pentru MicroUSB pe care-l aveam pe-aici. Pus să booteze în CLI, pus LAMP pe el, un WordPress securizat cu Hueman și ceva module free apoi populat cu studii, documentare, tutoriale video SPSS și R, suporturi de curs pentru toate specializările, baze de date R și SPSS, teste psihologice gratuite, cărți în PDF și EPUB, software de statistică și sociologie. Îl donez facultății, am vorbit deja cu doamna decan și-l pot instala într-o sală de unde nu va pleca nimeni cu el în buzunar.

Și here’s the catch: nu are acces la net și se accesează printr-un server Radius. Te conectezi la WiFi-ul StudentHelp și orice accesezi în browser te duce la index.php-ul site-ului. Cu versiune de mobil și desktop compatibile cu Windows, OS X, Linux, iOS și Android. Practic orice browser care știe PHP/CSS și afișa imagini. Intri în clădirea V din campus, cauți pe pereți unul din stickerele pe care le-am făcut pentru ocazia asta, urmezi instrucțiunile, intri de pe smartphone sau laptop sau tabletă și-ți downloadezi de pe StudentHelp tot ce-ți trebuie. Luni îl bag în priză la Universitate și pun posterele A3 pe care le-am făcut ca să afle lumea de el. Sunt curios câte request-uri http duce simultan un Raspberry Pi Zero W.

Luni duc o canapea nouă la cabinet. Are vreo doi metri lungime și sper să încapă în locul celeilalte pe care vreau să o donez unei asociații. Am dus deja un aspirator și un nou aparat de cafea luna asta. Aparte de vană am acolo tot ce-mi trebuie ca să supraviețuiesc apocalipsei măcar două săptămâni.

Mi-am luat niște Raspberry Pi-uri săptămânile trecute. Apoi niște HAT-uri pentru ele. Apoi HAT pentru servomotoare, și servomotoare și cabluri și fire și adaptoare și mufe GPIO și ciocan de lipit și carduri MicroSD cu sacul și next thing I know fac cluster de Raspberry Pi-uri, o masă Smart cu 4-5 ecrane, mașină de scris cu ecran eInk de 9,7” și server pentru facultate. Raspberian e bazat pe Debian așa că ”home sweet home”. Am luat un Raspberry Pi Zero, un Raspberry Pi Zero W, un un Raspberry Pi 3B+ (altul e pe drum cu ecran tactil LCD aferent și mai iau săptămâna asta care vine încă 3 sau 4, HAT-uri tactile, cu butoane fizice, plăci de extensie, HAT-uri pentru detectare gesturi, senzori de temperatură, presiune, coolere pasive, coolere active, adaptoare DSI – a whole shitload of them. Am luat un LCD mai vechi cu diagonala de 81cm care va fi ecranul pricipal al mesei, mai am unul de 1380×740, ultra-wide, cu diagonala de 13” și grosime de doar 3mm, vine un eInk de 9,7” din China, un alt LCD de vreo 2x7cm dintr-un Nook vechi va fi pe post afișaj date sistem/vreme, unul de 3,5” pe post de ecran tactil. Servomotoarele vor ridica și coborî ecranele în masa din lemp acoperită cu un strat de 8mm de sticlă securizată. Cameră web de 5mp pentru conferințe SkyPe. Raspberry Pi 3 B+ duce lejer 1080p așa că masa va afișa pești care înoată, apă curgătoare, peisaje, chestii abstracte. E-ink-ul va afișa mail-uri și feed-uri RSS cu știri. Ecranele mai mici – notificări sau alte chestii.

Și primul Raspberry Pi 3 B+ a ajuns împreună cu alte chestii mișto: – Pimoroni SkyWriter HAT – Senzor de Gesturi pentru Raspberry Pi (ca să putem manevra și prin gesturi ceea ce e pe ecran, nu doar prin touchscreen); – Set 3 Radiatoare pentru Raspberry Pi 3 (pentru răcire pasivă); – Shield Raspberry Pi Blinkt! pHAT (pentru că luminițeeee!); – 3x Cablu HD – mini HD cu Ethernet; – 2x Carcasă de Plastic Transparentă pentru Raspberry Pi Zero; – Proto Hat pentru Raspberry Pi v3 (ca să expandăm puțin modulul; mai vreau să iau două plăci de expansiune cu câte 3 seturi de 40 pini fiecare dar de la alt shop); – Cablu USB OTG; – Adaptor de la HDMI Mama la Mini HDMI Tata (de ce am luat 3 numai eu știu…); – Incarcator TP4056 cu MICRO USB pt. Baterie LiPo (1A) cu Protectie (am mai luat unul de pe eBay dar ăsta a ajuns mai rapid și-a costat doar 4 lei; mai rămâne să caut baterie, deși am deja suportul de plastic pentru 4×1,5V).

 

Pew-pew, space gun.

 

My ”Koi Smart Table” Project

 

Un server grafic X.org pe Debian Linux pentru ecranul principal (display:0), un al doilea de control pentru LCD-ul tactil din dreapta (display:1) și al treilea pentru ecranul eInk (display:2). Butoanele de pe display:1 vor fi prezente sub formă de slide derulabil. Practic .lnk-uri cu SVG-uri predefinite care lansează scripturi BASH (pornește SkyPe fără window border, centrat sau cu dimensiunile cutare pe fondul cutare; afișează pe display:0 cu mplayer în fullscreen clipul ăsta de 1080p cu pești înotând și rulează prin sox MP3-ul cutare cu sunet de apă curgând; afișează pe display:2 text cu fontul cutare, feed RSS de pe CNN sau cel mai recent e-mail din inbox-ul GMail; rulează clipul YouTube cutare în fullscreen la 720/1080p sau în format PIP cu background-ul ăsta animat alcătuit din fișier video brut; etc).

 

Sticlă ranforsată, margini șlefuite, 5-8mm grosime. Acoperă display:0 și display:2. Camera web e integrată în masă și se ridică dacă atingi pivotul care o ascunde, cu lentila îndreptată spre mijlocul laturii de jos a mesei.

 

3.5 inch 480 x 144 pixel color control touchscreen display [va fi display:1 în X.org]

The TV. Mi-am dat seama că nu duce mai mult de 720p. Ceea ce e OK.

 

Ecran LCD de 13”, ultra-wide, lățime de 29,5cm, grosime de doar 3mm (!). Nu mai știu ce rezoluție are dar e mai mult decât decentă. Dintr-un laptop vechi ASUS. La grosimea și înălțimea asta va sta în interiorul mesei și se va ridica dintr-o fantă, pe verticală, cu ajutorul unor servomotoare, ca să afișeze filme sau alte chestii.

HDMI VGA DVI LCD LED Controller Board kit For LG LP133WH2-TLE1 1366X768 13.3″. Are HDMI, DVI, chiar și VGA, mufă jack-in audio – $24.35.

HAT-urile vor fi legate la două extension board-uri Raspberry Pi și extinse ca tentaculele la locurile lor aferente prin cabluri IDE mamă/mamă de 40 de pini.

Making the design plans on an 13” eInk tablet is half of the fun. The Servo HAT goes on top, the extension boards in the middle

Luat de pe eBay un Servo HAT pentru 16 motoare servo, gata făcut pentru Raspberry Pi. Wohoo. Acum voi avea cu ce manevra părțile mecanice (urcat/întors/coborât ecrane și fante ascunse).

Schiță brută placă Servo HAT.

It has motors and mekatronics and stuff.

Luat de pe eBay și-un 128×64 1.3″ LCD OLED Display HAT SPI/I2C pentru Raspberry Pi 2B, 3B, Zero, Zero-W. Ca să am pe ce afișa informații de sistem în panoul ascuns de administrare (IP, uptime, temperatură CPU, memorie, consum CPU, output ”df -haT”, grep de chestii direct din dmesg și altele).

Extensie USB pentru Pi Zero-ul W.

 

Placă HUB RFID programabilă pentru acces pe bază de cartelă. Don’t ask, trust me.

 

Si au venit in timp record si cele doua placi de expansiune…

 

HDD Toshiba de 1TB, 2,5”, SATA. Dacă tot punem clipuri HD să ruleze pe masă, să am de unde alege. Ori iau un adaptor pentru RaspberryPi ca să ruleze tot de pe HDD, ori leg HDD-ul la un USB și să fie accesat de Linux ca external drive. Cred că e OK oricum. E doar la 5400 RPM dar pentru stocare e chiar OK. Nu va face operații complexe.

 

Enclosure HDD extern de 2,5” SATA. HDD-ul de 1TB a intrat în el. Pentru stocare externă prin USB.

Proto Hat pentru Raspberry Pi v3. Placă de expansiune pentru senzori and stuff.

Două bucăți TP4056 Micro USB 5V 1A Lithium Battery Charging Protection Board TE585 Lipo Charger Module. Ca să poată intra Raspberry Pi-ul în hibernare când opresc alimentarea ecranelor de la priză; să nu fie necesar un reboot de fiecare dată când dau curent la smart table. Mai caut o baterie de 5V dar cred că una de telefon ajunge. 99 cenți + transport gratuit de pe BangGood.

Driver HAT pentru SPI E-Ink Raw Display [display:2]. $11.39. 2x bucăți, că facem și-un eInk typewriter.

CSI/DSI cable extender (pentru display:1): $3.35.

2x cablu CSI de 1m fiecare. Unul pentru ecranul eInk, altul pentru cel LCD tactil. $0.83 bucata.

Pimoroni SkyWriter HAT – Senzor de Gesturi pentru Raspberry Pi. Detecție a gesturilor în 3D 4 straturi PCB Detecție de până la 5cm Informații de poziționare și gesturi în 3 Python API Merge și acoperit cu strat mat de lemn, plastic, sticlă. Pentru făcut swipe cu mâna peste masă și mutat poze, schimbat clipuri video, dat comenzi prin gesturi făcute peste suprafața mesei.

Shield Raspberry Pi Blinkt! pHAT. Are o matrice de 1×8 LED-uri RGB alimentate direct de la Raspberry. Fac din el fie semnalizator LED de funcții active, fie volum metru vizual.

Blat de masă din sticlă securizată 1200 x 650 mm. Grosime de 8mm. E perfect pentru ce-mi trebuie mie. 237 RON + transport.

Design masă – alpha 01.

Design webcam popup.

 

My Raspberry Pi 3 B+ mini-cluster

 

Clusterul îl fac din 4 Raspberry Pi-uri 3 B+, un suport acrilic pentru ele, un switch mic cu patru porturi și un router mobil care știe AP/3G.

Raspberry Pi 3 B+. WiFi de 2,4GHz și 5GHz IEEE 802.11.b/g/n/ac, procesor Quad Core la 1,4GHz pe 64biți, 4x porturi USB 2.0, HDMI pentru display:0, slot MicroSDHC pentru sistemul de operare, aplicații și fișierele 1080p, slot Webcam, alimentare la doar 5V, Bluetooth 4.2/BLE, port DSI pentru ecranul tactil display:1”, funcții PoE, port CSI pentru camera video, output stereo.

 

Ecran TFT de 3,5”. Va sta în vârful rack-ului cu un BASH script rulând pe el, afișând informații de sistem (temperatură, IP-uri, iptraf, adrese MAC, output dmesg, informații legate de funcționarea clusterului).

 

Cluster casing cu 5 locuri, pentru clusterul de Pi 3-uri.

 

Switch cu 4 porturi pentru cele 4 Pi-uri care vor deveni cluster. +1 port care va intra în routerul de acasă. Mic, compact, nu are nevoie de ETH Gigabit că n-am să downloadez filme pe clusterul de Pi-uri.

Router 3G portabil cu funcții AP.

 

Chestia asta e bestială. HUB USB 3.0 cu butoane mecanice On/Off și LED-uri de activitate. Pentru clusterul de 4 Pi-uri e perfect, că nu mai am nevoie de HAT On/Off pe plăci și ci pot opri/porni manual care nod din cluster vreau, când vreau, manual. HUB-ul USB are și mufă de alimentare la priză. Livrează 5V pe fiecare port. It was love at first sight.

 

4x cabluri UTP de 50cm fiecare pentru cluster.

 

6x MicroSDHC de 16GB din care 4 merg în Rasperry Pi 3-urile pentru cluster.

Niște căblăraie USB 2.0.

 

My DIY WiFi Booster

 

Am făcut și-un WiFi booster dintr-o cutie de Pringles. Amplifică banda de 2,4GHz cu vreo 20%. Pictat cu negru și vopsit cu rășină epoxidică, pus un stativ – done. Gata în 14 ore. Cuta de Pringles are fix diametrul necesar captării eficiente a semnalului frecvenței de 2,4GHz și este căptușită cu folie de aluminiu pe interior. O îndrepți spre sursa semnalului emis și amplifică recepția.

Un vechi adaptor TP-Link compatibil cu orice OS. Cred că are 12 ani cel puțin. E perfect. Îl scoatem din carcasa de plastic deoarece nu avem nevoie de ea. Pătratul metalic cu 9 găuri de pe placa adaptorului e antena wireless. Va trebuie să stea fix în centrul diametrului cutiei de chips-uri Pringles.

 

Un extensor USB 2.0 ca să ajungă la laptop.

 

Un ”lsusb” ne arată cum detectează kernelul Linux modelul modulului WiFi: Ralink-ceva-ceva țțx.

 

Modulul wireless extern este văzut de Linux. Ar fi culmea să nu, că e vechi și ultima oară l-am folosit prin 2008. Prindea praf în sertar în era asta în care și eReaderele au WiFi.

 

O veche capsă de protecție de mufă de încărcare iPod Touch. Placa adaptorului intră fix în chestia asta dar trebuie să-i scobim acoperișul.

 

Done. Plasticul e scobit, finisat. O altă bucată de plastic va fi pe post de stabilizator al modulului WiFi în cutie.

 

Ceva chestie pe care am găsit-o într-o trusă de scule. Cutia Pringles va sta pe chestia asa cu vârful ridicat. Mecanismul ăsta simplist din plastic permite mai multe scări de elevație ajustabile.

 

Am vopsit cutia pringles cu vopsea acrilică neagră. Nu de alta dar să arate mai OK și să ascundă marcajele ambalajului. Se usucă repede.

 

Puteți folosi și silicon, dar eu am folosit Superglue ca să prind inelul oval din plastic în jurul modulului, fix lângă mufa USB iar cei doi piloni din plastic deasupra inelului. Mufa va ieși afară din tubul cutiei, prin lateral dar pilonii nu vor permite extragerea întregului modul WiFi care va rămâne astfel cu antena WiFi în centrul diametrului cutiei Pringles.

 

Dacă USB-ul modulului va ieși în lateralul cutiei, stativul cu înălțime ajustabilă va fi prins de partea de jos a laturii cutiei cu unul sau trei șuruburi (plus, probabil, Superglue).

 

Cutia am dat-o cu rășină epoxidică. Îi dă aspect lucios, protejează vopseaua, întărește structura per ansamblu și permite folosirea superglue-ului pe rășina uscată.

 

Dimensiuni pentru o recepție cât mai bună pe banda de 2,45GHz.

 

Adaptorul va intra în fanta asta făcută la 49mm de bază.

 

Vârât adaptor, stabilizat pilonii din plastic cu superglue, întărit cu silicon ca să nu se miște când bag/scot cablul USB.

 

Stativul prins cu șurub și fixat bine cu silicon.

 

Vedere în interior. Antena Wifi trebuie să fie fix în mijlocul diametrului.

 

Ready to fire my WiFi cannon.

 

WiFi booster receiver-ul funcționează. Testat. A găsit rețele WiFi în jurul meu despre care habar nu aveam că există. Ceea ce înseamnă că erau prea îndepărate ca să le prindă adaptorul WiFi in laptop. Dar le detectează chestia asta.

 

New HDD for the old NAS

 

Am primit cadou de la Ciprian un HDD SATA de 500GB. Așa că NAS-ul meu WiFi AirLive a prins iar viață. Voi ține pe el tutorialele video și documentarele.

 

Food

 

Am făcut o ciorbă de fasole de zile mari acum o săptămână:

Ciorbă de fasole. Se lasă fasolea uscată în apă peste noapte. Se fierbe de trei ori în apă cu o lingură rasă de sare. În ultima apă adăugați și o linguriță de chimen. Se taie doi cârnați subțiri felii, o ceapă mare în cubulețe, se bagă în oală vreo 6 linguri de sos de tomate, două de untură de gâscă, trei lingurițe de ulei, două linguri de smântână și fasolea fiartă și spălată. O lingură de sare, o linguriță de piper alb, o linguriță de praf de chimen, două lingurițe de leuștean uscat, 1/2 de linguriță de chili roșu și cinci frunze de dafin uscat. Foc maxim vreo 30-45 de minute și amestecat din când în când.

Iar azi dimineață am făcut micul dejun pentru wifey:

”Wake up, wife!” breakfast. Omletă din două ouă, cu șuncă, ardei gras ras, parmezan ras și ceapă călită tăiată mărunt. Se adaugă sare, piper alb, leuștean uscat și două frunze de mentă. Pită prăjită cu unt, rețetă clasică. Și cafea.

 

Other stuff

 

Și n-ați văzut cu adevărat cascadă ASCII până n-ați importat un fișier SQL măricel cu mysqldump pe un Raspberry Pi la 700MHz. Vreo 2 minute de ”Matrix frate”.

Ador tehnologia panourilor solare. Tot cumpăr pe chestii care se pot încărca de la soare. În acest episod un nou-achiziționat bec care ziua stă în dulie și se încarcă de la lumina ambientală iar noaptea se aprinde și merge vreo 6-8 ore încontinuu.

În rest mă joc cu PacketTracer și urmăresc mesaje SYN în Wireshark. Am de scris niște articole azi, de terminat un website pentru un client, caut componente și HAT-uri pentru Raspberry Pi. N-am mai lucrat cu automatizări de când aveam vreo 14 ani. De pe vremea când eram cu Ștefi clienți fideli la ”Dioda”, un magazin cu chestii pentru electroniștii orădeni: tranzistori, rezistențe, plăcute integrate, cabluri, motorașe. Ei – și cumpăram noi chestii de-alea și sudam cu ciocanul de lipit și cositor pe ele până arătau bizar și dacă le conectai la o baterie începeau să țiuie. Făceam țiutori. Exista un kit pentru elevi numit ”Sirenă Waw-Waw”. Altul care făcea leduri să pâlpâie.
Apoi am crescut și-am comutat pe chestii mai serioase, de adolescenți; petarde adică. Pentru că
1. Why not blow shit up for fun?
2. We were retards.
Acum tot adun pe chestii pentru masa aceea Smart cu componente pentru plăci Raspberry Pi și va trebui să iau pistolul de lipit în mână, din nou.
Măcar acum știu că dacă începe să țiuie procesorul nu e semn bun.

Și tot ascult Helmet în cmus când lucrez. Superb ultimul lor album.

wpa_supplicant.conf din Raspbian stochează username-ul și parola de la WiFi în plaintext. Slap me sideways.

Am scris și un mic tutorial R pe Psihoradea: ”Mici trucuri folositoare în R”.

> install.packages(c(“scales”, “plotly”, “highcharter”))

Și compilează Raspberry Pi Zero W pachete R din CRAN de aseară, de mama focului. 5V, consum de curent minim. Pot compila pe el tot repository-ul R CRAN apoi îl pun în buzunar și-l alimentez de la telefon dacă vreau, lol. I love micro-technology.
Need more Pi’s.

I also made these:

După ce dau astea cu rășină epoxidică vor ieși din ele glorioși magneți de frigider.

Am constatat cu surprindere ca PC-urile din laboratorul IT de la Socio-Umane sunt niste leviatani mai mult decat decenti ca specificatii, cu ecrane de vreo 20+ inci si SuSE Linux ruland pe ei.

Sunt mișto taximeriștii din Oradea. Cel de la Fulger care m-a dus dimineață la Universitate a pornit cu mine în mașină și-a început să se uite visător pe geamul din stânga lui. Așa – la modul ”îmi amintesc când eram tânăr ce frumos se unduia grâul în ogorul în care, copil inocent fiind, mă ascun-…” moment în care a trebuit să urlu la el un ”băi-băi-BĂI!” ca să fie atent din nou la drum și să n-o spulbere brusc pe fata de vreo 13 ani care trecea calmă pe zebră. A pus frână la 5cm de ea. Efectiv mi-a rămas gravată în memorie fața fetiței ăleia. Dacă n-o observam eu probabil acum șoferul ar fi fost pe la poliție dând declarații.
Niciun ”mulțumesc”, nicio remarcă. A pus frână brusc, apoi și-a continuat drumul.
La fel de visător a fost și când am ajuns la facultate. M-a lăsat vreo 8m mai încolo de poartă, că visa din nou cu ochii deschiși și-a trebuit să-i spun să oprească aici și acum, deși cum vreo 15 secunde mai înainte îi repetasem destinația.
Tot de la Fulger a fost cel care m-a adus acasă de la Universitate. Ăsta a condus exemplar, dar mi-a cerut un ”8 lei” estimativ, că – desigur – n-a pornit aparatul la începutul cursei; pentru că un ban în buzunarul lui și nu al firmei. Efectiv n-am mai avut răbdare să-i zic ceva. I-am dat 8 lei.
Culmea e că oamenii ăștia zic că Uber fac transport de persoane ilegal și organizează lungi proteste. Să-i scoată din circulație pe ĂIA, să rămână EI. Că nu e mișto cu concurenți care nu mestecă semințe, nu ascultă manele, nu taxează cursa după ureche și nu se bazeză pe client să fie atent la drum.
Thumbs up.

Stocul la ”Tainele psihologiei” s-a epuizat iar pe Elefant.ro săptămânile trecute. ”Fabrica de furnici” se reeditează la Crux Publishing. Și lucrez în continuare la o carte de sociologie pe care, cumva, sper s-o termin luna asta.

Iar după pauza asta de blog mă pun la a treia cafea și apoi pe scris articole.

Cheers.