More than 1,2 billion Facebook profile pictures together, in chronological order, including you and all your friends. Find out which FACE# are you!
It’s like looking down on earth from space. Like ants but we are all together.
If there is one video you should watch, it is this. The sheer will power to not be constrained by any disability is beyond inspiring - it is life changing. Think of it next time you make an excuse of not being able to do something or overcome challenges.
It’s slightly over two years since the government of Kenya launched the Kenya Open Data portal; a move that was hailed around the globe and seen by many as a path towards transparency in a corrupti…
Very nice insights from my friend and colleague, Nick Hargreaves.
How to Install Python GDAL on OS X
I am working with an amazing tool called Kartograph to make easy to use interactive maps using SVG. Part of the requirements is to install the GDAL Framework, a translator library for raster geospatial data formats. Installing on Mac OS X directly using
pip install GDAL would throw this error:
__main__.gdal_config_error: [Errno 2] No such file or directory osx
To resolve this was rather simple but unfortunately could not find it anywhere! Open terminal and install GDAL using Homebrew, the missing package manager for OS X. Then run the pip install again.
$ brew install gdal
$ sudo pip install GDAL
And that’s it. You can confirm this by typing
pip freeze in terminal and checking for GDAL from the output.
The web applications space seems to have missed this versioning move that other software types have implemented since their inception. There is indeed a great opportunity with web developers to push updates without the user ever needing to keep track of its changes as it is almost instantaneous and no input needed by the user. Other software types for example operating systems, individuals and companies alike weigh whether moving to Windows 8 is beneficial by looking at the changes introduced from the previous version (7 or otherwise) currently being used.
As for web applications, users usually get updates irrespective of choice. Most will note perhaps the different aesthetics changed and perhaps new features introduced but will rarely look under the hood to see whether the update was necessary for him\her. A good example is Facebook constantly updating their site (facebook.com for any unaware). This shows that the versioning becomes unnecessary for users and becomes low priority for developers. That is of course unless the web application is clearly marketed with its version number e.g facebook1.com facebook2.com etc.
As an open source software developer, I have come to appreciate the modalities of versioning web applications releases. Different groups and individuals use their own method of keeping track of releases of their software. Some simply do not which is dangerous. Without being able to track how your web application is being released, one runs into a myriad of problems including:
- Not being able to reference\track bug fixes.
- Inability to track dependencies such as with integrated softwares\APIs.
- Rollback\downgrade “hell” in case of upgrade failure.
- Documentation and reporting becomes ad-hoc and untraceable.
Web Application versioning is therefore a developer facing priority. It takes care of the above mentioned problems and so much more. And as we all know, if the activities behind the scenes are not well managed, the front, what users experience, will also be murky and frustrating.
Enter Semantic Version. This standard of how to version your software release has proved invaluable and simple. It takes a MAJOR, MINOR and PATCH release increment. It allows you, the developer to keep track of all releases with ease and understanding. At the very least, your versioning system should make sense not only to you but others. This does it brilliantly. I won’t go into details as the explanation on it’s site is well put together and straight forward: http://semver.org/.
GitHub, the powerful collaboration, code review, and code management platform for open source and private projects, has a nice feature to make versioning easy and “shippable” to end users. You can read more about here: https://github.com/blog/1547-release-your-software.
PS: If you are not using any source code control as a developer such as git, GET CRACKING AND USE ONE! More on this courtesy of Google: https://www.google.com/search?q=importance+of+source+code+control