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!
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!
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.
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.
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 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.
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
(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.
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:
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_______________________________________________________________
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.
Update: They have added two new awesome games to the Humble bundle, go check'm out!
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.