lunedì 10 novembre 2014

Brainf*ck, getters e setters al prossimo incontro

Ezio Sperduto ci parlerà e ci insegnerà del linguaggio di programmazione esoterico Brainf*ck. Ma non sarà solo teoria! Potrete mettere alla prova subito quello che ascolterete. Portatevi con voi il vostro portatile!!
Dopo, cisarà un dibattito sui getter e setter.

Iscrivetevi qui:
http://jugevents.org/jugevents/event/54993


Ezio Sperduto è co-founder of Infosons, PhD on Operations Research, tutor at Università UNINETTUNO

Brainf_ck
Brainf*ck è un linguaggio di programmazione esoterico per computer, creato da Urban Müller intorno al 1993.
L’obiettivo di Müller era di creare un semplice linguaggio di programmazione completo per una macchina di Turing che potesse essere implementato con il compilatore più piccolo possibile. Il linguaggio consiste di otto istruzioni. La versione 2 del compilatore originale, scritta per l’Amiga, occupa soltanto 240 byte. È stato ispirato dal linguaggio FALSE, un altro linguaggio di programmazione esoterico, il cui compilatore occupava 1024 byte.
Come il nome suggerisce, i programmi scritti in Brainf*ck tendono ad essere difficili da comprendere. Tuttavia Brainf*ck è un linguaggio Turing-completo, e si può utilizzare per implementare qualunque algoritmo eseguibile con una macchina di Turing. Trascurando l’enorme difficoltà nella programmazione di certi algoritmi con Brainfuck, è certamente possibile scrivere il relativo codice.
Il linguaggio è basato su un modello molto semplice consistente in un array di byte inizializzato a zero, un puntatore all’array (inizializzato per puntare al primo byte dell’array) e due stream di byte per l’input e l’output.

Getter e setter
I metodi di accesso sono stati criticati da molto tempo per il fatto di non aumentare assolutamente l’astrazione dei dati, ma di aumentare inutilmente la quantità di codice all’interno di una classe.

domenica 26 ottobre 2014

Iced tea, la macchina virtuale Java libera


Si parla di IcedTea, della macchina virtuale Java completamente libera e degli altri strumenti. Vengono spiegate le differenze tra l’approccio con interprete, compilatore e macchina virtuale. Si racconta di quali macchine virtuali ci sono per quali linguaggi. Vengono descritte le peculiarità di IcedTea e si prendono in esame le differenze tra HotSpot Zero Assembly con la macchina virtuale di Oracle, HotSpot. Si parla di quali linguaggi possano essere compilati per macchina virtuale Java. 


venerdì 24 ottobre 2014

Video su Domain Driven Design di Massimo Nardelli e Valerio Del Bello

Introduzione a Domain Driven Design – come costruire software robusto dal dominio complesso attraverso la comprensione approfondita della necessità di business. Una panoramica dei suoi princìpi fondamentali e dei pattern che propone in relazione ai problemi che risolve.

martedì 7 ottobre 2014

Domain Driven Design e Psicologia del Lavoro al JUG Roma

Il prossimo incontro del JUG Roma sarà mercoledì 22 da Infosons in via Vacuna 107/109 zona Tiburtina.
Fabio Romanelli parlerà di Psicologia del Lavoro.
Massimo Nardelli parlerà di Domain Driven Design.

Per info e per prenotarsi: http://www.jugevents.org/jugevents/event/54831

mercoledì 17 settembre 2014

Video: "Rimettiamo in dubbio lo stato corrente delle cose"

Una esposizione dello stato corrente dello sviluppo in contesti aziendali con il linguaggio Java, una valutazione delle alternative disponibili alle soluzioni enterprise convenzionali, degli strumenti e dei linguaggi per la Java Virtual Machine, ed oltre.

lunedì 8 settembre 2014

Meetup del JUG Roma: Questioning the status quo

Il nel prossimo incontro di martedì 16 Ivano Pagano ci parlerà di: "Questioning the Status Quo
(through the looking glass) of Java, OOP and beyond"

L'abstract è:
A talk about the current state of java enterprise development, evaluation of the available alternatives to conventional enterprise solutions, tools and languages for the JVM, and possibly beyond.

Per info e registrarsi:
http://www.jugevents.org/jugevents/event/54615

mercoledì 16 aprile 2014

Pink hackathon

Programmatrici, UX designer, grafiche e studentesse... è in arrivo un hackathon tutto per voi! Mettetevi in gioco nella programmazione di app e imparate a usare al meglio le vostre conoscenze! E se siete al primo tentativo, non temete: ci saranno dei mentor ad aiutarvi! Microsoft e Codemotion vi aspettano Mercoledì 23 Aprile nella biblioteca della Facoltà di Ingegneria della Sapienza a via Eudossiana, 18! Informazioni dettagliate su: http://nuvolarosa.imginternet.it/pinkhackathon.html#.U05Ka_l_uSo

domenica 13 aprile 2014

Il JUG Roma al Codemotion Roma 2014

Quest'anno abbiamo partecipato al Codemotion Roma. Venerdì sera Diego Maurizio Lagos ha parlato di "Tools and tips per testers e non"



Alla fine dell'intevento di Diego è intervenuto Richard Warbutron


Sabato mattina Ugo Landini ha parlato di Fabric 8


E poi Vitalij Zadneprovskij ha fatto una presentazione del JUG


Infine ci siamo presi una buona birra


Trovate tutte le nostre foto del Codemotion Roma 2014 qui.
Seguiteci anche su Twitter!

martedì 8 aprile 2014

Opening del Codemotion giovedì

Non mancate all’Opening di Codemotion giovedì 10 aprile! Potrai incontrare gli speaker del Codemotion e gli ospiti internazionali

L'Opening sarà al Tempio di Adriano alle 18.30, l’ingresso è gratuito ma è necessaria la prenotazione: http://www.eventbrite.it/e/biglietti-codemotion-rome-2014-opening-party-10th-april-2014-11053566515?aff=eorg

L’Opening sarà un’anteprima del Codemotion Roma, un assaggio delle due giornate di conferenza con più di 100 talk distribuiti fra venerdì 11 aprile e sabato 12 aprile, 8 labs e tante aree dedicate, fra cui: area maker, area startup, area sponsor e l’area Kids con laboratori gratuiti per insegnare la programmazione ai bambini.

Ecco il programma dell’Opening

18:30 – Chiara Russo e Mara Marzocchi: One year of Codemotion and our Team
18:35 – Stefano Venditti: Annuncio e presentazione della Maker Faire
18:40 – Alessandro Ranellucci: Makers’ world
18:45 – Gosia Sosnowska: Codemotion’s conference preview
18:50 – Sascha Wolter: Contextual Interaction
18:55 – Alain Regnier: Google Glass : Welcome to the world of Smart Glasses
19:00 – Viviana Cristini: Codemotion Kids e Massimo Avvisati: “My experience in Codemotion Kids
19:05 – Brenda Jin: Humans, computers…..in that order
19:10 – Anna Masera e Alessio Biancalana
19:15 – Mario Klingemann: The joy of finding
19:20 – Richard Warburton: A brief story about programming languages
19:25 – Jacopo Romei: Eat your own dog's food and keep yourself healthy!
19:30 – Nino Guarnacci: From Internet of People to Internet of Things

martedì 18 marzo 2014

Java 8 è tra noi!

L'atteso nuovo rilascio del linguaggio e della piattaforma Java è disponibile in General Availability sul sito di Oracle:
http://www.oracle.com/technetwork/java/javase/downloads/index.html

Il supporto NetBeans è gia pronto, quello di Eclipse ed IntelliJ è in beta.

Sembra che molte delle nuove funzionalità siano dedicate alla programmazione parallela e distribuita.

La speranza è che se ne parli molto di queste nuove caratteristiche, al Codemotion come agli incontri dei Java User Groups sparsi per la penisola.

Sarebbe una buona cosa se ci fosse sforzo collettivo per capire le nuove possibilità che si aprono agli sviluppatori.

Parecchie cose diventeranno tremendamente più facili. Ma si dovrà anche imparare a ragionare e sviluppare con un linguaggio che ha delle caratteristiche molto diverse da ciò a cui siamo abituati.

domenica 16 marzo 2014

L'angolo del libro: The Art of Readable Code di Francesco Scialpi

Titolo: The Art of Readable Code
Autore: Dustin Boswell, Trevor Foucher
Editore: O' Reilly
URL: http://shop.oreilly.com/product/9780596802301.do

Il libro parte dalla seguente premessa:

Code should be written to minimize the time it would take for someone else to understand it.
Dove, come sempre, quel "someone else" possiamo essere noi stessi tra un anno.
L'obiettivo del libro è quello di aiutarci a scrivere del codice leggibile, nella accezione fornita.
E' quindi un testo rivolto a chi scrive codice, oserei dire a chiunque scriva codice.
Un Junior può imparare molto da questo libro.
Un Senior senza presunzione potrà essere in disaccordo con alcuni dei principi esposti, ma complessivamente troverà qualcosa da imparare anche lui.

Il libroè scritto in inglese (spero che, al giorno d'oggi, questo non spaventi nessuno).
E' scritto in maniera molto scorrevole, con paragrafi brevi e focalizzati, e un riassunto alla fine di ogni capitolo. Questo consente di leggerlo anche dedicandovi pochi minuti al giorno; ad esempio, può essere una lettura adatta al tragitto quotidiano in metropolitana.
E' pieno zeppo di codice, scritto in vari linguaggi, ma sempre comprensibile anche ai non esperti del linguaggio specifico.
La presenza di alcune vignette umoristiche potrebbe farvi pensare a un libro della serie "for Dummies", ma non lasciatevi ingannare; questo libro è un'altra cosa.

Non si tratta di un testo fondamentale, come potrebbero essere un buon libro sui pattern o Effective Java; tuttavia, come detto poc'anzi, si legge in breve tempo e con poco sforzo, e può essere una valida lettura di complemento.

Complessivamente, valutazione positiva, diciamo 7/10.

mercoledì 12 marzo 2014

Complessità e ordinamento di Ezio Sperduto

Nell'ultimo incontro, Ezio Sperduto ci ha parlato degli algoritmi di ordinamento e di come sia possibile confrontarli mediante l'analisi della complessità asintotica.
Ecco le slides del suo intervento:
Ecco alcune foto dell'incontro:







martedì 25 febbraio 2014

JUG Roma al Codemotion Tech Meetup

 Mara ha organizzato dei talk del JUG Roma per il Tech Meetup per Martedì 4 marzo 2014 dalle 18.30 alle 20.30.
Chi vuole partecipare è necessario che si prenoti qui:

La descrizione è questa:
Vieni al tech meetup di Codemotion in collaborazione con le community!

Al meetup ci saranno 2 talk a cui assistere, uno spazio di open mic, buona birra e networking con appassionati di tecnologia come te. Liberatevi dalle cravatte quando arrivate! :-)



Programma:

ore 18.30

Smart Glasses, Augmented Reality, Virtual Reality e altre wereable technologies By Fab Lab Roma

Una panoramica sullo stato dell'arte delle wereable technologies e sui dispositivi già disponibili per gli sviluppatori e per i consumatori finali, illustrazione dei relativi SDK ed esempi di applicazioni. Durante l'evento sarà possibile provare alcuni dispositivi di realtà aumentata e realtà virtuale.


ore 19.00 
ClusterizeMe - alltogether with Apache Zookeeper By JUG Roma

Si stanno diffondendo sistemi di distribuzione del carico che gestiscono migliaia di nodi mostriamo come alcune applicazioni si avvalgono di questo sistema internamente e come è possibile estendere questa infrastruttura usando Apache Mesos e Aurora.


ore 19.30 Open Mic


ore 19.40 birra & networking



Dove? Stazione Termini, presso l'open space di Luiss Enlabs. Via Giolitti, 34 - Roma.

L'ingresso è gratuito ma è (assolutamente) necessario prenotare il proprio posto.

Prossimo incontro: 11 Marzo

Il prossimo incontro sarà ai LUISS Enlabs sopra la Stazione Termini in via Giovanni Giolitti 34 - 00185, Rome.
La scaletta sarà:
  • Algoritmica di Ezio Sperduto,
  • Live Demo di BadBoy di Diego Lagos
Iscrivetevi qui:

venerdì 14 febbraio 2014

Java Server Faces e Thoughtworks

Thoughtworks pubblica mensilmente una specie di radar delle tecnologie, in cui descrive quali sono le tecnologie da tenre sott'occhio e quali sono le tecnologie che stanno diventando ormai obsolete.
Nel technology radar di Gennaio 2014, Thoughtworks scrive:
We continue to see teams run into trouble using JSF-- JavaServer Faces -- and are recommending you avoid this technology.
Teams seem to choose JSF because it is a J2EE standard without really evaluating whether the programming model suits them.
We think JSF is flawed because it tries to abstract away HTML, CSS and HTTP, exactly the reverse of what modern web frameworks do.
JSF , like ASP.NET webforms, attempts to create statefulness on top of the stateless protocol HTTP and ends up causing a whole host of problems involving shared server-side state.
We are aware of the improvements in JSF 2.0, but think the model is fundamentally broken.
We recommend teams use simple frameworks and embrace andunderstand web technologies including HTTP, HTML and CSS.
A questa critica, è arrivata una risposta dal blog ufficiale di PrimeFaces. PrimeFaces è una delle più recenti implementazioni dello standard Java Server Pages. La risposta si concentra sul fatto che Java Server Faces ha avuto diversi miglioramenti che ne hanno aumentato le prestazioni:
Regarding state, JSF is a stateful framework by nature and state makes web applications easy to develop with. With improved state management techniques introduced in JSF 2.0+ (e.g. stateless mode, partial state saving), JSF can scale as well.
E' nata una diatriba interna al JUG ed il commento di Fabio Mitrano è stato:
la diatriba è sul modo in cui JSF memorizza lo stato dei componenti. Lo stato di essi come di qualsiasi sessione web generica puo' essere mantenuta interamente lato client (quindi stateless lato server), lato server (stateful) o in modo misto.

Voi criticate JSF per una sua gestione della sessione e dello stato dei componenti prettamente lato server che incide sulle prestazioni e sulla scalabilità di esso.
Fatto sta non vedo ancora perchè certi framework MVC a componenti che permettano di astrarre dalle tecnologie  client e server specifiche siano del tutto da buttare. E' sufficiente che specifiche e implementazioni MVC future tengano conto di tale necessità sullo stateless delle applicazioni web. Il livello di astrazione superiore rimane sempre un vantaggio.
Il commento di Ugo Landini è stato:
Quello che può sulla carta fare JSF ora, in risposta alle critiche del passato, è irrilevante. Le comunità fanno altro, è una tecnologia che è stata selezionata darwinianamente per l'estinzione (in buona compagnia con molte altre, per carità: Portlet, JavaFX, ecc)
Come spesso succede in informatica, si è arrivati ad essere tutti d'accordo sul fatto che "dipende". L'intervento di Francesco Ioli che ha trovato consenso è stato:
Per cosa tifo allora? Per il concetto: the right tool for the right job!
Dove il "tool" è quello "right" non solo in relazione al  particolare "job" in questione, ma anche per le situazioni al contorno in cui ci si trova...
Ossia: in teoria magari sarebbe piu' adatta ed e' migliore una data tecnolgia, ma in pratica invece mi conviene usarne un altra..
E JSF potrebbe in alcuni casi essere "the right tool".
Per chi è giàregistrato alla mailing list, ecco i link alla discussione:
https://groups.yahoo.com/neo/groups/jug-roma/conversations/topics/13396
https://groups.yahoo.com/neo/groups/jug-roma/conversations/topics/13598

sabato 8 febbraio 2014

Video del primo incontro del 2014

L'intervento di Simone Scardapane su Machine Learning e Weka


Apprendimento automatico e Weka di Simone... di vitalij_zad

L'intervento di Vitalij Zadneprovskij con commenti di Simone Federici su Continuous Integration e Jenkins


Continuous integration e Jenkins - Vitalij... di vitalij_zad

mercoledì 29 gennaio 2014

Primo incontro JUG Roma 2014

Le tematiche che verranno afforntate sono:
  • Apprendimento automatico e Weka, relatore Simone Scardapane
  • Continous integration e Jenkins, relatore Vitalij Zadneprovskij
Ci sarà l’angolo dei libri, in cui ognuno potrà consigliare alcuni libri e sconsigliarne altri.
Si parlerà un po' dell’eventuale gara di programmazione che si vuole organizzare.

Per informazioni ed iscrizione:
http://www.jugevents.org/jugevents/event/53119

Call for papers per il Codemotion Roma

Il call for papers del Codemotion Roma è qui:

Avete tempo fino al 9 febbraio!