Quattro mesi report

Sono quattro mesi che ormai lavoro in un ecosistema che non è Microsoft-centrico e volevo raccontare un primo bilancio: il codice si scrive in Java (parte in 1.7, grossa parte addirittura in 1.6), usiamo tool Apache per la build, i database sono MySQL, ecc. Il tutto gira su MacOS, almeno per tre su quattro di noi del team remoto.

In passato ho giochicchiato un po’ con MacOS ma non ho mai fatto niente di produttivo e soprattutto remunerato. Le mie opinioni sono queste:

  1. parlando di lavoro, Windows è a man bassa molto più stabile di MacOS. Sarà colpa del fatto che faccio girare Windows su una virtual machine, ma io osservo un Kernel Panic per settimana. La stragrande maggioranza di questi avviene (credo) durante le power transition. A livello di usabilità però MacOS latest è un pelino meglio di Windows 8.1.1.1.1 ma drasticamente meglio di Windows 8.0, l’OS che usavo per lavoro nell’azienda precedente
  2. se chiedessi a mia nonna di scrivere un Database Engine da zero sono sicuro che farebbe molto meglio di MySQL. Quando c’è un KP lo stato del DB si corrompe nonostante il DB venga usato molto sporadicamente: i DB dovrebbero garantire coerenza anche nei casi in cui si stacca la spina dal muro in maniera violenta. MySQL, almeno nella versione che stiamo usando su Mac, va in palla nonostante sia praticamente fermo. Per non parlare del fatto che neanche mia nonna si sognerebbe di far coincidere i due valori di stringa vuota e null, cosa vera fino alla versione 5.5 (precedente)
  3. la differenza tra Java e C# è abissale, l’effetto è che alla fine mi sento come se mi avessero amputato entrambe le mani. Un’immagine può rendere meglio l’idea:

C#Java

A sinistra C#/.Net; a destra Java/JVM. L’argomento richiede sicuramente un successivo approfondimento, ma… sarà pure che ci sono migliaia e migliaia di librerie, ma nel 2014 codice così mi fa letteralmente vomitare:

private static void seek64(FILE fp, long upos) {
    LIBC.fseek(fp,0,0); // start at the beginning
    while(upos<0) {
        long chunk = Long.MAX_VALUE;
        upos -= chunk;
        LIBC.fseek(fp,chunk,1);
    }
    LIBC.fseek(fp,upos,1);
}

(eh sì, quei genii che hanno disegnato il linguaggio hanno pensato che i tipi senza segno fossero “pericolosi”).

Però almeno finalmente sono arrivate la lambda.

-quack

Potrebbero interessarti anche:
Commenti (33): [ Pagina 1 di 2  - più vecchi ]
4. floo iOS
giovedì 22 maggio 2014 alle 7:50 PM - safari 9537.53 unknown
   

Nonno, provo per la questione reti anche se non usando la Ethernet da tempo vado un po' a tentativo: hai provato a cambiare la priorità del Wi-Fi ponendolo sopra all'Ethernet?

osxdaily.com/.../

   
5. Paperino
giovedì 22 maggio 2014 alle 7:54 PM - chrome 35.0.1916.114 OS X 10.9.3
   

A me il Mac è incapace di ripristinare il Wi-Fi in tempi decenti (tipo: bisogna smadonnare un paio di minuti) quando va in low-power.... queste cose non le ho mai viste con Windows.

Usi anche tu Maven? La nostra build fa il download di qualche GB di dipendenze...

   
6. il nonno
giovedì 22 maggio 2014 alle 8:07 PM - firefox 29.0 OS X 10
   

No non usiamo Maven, al momento usiamo GitHub aziendale + ant per la build.

Snake, il problema non e' l'adattatore, il problema e' il Mac che via displayport/hdmi vede i monitor come TV e quindi invia il segnale che va bene per le TV ma non per i monitor (si vede lo stesso ma da schifo).

Il problema e' ben documentato e ci sono infinite discussioni a riguardo, la soluzione piu' rapida e indolore e' usare DVI (se il monitor ce l'ha), la fregatura e' ovviamente per chi ha monitor con risoluzioni non supportate da DVI.

Floo, provato, non cambia niente, mi spegne comunque la WiFi qualche secondo dopo aver inserito il cavetto ethernet.

   
7. floo iOS
giovedì 22 maggio 2014 alle 8:35 PM - safari 9537.53 unknown
   

@Paperino:

A me il Mac è incapace di ripristinare il Wi-Fi in tempi decenti (tipo: bisogna smadonnare un paio di minuti) quando va in low-power.... queste cose non le ho mai viste con Windows.

Confermo che i Mac sembrano intorpiditi quando li risvegli, e il Wi-Fi non si riattiva immediatamente. Nel mio ci mette una ventina di secondi, trentina nel caso peggiore, però, addirittura minuti no.

@nonno: ci ho provato, purtroppo non saprei altro da suggerire. OS X è eccessivamente semplificato su varie cose, devo essere onesto.

   
8. Snake
giovedì 22 maggio 2014 alle 9:38 PM - chrome 35.0.1916.114 Windows 7
   

quindi invia il segnale che va bene per le TV ma non per i monitor (si vede lo stesso ma da schifo).

Ah, come non detto allora, probabilmente non ci ho fatto caso proprio perche` si tratta di un monitor/TV

   
9. Snake
giovedì 22 maggio 2014 alle 9:40 PM - chrome 35.0.1916.114 Windows 7
   

Btw, a me lo spegnimento del WiFi pluggando la ethernet non succede (sia a casa, sia al lavoro) a prescindere dall'ordine di priorita` dei due adattatori, ma ho un "vecchio" MBP non retina.

   
10. zakk
venerdì 23 maggio 2014 alle 12:50 AM - safari 537.75.14 OS X 10.9.3
   

Un kernel panic a settimana? Hai provato a vedere il log? Molto probabilmente è un modulo esterno, molto probabile un VM... 

   
11. Paperino
venerdì 23 maggio 2014 alle 1:45 AM - chrome 35.0.1916.114 OS X 10.9.3
   

Il log dice "Sleep Wake Failure" e i forum non aiutano molto...

   
12. dovellonsky
venerdì 23 maggio 2014 alle 9:56 AM - Firefox Gecko Windows 7
   

Parlando di Mac una cosa positiva c'e': il trackpad e' anni luce migliore di qualunque trackpad abbia usato in ambito PC Windows.

io non so tu quanti ne abbiam provati (soprattutto tra i nuovi ultrabook) , ma prova la All in One media Keyboardi con 8.1 UPD

   
13. Snake
venerdì 23 maggio 2014 alle 12:41 PM - chrome 35.0.1916.114 Windows 7
   

@dovellonsky:

io non so tu quanti ne abbiam provati (soprattutto tra i nuovi ultrabook) , ma prova la All in One media Keyboardi con 8.1 UPD

Comodissima portarsela in giro con un laptop

   
14. dovellonsky
venerdì 23 maggio 2014 alle 2:19 PM - Firefox Gecko Windows unknown
   

Snake , ho detto che non ho provato i nuovi ultrabook quindi non posso dare giudizio.
Come tastiera e touchpad ho detto che secondo me meglio della AllinOne non esiste.

   
15. il nonno
venerdì 23 maggio 2014 alle 3:23 PM - firefox 27.0 OS X 10
   

la AllinOne non adrebbe confrontata con un portatile ma con la tastiera e il trackpad desktop.

   
16. Paperino
venerdì 23 maggio 2014 alle 6:07 PM - chrome 35.0.1916.114 OS X 10.9.3
   

Effettivamente sull'HW non c'è davvero niente da dire, tranne per la mancanza del tasto backspace.

   
17. floo iOS
venerdì 23 maggio 2014 alle 6:24 PM - safari 9537.53 unknown
   

Come manca il backspace? non è che ti confrondi con Canc?

   
18. il nonno
venerdì 23 maggio 2014 alle 6:49 PM - Firefox Gecko Windows 7
   

"Effettivamente sull'HW non c'è davvero niente da dire"

personalmente non amo l'alluminio come materiale al tatto, un bel policarbonato e passa la paura!

   
19. floo iOS
venerdì 23 maggio 2014 alle 6:56 PM - safari 9537.53 unknown
   

Scambi il tuo MBP col mio MacBook Unibody policarbonato, nonno?

   
20. Paperino
venerdì 23 maggio 2014 alle 6:59 PM - chrome 35.0.1916.114 OS X 10.9.3
   

Se ci fosse il backspace, il Canc tornerebbe a fare il Canc.

Nonno: questione di gusti, a me l'alluminio piace più della plastica.

   
21. il nonno
venerdì 23 maggio 2014 alle 8:01 PM - Firefox Gecko Windows 7
   

Floo, il MBP e' aziendale, come portatile personale ho un MB 2008 in policarbonato

   
22. floo iOS
venerdì 23 maggio 2014 alle 8:19 PM - safari 9537.53 unknown
   

Del 2008? Quello con la X3100?

   
23. il nonno
venerdì 23 maggio 2014 alle 9:33 PM - Firefox Gecko Windows 7
   

si

   
24. floo
venerdì 23 maggio 2014 alle 10:02 PM - chrome 35.0.1916.114 OS X 10.9.3
   

Spero tu l'abbia tenuto fermo a Snow Leopard Dico seriamente, eh. Non essendo Mavericks una soluzione per esso percorribile (ci sono degli hack per metterlo, ma con prevedibili problemi di funzionamento, specialmente grafici), meglio tenerlo alla 10.6.8.

   
25. ZaX
mercoledì 28 maggio 2014 alle 2:58 PM - safari 537.76.4 OS X 10.9.3
   

Un kernel panic a settimana? Io sviluppo da 8 anni con un mac (MBP 15" prima e MBR 15" ora) e ho visto 3 kernel panic nell'intero periodo. E uno era dovuto a un banco di ram fallato. Probabile che sia la VM, cosa usi? Io da anni uso parallels che mi carica in virtuale Windows7 installato nativamente con Boot Camp e non ho mai avuto problemi. Sono invece d'accordo con java, fino a 3-4 anni fa (1.6 erano avanti, C# era al framework 2.0), da quando l'ha presa in mano Oracle Java è morto. Stesso discorso per MySQL, un bel giocattolino prima che Oracle lo rompesse (forse per non far concorrenza al fratello maggiore?). In ogni caso confrontarlo con MSSQL è impietoso e scorretto, uno è gratuito, l'altro no, dovresti confrontarlo con SQLCe o Access al massimo, e confrontare Oracle con SQLServer.

 

 

 

   
26. Paperino
mercoledì 28 maggio 2014 alle 7:55 PM - chrome 35.0.1916.114 OS X 10.9.3
   

Uso VMWare Workstation con la partizione di BootCamp.

Per quanto riguarda MySQL: il fatto che sia gratuito non ha nessuna rilevanza rispetto al fatto che ha una architettura Server comparabile con Oracle o MSSql. Infatti sono molti ad usare MySQL in produzione.

Le mie critiche perciò restano tali: un DB transazionale che implementa ACID (come MySQL) dovrebbe rimanere coerente anche in presenza di perdita di alimentazione. Questo deve essere vero durante le operazioni. Se il DB va a prostitute mentre non c'è nessuna attività, la cosa dice molto male. Può darsi semplicemente io ignori la procedura per ripristinare lo stato correttamente ma l'accento lo pongo sul fatto che il DB, quando è inattivo, deve essere già coerente di per sé.

   
27. Paperino
mercoledì 28 maggio 2014 alle 7:56 PM - chrome 35.0.1916.114 OS X 10.9.3
   

P.S. ho disabilitato Power-Nap. La rete wireless ci mette comunque qualcosa come una sessantina di secondi a riprendersi, però vediamo se c'è qualche correlazione con i KP.

   
28. ZaX
mercoledì 28 maggio 2014 alle 11:54 PM - safari 537.76.4 OS X 10.9.3
   

Hai provato a vedere se hai errori ricorrenti in console? A me è capitato una volta di notare una leggera lentezza sul mac, e poi dopo 5 giorni mi sono reso conto che avevo un device usb (chiavetta decoder) che andava in errore e ogni 5 secondi loggava in console...e io bellamente ignoravo il tutto. Io come prima cosa cercherei di indagare sui KP perchè ti assicuro che non sono per nulla normali, per dirti, oltre al portatile ho anche un macmini che uso come server (web,multimedia,tv stream, file sharing) e l'ultima volta ho fatto record di uptime di 178 giorni.

   
29. Paperino
giovedì 29 maggio 2014 alle 7:01 PM - chrome 35.0.1916.114 OS X 10.9.3
   

ZaX, sono completamente a digiuno sulla diagnostica su Mac. Se hai qualche link il tempo ce lo perdo volentieri, anche perche' ogni KP mi brucia via dai 10 minuti alle 4 ore per recuperare MySQL.

   
30. iPadUser
martedì 3 giugno 2014 alle 12:05 AM - safari 9537.53 unknown
   

Ad essere obiettivi, Mac OS X tende ad essere un sistema operativo molto stabile; tanto per dirne una, in studi di registrazione professionali usano software di audio editing/processing su Mac, ed anche in diverse produzioni di film usano Final Cut Pro su Mac.

Detto questo, anche il mio fedele Win7 gira alla grande

Sui linguaggi di programmazione, sono curioso di vedere come andrà Swift. Da quanto ho potuto vedere sull'iBook liberamente scaricabile, sembra davvero ben fatto.

Un grazie all'autore del blog per gli interessanti resoconti, e sinceri complimenti, poiché non è facile lasciare il proprio paese per decidere di lavorare in USA.

   
31. marco
mercoledì 4 giugno 2014 alle 4:10 PM - firefox 29.0 Windows 7
   

mysql non è gratis, per lo meno fino a un paio di anni fa quando mi ero informato direttamente con il loro ufficio commerciale.

a meno di non usarlo privatamente o rilasciando tua applicazione come opensource devi avere licenza commerciale (anche se lo si usa come db di un applicazione server).

che poi come microsoft con i windows pirata non facciano molti controlli preferendo tener alta la sua diffusione sul mercato è un altro discorso

 

   
32. ApuliaCoder
martedì 10 giugno 2014 alle 4:23 PM - chrome 35.0.1916.114 Windows 7
   

Quel codice Java che hai postato fa veramente schifo.

Ma non esiste qualche classe già pronta in Java per muoversi all'interno di un file grosso, con posizioni/offset specificati usando interi a 64-bit? (Che mi sembra più o meno quello che quel metodo seek64() dovrebbe fare, almeno stando al nome...).

Ma più in generale, mi domando come mai un linguaggio come Java sia così diffuso ancora oggi, quando abbiamo a disposizione un linguaggio assai migliore che è appunto C# (sempre rimanendo nel campo "managed").

Potevo capire in passato il discorso multipiattaforma, ed il fatto che C# fosse disponibile solo su Windows. Ma ormai penso ci siano implementazioni di C# anche su Linux, e penso anche che il linguaggio sia comunque associato ad uno standard, e non sia proprietario. Quindi anche da un punto di vista "ideologico", la barriera del linguaggio proprietario viene a cadere.

 

   
33. Paperino
martedì 1 luglio 2014 alle 4:55 AM - chrome 35.0.1916.141 Android 4.4.4
   

Oggi Apple ha rilasciato la 10.9.4 che parrebbe risolvere problemi con lo sleep. Vuoi vedere che non sono io ad essere sfigato?

   
[ Pagina 1 di 2  - più vecchi ]
Lascia un commento:
Commento: (clicca su questo link per gli smiley supportati; regole di ingaggio per i commenti)
(opzionale, per il Gravatar)