Happy New Year

I hope you all a very ambitious and healthy 2012. The end of the world is near so...joke. Enjoy life and have the most out of it!

I'll be coming back with posts about Django and python in the next couple weeks so be prepared!

Posted
 

Great serie of guides for the Linux enthusiast

While surfing on /r/linux I stumbled on a very well written and comprehensive guide to Linux. It's hosted on the funtoo.org wiki and here is the link. I didn't read it in it's entirety since there is a ton of stuff, but I kid you not there is a lot of useful information there. The guide states that after reading the tutorial you should be competent enough to get your LPIC Level 1 certificate, which is awesome...and I might get it myself.

On the wiki there are also a couple more guides that introduce Awk, Bash and even Sed.

Shameless plug here: After reading the guide you can download my Bash Shell Cheat Sheet which I presume will give you a hand, because there are a lot of concepts to grasp and remember.

On the last note, I know I've not been active a ton for the past month or so because of high school, but I'll try to squeeze time in for the blog..heck, maybe I'll post some of my English essays to fill some gaps.

That said, have a nice day.

Posted
 

Puzzle - Le film

A while ago at school we had to do a movie for a film project, and my team result have proven to be awesome. Our movie won multiple prizes at our school film festival and it is now going to compete in a film festival in France. Since we were a bunch of geeks making the movie, the story is centered arround the Rubik's Cube. It is used to show how the "convict" is building his memory so that he can understand once and for all why he is in prison. There is one sentence in the movie and it's French, it's at the start: Qu'est-ce que j'ai fais? --> What have I done? The movie is 8 minutes long (including the credits). Here is the movie website: puzzle.vacau.com/. I decided to post this on my blog because I decided "Why not give myself some publicity" and also because it currently only has 400 views.

Posted
 

I made an awesome bash shell cheat sheet

So it's been 2 months since I completely removed Windows from my life and installed Ubuntu 10.10 because I'm waiting to see if 11.10 will be any better than 11.04 (looks to be). I'm still in the transitioning stage where I'm learning the commands and learning how to use Linux as a whole. It's so different from anything I’ve been acquainted to in the pass 10 years that it's easy to get lost. I still curse a lot when something doesn't work, and in those moments as always Google is my best friend. Anyway, the purpose of this post isn't to talk about my experience with Linux, it's about helping beginners in their journey to understanding the terminal and learning how to use it. The terminal is such an amazing tool when you know how to use it, it's much more efficient and fast than using GUI applications. Once you know how to use the terminal the right way, then your one step closer to being a Linux Guru. I myself still have difficulties using the terminal on a day to day basis, but there's not been a single day where I didn't use it. You can't really use Linux without playing with the terminal, yes Ubuntu is making all of this easier for mom and dad, but for the hardcore folks out there it's still an integral part of the Linux experience. So, since it's so important, I wanted to make the terminal experience a little bit easier for those who start using it more extensively. And how did I do that? By constructing an awesome cheat sheet for Ubuntu and Debian users (although most of these commands work with the majority of distros):

Download Link

Download Link 2 (if other is broken)

The cheat sheet consists of all the basic commands (and more) that a Linux user should know how to use in the terminal. It is filled with practical examples that are not usually covered in traditional cheat sheets on the web. I know it's a pretty big cheat sheet, but it covers everything someone may need. I even think that veteran Ubuntu/Debian users will learn a thing or two. I know it will be missing a lot of stuff, since there is so much commands and things you can do with the terminal. I am always open to suggestions to make it better, since I may have forgotten some important stuff, but that's the point of putting it on the internet so that it grows. Anyway, since space was limited some commands may be a bit confusing, so if anyone has some questions about a command (or a better way to explain it) just leave a comment and I will do my best to answer you (or RTFM if you're really stuck, generally all your answers are there).

I encourage you all to share the cheat sheet so that many people may profit from it, just don't forget to link back here (please).

Good day to all.

Creative Commons License
Linux Bash Shell Cheat Sheet by Raph D. is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

_______________________________________________________________

Edit: Here is the html online version of the cheat sheet and to download it here is the zip file (outdated, but it's better than nothing)

Edit: It seems the html files aren't displaying properly in some cases, I'm sorry about that. I don't really have the time to make my own html file from scratch, at least the pdf is working.

Edit: Changed the title of the pdf file, and removed the god awful scribd frame.

Edit: Changed the title of the sheet to "Linux Bash Shell Cheat Sheet", because it is more appropriate

Edit: Added a CC  license to the cheat sheet

Posted
 

Why every new generation of programmers are becoming dumber than the last

(Disclaimer: This may not apply to everyone, this is just my view on this, if something is wrong please give me some constructive feedback)

 

Yesterday I was reading this article which appeared on Hacker News and it made me think a lot about about our generation and the ones to be (like myself). What I interpret from the article is that given some time, any skill will disappear/be replaced by something simpler. And in some cases the skill is simply forgetten and never used again. A great example they gave in the article was that current developers don’t seem to know the inside of the machine (A.K.A How the raw machine works). What’s the purpose of programming if you assume the rest is just “magic”. Use of High Level programming languages are great for speeding development time, but when there is a problem (like some program that runs slow for some “magic reason”) and you don’t know the why’s and the how’s because you don’t know what is happening at a lower level, then what’s the point?

Faced with a lower level problem, people are just as clueless as the bag of chips lying next to them.

Let me give you a real world example:

Let’s say that John Doe is driving his brand new beautiful Ferrari and suddenly his car stops working. John gets out of the car and starts panicking, why does his brand new car not working? Why is it not behaving like how he was informed it would when he bought it 5 hours ago? While he is panicking, John spots a car that is coming his way, waving his hands he alerts the car and the driver stops right in front of him.

-Man, what gives?

-Why did my car stop? It’s brand new and already broken!

The stranger investigates a little bit

-Well from the time you bought your car to now did you maybe think of refuelling?

-Refuelling? What does that mean?

-It means to put more fuel in the car (fuel tank) so that the engine can work and make the car go forward.

-Why would I need to know the inner workings of the car? All I need to know is how to drive, the rest isn’t important...Well that was before this happened, now I'm screwed.

-What do you mean it’s not important?! You have to know at least a minimum of how the car works if you want to be efficient and solve your own problems! [...]. ← I could go on forever, but I’ll leave it here.

Here in my little story you could say that John is a simple C++ developer and the stranger is let’s say a C++ developer with some assembly knowledge. John didn’t understand the why’s and how’s of his problem, he just knew the basic functions of how to use the object, so he immediately asked for help to the stranger who luckily had some knowledge of the inner of the car (a lower level language) to help John with his problem. You see, if more people would take the time to understand how stuff work, there would be less dumb questions on SO and programs would run better (It’s a win-win).

Another reason the new generation of programmers are becoming dumber is because of the infamous flow of frameworks. It seems that everyday there is a new framework which is revolutionary, but that’s for another debate. Again, like high level languages it makes development time a bit shorter, but it also hides a whole part of the language and limits the possibilities you can do with it (limiting creativity). A good example here (friendly example, OK?) would be jQuery: Some people will only use it for quick adjustments/hacks to their website and that’s OK, what’s no OK is when it becomes the only thing you use and that you never go explore JavaScript to understand the why’s and the how’s. If a problem appears they won’t know what to do. What you can do is limited to what jQuery can do (not saying that it can’t do a lot of stuff..ooh shiny), that’s how it works (magic not included). What’s the fun of letting someone do all the work for you? On the short term it’s great, on the long term it’s not that great anymore since you’ll be lacking key skills when you won’t have access to your framework (or when you’ll have to use something different).

With that said, I’m starting to understand why the veteran programmers (those who worked their ass’s off) hate the new generation of developers. Back in their day (not saying that they are old) memory was a rare resource, you had to write efficient and optimized code so that the program worked as described with a couple K’s of ram and a CPU slower than my calculator (they had to squeeze all the spare juice out of the hardware). Now with 4 gigs of ram cheaper than 60 days of WOW and crazy fasts processors at sub 300$, programmers are letting themselves go overboard with resource management being an afterthought. Most of the problems now with programs/OS’s are that they are so bloated that my decent laptop and gaming computer has a hard time keeping up (Ubuntu 11.04 anyone?).

One thing I am always stressing about is “Am I learning the right way”, because learning the hard and difficult way makes you learn the right way since you have more possibilities of making errors and what better way to learn than to make error (and finding solutions of course), and with that comes a deeper understanding of the subject and how the inner works. That’s why I started with C++ (some may argue with me here) and slowly moving to some assembly to understand the why’s and how’s of C++. At my age I think it’s important the learn the right way instead of the bad and easy way (good habits are always welcomed).

Going back to my tough of programmers becoming dumber, taking everything for granted is not good. Making everything simpler is also not very good. Examples to back up these observations would be: automatic cars, our survival instinct on the verge of extinction...Let’s just say that Idiocracy wasn’t to far fetched: Instead of a steady climb of our intelligence we will slowly decline and become stupid. OK, this is probably a half-decent conclusion, but hey it could be true if we continue to loose valuable skills.

In the end, go do yourself a favor, go get your hands dirty and do your research on the why’s and how’s of your favorite programming languages (here is a start) and you will thank me when a problem pops out. Knowing how stuff work isn’t just great for you, it’s great for everyone.

And don’t forget: It’s always fun to learn new stuff.

Oh and while I have your attention, I would also like to get some feedback on my English (helps me write better for future posts).

Have a nice August Day inside.

Posted
 

Humble Bundle 3 - Awesome?

Humble_bundle_header

 

As a gamer I love finding new games to play and master, that's why I was so exited when I saw yesterday on Twitter that there was a new Humble Bundle (#3). I missed out on the last bundle so I was even more surprised and exited to see that if you gave more than the average amount of money you get the Humble Bundle #2 for free, now that's a bargain. This post will cover only the games from the Humble #3.

First, just wanted to point out a fun fact:

Payments

 

That's right, Linux Users seem to be more Humble by giving an average of 11.75$ to the developers and Charities (+1 to open powerness!). Windows users only give an average of 4.32$ and Mac users 7.05$. Before someone points out the flaw in my analysis, I know that Windows is the predominant platform when I comes to gaming and that the bigger the statistic sample is, the more accurate the results are. So to be a fair comparison it should be Linux vs Mac, because they seem to have an equal part of the pie chart (But I don't how frequent it updates). In the end, it doesn't matter if you give 1$ or 4000$, what matters is the thought of helping people by giving a reasonable amount to help the Indie dev's and the charities. I guaranty you that whatever amount you will give, the bundle will be totally worth all of your money.

Now, let's take a look at the games (bear in mind that these are quick reviews, I did not play each of them to completion, I just wanted to give you all an idea of each game before buying).

Crayon Physics Deluxe

Shot_00

The goal of the game is to draw shapes and paths so that the little red apple get's to the star. The first few levels are a piece of cake, but like any other game it get's tougher as you go. This is a great game to play with a friend, because it's always fun to try ridiculous complicated solutions to simple problems (and the game rewards you for doing so). The game's artwork is nice and clean, it's a bit simplistic but it's a perfect fit for this kind of game. The only major downside is the screen resolution since you can't go higher than 1024x768 pixels and the game doesn't look very good in full screen on a 1080p monitor. All in all, this is a great game to kill some time. Final score: 7.5/10

Note: The game wouldn't run on Ubuntu 10.10 for some reason, will update when the issue is resolved.

VVVVVV

Vvvvvv_everything

VVVVVV is a very fun game. Fans of pixel graphics will love (or hate) playing this game. There are basically 3 buttons to press while playing: left and right arrow keys (or A and D) && the action button (space, enter, v or w) to fly to the ceiling (or to come back to the ground). The story of the game is pretty simple, your ship has crashed and 5 of the crew is lost (for more details go buy the game!). This game is frustrating as hell and that's what makes it awesome. Here is one of the passage where it's frustrating (in a good way) and completely mental (Veni Vidi Vici):

The game is in some ways open world because you have no limits to where you can go (you just have to explore a lot, and be prepared to get lost and go round and round past the same places). There is no lives so it's try and reset - try and reset *infinite and there are checkpoints in every area, so the games helps you in some way, but it's still hard as hell. This is a great game for those old school folks or for people who like me, did not have the chance to be born in the 80's... Final score 9/10.


Hammerfight

For some reason, the game didn't want to work on my windows machine and since it's not on Linux I'm screwed, so while waiting for an update here is the game on Metacritic and the trailer for the game:

And Yet It Moves

And-yet-it-moves-20090402111844021_640w_1240353651

The first time I saw the game I was like: What the hell. And I was right, this game is a big WTF. Not that it's a bad game, it's just that I hate that kind of artwork, if I really wanted to have something made with paper I would take out my old arts and craft stuff from kindergarten and make something that looks better. To get back to the game, the concept is good: you have to use the arrow keys to make the world shift on a 360° axis to make you character move in the world. Basically you have to go to point A to point B the fastest way possible without dying (which is kind of difficult). The variety of terrains are good with fire, grass and rock levels to make things more challenging. Again, the game wouldn't want to work on Ubuntu 10.10 (my laptop sucks by the way) but on windows it worked like a charm.  Bottom line this is a good game with shitty artwork (whom some will love). Final score: 7/10

Cogs

Gears

Not surprisingly, I left the best for last: Cogs. Cogs is a puzzle game where there are gears, pipes & bells (as of my knowing of the first few levels). It's a fast paced game where quick thinking and fast action is required (if you want the best score). These kinds of game are where I excel and where I have the most fun. The challenge is there, if I finish a level without having all the stars I start over again, and again, and again, and again until I get all the points. There is no story, just puzzle solving which I find perfect for this kind of game. The graphics are great, it has a nice steampunk style and there are plenty of options for customizing the graphics if you don't have a great gfx card. There is even a netbook version available. It suffers from the same problem as Crayon Physics Deluxe, 4:3 is so 2003 but after doing a bit of research I read on the steam forums here (2010) that the team is focusing on delivering more quality puzzles than adding a 16:9 UI, and I'm cool with that (better graphics != better game). For everyone who likes a good puzzle game. Final score: 9.5/10

_______________________________________________________________
The Humble Bundle has a huge value if you consider everything you get (HB 2 & 3) for the low price of whatever you want. And as cool Bonus you get to encourage the Indie dev's, organizations and charities to which the money will go to. Oh and sorry for the long post, the next ones should be less hardcore.

Buy the Humble Bundle

Update: They have added two new awesome games to the Humble bundle, go check'm out!

Steel Storm

Atom Zombie Smasher (Announcement video)

Posted
 

Hello, World!

Ones way of truly expressing himself is to start a blog. My name is Raphael, a 16 years old Quebecer who loves technology (in an almost obsessive way). Technology has been shaping our everyday lives and I wanted to be a part of it by making my little contributions to the internets. First, I just want to give you all a rought idea of what I will write about on my posterous blog...Open source software developpement news & reviews, some Ubuntu/Linux talk, some programming when I find something worthwhile sharing that no ones know about, &...well let's just say I'm improvising a tinsy bit. I was tougth to be spontanious so here I am, starting my first real blog alone on teh internetz. Of course I have this blog which is my school blog where I post my essays and articles in French (yeah, because I'm a Quebecer, remember? Vive le français!...not). This blog will help me improve my english writing and help me understand the world so that one day, I can do some amazing things! To finish up this first post, I just wanted to say the obligatory Hello, World! statement because who starts a geek blog without saying the magic 2 words? Not me. so yeah, welcome to freeworld.posterous.com*

#include <iostream>
 
using namespace std;
 
int main()
{
        cout << "Hello, world!" << endl;
        return 0;
}

*I may buy my own domain name soon, if this blog get's a couple of clicks.

 

Posted