Every time I attend a tech conference I usually meet interesting people and found new awesome technologies. It’s great. This year I attended 4 conference in a row (36 talks in 10 days) and I started a new job a few days earlier. During May 2016 I discover dozens of new technologies and I’d like to do my part and “give back to the community” talking about them in a series of posts.

Here is what I discovered attending JSDay 2016 in Verona.

jsday-logo

Progressive Web Apps

Progressive Web Apps “take advantage of new technologies to bring the best of mobile sites and native applications to users. They’re reliable, fast, and engaging.” Google says. They are web apps with a great offline experience. Here is a great list of examples.

Service Workers and Web Workers are modern way to run background services in browser using Javascript. Web Workers has better support, Service Workers has better features.

Physical Web is about the ability of the browser to interact with beacons and other external devices without require a native app. Web Bluetooth API gives browsers again more flexibility (the speaker drove a robot using Javascript in browser)

UpUp helps you to make your progressive app to be “Offline First“. The idea is to makes sure your users can always access your site’s content, even when they’re on a plane, in an elevator, or 20,000 leagues under the sea

general-theory-of-reactivity

Reactive Programming

Reactive Programming Paradigm is trendy by now. Cycle.js and ReactiveX takes Observer and Iterators on functional programming. Speakers talks a lot about them.

Traditional frameworks are going reactive thanks to extensions like Ngrx

Model View Intent is going (probably) to replace previous MVC, MVP, MVVM, …

While JSX gains traction thanks to React.js, other solutions, like Hyperscript, are springing up.

mvc-mvi

Javascript for cross platform apps

Electron, NW.js and many other platforms make possibile to use javascript to build cross platform apps like SlackAtom and Visual Studio Code.

Async Javascript

Asyncronous programming is hard. Javascript never make easier to do it but now things are getting better and better thanks to many new libraries. Fluorine can simply be though of as an abstraction or a DSL and is a structure of code in which you can manage complex asynchronous code with ease. Co do almost the same thing on Node.js.

Task.js takes concept of Generators and Promises to another level defining the concept of Task.

ES7 will close the circle using async and await with the pleasure of native implementation.

async-await

chrome-canary-512Debugging in Chrome Canary

The Bleeding edge version of Chrome, Canary, offers you several beautiful beta features like an integrated layout editor able to edit SASS and works with Rails, a powerful animation inspection and enable you to emulate network connectivity and speed.

Most of these feature are available inside Chrome Workspaces.

Also Node.js stuff could be debugged using Chrome engine thank to Iron-node. If you prefer Firefox engine, Webkit, look at Node-inspector.

Misc

I also discover Modernizr and his stunning new website, Can I Use tells you how much is a technologies available on browser, ZeroClipboard and Clipboard.js makes copy and paste easier, Hapi.js is an interesting framework and Highland a powerful stream library for Node.js. I also discovered that I can use WebGL for data processing in browser.

In the end a lot of new discoveries at JSDay 2016 😉

phpday_logoI used to refer to me as “PHP Developer” for a long time. More or less from the beginning of my career to 2011 when I moved to Ruby as main language. Last time I worked for real using PHP, tools were still uncomfortable and community was huge but still messy. 4 years later everything seems changed. Several important companies (including Facebook) leverage on it and both core language and most popular tools are improved a lot.

Things like HHVM, HackFIG, Composer, PHP7 many more are rapidly evolving the PHP landscape so I decided to attend the PHPDay 2015 to meet the Italian community refresh my knowledge.

It was a really interesting event. I had the opportunity to meet several awesome people and chat with them about almost everything (quite often chats happened on the grass of the beautiful location in Verona 🙂 )

phpday_attendees

Davey Shafik (@dshafik), a funny guy from Engine Yard, talks about PHP7 and HHVM as major improvements for the core of PHP. Enrico Zimuel (@ezimuel), core developer of Zend Framework, talks about ZF3. Steve Maraspin (@maraspin) talks about his experience with async PHP and parallel processing. Bernhard Schussek (@webmozart), core developer of Symfony, talks about Puli: a framework agnostic tool fro resource sharing.

I strongly believe PHP is changed. It included many “good parts” from other languages and is now ready to became, with the Facebook endorsement, a first class language.

See you next year at PHPDay 2016 😀

c2_logoA few weeks ago I had the privilege to attend C2 Spark conference in Milan. It is a “business conference somewhere between genius and insanity by Sid Lee, Cirque du Soleil, Fast Company and Microsoft” and try to mix Commerce and Creativity. It started in Montreal a few years ago and this was the first time in Europe (Zurich and Milan).

Talks were awesome and people were awesome too. Is quite strange for me meet non tech people and I really enjoy the day. I learned a lot of things attending the conference. Here the most fascinating ones.

Technology will change everything, again.

David Rose, scientist at MIT Media Lab and author of “Enchanted Objects” talks about the way we imagined the future. Internet of Things will be a huge opportunity and a lot of products are already here. Here is the “periodic table” of the Enchanted Objects who David shown us.

enchanted_objects_poster

Microsoft has enough money to reboot its business

Ten year ago Microsoft make a lot of billions on Windows and Office. Now Windows and Office worth nothing and Microsoft is trying to reboot its business with cloud (Windows Azure), mobile (Nokia and Surface) and wearable (Microsoft Band). Carlo Purassanta, CEO of Microsoft Italia, was clear: Microsoft is changing. He first ran for the conference wearing a Microsoft Band.

carlo_purassanta

Non tech people are awesome

I never had great respect for the non-technical people. “I can change the world, they can’t“, a lot of modesty and respect. I grow up inside a really close environment made by nerds and geeks and I always thought non-technical people have nothing to give me. I was wrong. I was absolutely wrong. At the event people came from different fields: diplomacy, medicine, sales, biology, advertising, marketing, law and more. Each of them has enriched me in some way. Non tech people are awesome 🙂

non-tech-people

Creativity could be an analytical process

Sid Lee, creativity firm behind C2 Spark describes the process behind its most successful advertising campaigns. A lot of myths about creativity are just myths and, with the right process, anyone could express his creativity.

creativity_process

Jump on table to move them is definitely cool

Time between talks and workshops where staff move tables is usually boring. At C2 Spark tables were moved by a parkour crew jumping and dancing around the room. It was absolutely useless by definitely cool! 😀

c2_parkour-2 c2_parkour-4 c2_parkour-1 c2_parkour-3

[UPDATE 2014-12-27 21:10 CET]

Seems a lot of people at Microsoft liked my article 🙂 Carlo Purassanta (CEO at Microsoft Italy), Carlo Rinaldi (Digital Marketing Group Leader at Microsoft Italia) and Chiara Mizzi (CMO at Microsoft Italia) shared it:

I few days ago I have been at Codemotion in Milan and I had the opportunity to discover some insights about technologies used by two of our main competitor in Italy: BlogMeter and Datalytics. It’s quite interesting because, also if technical challenges are almost the same, each company use a differente approach with a different stack.

datalytics_logo

Datalytics a is relatively new company founded 4 months ago. They had a desk at Codemotion to show theirs products and recruit new people. I chatted with Marco Caruso, the CTO (who probably didn’t know who I am, sorry Marco, I just wanted to avoid hostility 😉 ), about technologies they use and developer profile they were looking for. Requires skills was:

Their tech team is composed by 4 developers (including the CTO) and main products are: Datalytics Monitoring™ (a sort of statistical dashboard that shows buzz stats in real time) and Datalytics Engage™ (a real time analytics dashboard for live events). I have no technical insights about how they systems works but I can guess some details inferring them from the buzz words they use.

Supported sources are Twitter, Facebook (only public data), Instagram, Youtube, Vine (logos are on their website) and probably Pinterest.

They use DataSift as data source in addition to standard APIs. I suppose their processing pipeline uses Storm to manage streaming input, maybe with an importing layer before. Data is crunched using Hadoop and Java and results are stored on MongoDB (Massimo Brignoli, Italian MongoDB evangelist, advertise their company during his presentation so I suppose they largely use it).

Node.js should be used for frontend. Is fast enough for near real time application (also using websockets) and play really well both with Angular.js and MongoDB (the MEAN stack). D3.js is obviously the only choice for complex dynamic charts.

I’m not so happy when I discover a new competitor in our market segment. Competition gets harder and this is not fun. Anyway guys at Datalytics seems smart (and nice) and compete with them would be a pleasure and will push me to do my best.

Now I’m curios to know if Datalytics is monitoring buzz on the web around its company name. I’m going to tweet about this article using #Datalytics hashtag. If you find this article please tweet me “Yes, we found it bwahaha” 😛

[UPDATE 2014-12-27 21:18 CET]

@DatalyticsIT favorite my tweet on December 1st. This probably means they found my article but the didn’t read it! 😀

A  couple of weeks ago I was playing with Hack looking for online resources. I found on Youtube the playlist of the Hack Dev Day 2014 where Hack was officially presented to the world.

Introduction to the language by Julien Verlaguet is really interesting, it show the advantages of static typing and how the HHVM is able to preserve the rapid development cycle of PHP.

Also talk by Josh Watzman is interesting. He talks about how to convert PHP code to Hack code and years of experience at Facebook are extremely useful.

The conference also talks about how to run HHVM on Heroku, gives an overview of library and common use cases of Hack and talks about HHVM strong optimization.

If you are playing with Hack I absolutely recommend these videos.