Are you using an opensource library? There’s a good chance you are vulnerable…

This is the talk I presented yesterday at Codemotion Rome 2018! Awesome conference and people, cannot wait for the next one!

You can find a detailed technical explanation in my previous blog post, and you can also have access to the code on GitHub to reproduce the exploit yourself.

Do not underestimate your problem, and put the correct procedure in place: you do not want to be the next Equifax.

 

How to make Google Search irrelevant

This is a concept I thought about an year ago, and it never went past the inception phase. I still think it’s a good one and for that reason I want to share it so that it won’t get lost in time 🙂

Vision: “Replace Google search”

The final vision for this project is to replace Google search. At the moment there’s no way to create a better ranking algorithm than the one used by Google, so the only way to beat Google search is to make it irrelevant, like Netflix did to Blockbuster or like digital music did to CDs.

The aim of this project is to collect all the human knowledge in a single and shared database, with all the user contributing to it as at the same time they will contribute to augment their personal knowledge.

Why this will work

As a person I am always frustrated about the time I spend to find something on the internet, or even worse, when I am offline. Searching the internet might be fast, but even when the experience is okay, I have the tendency to forget things, and I repeat search I did in the past sometimes very frequently. What I would like to do is to maintain this knowledge somewhere, in a place where it’s always accessible and extremely easy to find. At the moment there’s no such tool around: Evernote or Pocket, two tools often cited regarding this idea, have a very less bold metaphor, it does not focus around social interaction, and has no ranking of his contents as it’s focused on a single person.

Strategy (overview)

The implementation strategy will happen in three phases:

Phase one:
Launch of an application suite to collect a person knowledge

    • always available, on every device, must work offline
    • a simple and clear metaphor to manage knowledge
    • a set of super simple mechanisms to import knowledge from existing sources (i.e. Quora, Wikipedia, IMDB, Stackoverflow, emails…)

Phase two
Introduce social capabilities

    • a social mechanism to share or include knowledge of other people
    • a ranking algorithm to qualify better content from better users

Phase three
Launch of a worldwide site to explore knowledge of mankind, replacing effectively all existing focused and unfocused sources

    • all existing human knowledge will be available, already catalogued and sorted by human beings, voluntarily
    • the ranking algorithm will allow the relevant and better contents to emerge spontaneously and naturally

Strategy (detailed)

A more detailed explanation of the three-phases strategy follows.

Phase one: application suite

An application that must be always available regardless of the fact that I am using a mobile phone or a desktop computer, or even a Kindle. I should be able to install an application / plugin that will allow me to push data into my knowledge base without hassle: a set of specific browser plugins are highly recommended. Also, it must work offline: my entire database (or the most relevant part of it at least) shall be always accessible, and I will be able to push new data in the database at any time, as it will be synced automatically as long as I am online again.

A simple and clear metaphor to manage knowledge has to be found, it has to support both the adding and the retrieval of information to/from the database. At the moment the most promising model is based on a graph of information, with tags associated to it, and maybe different clusters, but it will be very important to find an extremely simple,effective and attractive mechanism for the end user to store and retrieve his knowledge (if we had telepathy we should use that). The metaphor must support some form of classification of contents, such as pre-defined tagging, clerical, prototyping.

Because we are consolidating knowledge we need to provide, and specifically on the internet, a set of super simple tools to import knowledge from existing sources like Quora, Wikipedia, IMDB, Stackoverflow, and even personal emails. Ideally we should think about two different mechanics to collect an information: you can copy it, so that it’s merged into your database and you can change as much as you want, or link it. so that you can still see the whole information (as it’s constantly sync-ed from the remote side) but it’s in readonly mode. An advance merge mode can be thought for copied contents, as soon as it’s extremely simple.

Phase two: social capabilities

A strong social element must be added to the platform from the very start. The basic mechanism would allow me to declare some content “public” or “friendly” (to a set of friends or a circle), so that other people can pull my content in their database (also here, copy+merge or link). An integration with either Facebook or Google+ is mandatory, more integrations are highly advisable.

An important step that enables the transition to the phase 3 of the project is a very good ranking algorithm, so that we can qualify the better content and the better users, ideally the “experts in the fields”: for that reason the metaphor, as explained before, must enable the classification of the contents. Such ranking algorithm should be related to relevance and in general to the reputation of the users, the same way Quora or Stackoverflow for example rank their user and automatically decide which contents should be in principle more relevant to a question: how many user linked such content? or copied it? Or liked it? Explicit rating should also be allowed, but in general the more automation the better. Some sort of gaming ranking is of course necessary.

Phase three: the worldwide site

The final aim of this project is to create a “socialpedia” or a “knowledgepedia”, so a form of global knowledge encyclopedia managed by all the users. The main difference between the most obvious antagonist, Wikipedia, is the way contents will emerge: we will not be collecting and classifying information, the users will do it, as they want to organize their knowledge. In the process of doing that, they will do organize a global knowledge that can then be used to the purpose of rendering any other search useless or redundant. The ranking algorithm will guarantee us the the best content will surface in such database, and it will be invaluable because of the fact that actual human beings, not machines or algorithms, will classify it.

At that time, you will hold the world knowledge. Like Google now, but better

🙂

My teams are awesome!

I just want to drop a few lines to say that my teams are awesome! I am so proud to be here in Workshare and manage these people! No, we are not super-brilliant-smart or whatever, we definitely not googlers and we have a long road to improve, but we will get there, eventually 🙂 So far we are doing just right!

And yeah, you have to realize that if your team suck then, well, you probably suck as well. Of course I failed to realize this myself first in my early days as a manager.

Git Enterprise is now in private beta!

Git enterprise web site

Git Enterprise private beta is now open! You can request a beta key sending an email at beta2@gitenterprise.com

Git is a fast distributed version control system that can efficently handle small and large projects. It simplifies distributed development and protect investments with its application compatibility features (SVN, CVS). Git Enterprise leverages on Git technical strengths adding advanced enterprise management features. Click here for a full overview of Git Enterprise features!

We are all very excited about this… we can’t wait to get some feedback from you guys, hope we’ll see you soon!

Pidgin & OpenFire

Openfire (aka WildFire) a very well known jabber server won’t work with Pidgin, a famous IM client, because of a lack of support by Java in RFC 2831implementation, as you can also read here, here and here.

Before giving up digging inside Openfire awkward documentation and obscure groups suggestions just pick up you openfire.xml file in /opt/openfire/conf and add, just before closing </jive> elements, these few sentences:

<sasl>
<mechs>PLAIN</mechs>
</sasl>

They’ll do the job.

Cruelty, not art

An “artist” from Costa Rica, named Guillermo Habacuc Vargas, put a starved dog as a work of art, the poor dog died there, he did not want anyone give him food or water. This “man” asked some children to chase the dog and he paid them for their dirty work to give him the dog.

See details here (in italian), I hope you’ll also sign the online petition