Why I do love python so much: How it all started

This is something I always wanted to write about. It is on why I picked python as my programming language and why I felt in love with it instantaneously. I’ll break down the post in some parts to avoid making a very extensive one. This first part is on how I began with python.

It all started six years ago at the university, on a subject called syntax and semantics of the programming languages. During one of the classes the professor just made a vague mention about a language that uses indentation to delimit blocks of code. It was called python he said. That was all I needed to start my research and the most amazing journey of my life.

Several days later I started reading tutorials and watching youtube videos about the basics of python. It took me a while to get all the concepts of the language. At that time I didn’t really know much about functional and object oriented programming, I was just starting at the university with procedural programming in languages like Pascal and C.

Once I finally understood the basic data types and the main features of the language they simply blew my mind. They were semantically amazing and the syntax was so clear. Maybe the professor at the university mentioned this language for a reason, I wish he would have gone more deeply in order to enlighten more students. But for me that was just enough.

The years passed and I gained a lot more experience in python and, of course, in coding techniques, paradigms, methodologies, patterns, etc. Nothing drifted me away from my initial path so much to make me change my programming language, on contrary, the more I learn about programming, the more I get attached to python. And I do it in a way that makes me feel I will be using it until I reach the end of my days. I’m truly in love.

In the next post I’ll get more in deep on the technical aspects that I like the most about python. So keep reading🙂

Filenergy – A simple file sharing tool written in python using flask

Recently I started looking at Flask as a fully-featured framework ready to compete with Django. And I don’t mean it just for simple application that don’t need to access a database. With the amazing Flask-migrate package and thanks to SqlAlchemy and Alembic we are now able to apply migrations on production databases just like we used to do with Django’s South.

The results of my first complete app using Flask and the stack I mentioned above: A simple file sharing tool.

I’ll attach some screenshots here but I think the app just talks for itself. It’s really simple to use it and It can be very useful to share files with other people or just with yourself, as storage service.

You can find a live demo at http://filenergy.crawley-cloud.com/ (In case you want some customization I’d love to work for you making the product suitable to your needs!)

Of course it’s open source and the code is available at https://github.com/jmg/filenergy.



Hope you enjoy it!

Django Deployment

I was working on a tool to make django apps really easy to deploy. Just write a config file and run a command specifying the directory of the app. I think it will deserve another post when it’s finished. In the meantime you can take a look at the code on https://github.com/jmg/django_deployment. It’s based on the amazing ssh tool for python, fabric.

Any feedback or contribution would be appreciated!

You can live without Google

Today it’s been three months since I moved away from Google as my default search engine. I’m still able to search for anything I want on the web and do my job as a web developer normally. Also I moved one step forward on my goal to contribute to the open source community.

My policy about getting rid of Google started when I discovered that I actually can use and contribute to a search engine that embraces the open source philosophy, Duck duck go.

The most amazing thing about it for me is that you can extend the search engine functionality. How? By adding plugins for something that is called an instant answer.

Basically instant answers are information you’d like to get when you search for something without entering any other site. For instance, if you want to know the weather on you area you don’t want to enter the search engine, search for weather websites, enter some of them and finally get the weather information. This is not the natural way of doing it. It adds a lot of overhead. A far more efficient way it’s by asking a search engine that actually “knows” what’s the state of the whether in your area. And this is where instant answers play its role.

When I search for the weather on duck duck go I get the following results:


And the best part of this it’s that you can add your own instant answer for whatever you may think it’s helpful for people searching for a particular topic.

If you are interested in contributing to the project I’d recommend you to start here. You can also collaborate with documentation, translations, ideas, etc. if you are not the technical kind of person.

Another great point of this search engine is that it doesn’t track your searches. Somethings that is very criticized in other search engines. On duck duck go the queries are completely anonymous.

And to finalize, you can use duck duck go as your default search engine! Right when you are typing queries on the browser bar. Here there is a guide of how to do it on your favorite browser.

Hope you enjoy hacking this platform as I did developing my own instant answers. A Bitcoin exchange rate calculator:


and an code editor:


Happy hacking!

My last one weekend project of 2012

In the last weekend of 2012 I wanted to build a project before the year ends. So last Friday 28/12 I started coding this new idea, a github repos aggregator for open source projects. Think in it as a hackernews-like site but for projects hosted on github.

It was challenging to build an application in so short time, but recently I’ve participated on many hackathons where the development sprint is about 10/48 hs of non-stop coding. So I’m kind of used to do this stuff now, and I like it!

The good thing about one weekend projects is that you can keep the focus on one thing. Just one thing. As Unix philosophy says, do just one thing but do it really well, I think hackathon’s projects follow the same pattern. In a very short time you have to focus on solving one problem, but in a pretty new and amazing way.

My new idea, hackersprojects aims to solve the fragmentation in the open source community by providing developers a way to share, discover, vote, comment and contribute open source projects. The site is pretty similar to hackers news and the algorithm used to rank trending projects was taken from this analysis on the hacker news ranking algorithm.

The project is completely open source so you can take a look at the repo on https://github.com/jmg/hackersprojects and, why not, send a pull request to contribute with something you may find useful. It will be appreciated. The idea is to make this project grow with the community.

Nothing less to say, just enjoy it! Right now it’s up and running since 9PM 31/12 UTC time. So I guess I accomplished my goal, which was to have a first working implementation before the year ends.

Here is the link: http://www.hackersprojects.com/

Regards and happy new year of coding!

Embedded Chat

Hey guys,

I want to announce the release of a new social embedded chat service. I was working with my colleague on this over the last few months and now we are very happy to make it public as a closed beta service.

You can check it out on our the live site at http://www.embedded-chat.com and give us a try😉. As we are in private beta this is totally for FREE and you’ll get much benefits when we release the final version if you sign up now.

For the tech people that read this I’ll make another post going deeply on the technologies we are using on this new service. One hint: Python and Node.js can make it really well together😉. Also you can write all your code in a “pythonic” way if you use coffescript instead of javascript on the node server side. Don’t miss my next post about the geeky side of this project.