Pareri dupa o luna cu Apple iPhone 7 Plus

Acum o luna am decis ca e momentul sa fac o schimbare in viata mea. Cea mai simpla schimbare si prima care mi-a venit in minte a fost sa-mi schimb vechiul Nexus 6 cu un iPhone.

Cum n-am avut niciodata un iPhone dar cum lucrasem cu sisteme Apple inainte (zic sisteme pentru ca am avut si inca am Hackintosh) si mi-au placut, mai ales ca se lucreaza ingrijit in ele, am decis ca e momentul sa imi iau un iPhone. Evident, am facut ceva research, am intrebat in dreapta si in stanga, am citit forumuri, review-uri, etc mi-am zis ca e timpul sa incerc si un telefon cu iOS.

Ca sa scurtam povestea, mai jos avem un fel de iOS vs Android, dupa o luna de utilizare.

The Good:

  • Constructia/designul telefonului e super. Chiar daca e standard de la primul iPhone pana la ultimul si chiar daca toate telefoanele din ziua de azi arata cam la fel. Daca nu impresioneaza mult prin designul simplu, impresioneaza prin calitate. Am avut o gramada de telefoane, fie cu Android, fie cu Symbian, dar nu cred ca vreunul s-a ridicat la calitatea sau impresia de calitate pe care o are iPhone. Pur si simplu se simte altfel. Chiar daca 90% din el probabil e plastic, e un plastic ce iti da senzatia de calitate.
  • iOS-ul e rapid. E rapid si in aplicatii, si in deschiderea lor, si la tranzitii intre aplicatii, indiferent cate ai avea deschise. Nu se compara. Orice i-ai da sa faca, face la fel de repede chiar daca ai o singura aplicatie deschida, sau chiar daca ai 20. Pe Android dupa 10-15-20 de aplicatii in background se intampla sa inceapa sa sacadeze sistemul. Eu sunt un om lenes si nu imi inchid aplicatiile. Pe Android daca faceam asta deja simteam incetiniri in sistem. Pe iOS n-o sa se vada asa ceva. Android-ul ruleaza JVM e foarte putin cod de C/C++ in Android (lasam kernelul in pace) si 90% din ce se intampla in Android se intampla prin Java. Din pacate chestia asta penalizeaza mult performantele oricarui SOC Android, fie el quad-, hexa-, octa-core. Altceva e sa rulezi cod masina si altceva e sa rulezi cod in JVM. Echivalentul pentru PC-uri ar fi python vs C++. (nu e cea mai exacta comparatie, dar la altceva nu ma gandesc acum). Si aici mai e o chestie: kernelul de Linux nu e deloc optimizat pentru telefoanele mobile. Kernelul de Linux are aceeasi parametri standard in el ca acum 20 de ani. Nu e nimic rau in asta, doar ca parametri aia sunt optimizati pentru PC/Server si nu pentru embedded devices. Sunt cateva setari foarte simple care ar ajuta mult la performanta. Eu va invit sa va jucati putin cu butoanele pe la partea de I/O si cache. (un mic hint: io sched, vfs, rq_affinity, readahead)
  • Camera poate nu e cea mai buna si nu o sa compar calitatea pozelor, dar o sa compar rapiditatea cu care se deschide aplicatia fata de Android si rapiditatea cu care faci un burst. (PS: Eu n-am vazut telefon mai bun ca Lumia pe partea de camera. S-a sters la fund cu un D-SLR de 2000 de lei)
  • Sunetul se aude mai bine ca pe Nexus 6. Imi permit sa compar pentru ca ambele telefoane au difuzoare stereo. Difuzoarele pe iPhone au mai mult bass si nu deranjeaza inaltele sau nu se distorsioneaza sunetul dupa un anumit volum. Nu, nu am devenit cocalar si ascult manele pe difuzor, dar imi place sa ascult muzica cand sunt la baie.
  • Meniul de sharing e diferit fata de Android. Are mai putine optiuni de share si e putin mai ciudat, dar imi pot selecta aplicatiile prin care (sau catre care) fac sharing si le pot prioritiza. De exemplu pot alege Whatsapp sa fie prima optiune si a doua Dropbox. Pe Android se prioritizeaza automat in functie de cat de mult faci share catre aplicatia respectiva.
  • 3D-Touch-ul e marfa si chiar e util. Aici nu pot sa compar cu Android pentru ca de pe la versiunea 7 au introdus si ei un fel de 3D-Touch.
  • Siri e singurul asistent care chiar ma intelege. Poate am eu engleza stricata, dar la Google trebuie sa tip in masina ca sa apelez pe cineva atunci cand conduc. Cu Siri pot sa vorbesc in soapta la 2 noaptea.
  • Am optiunea de filtrare a luminii albastre. In Android a existat optiunea pana prin preview-ul 5 de Android 7. Nu am mai gasit-o in versiunea finala. Se poate instala o aplicatie pentru Android, dar in iOS exista deja by default. Pe OS X foloseam un program, in Sierra e integrata functia in sistem.
  • De fiecare data cand conectez telefonul la iTunes, isi face automat backup. Un mare plus pentru asta. Nota 11 cu felicitari. Android-ul inca e in urma cu vreo 20 de ani la partea asta. Backup-ul si restore-ul pe Android e un chin. (O zice cineva care a facut kernel si putin ROM developement pentru Galaxy S2, Nexus 5 si 6)

The Bad:

  • Cum spuneam, meniul de share e putin ciudat si oarecum limitat. De exemplu, daca vreau sa fac share la o poza, o sa-mi apara toate aplicatiile care stiu sa deschida poze. Atat. Daca vreau sa editez poza respectiva, trebuie sa ma duc in alta aplicatie si sa o deschid de acolo. (Adica nu pot sa dau share catre Snapseed de exemplu. Trebuie sa deschid Snapseed si de acolo sa selectez poza.)
  • Notificarile sunt aiurea. Nu ma impac cu modul de functionare. Pe Android: primesc un mesaj, deblochez telefonul, ignor mesajul, las notificarea in pace si blochez. Imi apare pe ecran notificarea dupa ce deschid ecranul. Pe iOS dispare, dar imi apare un badge pe aplicatie. Poate nu m-am obisnuit eu, dar nici cu Android-ul nu prea mi-e rusine la partea de notificari.
  • Nu am Miracast. Nu pot sa fac share la ecranul telefonului pe TV. Pot sa fac un fel de share de ecran, dar doar din unele aplicatii ce suporta Miracast. (Vezi Youtube)
  • Control Center-ul e o jucarie in comparatie cu cel din Android. Nu stiu la ce retea wireless sunt conectat fara sa intru in setari. Nu pot adauga sau scoate shortcut-uri in el. 1-0 pentru Android.
  • M-am obisnuit cu tastatura din Android si tastele speciale sunt in alta parte in iOS. Mi-a luat 2-3 zile pana m-am obisnuit. Aici e o chestie de obisnuinta.

The ugly:

  • Nu pot sa caut persoana pe care vreau sa o apelez din Dialer. Adica vreau sa tastez 222 si sa imi arate toate persoanele care au numarul ce contine 222 sau au in nume literele A, B si C. Daca vreau sa apelez persoana cu numele CAB, in Android tastez 222. In iOS trebuie sa caut eu in contacte numele exact sau sa folosesc 3D-Touch pe aplicatia de Dialer.
  • Esti semi-dependent de iTunes. De exemplu profilul de OpenVPN si cheile SSH le-am pus prin iTunes in aplicatiile respective, cu drag and drop. Mi-ar fi placut sa descarc cheia de undeva direct pe telefon si sa o pot importa prin aplicatii.
  • Nu pot folosi telefonul ca mass-storage. Nu pot sa descarc un ISO pe telefon, sa ma duc la un PC si sa-l vad acolo. Nu poti asta nici pe Mac. (Poti, dar iti trebuie niste aplicatii, ideea e ca pe Android conectezi telefonul la PC si il poti vedea ca un stick USB)

Probabil mai sunt si alte chestii bune sau rele, dar mi-au scapat. Per total sunt multumit de telefon si nu m-as intoarce la Android prea curand, cel putin nu pana cand nu se renunta la JVM…

pfSense + Snort

Ziceam in postul trecut de o combinatie intre Mikrotik si Snort.

Am incercat imediat dupa ce am scris acel post sa pun un pfSense ca masina virtuala pe serverul meu. Din pacate nu s-a descurcat asa bine (deh, un Celeron dual-core era prea mult pentru toate masinile pe care le aveam pe host) si am renuntat dupa o luna la el. Apoi m-am gandit ca ar fi o idee sa schimb Celeronul cu un Xeon. Am facut ceva research si am comandat de pe ebay un Xeon 1265L. Mi-a stat inima in loc dupa o luna cand a ajuns coletul acasa, dar n-am primit un cartof si dupa jumatate de ora de asamblat aveam un Microserver cu Xeon.

Am pastrat configul vechi pentru pfSense (ca profesionistii) si dupa instalare tot ce a trebuit sa fac a fost sa fac restore la config. In aproape 10 minute totul era gata. A mai trebuit sa fac 2-3 modificari si sa revad regulile de firewall. Am decis sa incerc pfSense 2.4 bazat pe FreeBSD11, nu pfSense2.3 bazat pe FreeBSD10 pentru ca initial n-am vrut sa decat sa testez pfSense cu un procesor mai bun ca amaratul de Celeron, iar cel mai bun mod de testare e sa instalezi o versiune beta.

Revenind la Snort, hai sa vedem cateva diferente intre solutia cu Linux+Mikrotik si pfSense:

  • scanarea si blocarea se intampla realtime, in firewall-ul pfSense
  • nu mai exista saturarea benzii, Snort-ul lucreaza acum in bridge si scanarea se intampla inainte de firewall/nat. Ce primeste, da mai departe.
  • ai o interfata pentru configurare destul de simpla si in acelasi timp destul de complexa
  • OpenAppID pentru blocarea traficului pentru diferite aplicatii (se uita la semnatura traficului. Mie imi detecteaza facebook, dropbox, torrente si multe altele. Un exemplu avem aici si o lista completa aici)

Am tinut intai interfata WAN in blocking mode cu putine reguli active si LAN-ul pe alerta cu toate regulile pornite. Cu LAN-ul pe alerta am putut observa traficul ce sa facea normal si ce ar fi putut fi blocat de regulile alese de mine. Momentan am ambele interfete in block si nu am probleme.

Ca resurse consuma mai mult ca solutia Linux+Mikrotik, dar merita. Bineinteles, se poate scadea consumul de RAM si CPU daca dezactivam regulile ce nu ne sunt de folos si raman active doar cele care ne pot ajuta, dar nu imi fac prea multe griji pentru resurse. Eu mai am si squid cu cache si scanare AV, un IPSec si doua OpenVPN, ntop si consumul poate ajunge uneori si la 4-5GB (din cauza squid-ului).
Pentru Snort cred ca ar trebui rezervati 1GB RAM pentru fiecare instanta de Snort activa. Un minim 2-2.5GB ajung pentru un pfSense ce face doar rutare si IDS/IPS. Daca se vrea ceva mai complex, recomand minim 4GB RAM.

Snort in actiune: (ignorati uptime-ul, tocmai am facut upgrade la sistem)

Mikrotik + IDS (Snort) si semi-IPS

Eram in cautare de un UTM / NGFW gratuit si am dat din greseala peste Snort.
Am aflat ca il pot cupla cumva cu Mikrotik-ul, dar nu asa de bine incat sa imi ofere si protectie in timp real.

Snort este un NIDS (Network Intrusion Detection System) care ruleaza pe Linux, Windows si FreeBSD. Cum am un microserver cu care ma pot juca, am zis sa incerc sa vad care e treaba cu Snort.

Read More

Upgrade Roundcube

Dupa upgrade-ul la PHP am avut o singura problema: nu mai functiona Roundcube. M-am documentat inainte de upgrade daca roundcube suporta versiunea 7 de PHP si am vazut ca ultima versiune nu are probleme.

Singura problema a fost ca nu am gasit un PPA si instalarea din paachete era prea complicata, asa ca am ales upgradarea manuala.

Pentru upgrade am descarcat de pe site-ul lor ultima versiune, am rulat scriptul de upgrade si apoi a functionat totul.

Upgrade PHP5.6 la PHP7 pe nginx

Am VPS-ul asta de un an. Eu zic ca a fost o investitie destul de buna, mai ales ca pot sa experimentez pe el cat vreau.

Am decis ca e timpul sa incerc noua versiune de PHP (PHP7) si pe serverul asta. In teorie PHP7 ofera o mai mare performanta in comparatie cu versiunile anterioare. M-am jucat pe un alt wordpress cu PHP7 imediat ce a aparut (ma rog, la cateva saptamani) si am simtit ceva diferenta vizibila, si din testele mele, si din teste sintetice, asa ca am zis sa instalez si pe VPS PHP7.

Read More

Benchmark viteza retea intre doua sisteme Linux

Am folosit netcat de cateva ori si mi s-a parut destul de interesant, mai ales partea cu posibilitatea testarii vitezei intre doua sisteme.

Avem nevoie de cel mai simplu utilitar care poate exista (in afara de echo): netcat. Folosim netcat pentru a deschide un socket pe un sistem si acelasi netcat il vom folosi pe celalalt sistem pentru a ne conecta la primul Linux si a transfera date intre ele.

Pe primul sistem rulam comanda

nc -vl <port> > /dev/null

unde inlocuim <port> cu numarul portului pe care vrem sa asculte socket-ul.

Pe al doilea sistem rulam

dd if=/dev/zero bs=1024K count=512 | nc -v<IP> <port>

unde inlocuim <IP> si <port> cu IP-ul primului sistem si portul pe care asculta netcat.
Evident, putem sa ne jucam si cu argumentele comenzii dd.

 

Inchidere fortata de la distanta (reisub prin SSH)

Faza de mai jos cu Synology-ul s-a intamplat acum cateva luni, iar astazi mi-a fost de folos.

Am patit chestia urmatoare pe un Synology care a devenit self-aware si self-conscious si nu mai voia sa se restarteze:

syno-1

Ideea e ca orice incercam sa-i fac, nu reuseam sa-l inchid. Cum mersul in locatie nu era o optiune, am inceput sa caut cum sa-l restartez fortat. Am dat intr-un final peste lista asta si am reusit sa-l restartez cu echo C>/dev/ttyS1

Read More

Performante IOPS ext4/btrfs cfq/deadline/bfq

Am cumparat zilele astea 4 HDD-uri pentru a-mi face un NAS dintr-un Microserver HP Gen8. Din pacate mi-a murit din hard-uri unul dupa aproximativ 3 ore de functionare, dar asta e alta poveste.

Am facut ceva curat prin PC (am mutat chestii pe NAS) si se pare ca am ramas cu un HDD WD de 1T~5400rpm gol. M-am decis sa-l folosesc strict in Linux pentru diverse lucruri sau sa-l mut in laptop pe langa SSD-ul de 120GB (de unde il si am, de fapt).

Read More

Aptoide Downloader

Am facut scriptul asta din plictiseala.

Ce face? E la limita legii. Ideea e simpla si scriptul e la fel de legal ca si torrentele: te folosesti de scriptul meu ca sa descarci aplicatii Android dintr-un store neoficial. In store-ul respectiv exista si aplicatii crack-uite, false, malware, virusache, dar asta nu e treaba mea. Eu doar am facut un script care te ajuta sa nu mai instalezi aplicatia lor pe mobil.

Evident, functioneaza (doar) pe Linux. Aveam o varianta care mergea si pe OS X, dar nu am cum sa testez daca mai ruleaza si acum pe Mac-uri.

In orice caz, uitati-va pe pagina oficiala a scriptului. Sursa o gasiti aici.