Davide Scaramuzza: Flying robots
From swimming robots to flying robots! Davide was the man for us boys in the audience. Unlike our toystore helicopters, Davide's robots can fly without motion capture system or remote control. In order to navigate autonomously they need to know where they are, however, GPS is not used since it's not a reliable system. While it flies the helicopter constructs its own map of the environment. Several helicopters can fuse their maps. Besides all play, what's the real interest in autonomous flying robots? -They can be taken to environments where human beings cannot fly or flights would not be economic, e.g. search for survivors after an earth quake or do environmental monitoring using helicopter swarms. The great presentation was crowned by a live show (behind safety net).
TEDx Zurich, the intellectual antidote to the daily grind is back in town! Here is what we got to see in an amazing first two hours.
If you are a developer it is almost certain that you had to refactor code at some point. Refactoring is no joy, especially if it is not your code and badly written.
The three code states
I like to think that the code we write can have three states:
- stable code: code that is subject to almost no changes, and at the same time permits to easily add new functionality.
- code to be refactored: this is the code that we are working on, or it is marked with @todo and a comment regarding why and what should be refactored.
- bad code: code that should be refactored, but nobody is aware of it - at least not yet... You will only notice when the client reports a bug or a feature request that cannot be implemented without changes in that portion of code.
Then, when the time comes to actually refactor the code, the question is: How do you refactor? It depends on the code that has to be refactored, but most of the time it involves moving code into a separate function, changing the structure of a classes tree or moving the implementation from a function oriented to an object oriented approach.
The five conclusions
- If possible, try to avoid having many @todos in your code, especially in the one that goes to production.
- Always write good documentation for what you have to refactor. It would be good to specify why the code has to be refactored, the priority and optionally why you've chosen not to refactor yet.
- Refactor the code as soon as possible. Ideally is in the development stage.
- Always test the new code. If you refactor it, it does not mean that that code is correct.
- Avoid writing code you know that you will have refactore it in the future.
If you are looking for a more general blog post on code refactoring you should take a look at SourceMaking's "Introduction to Refactoring".
This web week started with an epic event: The Red Bull Stratos jump. We hope you enjoy the selection!
Food for thought
Econsultancy: Five content marketing lessons from the Red Bull Stratos jump
This blog post looks the jump though the glasses of a marketer. If you are looking for lighter content regarding Red Bull Stratos, you might like t3n's blog post.
Ever wondered how a Google data center looks like? Now you can find out for yourself. You can even explore it on you own with Google Street View.
Naked Security: India spews more spam than ever before, report finds
Sophos' Naked Security blog published some findings regarding the source of spam in the last three months. More surprising than the main culprit is that three of Switzerland's five neighbor countries made the top 12.
Erdfisch: Email and link module landed in core
Great news for all Drupal site builders: It appears that the Link and the Email module will be part of Drupal 8.
Tweets that cut through the noise.
We love to see framed copies of our periodic table of Drupal modules. :)
— Per André Rønsen (@perandre) October 19, 2012
A few hours ago, the Drupal Security Team informed about a highly critical Drupal 7 core issue: http://drupal.org/node/1815912
The vulnerability allows an attacker to reinstall an existing Drupal site with an external database server and then execute custom PHP code on the web server.
As usual, to mitigate a highly critical vulnerability, a new Drupal 7 version (7.16) was released which fixes this issue. Since it is not always possible to update or patch every customer website immediately there is an accepted workaround for this: Deny access to install.php.
Add this to .htaccess the file:
# Deny access to install.php because of SA-CORE-2012-003 http://drupal.org/node/1815912
ErrorDocument 403 "Sorry, no access to install.php. If you need access you will have to change .htaccess"
This will prevent everybody from accessing install.php and rule out that an attacker can use it for an attack.
But overall it is best to update Drupal as fast as possible and also deny write access for settings.php as described in the Drupal security best practices.
You can deny the access to install.php by using this patch and applying it with: "patch < SA-CORE-2012-003_deny_access_install_php.patch"
For a web designer the most obvious place for inspiration is the web, especially with so many amazing resources like The Best Designs, Mediaqueries or CSS Mania. But how organize all the inspirational nuggets? Not long ago I collected them as bookmarks in my browser but my library grew out of hand.
Say hello to LittleSnapper
LittleSnapper + Dropbox = Inspiration in the cloud
Here comes the traditional collection of stories that caught our weekly attention. Enjoy!
Drupal Association: Election Results
This week the results for the community election to choose two at-large Directors for the board of the Drupal Association were announced. Congratulations to Morten Birch Heide-Jørgensen and Pedro Cambra!
Beevolve: An Exhaustive Study of Twitter Users Across the World
Beevolve, a provider of a Social Media Monitoring platform shares some statistics of its mined data.
AllThingsD: Very Pinteresting! Facebook Cranks Up Another (Potential) Revenue Stream With “Collections.”
Remember the times when every Facebook update included many Twitteresque features? Now the world largest social network turns its attention to Pinterest.
Food for thought
Wired: Fend Off Trolls, Bots and Jerks With ‘Empathy’ Test
CAPTCHAs can be annoying. Why not use that opportunity to stand up for human rights.
Tweets that cut through the noise
News organizations falling over themselves to offer apps seems a little like when everyone wanted a Flash intro page to their '98 website.
— DHH (@dhh) October 8, 2012
After a few weeks of using Sublime Text 2 (ST2) it is time to draw a conclusion. Did Sublime Text 2 manage to be a good replacement for a fully integrated development environment like NetBeans or PhpStorm?
Yes, ST2 is good, but skip the hype.
I joined the flock when ST2 was released and was really into it. Now, after the party, ST2 has just become another working tool. A very comprehensive text editor. That's all. And still, at certain points I miss the quick access to features I get in an integrated development environment. My modest advice: Only switch if you are not happy with your current setup, or have enough time to play around and google your plugins. ST2 is a very modular and highly configurable tool and this makes it fun, - no doubt.
Do I sound a bit hung over? If you are looking for more comprehensive arguments to switch to Sublime Text then you should look at Stuart Herbert's blog posts. He gives 10 reasons why you should switch to ST2 and made a YouTube series on how to setup your ST2 for PHP development. I included the playlist below.
Any final tips for Sublime Text 2?
I recently ran into an issue, where my Git configuration was overwritten by a plugin update. If you are having the same issue, just copy the Git.sublime-settings from the Git package folder to the User folder.
And if you wonder how to check for plugin-updates manually. Just hit CMD+SHIFT+P and type upgrade.
This week brought the following stories to our attention. We hope there something to your liking in our selection.
Linux Journal: Drupal Special Edition, October 2012
This month the Linux Journal published a 167 page supplement dedicated to Drupal. You can download your free copy of this edition courtesy of New Relic.
Food for thought
Marginal Revolution: Can mobile phones boost educational outcomes?
As N. Gregory Mankiw famous principles of economics state people respond to incentives. This study made in Niger underlines this thesis.
Russia's answer to Google launched its own browser this week for Windows and OS X. The first impression, by the early adopters in the office, is that it appears to be really fast and snappy.
The Verge: In Mark Zuckerberg's world, lying is the only way to be yourself
Trent Wolbe argues that without the odd lie there's no freedom an Facebook.
Amazee Labs Events: 6th Web Monday Zurich 2012
This month's edition of the Web Monday still has a few free seats. The presentations will be held by Microsoft's Michael Epprecht, Squirro's Dorian Selz of and stablish.me's Fabio Carlucci. Don't forget to register.
This is the third and final part of this blog series. In the first part we installed and customized the Google Analytics Reports module and in the second part we created a Social Media Dashboard that displays the data in table format using Views.