background preloader

10 open source books worth downloading : Tectonic - The Source for Open Source News

10 open source books worth downloading : Tectonic - The Source for Open Source News

Free Audiobooks and eBooks - Librophile PHP: a fractal of bad design - fuzzy notepad (This article has been translated into Spanish (PDF, with some additions) by Jorge Amado Soria Ramirez — thanks!) Preface I’m cranky. I complain about a lot of things. There’s a lot in the world of technology I don’t like, and that’s really to be expected—programming is a hilariously young discipline, and none of us have the slightest clue what we’re doing. This is not the same. PHP is the lone exception. PHP is an embarrassment, a blight upon my craft. But I’ve got to get this out of my system. An analogy I just blurted this out to Mel to explain my frustration and she insisted that I reproduce it here. I can’t even say what’s wrong with PHP, because— okay. Stance I assert that the following qualities are important for making a language productive and useful, and PHP violates them with wild abandon. A language must be predictable. My position is thus: I can’t provide a paragraph of commentary for every single issue explaining why it falls into these categories, or this would be endless.

Learn Linux, 101: A roadmap for LPIC-1 About this series This series of articles helps you learn Linux system administration tasks. The topics mirror those of the Linux Professional Institute Certification (LPIC) level 1 (LPIC-1) exams. You can use the articles to prepare for certification, or just to learn about Linux. There are two exams for LPIC-1 certification: exam 101 and exam 102, and you must pass both to attain LPIC-1 certification. The material in these articles corresponds to the April 2009 objectives for exam 101 and exam 102 You should always refer to the objectives for the definitive requirements. This roadmap is in progress; as we complete articles, we add them to the roadmap. Note: New material will be added over the coming months as it becomes available. Exam 101 Exam 101 - Topic 101: System architecture Where are the articles? Back to top Exam 101 - Topic 102: Linux installation and package management Exam 101 - Topic 103: GNU and UNIX commands Where are the articles? Exam 102 Where are the articles?

Writing Buffer Overflow Exploits - a Tutorial for Beginners 1. Memory Note: The way we describe it here, memory for a process is organized on most computers, however it depends on the type of processor architecture. This example is for x86 and roughly applies to Sparc. The principle of exploiting a buffer overflow is to overwrite parts of memory that are not supposed to be overwritten by arbitrary input and making the process execute this code. To see how and where an overflow takes place, let us look at how memory is organized. A page is a part of memory that uses its own relative addressing, meaning the kernel allocates initial memory for the process, which it can then access without having to know where the memory is physically located in RAM. - Code segment, data in this segment are assembler instructions that the processor executes. - Data segment, space for variables and dynamic buffers - Stack segment, which is used to pass data (arguments) to functions and as a space for variables of functions. 2. What happens here? 3. 3a. 3b. 4. 4a. 4b.

Do You Use Linux? The RIAA and MPAA Don’t Want You To Use This Program | fsckin w/ linux Have you ever used PeerGuardian for Windows? Well good news my friend, there’s a Linux alternative available. PeerGuardian is a program that blocks companies such as the RIAA and their affiliates (such as Media Defender) from connecting to your computer when you are running P2P software. This is not foolproof by any means, but certainly a step in the right direction. When I used Windows, one of the programs I used to protect my online privacy was PeerGuardian. Now that I’m using Ubuntu full-time, I’d like to find an alternative. A quick google search found that PeerGuardian actually has a Linux client, but the installation is far more difficult than another program I found called MoBlock. Ok, now I know we’re looking at the rest of this document and saying, “Sh! It’s actually really easy if you follow it step by step, and if you have any questions, feel free to comment and I’ll do my best to help you out. Deep breath, here we go. First, we edit sources.list to add a repository:

Contents Preface I wrote this book really quickly as a way to bootstrap students for my other books. Many students don't know how to use the basics of the command line interface, and it was getting in the way of their learning. This book is designed to be something they can complete in about a day to a week and then get enough skill at the command line to graduate to other books. This book isn't a book about master wizardry system administration. Introduction: Shut Up And Shell This book is a crash course in using the command line to make your computer perform tasks. The only piece of advice I am going to give you is this: Shut up and type all of this in. Sorry to be mean, but that's what you have to do. You are not going to destroy your computer. Why? How To Use This Book The best way to use this book is to do the following: Just keep going through this process of doing an exercise, writing down questions you have, then going back through and answering the questions you can. License I (Zed A.

vi tips and tricks: Ten cool commands sure to impress your friends When coming to grips with the vi editor—either for the first time or as a regular user—most people tend to have a grasp of the core command set that allows them to perform those functions they use most regularly: navigating or saving a file; inserting, updating, deleting, or searching for data; or quitting without saving changes. However, the vi editor is extremely powerful and rich in features and functionality. Even after many years of use, you can still uncover new commands that you didn't realize existed. The commands covered in this article are amongst those less well known, but they can help you to work smarter by short-cutting existing methods you may use or allowing you to do something that you never realized you could do with vi. Before we start just a recap on the two modes of vi: command and insert. Command mode allows the user to execute commands to modify text, navigate around the file or control your vi session in some way. Turn line numbering on and off Listing 1. #! #! #! 4!!

howtoubuntu After Installing Ubuntu 14.10 Utopic Unicorn, there are a wealth of things that need to be dealt with, including Hardware Drivers, DVD, Audio and Video Codecs, Archiving formats, generally useful stuff. These instructions presume you are proficient with PPAs, .Debs, and other terminal commands, Ubuntu Tweak, and require a full set of video, audio, and archive codecs, as well as Skype, Flash, and a truck-load of wallpapers. Warning Using the sudo command can result in severe system damage. Make sure you type commands correctly, or copy and paste the entire code. 2. Both GetDeb and PlayDeb are repositories, sources of updates for actual software you have or will have installed. While this may look like an awful lot of code for something that should be relatively simple, you should know that while GetDeb and PlayDeb are repositories, they're not launchpad hosted, and hence a little more difficult to add. LibDVDCSS is a library required for reading some DVDs. 7. 8. 9. 10.

6 Steps to Becoming a Software Developer Deciding to become a software developer is a great initial step, congrats! The job opportunities are growing quickly and in just about every industry that you can imagine. The best part is that you do not necessarily have to go to a four year university to become a great software developer to lock down one of these jobs. 0. Codecademy - JavaScript coursesCode School - Rails, jQuery, CoffeeScriptTryRuby - Really fun way to spend 15 minutes learning some RubyTreehouse - Web design (CSS, CSS3, HTML, HTML5, Responsive Design), web development (HTML5, JavaScript, and Intro to Programming), and iOS (build iPhone and iPad apps) 1. University CoursesNon-University Resources Books 2. Stack Overflow - Lots of questions and answers on the site to search through, the difficult varies greatly too, so you can use it in all stages of your progression as a software developer.Hacker News - A blend of sharing information on startups, engineering, and other tech related subjects. 3. 4. [Bonus] 5.

Open CourseWare for Linux Geeks: 50+ Resources The Open CourseWare movement is centered on freedom of information, so it's only natural that Open CourseWare offers education on an open format such as Linux. Whether you're just getting started or are an advanced developer, there's something out there for you to learn. Here, we've highlighted more than 50 of the best Linux courses you can take. Introduction If you know nothing about Linux, take some time to get familiarized with these courses. An Introduction to Linux: Visit this course to get an introductory look at Linux and find out why you might want to run Linux. Use In these courses, you'll learn all out great ways to get the most out of Linux. Free Software for Busy People: In this resource, you'll learn about switching to Open Office and other free Internet tools. Administration Are you a network administrator? Linux Network Administration: In this course, you'll cover all the details you need to know about for Linux network administration. Business Novell Concepts Development

10 operating systems you've never heard of: 6-10: Compact code to DOS compatibility 6. KolibriOS Goal: Extreme performance and compact code size Web: www.kolibrios.org Without a doubt, KolibriOS wins the award for the most ambitious project in this feature. It's a fully fledged OS written entirely in assembly language. The KolibriOS team has managed to squeeze pre-emptive multitasking, a graphical desktop, TCP/IP networking, USB support, media playback and many other features onto a 1.44MB floppy disk. Booting 'kolibri.img' brings you to the desktop in just a couple of seconds. It's all tremendously impressive, and while KolibriOS will never challenge the main OS trio's desktop supremacy, it shows what can be achieved with careful coding, especially as we're so used to bloatware nowadays. 7. After Unix had flown out of the Bell Labs nest in the 1970s, the developers kick-started a new research project to scratch their programming itches. Ultimately, Plan 9 hasn't achieved anywhere near the same level of success as Unix. 8. 9. 10. First published in PC Plus Issue 288

10 Papers Every Programmer Should Read (At Least Twice) I spent most of yesterday afternoon working on a paper I’m co-writing. It was one of those days when the writing came easy. I was moving from topic to topic, but then I realized that I was reaching too far backward – I was explaining things which I shouldn’t have had to explain to the audience I was trying to reach. When I first started writing, one of the pieces of advice that I heard was that you should always imagine that you are writing to a particular person. It gets your juices going – you’re automatically in an explanatory state of mind and you know what you can expect from your audience. I was doing that, but I noticed that I was drifting. The problem I was experiencing is only getting worse. So, I was thinking about this and trying to not to get too glum. We’ve taken an interesting turn in the industry over the past ten years. Here’s the original list. Most are easy to read but some are rough going – they drop off into math after the first few pages.

jMonkeyEngine 3.0 | Java OpenGL Game Engine 45 Free Online Computer Science Courses Missed lectures or hate teachers? Or want to study computer science courses without going to university? … You can study anytime anywhere because there are number of free online computer science courses available on internet that are very interactive. Here is the list of 45 free online computer science courses that are designed by teaching experts from best universities of the world (almost the whole graduation!). 1. Programming Methodology CS106A , Stanford University Course. Complete set of course materials. 2. This course is the natural successor to Programming Methodology and covers such advanced programming topics as recursion, algorithmic analysis, and data abstraction using the C++ programming language, which is similar to both C and Java. 3. Advanced memory management features of C and C++; the differences between imperative and object-oriented paradigms. 4. The purpose of this course is to introduce you to basics of modeling, design, planning, and control of robot systems. 5. 6.

Related: