Search This Blog

Monday, September 8, 2014

Good/Bad Software Engineers

After reading Katsuya Noguchi post on Good Software Engineers vs Bad Software Engineers, i was driven to re-share this post because he outlined all the important qualities of a Good Software Engineer, from Problem Solving, good coding practice, documentation to learning for other developers through reviews.

This is a must read blog post for all developers, the link below to the post. Good Software Engineer / Bad Software Engineer

Friday, April 18, 2014

Login problem after upgrade to Ubuntu 14.04 (Trusty Tahr) from 12.04 (Precise Pangolin) via Terminal

So as most people know, yesterday a new LTS version of Ubuntu was released, version 14.04 code name Trusty Tahr. I upgraded to this version, but not without some complications, if you are like me who only upgrade to Long Term Support versions and you are a bit too comfortable with the terminal, well my first advice will be DO NOT upgrade directly from the terminal, use the Update Manager instead. Although complications can happen either ways, but graphically it might be better.

If you are like me, and you happen to run the command;

$do-realease-upgrade -d

After running this, i simply followed the steps of normal upgrade, and it was successful with minor errors which is almost unavoidable, after restarting my system, i first i booted to the login and was still seeing 12.04, that was weird but then tried to login, i landed on a black page.

Well since at first i thought it was an issue with the unity, which probably is, i opened one of my TTY's and tried running an update and then re installing ubuntu-desktop  but still the error persisted, even created a new user as though a similar problem happened in 12.04, it was a problem with the config file and creating a new user will actually resolve the issue, but not in my case.

I am an opensource guy and one of the habbit is hitting the communities, i visited the Ubuntu G+ community, asked for suggestion, obviously, at least someone have encountered the same problem as you did, well the first response i got was to backup and reload my OS, however i was a bit positive a waited a few more hours.  This morning i got a response that made my breakthrough from +Matthew Rhodes who had same problem as i did and suggested an easy fix.

Since you have access to your TTY, go into one by hitting CTR+ALT+F1 then login with your credentials. After that, run this commands;

$sudo apt-get update

$sudo apt-get upgrade


Wait for it to complete the upgrade and then restart. This should fix your problem, but optionally if it doesn't, do this instead;

$sudo apt-get update

$sudo apt-get dist-upgrade


PROBLEM
You might encounter a minor error and you can't run apt utility with an error saying, "unmet dependencies" you can resolve this with

$sudo apt-get -f install

$sudo apt-get autoclean

$sudo apt-get autoremove

$sudo apt-get update


I wish you an adventurous Linux hack.

Monday, April 7, 2014

You wanna learn to Code?

Recently i have been getting questions:  "how can i learn to program?", "How can i become a professional programmer?" Well i have rather than an answer, but a guideline. I can only show you the door, you will be the one to walk through it.

First things first, to go into this world you need to prepare your mind, be ready to learn, be ready to code at least bunch of hours a week, if you are not enthusiastic or curious about how things work, its time to start changing your mindset. Be ready to face problems that will literally turn your brain into a hyper multitasking machine, most of all be ready to see the world differently because this world you are stepping into, you haven't heard of anything like it before.

OK i didn't mean to scare you that way, fortunate for you, this days there are more easier ways to get exposed to the programming world, unlike years ago that we literally go through books and manuals in order to learn. A bunch of web applications are developed to guide you through the basics of programming in various languages, and i am going to talk about a few here.

Codecademy 
This site my favorite, why you ask? well because it has a comprehensive introduction to Python which happens to be my favorite language, aside that if you are interested in web development, there are courses for HTML, CSS, JavaScript, Ruby and each contains a project at the end to test if you actually learnt something. This site presents you with an interactive way of learning, using an online interpreter for various languages, you can follow instructions from each chapter, write the code in the editor instantly and test your code if it works. Also there are hints to somewhat "difficult" tasks in case you can't find your way. Also you gather points from actually completing modules, and they have something called streak, which is just a measurement of  consecutive days you spent completing tasks. Additionally, after completing a language training, you can choose to start learning some API's like that of twitter, facebook e.t.c and guess what? its completely free.

Code School
This web platform is similar to Codecademy in a way, with HTML, CSS, JavaScript, Ruby (Ruby on Rails). But it additionally have courses on Objective-C, iOS development, using version control systems (GIT), JQuery and a bunch of other API's. Though unlike Codecademy, some courses have charges.

Haskell
If you are curious about functional programming languages, haskell is a  place to start, this site gives a short introduction to haskell programming language interactively, giving you an overview of the concept and learning some basic syntax.

There are many other sites you can use to learn aside this one's, sites such as  Cousera  and  Udacity  where you can find full university course lectures in video with interactive course works and  tasks, which you can do to test your knowledge and also certificates are awarded in some courses to those who satisfy the requirements of the courses.

Not being in school is not an excuse to not educate yourself, this is the 21st century, you can go to school online and self educate yourself at home.

Wednesday, April 2, 2014

Future of development cost.

Development cost depends on various factors such as, availability of developers of the given domain, size of the project, number of technologies to be used (i.e if more than one, is there need to get a developer for each technology or one developer with knowledge of all can handle the job).

This days there has been a call for everyone to know how to code, with tech celebrities and entrepreneurs supporting the project "Code a day" (code.org) and schools introducing programming at elementary level. Even though not everyone will want to follow this path as a career, there will be a huge amount of hubby developers. If this is the case, everyone will probably develop his or her own software, that really doesn't seem practical but with availability of open source tools out there for anyone to fork, build and use, anything could happen.

So what happens when 80% of the population knows how to code, and each person either freelance to get extra cash or works as a full time professional. With this much developers, probably a lot of people will be competing for one job, this means that people can bid for a job, and everyone will like to make his or her price as low as possible in order to get the job, which will probably affect the amount it takes to develop a particular kind of product.

As it is right now in sites like freelancer.com, odesk.com e.t.c, the bids to develop a particular program are so low i am beginning to think how much it will be when we have more developers. But ironically we need more developers, a lot of countries outsource their development jobs to countries like india, and china where professionals do a work for less price, and some countries outsource because there are no good developers to get the job done where they are.

This is just a personal evaluation as i can't predict the future, and i know many of you are thinking about the same thing. Give me your feedback on what you think will happen to development in the future.  

Thursday, January 16, 2014

Hobbyist Programmers

The world as we know it now heavily depends on computers, with this comes a great need for professional programmers. However, there are a great community of computer programmers that sole lonely code for fun, extra cash, community or to automate their daily work.

This group of programmers are known as "Hobbyist Programmers". For the large industries and closed source community who believe every piece of code should be sold, do not understand the idea of someone coding for fun or to give back to the community. But this community of programmers are the real hackers as we know it, those whose room window illuminate deep in the middle of the night, those who have sleepless nights and long hours of coding just to make the world a little better and a comfortable place to live in. The Open Source community which is the largest community of programmers consists of hobbyist programmers.

This community makes it possible to have a bunch of documentations, tools, source codes and so much tutorials on the world wide web, it is practically a matter of take and plug nowadays in a matter of developing a computer program or mobile applications.

However, what does it mean for the future of computer programming? is it possible for all of us to learn how to code? what if we are all computer literates and every single one of us can code? who is gonna use your application when everyone can simply make his? how will this change the world that we know and the lifestyle we live?

I will tackle this issues on my next issue, before then, everyone can live a comment below regarding this matter and in the next blog i will discuss my opinion and the opinions left in the comments.

Friday, January 3, 2014

Conscious or Unconscious dream?

So for the past week i have been having this weird problem with sleep, when i go to bed 3:00 AM, of course with my earphones on and connected to the soundbox, i tend to live within the musics themselves, having something i feel like a dream that goes with the rhythm of the music but at the same time still feeling conscious enough that i actually know what song is playing. It is so weird to me because, before a week ago, when i plug my earphones to sleep, i fall deep asleep after atmost 5 songs.

I wake by 6:00 AM and do whatever it is that i do, feeling as if i haven't slept at night which i am not sure i actually did. By 11:00 - 12:00 AM i feel this strong urge to sleep which i definitely succum to wether i like it or not, sleep till between 5:00 - 7:00 PM where i wake again, work till 3:00 AM and continue the Circle.

The problem is, it seems impossible to break the cycle, for the fact that during the day i can't seem to force myself to stay awake till night time, and during nighttime, i can't force myself to sleep properly, rather finding myself in this realm between being asleep and awake.

Whatever it is, i have a very serious week ahead of me, where i have two major examinations, a couple of coding to do for my work colleague and games to play, yes you heard me right, games. I play games, and not talking about games like Dota or LoL (i play does too sometimes), but games such as CheckIO, some might not see the logic behind solving problems as games, well i do. Also Farmville 2, Candy Crush, Criminal Case and Pet Rescue Saga are so addictive to me, well now i don't like the fact of saying that i am addicted, but rather they are mandatory to my daily living.