Internet, this is Edoardo

cat /var/log/life

Mozilla in Rimini

First post ever of my Mozillians experience as guest speaker, this time for Firefox OS developing experience and tools in Rimini 16th of May 2015.

Like I said this was the first time I have been able to discuss face to face with an interested audience about this topic and I’ve put a lot of effort covering the material and providing an interesting approach to the topic with a presentation (in html5, obviously ;) ).

The host was the Rimini LUG, whose president, Roberto, got in touch with the community after the event in Bologna last year. Roberto is a keen fan of Firefox OS and ditched his smartphone to get a Flame last year (way to go!).

Roberto got everything sorted out from the hotel to the venue and the dinner, a big thanks from Florence, I’ll surely came back if invited :) .

Before the talks we chit chatted with the members of the LUG, many of them wanted to ask questions about the quick guide and the absence of the developer tools from the guide.

Some question were about managing the use of Firefox in enterprise/academic solution and the best resource we coul point those users to was the page on the MDN documentation.

A tought question was “How can I install Firefox OS on my phone?” we couldn’t give an exaoustive answer because we are not familiar with the process of coocking custom rom from source for a generic device but we provided links to the documentation on MDN or XDA.

The talks

Beginning in the early afternoon the event consisted of four talks, three held by Daniele Scasciafratte and one by me. The first three covered the “What is Mozilla”, “The Mozilla manifesto” and “Programming OpenWeb App” topic of the event; the presentation were solid (materials refined in the years) and the audience showed interest and asked question like “In what Mozilla differs from the FSF?”, “What does a Mozillian?”, “Is there a italian community?”, “How can I flash Firefox OS on my phone?”, “Is there Whatsapp for Firefox OS?”.

During Daniele’s talks I was able to provide informations and manage hands-on test of the devices with Firefox OS that we had at the moment. We had a Flame, a Keon, a Fire E and a Flatfish to show-off with various versions of Firefox OS ranging from 1.1 to 3.0 .

Then it was my turn, my first target was to give a quick answer to a question “Do we really need another mobile OS?”.

The answer lies in the question “Who owns the Internet? And who owns the Android project/iOS project?”. Obviously the answer is that no-one owns the internet, instead Android and iOS are commercial project just like the Sailfish OS or Tizen.

The real purpose of the Firefox OS project is to provide a real community driven mobile OS to the one who needs it, the users.

Then the talk shifted to the effort of the italian community, I talked mostly about the Firefox OS quick guide which we have translated, updated and re-published to ease the transition and the overhead required to get started with developmente on Firefox OS (yeah, dog-fooding).

But what is needed to develop an OpenWeb App?

I introduced the standard tools (HTML, JS and CSS) for web dev, their purpose in web programming and their benefits. Multiplatform and multidevices standards, ease of distributions were the ones I mostly talked of.

But in order to develop OpenWeb Apps you need more than just the standard tools, you need to glue together the device and the web and the only (super)glue we could use is the browser.

The browser can expose device functionalities to the web with the use of the WebAPIs, this is a central topic in the Firefox OS development but I could not cover every API so the introduction featured a wide and generic approach, not a deep and technical one, which maybe should suits better an event like an hackathlon.

But you can’t go out there alone, with just those standard tools, take theese, the Firefox Developer Edition browser and the WebIDE, your toolbelt new best tools. A quick introduction about these new tools and we were ready for the last topic, the use of Firefox Developers Tool.

The last topics that I wanted to talk about were the Firefox Developer Tools, mostly the CSS editor and the JS debugger but I managed to provide a brief overview of every standard tool.

There were many questions about development, pricing, logic obfuscation and the differences between building an app with NodeJS and an app with an embedded server and most of the audience was satisfied with the answer we could give.

We are still waiting for some feedback (first time using a feedback module) but everyone complimented us for the talks and no one left with unanswered questions.

The end

After 3 hours and a half of talks and Q&A we could have used some help, maybe a shower, but Roberto already planned to fill our body with a delicious dinner in the countryside with all the associates and families of the Rimini LUG, probably the best idea of the day.

Last but not least I got a membership card of the Rimini LUG as a gift, hooray for me!

Flickr album by Daniele

My crappy pictures

My slides

Password Reuse

Today using the same username and password over and over it’s definitely the quick way to weaken your security online; too bad that it’s nearly impossible to keep track of every password and it’s reuse rate in a standard browser, although this is an addressed problem.

I made a very simple addon, just a proof of concept of what the functionality should be. Enter your user and password combination and it will pop your statistics about that combination reuse.

Here’s the repo if you know how to build addons from source or do you want to contribute, I will post the link to the addon page on as soon as it will be approved by Mozilla.

Android and Adb, a No Permissions Story

Many of us have seen this message printed on the terminal, heads have been scratched, Google interrogated, sudo has been used.

It seems that developing something for the Android platform is something that begins with the problem of communicating with your devices and end in “$?!# MY LIFE! $?!# USB AND ANDROID!”.

My pc struggled communicating with my Nexus 4 in the last month, after transitioning from 32-bit to 64-bit, I couldn’t push or debug anything and it stopped my work with Android (I wanted to switch from ListView to ReciclerView in my apps) but I couldn’t get any work done, Android Studio refused to talk to my device.

Today I found that if I enable mass storage on my phone everything turns out to work pretty nice with my current system configs.

So if you are on a search, desperate and furious because your Android phone is not listening to you take this wild guess and enable mass storage.

EURION Constellation

When the printer consumer market got flooded by an invasion of sharper, faster, cheaper machines a question bubbled in the mind of many: ‘Can I print money with that?’.

To prevent copy and image manipulation of currency is a real nasty problem, counterfeit money is more than ever unrecognisable from real money. Not longer than a month ago I saw and touched six 20 euro banknotes and I could’t feel the difference from real money, the only deficency was the missing stripe in the middle of that piece of paper.

That’s why we have to introduce new designs and form factors in the newer batches, because the bad guys are catching up with the technology and the supply chain. Keeping things movin’ is a way to zeros their knowledge and know how.

But how can you prevent software manipulation of images containg currency? It appears that this problem has already been addressed.

I present you the EURion constellation, a pattern you can find on your banknotes that can be recognised by machines like your scanner.

When this pattern is found in the image the scanner could also refuse to scan your document, making it a good choice to use it as a watermark to prevent copy and distribution of confidential material.

Image courtesy of Florian Heise, Licensed under Public Domain via Wikimedia Commons.

This image shows that under blue/black light the pattern glow making it visible.

Other techniques similar to the previous includes the printer steganography, a way to include informations into a piece of paper at printing time.

Edit 03-04-2015: I found an article about the topic of photoshopping money, it’s on

Recording With Kazam on Gnome Shell

I always wanted to try and record a screencast but I always ended up arguing with the tools because I couldn’t get it worked.

Today I found the solution to my problem: Kazam’s icon would disappear when recording therefore I couldn’t stop or pause anything.

It turns out that Gnome Shell hide icons from the tray without asking so the quick solution is to install this extension that prevent this behavior.

Now the camera icon indicating that Kazam is recording won’t disappear.