Hitchhiker Tux' Guide to Galaxy


Published on

Innovation course writing

Published in: Entertainment & Humor
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Hitchhiker Tux' Guide to Galaxy

  1. 1. HITCHHIKERTUX’ GUIDETO GALAXY Lisp C Perl Python PHP Javascript Scratch OPERATING SYSTEM BROWSER INSTANT MESSAGING OFFICE Programming: when the ideas turn into the real things Maciej Kaczmarek
  2. 2. I am Tux, a special penguin.I live in an universe called computer.In this universe, I am the rulerLet’s be more clear:This machine, computercan do anything you wantin a way you liketrue, a car can only take you a ride a dishwasher only cleans dirty dishes but computer adapts, every object every tool, which would make it way universal
  3. 3. A ‘program’ gives set of instructions always bothered computer by saying what to do an operator system decides in which order it should do I said, I decide here; if we become close, you can decide, tooI regulate the order of executionslike your mother saying: shoulda brushed your teeth after every mealif she does not order your life, would you go your bed at ten?you know, you could not do, and fell asleep at school timeand cannot see the girl you would fell in loveHey, we need order, computer needs order moderator will give, do not wonder Aye how wonderful operator system I am I know operating as if coded on my genes my creator has been an operator, Linus Torvalds my father has been an operator, Unix I am a main operator, Torvalds Unix – say just Tux - Oh, they say there are few more mains, Windows and MacOS laugh with me brothers, I rule 90% of 500 fastest computersI am the only one having made his code open people can see me, I let them modify my inside my daughter, sweet Android, can run on mobile still people call mains these means you are not one of them, aren’t you?
  4. 4. Tux: Hey, Fox! What do you dFox: Don’t you remember? I wmake people surf on web as enas surfing on sea waves in sumA layout engine to show the win design, it will make you expWith tabbed browsing, no newUnlike life where new windowDo not worry my fellow, I holdYou know, you should check tLike the spell checking I provif you wrote something wrongTux: Thanks Fox, really thankhow are you?!Fox: Huh, fine. I am still compwith the others all the way.Tux: What makes you differenFox: Do you want to use SafaWhich one would you prefer:as dedicated myself to my worI am so generous that I made mso that anybody can change it
  5. 5. do?work in Firefox browser njoyablemmer. web pages;perience latest progressw window for each pagews are gonna open after each page d a special security mode for that the life’s going and fix itvide;g, I would warn you to fix it.ks, but I meant what do you do,peting nt than them anyway?ari or Opera instead of me? Internet Explorer, Chrome or me? rk, I work free. my code opent for better.
  6. 6. Tux: Don’t be this touchyFox: February 2012, I am sestress tests.Yet have 25% market shareTux: Please being third moLet’s change the subject.Umm, where does your namFox: Initially, my father nabut it wasn’t unique, therthen I tried to keep it simiMy main feature was secuhence I get a name from Rwhich secretive and gentleTux: Fine, you know I do nBy the way, I am downloadthen I gotta go and I ruinFox: With my download maand resume later.Tux: What if I like a webpand forget which one it wFox: I will market to your fyou can have fast access tTux: Thanks buddy! I gott
  7. 7. y; you are my friend, I use you.elected as the winner of browser e. ost popular is not bad. me come from?amed me Firebird;re were too many birds, ilar to my older.urity, Red Panda, e creature.not have much time. ding a big file, the downloaded file. anager, you can stop download,page, then I gotta gowas. favorite websites, to them later.ta go, see you later.
  8. 8. Tux: Hey! ThunderBird what can you do for my friend?ThunderBird: I provide an easy to use interface for email, news-group and news feed. With extensions, my interface is highlycustomizable. First, I can manage multiple email accounts, thisis important because people should have been in different net-works to utilize all of them. There are extensive search capabili-ties with the option of saving search results for performance.Advanced message filtering prevents you from being disturbed.Notification and labels reminds you important tasks. Tux: Ok but what about security? I am a security addict. I can’t use anything insecure. ThunderBird: I use secure protocols to send and get emails. For archiving, I support Pretty Good Privacy.
  9. 9. Tux: Pidgin, How are you? what do you do?Pidgin: I enable you to talk to your friends in real time.That’s why my name is instant messenger.Mainly, you can easily control your contact list,and conversation and so their log.You can also transfer files.The best is that you can do it with friends indifferent networks such as Google Talk, Facebook, YahooMessenger, MSN, Jabber or QQ.Tux: Good good! Security!Pidgin: Shame on you, Tux.I respect privacy so off the record mode.Tux: Well done! Tell me the sourceof your name.Pidgin: I was written by a studentas copying features from AOL InstantMessenger by using big graphic libraryGTK+, code base to be used for other programs, to be able to runon you so my name was GAIM,but copyright issues have arisenand my name should have been changed.It became Pidgin because it describesa communication between two peoplethat don’t share a common language.
  10. 10. CHAPTER I:Baby Steps:Programming
  11. 11. You see my friends. Do you want to write next genera-tion of them? However, you should know programming but don’t worry I know wise cat, Scratch, she can teach you. Tux: Hey! Wise cat, here is my friend, could you teach programming? Scratch: Sure, that’s why I am created. I provide you an interface so that you can drag and pull some blocks and come together like playing with legos. By this way, you will enjoy but also you will also produce nice animations. That’s all you need to know, go and give a try.
  12. 12. If you want to write one of these cool programs, you need to learn a programming language so I will introduce him and his army. He is the oldest and most powerful one so he is like an Tux: Hey, Lisp! Could you explain why you are an alien? Lisp: Because I seem as an alien language to most of the programmers in terms of my syn expressions. Moreover, I have very powerful features that other languages don’t have e words, not bits. Tux: Can you give some examples from your differentiating features? Lisp: I have talked S expressions, these are the main building blocks of mine. Data an code very easily. Tux: What is the advantage of it? Lisp: It is very important feature for artificial intelligence. For example, one robot light in the traffic. However, it can learn from the environment and correct its co Tux: It seems very useful. What else? Lisp: Since I am the first language, I am the pioneer of various paradigms such a tive data structures or self hosting compiler. Tux: I got confused! Could you explain them? Lisp: Haha! This is normal because they are very advanced, that’s why most o that translates a program that is written in a high level language to machine can be written in any language, even in machine code. If a language has a co self-hosting. In real life, most of things show social structures which in tur manipulation of these abstractions. Think about your friends, they also c When programmers are doing manipulations, they need memory to store r they require according to type of their result. I don’t require this. To m your bicycle with this name but then you sold your bicycle and bought same name. As you see, name isn’t bounded to a specific type. Automa programmer wants to store an object, he should measure how much m of memory. Moreover, when he is done with memory, he should retu run since they don’t have enough memory. This is the scenario of ot Tux: Wow, I now understand why they behave you as an alien but o these lists and parentheses. Lisp: You are correct, Tux. I made List Processing shorter. Lisp: We can live with some bugs happily but one of them can p to command you before you notice. That’s why you need specia Here is my army:
  13. 13. e. There are nearly 60K programming languages but Lisp is different n alien that comes from another planet.ntax. Everything must be between parentheses which are called Seven if I am the first high level language which is written by key-nd code are kept in the same way so a program can modify itst is programmed by mistake to pass through when it sees red ode.as automatic storage management, dynamic typing, innova-of the languages don’t have them. Compiler is a program code that can be directly executed. Moreover, compiler ompiler that is written by itself, then this language is rn make a graph. I make easier the representation andcreate a social graph. The other one is dynamic typing. results and they should specify how much of memorymake it more concrete, you have a name, you are calling a computer and started to call your computer with atic storage management is very self-descriptive. If a memory he needs, then he should allocate that muchurn the memory back otherwise your programs cannot ther languages, I handle of them for you.one final thing, I guess that your name comes fromproduce new bugs exponentially and they can start al weapons and tools to make a war against them.
  14. 14. DSL GUILD HOT RODES I am very similar to macro guild and basically I am an extreme version macros. Lisp only uses parentheses so it has a very simple syntax. Moreover, it stores and behaves its code and data in the same way. Therefore, the code of the program can be modified by itself. I help you modify the language ac- cording to your needs. Since you get only what you need in terms of syntax, complexity and features, you know t the domain.
  15. 15. CO NTUNIATION GUILD ROCKET POTS Do you know the movie called Back to the Future? If so, you know what I am useful, otherwise, let me explain. I take you to time travel in code. With my help, you can write a code that runs from end to start or in other crazy ways you can think of. Moreover, I help you for an advanced technique, nondeterminism. For example, you are lost in a maze and searching the way to the exit. Program can divide itself into multiple particles and each particle can go in different directions and continue the search. The good part is that if one of the particles finds the exit, all particles instantaneously come together. In a reality, a particle cannot be exist in different places at the same time so you need to try one path as much as you can and when you come an empty result, you should roll back to the point where you have chosen the path you have tried and choose the other path and continue searching new path. You see that all these roll- backs make the code complex and buggy but I can handle them and you need to write only logic.
  16. 16. I am the pioneer of the functional programming which is the maincombination of mathematics and programming. I have some principlesthat the programmer must conform. At first, they can be seemeddifficult to get used to but I want them for their goodness so if they getused to my principles, they will be more productive and be able to writemuch more elegant code. If you are similar to functions in math, youalready know me.My main principle is that the data on which the function does theprocessing must be a parameter passed to function, local variablethat is created by the function or a constant. Moreover, a functioncan not creat side effects so it can’t write to disk, print hellomessages on the screen or do anything other than preparing its result.Well coded functions according to my principles can do only onething that is returning a result and it is independent from therest of the program. The only dependency is on its parametersand so if you give same parameters infinity times, it willreturn the same result. Therefore, if there issomething going on wrong, we can separate the function and debug it. FUNCTIO GUILD CR
  17. 17. MACRO GUILD MELEE FIGHTERS With my help, progra mmers can build t their new cool features by creat- ing compiler orONAL interpreter that understands the new feature in a elegant way. I prevent the programmer from duplicate the code and enable him to tailor the language for the problem. RUISER Main building block is logic and its main keyword is if. When writing a program, encounter 2 values, you may need to test these and process them specially and do sth else for the rest then with my help, you can write three way if keyword.
  18. 18. I In other languages you need to set a value for a variable but I can run a generic set method, get its result and set it to variable. Basically, I can bind a variable to a method or more complex structures. Since I can abstract the logic and do the hard part for you, code is simple. The simpler code is, the less bug it contains. GENERIC SETTERGUILD SUPPLY CHAIN
  19. 19. DSL GUILD HOT RODESR I am similar to macro guild, but an extreme version macros. Lisp only uses parentheses, very simple syntax. It stores and behaves its data in the same way. The code of the pro- gram can be modified by itself. I help you modify the language according to your needs. Since, you get only what you need in terms of syntax, complex- ity and features, you know the domain and do less errors.