Category: Old Posts

Imported posts from previous drupal blog.

  • Everything is a Remix: Part 4

    The final chapter of the “Everything is a remix” series is officially out. As I posted here the first three episodes I have to do the same for this one.

    Is the end of an interesting and visually appealing analysis to the background of creativity and innovation, suggesting that there is nothing 100% original.

    We have to thank the author and everyone involved for the good work done here.

  • Tribes and Startups

    Yesterday I’ve read a very interesting post, on the blog “onStartups“, about the different roles you can find in a tribe and how that structure can be compared to today’s startups.

    For me the great value of article, is the explanation about how different people with different skills and backgrounds, are actually quite important to achieve your company’s goals, and none of them is more important than the other.

    They elaborated one video summarizing the key points (you can find it bellow), that is a good introduction to the rest of the content.

    Here you can find the whole article.

  • Time to start coding

    codeyearlogoIn last months of 2011 one fever started throughout the web, specially in the tech blogs and aggregators, about whether or not people should have some programing skills. It’s true that in the technological society that we live in, the ability to code and automate some tasks is very useful.

    So, like in any other time when there was a need, a bunch of startups appeared trying to fill that gap. This time that need is to teach the general public how to code and one of companies in the race is Codecademy, which describe itself like this:

    “Codecademy was created out of the frustrations Zach and Ryan felt with learning how to program. Tired with less effective text and video resources, Ryan and Zach teamed up to create Codecademy, a better, more interactive way to learn programming by actually coding. This is just the beginning. Join us as we make it easy for everyone to love and learn how to code.”

    I’m writing about this company because they had the great idea (for their business) to declare 2012 as the  “Code Year”. So every Monday during this year they will give the participants one interactive lesson, with one simple objective in mind, that until the end of 2012 the people who accepted the challenge will be able to create their own apps and websites.

    I already know some programing languages and last year I decided that I would learn the Python‘s web framework “Django”, so I could be able to build my web apps (I have had one workshop about Rails but I sticked with this one for now). The problem is that this framework is mostly for the backend/server-side and now I need some knowledge about one client-side technology, so I can be able make the interaction with the user more pleasant and fluid.

    This is where the “Code Year” is being very useful to me. They are teaching JavaScript and that was precisely what I needed. So every week since the beginning of 2012 I’m taking the lessons.  Until now it has been like “1+1=2”, because I already knew some of the basic stuff but the difficulty will rise in the next few weeks.

    You can follow my progress here and I recommend, if you want to start programing and have no hurries, to try the Code Year lessons.

  • Finally some choice

    Yesterday when walking around in a mall, I decided to enter one Portuguese store called “Worten” to check some notebooks and other equipment, to stay updated about what this stores are selling and the current prices.
    I already had read about some netbooks being sold in Portugal with Ubuntu but I thought it was only advertising and that in reality it would never happen, so if I wanted to buy one computer without Windows, Internet was the only solution. But apparently I was wrong.
    So when checking the notebooks I noticed a little orange badge, on the cheapest computer that was on the shelf, saying “Ubuntu Certified”,  suddenly I was shocked and thought “Finally we have a choice”.
    So to prove it, some shots below:

    ubuntucert4 ubuntucert3 ubuntucert2 ubuntucert1_0

    The specifications of the equipment doesn’t match with the one that was announced because it’s another model, but doesn’t matter, still is a step forward.

    P.S.: The battery, in my point of view, is the weakest part, 4,5 hours is not so good.

  • Doing it twice

    I usually don’t like infographics, because reading a large image full of charts, cartoons and numbers that sometimes doesn’t even matter is boring and time consuming. But from time to time I find some exceptions to this “rule” and this post is about one of them.

    Many people don’t have a good impression about Bill Gates, may be because he is one of the wealthiest men in the world or even because he advocates proprietary software (this one is more related with the free software supporters). But the fact is that he once revolutionized the technology world and nowadays he’s working hard to do the same to the whole world.

    Since he left Microsoft, what he accomplished trough the “Bill and Melinda Gates Foundation” is amazing and thats the reason why I am posting this infographic here. It shows some of his achievements and numbers about people who benefited from his work. I hope you like:

    microsoft infographic

    Source: frugaldad.com

  • “Client” the specie who rules the earth

    One thing that i always heard about and read through the Internet, was that dealing with some customers isn’t an easy task. I don’t have much experience in that matter but slowly I’m starting to believe in that. Recently I took some time to read a bunch of quotes from the blog “Clients from hell” and I have to say that some of the stuff we can find there are hilarious.

    Below you can find the selection I made from this Christmas season:

    Client: Can you just get rid of this here?

    Me: The Lorum Ipsum?

    Client: Yeah, just fill it with dummy text that doesn’t mean anything.

    Good idea!

    Client: Hey, I need to make sure my name, email address and phone number are up on our contact page.

    Me: I’m not at a computer right now, can you click on the contact page?

    Client: (click…click) Ah, there it is.  Thanks!

    It wasn’t there, i swear!

    “We need an illustrator with a medical or veterinarian background. We’re expecting a lot of responses, so make sure to give as low a quote as possible!”

    yeah, people with that set of skills are everywhere!

    A client asked me to book some hotel rooms.

    Me: Do you want a room with one bed or two beds?

    Client: What’s the difference?

    You’re right, none!

    And now to conclude, one video that says it all: http://www.viewpointcreative.com/happy-holidays

  • The King’s Speech

    Some time ago i wrote about a guy who showed up in a TV Show talking about a new mentality that is needed here in Portugal. Today I’m gonna return to that subject and post here one video (yes one more, this is starting to look like a video channel) of his speech at TEDx Youth Braga, that i have no words to describe. Once again it’s only for readers who speak Portuguese.

  • Life in a Day

    Yesterday i read about one fascinating project, sponsored by youtube, called “Life in a Day“, where people all over the world were invited to record their daily live and share it. As a result of this experiment, we have one 90 minute movie that show’s us how much distinct life can be, based only on where you’ve born. I watched and recommend (ok, maybe it could be a little shorter).

  • Coimbra on the move

    These are difficult times for every student in Portugal, the amount of jobs available, for those who are finishing their studies in the next few years, is limited and in some areas rare is the appropriate word. So most of the graduating students already are looking for opportunities, not in our country but in many others around the world.

    This article has one simple objective, that is show other vision and attitude. What I am about to say, you are probably sick of hearing or reading trough the Internet, Television or even on those boring talks about how great entrepreneurship is, but I simply have to share what I’ve been seeing in this student oriented city called Coimbra.

    Some days ago, I and some colleagues of mine, managed to organize a little Hackathon called “Exception Handled”,  and we were surprised with the quality of the ideas and prototypes, that the few teams present at the event were able to do in just 48h. So I’ve been wondering why I don’t see in this city that “startup fever” that lots of other places in other countries have (or at least is what I read all over the Internet).

    Students with ideas and will to create something new , groups of specialized people that are in the ground giving advice and support to the “creators” like GAPI 2.0 and nothing more and nothing less than the best technology based incubator in the world, are things that you can find in this city and a little bit all around the country.

    So what is missing? In my own opinion, is just that spark that starts an engine and puts the machine on the move. This little spark is about making the students realize that they can do it. Yes, start a company isn’t for everybody but we have to make sure that the ones that have what it takes, find out that they are able to do it.

    Is in this context that events like “Startup Weekend“, “Ineo Weekend” or even some hackathons (this one is more focused for tech students) have a great role, because, there people learn about the steps to create a successful company, students try it themselves without the commitment or the risk of actually starting a company, they have the help of more experienced people and can have the taste of  the excitement produced by the creation of something brand new, that came from their ideas.

    Luckily this kind of events are becoming more and more frequent, every year I see new ones and for me that is a really good sign because if they are coming back is because people are signing for them.

    For example in the beginning of the next year,a team inside jeKnowledge has already scheduled the first “3 Day Startupin Portugal and it will realized in Coimbra. For those who don’t know what I’m talking about, you can find more information at their website. The already interested students can apply here. Just to show the output from the last editions of this event, below you can find a quote from 3DS website:

    12 events in the US and Europe have given rise to 14 companies receiving $4 million in funding. 7 companies from 3DS have been accepted to accelerators such as Y Combinator, 500 Startups, and Dreamit Ventures.

    The signups for the interview will stay open until the first day of 2012 (less than 1 month).
    I’m sure it will be a great event and lets hope that the accepted participants, are able to add one more company to the “3 Day Startup” statistics. The country needs it!

  • “Now I Know”

    The Internet is full of contents about entrepreneurship like blog articles, ebooks, interviews, videos, podcasts etc. But the vast majority of that content is usually long and boring, most of the time i can’t consume it to the end or i don’t even watch because of its length.

    There are for sure quality content around the web, that needs time to send the message and i don’t mind to spend 1/2 hours of my day to learn something worthwhile. However in the common case the essential message of that content doest’t need more than 2/3 minutes to make the consumer understand the message.

    Answering this question, and while we wait for “The Startup Kids” (that promises to be a great documentary), there is a new video series called “Now I Know” made by Sprinkle Lab, that i discovered trough Techcrunch, that solves this issue. With 1/2 minutes videos and one message at a time, they share the lessons learned, told in person, by well known people in the technology area.

    I already watched all the available videos simply because they leave you wanting to know the next tip. Just take a look at the following example:

  • To Codebits here i go…

    2_normalThat’s right folks, just look at that beautiful message at the screenshot.

    I’m sure that the most famous 800 people tech event in the country will be an amazing weekend, with lots of interesting talks, people and some competitions that will push the participants to the limit. If in the next few weeks, some nice ideia comes to my mind, maybe i will try my luck in the programing competition. So i’m looking foward to it.

    If you are one of the lucky ones too, see you in November at Pavilhão Atlântico.

    P.S.: And yes i will accept the “Nuclear Taco” challenge

    codebitsemail

  • Show what you can do

    Well, this time i bring a video from a TV discussion (on the Portuguese show “Prós e Contras”) where this young man, talks about a new mentality that is needed for the young men and women that finish their college degree and are about to enter the job market.

    I was surprised because it isn’t common to find someone here in Portugal that thinks the same way I do, about this subject. So I will leave you with Miguel and I can assure you that the video will worth the 15 minutes that you will spend to watch it.

    Note: The video is in Portuguese and there is no subtitles. So it isn’t for everybody

  • Generators, Decorators and Metaclasses

    For some time now, I’ve been trying to improve my python skills and learn a little bit more deeply the how the language works. The objective of this quest is to write more efficient and structured code, because it seems to me that I’m not using the full potential of this programing language.

    Yesterday i found at stackoverflow 3 comments from the same person answering 3 different questions, one about the yield statement in python, other about decorators and another explaining metaclasses. The posts are long but the explanation very good and with several examples, I thought that they were so good that I must share them with those who are trying to learn more advanced python.So here they are, in chronological order:

  • Just try a diferent approach

    Nowadays it isn’t easy to get a job here in Portugal, most students stay unemployed for a while when they graduate from college. Most of them simply send curriculum’s to some companies/employers and just wait for someone who needs to approach them.

    I only wrote this article to show my point of view, the world out there is a battlefield and you have to make your own way through it.

    Today when I was reading my news feeds, I saw an article at TechCrunch’s website, talking about this guy who spent $3000 from his own money to create a viral campaign asking Google to hire him. You can watch it at: googlepleasehire.me

    I’m not saying that his “production” is good or bad, but at least he tried and until now he is making good publicity of his skills. He maybe would not get into Google but with all the attention he has got many other company’s will for sure try to hire him (he works on marketing).

    According to his personal blog, he already has some proposals and got the attention of Google. I hope this post calls the attention to the ones that read my blog and to “future me” that you have to be different and go after what you want.

  • Simple JSON Parser for Python

    Some time ago i started to follow a Blog that weekly proposes some programming exercices and i solved one of their problems (an old one, from 2009) . So today i’m posting here my solution for the problem of this week. Basically they ask us to write a JSON parser in our favorite computer language, so i chose “Python” and tried to complete the task.

    For those who don’t know what JSON is:

    JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate.

    My implementation is quite simple and it can contain some bugs (and is not optimized), so if you discover any error just leave a reply (we are always learning). Bellow is my code and a link to Github where you can also comment the code. In the following weeks i’ll try to solve more of their problems.

    class json_parser:
    
        def __init__(self, string):
            self.json_data = self.__remove_blanks(string)
            self.pointer = 0
    
        def __remove_blanks(self, string):
            new_list = []
            inside_string = False
            for i in list(string):
                if inside_string or i != ' ':
                    new_list.append(i)
                if i == '"':
                    inside_string = not inside_string
    
            return "".join(n for n in new_list)
    
        def __parse_obj(self):
            new_dic = {}
            self.pointer += 1
            while self.json_data[self.pointer] != '}':
                if self.json_data[self.pointer] == '"':
                    key = self.__parse_string()
                else:
                    raise Exception  # The only possible type of value for a key is String
    
                if self.json_data[self.pointer] == ':':
                    self.pointer += 1
                else:
                    raise Exception  # invalid object
    
                value = self.__parse_value()
                if value == -1:
                    return -1
    
                new_dic[key] = value
                if self.json_data[self.pointer] == ',':
                    self.pointer += 1
    
            self.pointer += 1
            return new_dic
    
        def __parse_array(self):
            new_array = []
            self.pointer += 1
            while self.json_data[self.pointer] != ']':
                value = self.__parse_value()
                if value == -1:
                    return -1
                else:
                    new_array.append(value)
    
                if self.json_data[self.pointer] == ',':
                    self.pointer += 1
            self.pointer += 1
            return new_array
    
        def __parse_string(self):
            self.pointer += 1
            start = self.pointer
            while self.json_data[self.pointer] != '"':
                self.pointer += 1
                if self.pointer == len(self.json_data):
                    raise Exception  # the string isn't closed
            self.pointer += 1
            return self.json_data[start:self.pointer - 1]
    
        def __parse_other(self):
            if self.json_data[self.pointer:self.pointer + 4] == 'true':
                self.pointer += 4
                return True
    
            if self.json_data[self.pointer:self.pointer + 4] == 'null':
                self.pointer += 4
                return None
    
            if self.json_data[self.pointer:self.pointer + 5] == 'false':
                self.pointer += 5
                return False
    
            start = self.pointer
            while (self.json_data[self.pointer].isdigit()) or (self.json_data[self.pointer] in (['-', '.', 'e', 'E'])):
                self.pointer += 1
    
            if '.' in self.json_data[start:self.pointer]:
                return float(self.json_data[start:self.pointer])
            else:
                return int(self.json_data[start:self.pointer])
    
        def __parse_value(self):
            try:
                if self.json_data[self.pointer] == '{':
                    new_value = self.__parse_obj()
                elif self.json_data[self.pointer] == '[':
                    new_value = self.__parse_array()
                elif self.json_data[self.pointer] == '"':
                    new_value = self.__parse_string()
                else:
                    new_value = self.__parse_other()
            except Exception:
                    print 'Error:: Invalid Data Format, unknown character at position', self.pointer
                    return -1
            return new_value
    
        def parse(self):
            if self.json_data[self.pointer] == '{' or self.json_data[self.pointer] == '[':
                final_object = self.__parse_value()
            else:
                print 'Error:: Invalid inicial Data Format'
                final_object = None
    
            return final_object

    [EDIT: The previous code has several issues, so please do not use it. Python has many great packages to handle JSON documents the right way, like simplejson.]