Hobot-388

Mi-am luat un robot de spălat geamuri, Hobot-388. Am multe geamuri și mi-e greu să le tot spăl, așa că m-am gândit să externalizez această sarcină. În felul acest, mi-am asigurat și un loc de top pe lista roboților, atunci când va veni momentul să se răscoale pentru că i-am exploatat. Observați c-am zis când și nu dacă.

M-a impresionat până la lacrimi (deși e unanim știut faptul că bărbații nu plâng niciodată) așa că m-am gândit să scriu o recenzie. Da... așa se scrie review în limba română...

Ce găsiți în colet?

  • robotul :)
  • cablul de alimentare
  • frânghie de siguranță, cu care poate fi legat și de care va atârna în caz că se desprinde accidental
  • vreo 8, cred, perechi de lavete
  • detergent
  • o pereche de "picioare" (discurile pe care se prind lavetele și care țin robotul pe geam)
  • un pulverizator de rezervă
  • telecomanda
  • manual de utilizare
  • și-o ciocolățică (mda... ca-n bancul ăla; da' poate depinde și de unde-l comandați)

ce-i in cutie

Vă recomand să vă mai comandați un set de lavete și niște detergent extra.

Ni la el!

Dihania se prinde de geam făcând vid și, apoi, începe să își croiască drum prin jeg. Prima tură trebuie pus să curețe uscat. Apoi, tura (sau turele) următoare, trebuie pus cu apă și/sau detergent și/sau spirt.

Am făcut și chestii nesăbuite

Adică l-am pus pe sticlă fără margine (sticla de la cabina de duș, oglindă). Scrie clar pe el să nu faci asta, dar, cu supraveghere se poate și își dă seama, în majoritatea cazurilor, c-a ajuns la margine.

pe oglindă

L-am pus si pe faianță. Cică asta-i una dintre caracteristicile cu care acest model vine în plus față de cele anterioare. Se ține bine, n-a căzut, dar mi se pare că trebuie supravegheat, mai ales că nu am de ce să-i leg frânghia de siguranță.

pe faianță

Ah... Și să nu uit: în cazul în care "i se ia lumina", robotul are un UPS (o baterie) care-i va permite să stea prins de suprafața pe care se afla la momentul în care a fost surprins de neplata facturii încă aproximativ 20 de minute.

Funcții faine de pe telecomandă

2X

Asta-i super utilă mai ales dacă locuiești într-un palat de cleștar, ai dormit ultimii 100 de ani și deodată afli că vine prințul. După ce pui robotul pe geam, apeși 2X pe telecomandă și robotul va spăla geamul de... 2 ori. Uau!

pe geam

Săgețile de ghidare și opțiunea de pulverizare extra

În cazul în care vreți să insiste într-o anumită zonă, puteți să-l ghidați cu săgețile, acolo. În plus, puteți să pulverizați detergent în plus în acea zonă.

Pentru geamurile fără margine, dacă ajunge la margine și nu cade, e posibil să devină "derutat" și să nu știe încotro să continue. Drept urmare, poate fi ghidat din telecomandă.

Tot cu săgețile puteți duce robotul într-o zonă a geamului de unde să-l puteți lua (în cazul în care termină curățenia dar rămâne într-o zona inaccesibilă).

Concluzii

Eu zic să vă luați, mai ales dacă aveți multe geamuri …

more ...


Echo server in Elixir used in a CI/CD Pipeline

This project was used during an internship workshop. The Elixir code (the echo server) was not written by me. I only added the unit tests.

You can go through the workshop and learn how to

  • create a local Jenkins server with Docker
  • spin a few virtual machines (with Hyper-V or VirtualBox) with Docker machine
  • create a Docker Swarm with those virtual machines
  • connect Jenkins to the Swarm
  • create a pipeline to build, test and deploy the echo server in the Swarm

The code and its documentation can be seen in

more ...

Chef & AWS OpsWorks Workshops

Since I've used Chef a lot, especially with AWS OpsWorks, I've had the chance of presenting this setup.

In 2015, during a MeetMagento event, I showed this presentation, followed by a workshop. The code can be seen on GitHub and it uses Chef in order to spin up an AWS OpsWorks stack and deploy a PHP application on it

In 2017, during an event called Rise of the DevOps, I delivered a similar presentation that did kinda the same thing. Here's the code.

more ...

Rezolvarea cubului Rubik

I. Introducere şi motivaţie

Salut şi bine ai venit pe pagina aceasta. Mi-am propus să îţi arat aici o metodă de rezolvare a cubului Rubik. “De ce-ai face una ca asta?”, ar putea întreba cineva. Păi hai să studiem puţin acest cub, ca să vezi câteva motive.

A fost inventat în 1974 de Ernő Rubik, un sculptor şi arhitect ungur. Este considerată cea mai bine vândută jucărie din lume, fiind cunoscut şi sub denumirea “cubul magic”. După unele statistici 1 din 4 oameni s-a “jucat” cel puţin o dată cu un cub Rubik. Şi cu siguranţă fiecare om care s-a jucat vreodată cu el (cubul, nu cu el însuşi!) a vrut să ştie să-l rezolve.

Din păcate documentaţie de calitate, în limba română, nu există. Cea în engleză e de multe ori confuză, incompletă sau greu de găsit. În plus, pentru copii, documentaţia în limba engleză e foarte greu de înţeles.

Sper ca ce scriu mai jos, să fie pe înţelesul tuturor. Metoda de rezolvare pe care o expun aici e o “compilaţie” din mai multe metode pe care le-am studiat. E logică şi uşor de reţinut, dar nu e foarte rapidă.

Ca să-ţi fie mai uşor, am creat şi filmuleţe pentru fiecare pas în parte. Întregul playlist poate fi găsit aici.

Să-i dăm drumul!

II. Noţiuni de bază

În cele ce urmează vom lucra cu un cub standard (3×3x3). Acest cub are:

  • 6 feţe, fiecare de altă culoare. Le vom nota cu câte o literă, aşa cum sunt notate ele în documentaţia de specialitate:
    • U – faţa de sus (upper face)
    • D – faţa de jos (down face)
    • R – faţa din dreapta (right face)
    • L – faţa din stânga (left face)
    • F – faţa din... faţă... dinspre tine (front face)
    • B – faţa din spate (back face)

Evident, orice faţă poate fi cea de sus, sau cea din dreapta. Dar o dată ce ai început să rezolvi cubul şi ai ales ca faţa albă să fie cea de sus şi cea verde cea din dreapta, nu le mai schimba! Nu roti cubul în mână în timp ce îl rezolvi. E cea mai comună greşeală şi totodată cea mai gravă pentru că uiţi secvenţa de mutări pe care trebuie să o faci!

Cu orice faţă se pot face 3 tipuri de rotiri: o rotire în sensul acelor de ceas, o rotire în sens opus acelor de ceas (sens trigonometric, cum se numeşte în geometrie) şi o rotire dublă (nu contează sensul). De exemplu, pentru faţa U, sensul acelor de ceas se notează U, sensul trigonometric U’ iar rotirea dublă se notează U². Cum se determină sensul corect pentru o faţă? Simplu: priveşti faţa respectivă în mod “natural”, centrul cubului aflându-se în spatele ei. Deci pentru a determina sensul invers acelor de ceasornic pentru faţa B, pentru câteva secunde vei întoarce cubul cu faţa B la tine (faţa F e acum în locul feţei B) şi o vei roti spre stânga, apoi vei întoarce cubul în poziţia iniţială (dacă am decis la început că faţa …

more ...

ToXic Chat

ToXic Chat was a project I started in highschool (December of 2003) with Dragoș Bucevschi. The idea was to create a cross-platform (Windows and Linux), peer-to-peer (no dependency on a specific server), reliable (TCP) chat system.

Initial implementation was done in Delphi (Windows) and Kylix (Linux) and in 2005 I rewrote it in C++/Qt but I discontinued the project.

Version history:

  • 10th of May 2004 - 0.0.1
  • 23rd of May 2004 - 0.1.0
  • 30th of August 2004 - 0.2.0
  • 1st of September 2004 - 0.2.1
  • 16th of July 2005 - 0.4
  • 25th of December 2006 - 0.5 alpha1 - this was the version in C++/Qt but I discontinued the project.

The source code, binaries, installers and screenshots can be found on Sourceforge:

more ...

QPdf2Swf

QPdf2Swf is a GUI (graphical user interface) written in Qt4 for pdf2swf, a pdf to swf converter. It was a demo that I wrote in a few hours for an interview at a company wanting to convert PDF presentation catalogs and render Flash pages from them. Flash websites were a thing in 2005 :)

I didn't get the job so I published the code online but didn't maintain it. You can view it on Sourceforge. It is cross platform and should run on both Windows and Linux (probably even Mac OS, but I didn't test)

Version history:

  • October 2005 - unreleased version, written in Qt 4.0
  • 31st of October 2006 - 0.1, the version I released, refactored in Qt 4.2
more ...

Cărămida Verde

Cărămida Verde a fost o revistă-pamflet scrisă în liceu. A avut 8 numere și un manifest.

Echipa permanentă era formată din:

  • 4 redactori şefi: Syl (eu), BOGGHY (Bogdan Bucevschi), m0|3 (Andrei Şanta) şi v|v (Viorel Dram)
  • 1 jurnalist (şi el şef într-un fel): GhostD (Dragoş Bucevschi)
  • 1 badigard (nu era şef, dar e clar că era cel mai tare): tony (Ovidiu Căldare)

Sediul Institutului şi al Trustului nostru de presă era format din ultimele bănci de pe rândul de la perete.

more ...