background preloader

Programming

Facebook Twitter

OverAPI.com | Collecting all the cheat sheets. The Hitchhiker’s Guide to Python! Greetings, Earthling! Welcome to The Hitchhiker’s Guide to Python. This is a living, breathing guide. If you’d like to contribute, fork us on GitHub! This handcrafted guide exists to provide both novice and expert Python developers a best practice handbook to the installation, configuration, and usage of Python on a daily basis. This guide is opinionated in a way that is almost, but not quite, entirely unlike Python’s official documentation. Let’s get started! Getting Started with Python New to Python? Properly Install Python Writing Great Python Code This part of the guide focuses on the best-practices for writing Python code. Scenario Guide for Python Applications This part of the guide focuses on tool and module advice based on different scenarios. Shipping Great Python Code This part of the guide focuses on deploying your Python code.

Python Development Environments Additional Notes Note Contribution notes and legal information (for those interested). PythonBooks - Learn Python the easy way ! PHP: The Right Way. AppCoda Community - Learn iOS Programming and Build iPhone App. Natural Language Processing. Human-Computer Interaction. Software Engineering for Software as a Service. Design and Analysis of Algorithms I. About the Course In this course you will learn several fundamental principles of algorithm design. You'll learn the divide-and-conquer design paradigm, with applications to fast sorting, searching, and multiplication.

You'll learn several blazingly fast primitives for computing on graphs, such as how to compute connectivity information and shortest paths. Finally, we'll study how allowing the computer to "flip coins" can lead to elegant and practical algorithms and data structures. Learn the answers to questions such as: How do data structures like heaps, hash tables, bloom filters, and balanced search trees actually work, anyway? Course Syllabus Week 1: Introduction. Week 2: Running time analysis of divide-and-conquer algorithms. Week 3: More on randomized algorithms and probability. Week 4: Graph primitives. Week 5: Dijkstra's shortest-path algorithm. Week 6: Further data structures. Recommended Background Suggested Readings No specific textbook is required for the course.

Course Format. Cryptography. Probabilistic Graphical Models. About the Course What are Probabilistic Graphical Models? Uncertainty is unavoidable in real-world applications: we can almost never predict with certainty what will happen in the future, and even in the present and the past, many important aspects of the world are not observed with certainty. Probability theory gives us the basic foundation to model our beliefs about the different possible states of the world, and to update these beliefs as new evidence is obtained. These beliefs can be combined with individual preferences to help guide our actions, and even in selecting which observations to make. In this class, you will learn the basics of the PGM representation and how to construct them, using both human knowledge and machine learning techniques; you will also learn algorithms for using a PGM to reach conclusions about the world from limited and noisy evidence, and for making good decisions under uncertainty.

Course Syllabus Topics covered include: Introduction and Overview. 30 Days to Learn jQuery. Codestre.am: streaming your code to the masses. JavaScript pattern and antipattern collection. Tutorials. Table of Contents - Mixu's Node book - Mixu's Node book. Ruby and Rails Special Topics - Jumpstart Lab Curriculum. Teach Yourself to Program. The Hacker Shelf | Community-curated collection of free books for the intellectually curious. SSH tricks. Why SSH? As recently as a 2001, it was not uncommon to log in to a remote Unix system using telnet. Telnet is just above netcat in protocol sophistication, which means that passwords were sent in the clear. As wifi proliferated, telnet went from security nuissance to security disaster.

As an undergrad, I remember running ethereal (now wireshark) in the school commons area, snagging about a dozen root passwords in an hour. SSH, which encrypts and authenticates connections, had been in development since 1995, but it seemed to become adopted nearly universally and almost overnight around 2002. It is worth configuring SSH properly: per-user configuration is in ~/.ssh/config; system-wide client configuration is in /etc/ssh/ssh_config.

Key-based, passwordless authentication Key-based passwordless authentication makes it less cumbersome for other programs and scripts to piggyback atop SSH, since you won't have to re-enter your password each time. To set this up, first log in to the client machine. Backbone patterns. Building apps with Backbone.js Here, I try to document the good practices that our team has learned along the way building Backbone applications. This document assumes that you already have some knowledge of Backbone.js, jQuery, and of course, JavaScript itself. Table of contents Thanks. Git - the simple guide - no deep shit! Git - the simple guide just a simple guide for getting started with git. no deep shit ;) by Roger Dudler credits to @tfnico, @fhd and Namics this guide in deutsch, español, français, indonesian, italiano, nederlands, polski, português, русский, türkçe, မြန်မာ, 日本語, 中文, 한국어 Vietnamese please report issues on github Infuse analytics everywhere with the AI-powered embedded analytics platform.

Start your free trial.ads via Carbon setup Download git for OSX Download git for Windows Download git for Linux create a new repository create a new directory, open it and perform a git init to create a new git repository. checkout a repository create a working copy of a local repository by running the command git clone /path/to/repository when using a remote server, your command will be git clone username@host:/path/to/repository workflow add & commit You can propose changes (add it to the Index) using git add <filename> git add * This is the first step in the basic git workflow.

Pushing changes branching log. Happy Fun Coding. Backbone Fundamentals – A Free Work-In-Progress Book For Developers Of All Levels. About a week ago, I began working on a new article about Backbone.js. It was due to cover some concepts and insights intermediate or advanced users might appreciate, but I found myself wanting to reference topics beginners might need to know if they wanted to get the most out it.

Quite a few of them. In the end, I decided it might make more sense to just write a book on Backbone instead. Something free, targeted at developers of all levels, that I could reguarly update easily and perhaps get some input on from the community (if they were up for it). I called it Backbone Fundamentals. If you'd like to check it out, you can find the work-in-progress book on GitHub :) Why write a book? Now, there's a plethora of (great) posts about Backbone out there I could have just linked to – many of which are well written and respected, but I began to think about my own journey of learning how to use the framework.

Backbone Fundamentals Backbone Fundamentals hopes to change that. Contributing What's next? Advanced Bash-Scripting Guide. 30 free programming eBooks - citizen428.blog() Since this post got quite popular I decided to incorporate some of the excellent suggestions posted in the comments, so this list now has more than 50 books in it. BTW: I’m not very strict on the definition of “ebook”, some of them are really just HTML versions of books. [UPDATED: 2012-01-18] Learning a new programming language always is fun and there are many great books legally available for free online. Here’s a selection of 30 of them: Lisp/Scheme:Common Lisp: A Gentle Introduction to Symbolic ComputationHow to Design ProgramsInterpreting Lisp (PDF, suggested by Gary Knott)Let Over LambdaOn LispPractical Common LispProgramming in Emacs LispProgramming Languages.

Application and Interpretation (suggested by Alex Ott)Simply Scheme: Introducing Computer Science (suggested by Peter AronoffSuccessful Lisp: How to Understand and Use Common Lisp (suggested by Juanito)Structure and Interpretation of Computer ProgramsTeach Yourself Scheme in Fixnum Days. WiBit.net. Addyosmani/backbone-fundamentals - GitHub. Code School. Efficient JavaScript. Traditionally, a Web page would not contain much scripting, or at least, not much that would affect the performance of that Web page. However, as Web pages become more like applications, the performance of scripts is having a bigger effect.

With more and more applications being developed using Web technologies, improving the performance of scripts is becoming increasingly important. With a desktop application, a compiler is normally used to convert the source into the final binary. The compiler can take its time, and optimize as much as possible for good performance of the final application. Web applications do not have that luxury. Browsers are fairly good at achieving this, and Opera has one of the fastest scripting engines of any current browser. This article will show several simple changes that can be made to improve the performance of your Web applications.

Quick Tips ECMAScript Document loading ECMAScript Avoid using eval or the Function constructor Rewrite that eval Avoid using with. Web development tutorials, from beginner to advanced. The Best Way to Learn Rails. I come from a PHP background, but these days, I'm a full-time Rails developer. The difficulty for most people who make the switch lies in the learning curve that’s involved. Once you've become proficient in a language or framework, switching to a new one feels like an unnecessary (and time-consuming) challenge. However, learning Ruby and Rails is actually pretty easy! It's an incredibly powerful framework, and has a huge community pushing it along. This article details a full lesson plan that will get you up and running in no time! You might think learning Ruby is the most important step, and this is probably the part where everyone stops learning and just sticks with their current framework.

Work through the Try Ruby exercises. The most recommended tool for dipping into Ruby's syntax is the Try Ruby website. Once you’ve worked through these exercises a couple of times, you'll have a solid base. Run gem install rails to install Rails. Next, you need to install Rails. Great! How DRY impacts JavaScript performance // Faster JavaScript execution for the lazy developer. Free - List of freely available programming books. Learn to code. Tutorials. Video Tutorials Links to videos that cover the Processing basics. Hello Processingby Daniel Shiffman et al.Short video lessons introduce coding exercises that lead to designing an interactive drawing program. Welcome to Processing 3by Daniel ShiffmanWhat's new in Processing 3?

Dan walks through the new features and changes. Debugby Daniel ShiffmanLearn how to pause and step through your running code with the Processing 3 Debugger. The Coding Trainby Daniel ShiffmanAll aboard the Coding Train with Daniel Shiffman, a YouTube channel dedicated to beginner-friendly creative coding tutorials and challenges. 2D Animation & Interactionby Andrew GlassnerAn 8-week online video class that will teach you to create powerful, expressive, and interactive computer graphics. Plethora Projectby Jose SanchezThese video tutorials cover issues of programming and computational design issues in Processing. Text Tutorials A collection of step-by-step lessons covering beginner, intermediate, and advanced topics. PHP for Beginners: Building Your First Simple CMS. By Jason Lengstorf On CMS, php #The Magic of PHP + MySQL It's safe to say that nearly every website that's up-to-date these days is using some form of content management system (CMS).

While there are a ton of great free options that provide us with a CMS to power a website (WordPress, Drupal, etc.), it doesn't hurt to peek under the hood and get a feel for how these systems work. To get our feet wet as back-end developers, we'll be creating a simple PHP class that will: Create a databaseConnect to a databaseDisplay a form with two fieldsSave the form data in the databaseDisplay the saved data from the database Download Files This class is intended to give you a feel for how PHP and MySQL interact together, and to show the basics of a CMS. #Building the Class Our first step is to simply lay out the class in a file named 'simpleCMS.php' so we have a road map to work with. As you can see, we're creating one class with four variables and five methods.

#The Variables #Build the Database <! <? #Related. Python for the Web. The theme music for this blog post is: Air - Playground Love. Python is the best language in the world for interacting with the web, and I'm going to show you why. This article will give an extremely high level overview of how to use python for the web. There are many ways you can interact with the web using python, and this post will cover all of them. This includes python web scraping, interacting with APIs (Application Programming Interfaces) and running your own python web site using python server software. Interacting with Websites and APIs Using Python The single best package for interacting with the web using Python is 'Requests' by Kenneth Reitz. First, you'll need to install it. Once you have pip installed, run: pip install requests And now you have Requests installed!

The two methods you'll need the most are GET and POST. First let's take a look at GET. That's it! Now let's look at a slightly more complicated example. Now, let's try a POST request to send some data TO the server. YUI3 « Triptych. YUI3 is a modern javascript library that allows you to build cross-browser applications without having to worry about all of the issues you might run into with low level javascript coding. It provides a library of utilities as well as a host of best practices for web development. Needless to say I’m a big fan of YUI and I’ve written several articles about it over the past year or so. Here’s a list of those for your reference.Introduction to YUI: YUI Hidden Gems: Make it with YUI: Build a Simple Ticker in YUI Other YUI Articles: YUI Articles from around the web: YUI3 Quick Tip: Adding Your Own Awesome There are still many articles even of my own blog I’ve not listed here as of yet (so busy!)

The Unix Command Line: Text Files. By Gordon Davisson Copyright (c) 2002, Westwind Computing inc. Working with Text Files: more and less - display the contents of a text file, one screenful at a time (hit the spacebar to get the next screen). Note that this only works well with plain text files, not Word files, RTF's, PDF's, or anything else that contains formatting information. less also allows you to go backwards (type "b") in the file. In either one, type "h" for more detailed help. Examples: more /etc/inetd.config print the inetd.conf file to the terminal, one screen at a time. ps -ax | more use the ps command to generate a list of processes running on the system, and pipe them to more to display them one screen at a time. grep - search the contents of a text file, and print lines containing a given word or pattern. pico - edit the contents of a text file.

Vi and emacs - other text editors provided with the standard OS X installation. Tail - print the last few lines of a text file. Text File Format Compatibility: Happy Nerds - Programming Links for Kids. Ruby/Rails/iPhone screencasts. Code School - TryRuby. Peter/ruby_basic - GitHub. Cocoa Dev Central: Learn Objective-C. 2011. Useful Node.js Tools, Tutorials And Resources - Smashing Coding. Learning jQuery - Tips, Techniques, Tutorials. The Little Book on CoffeeScript. Replay your terminal recordings online! (capture shell terminal recording and replay online),

Interactive Vim tutorial. SEO Guide to Creating Viral Linkbait and Infographics - Distilled. 15 Sites for Learning and Mastering SEO. Scalable and Modular Architecture for CSS.