Just read on Bruno’s blog TEN golden rules/principles that I couldn’t really agree more! From his visit to Google Zürich’s headquarters he managed to collect “TEN principles of Google Engineering/Software Development”:
Single-source code repository for all Google code (G has a rather big repository, and all engineers have access to the source code)
Developers can checkin fixes for any Google product (an “open-source” approach)
You can build any Google product in three steps (get, configure, make)
Uniform coding standards (how should code “look”) across the company
Mandatory code reviews before checkin (if a developer fixes a bug in Gmail, the fix needs to be approved by the Gmail team)
Pervasive unit testing (a “unit” is the smallest testable part of a program; unit testing validates that it works properly)
Test run continuously, emails get sent (automatically) to developers if any failure is spotted
Powerful tools that are shared companywide
Rapid project-cycles, developers change projects often, and can devote 20% of their time to pursuing whatever idea/project they want (if it gets somewhere, Google will then throw some more engineers at it and turn it into a product or a feature)
Well, SHiFT isn’t happening this year… and yeah, believe me no one’s more sad about it than myself, well may two other crazy guys! But we couldn’t stand still so we’re helping SAPO in an astonishing event:
and trust me, we’re all aiming high, as high as we’re allowed to get all the Portuguese developers an amazing event, party and mash-ups contest!
The event is obviously inspired in the Yahoo Hackday which totally contagious us back in May in London when some of us managed to attend it. Since not all Portuguese can afford traveling as far, SAPO decided to recreate it!
We’re trying to include everyone that wishes to go, but since the seats are limited, I urge everyone who praises for his/her geekiness without shame to register at:
As promissed I’ve been writing down a lot of notes (on paper) from the conference itself, which I’ll put online later! For now, you could check some of my non-edited notes from the presentations I’ve attend so far:
If all goes as planned, from Monday to Thursday I’ll be at the RailsConf Europe in Berlin.
For people wondering what I’m talking about:
Ruby On Rails is a programming framework for building database-driven websites which is becoming increasingly popular among programmers, mainly because its easy and yields results quickly, requires minimal configuration and project start-up overhead. Rails is written in Ruby, an object-oriented scripting language with roots in Perl, Lisp, and Smalltalk (2 of my personal favorites out of 3!).
So if you’re around Berlin during these days, please send me a mail and will meet up!
For all the friends and Rubists who couldn’t make it to Berlin, I’ll going to cover it here on the blog, (in Portuguese primarily) as much as I can!
Took them some time, but the first images of the online social network for Sony’s Playstation 3 kind of seem in the right direction. You can see the video on directly on YouTube, or watch it here:
Being a fan of the so called Semantic Web and knowing the long way we still have to track to reach it, all the things that takes us a bit closer to it has me on board. So it has been with Microformats, I had played a bit with Structured Blogging before but rapidly moved to what was ended up being known by Microformats for their multipurpose and not just for blogging.
A brief introduction for non-geek persons about Microformats and why they’ll became ever so important: The web is full of information, trapped information, hidden relations, hidden contents, consider for instance a simple news article, a review in a product page, that information is trapped under the rumble of it’s page HTML. Not nice, isn’t it? Through the separation of layout/content we already improved, since we can read each one of those examples hiding the details of the document structure focusing on the information thats important!
Being intelligent beings as we tend to consider ourselves, we have the ability to spot which parts of the information are relevant, if I look at a contact page, I immediately search for something that looks like an address, phone or email contact. It’s something we’re used to. Well the problem raises that when it matters with information we really can’t depend on humans!
To a program reading a regular webpage, all that rumble and layout information, etc. is just the same! That’s were Microformats became essential! They allow us to seemingly “format” that information, so that humans and machines alike are able to extract the REALLY important parts! Microformats are much more than that, but for today’s introduction that the key idea to retain.
After some of the big companies embraced them a few months ago, Microformats seemed to be on the right track for massive adoption, and yesterday the all mighty W3C (World Wide Web Consortium) seems to have given a step the consolidation of Microformats by providing a set of use cases (GRDDL) that provide real-world scenarios and examples of Microformat in use, as they quote it:
(…) GRDDL is the bridge for turning data expressed in an XML format (such as XHTML) into Semantic Web data. With GRDDL, authors transform the data they wish to share into a format that can be used and transformed again for more rigorous applications.
(…)
Once data is part of the Semantic Web, it can be merged with other data (for example, from a relational database, similarly exposed to the Semantic Web) for queries, inferences, and conversion to other formats.(…)
I strongly suggest reading some of thew3c use cases:
For people reading this here in the Portuguese quarter I promise that in coming weeks you’ll get your opportunity to learn a bit more about Microformats! enough said!
A lot of people argue that services like Twitter, Jaiku and more recently Pownce, are mere services aimed to boost our egos, services born to increase our already ego-flooded world, it might or not be truth, it’s a fact that a lot of their users simple use it to broadcast short status messages with few or no interest at all! It’s my belief that these particular services are the beginning of something unique simply because their particularly different from previous messaging services, and departing from this idea I’ll explain why I believe that we need a nationwide Twitter!
Twitter is much more than a messaging system, it’s a unique multi-platform broadcasting system. Like we’ve witnessed in the past with radio, which was used to helped distribute messages from different services across, simply and quickly, so is Twitter doing it somehow! Two different features in Twitter seem to me the groundbreaking, first it’s a internet based broadcasting network: my message is sent across a multitude of people and mediums originating from the internet, second it’s bridge for inter-connecteness with other systems: by using it’s Twitter public API we’re able to connected to it any system that outputs messages. In the end the process is simple: a message sent from the web, reaches people on their instant messengers, mobiles, or on their contacts page on the service website. The other-way around also applies.
The idea of a nationwide Twitter just pleases me because I tend to be more comfortable the more informed I am: I (unfortunately) have this deeper sense that in the event of something important I’d be the last to know!!
Cellphones don’t handle crises situations nicely! In case of a network breakdown, they’re dead in the sea, so we have to create something more reliable and universal. In the past, pretty much everyone had a radio, so trusting the radio was the obvious choice. Today, due to many factors no technology seems to be such common place, we have to consider that in the advent of something people will have different means depending on where they are at the moment, it could be a computers, a radios, or a simple cellphone, so we really need to have that in mind.
I would wish we could have a multi-plaform nationwide alert system, something that everyone interested, national citizen or not, could subscribe and register with different ids for different alert channels. When some relevant thing happens on the channels I’ve subscribed the system would broadcast an alert on all the mediums I’ve registered for being notified. This would assure that, when needed, the information would reach me somehow.
Everyday I see the more and more services using Twitter massive broadcasting platform for delivery updates on their interests. In Portugal we have Público, that through twittering is in fact delivering alerts for every breaking news they publish on their site.
So it’s probably just a matter of time before we actually see it being used for as multi-channel alert system, at least the “media” is doing it already!
The only reason I think Twitter wouldn’t make it, it’s related to the fact that I think this system should be managed by some Official Emergency Department to avoid and prevents it’s abuse or deviation and therefore ruin it’s success as emergency broadcast system.
According to this proposition for a bill of rights, every Social Network and/or Application should guarantee 3 fundamental USER rights
Ownership of their own personal information: own profile data, the list of people they are connected to and the the activity stream of content they create;
Control of whether and how such personal information is shared with others; and
Freedom to grant persistent access to their personal information to trusted external sites.
which in practice means that this services should display the following features:
Allow their users to syndicate their own profile data, their friends list, and the data that’s shared with them via the service, using a persistent URL or API token and open data formats;
Allow their users to syndicate their own stream of activity outside the site;
Allow their users to link from their profile pages to external identifiers in a public way; and
Allow their users to discover who else they know is also on their site, using the same external identifiers made available for lookup within the service.