Coding
Misc. links for stuff I mostly don't know much about yet.
General
- Pipe Logic - "In this model, a UNIX pipe acts like a wire, that is, a conductor with parasitic capacitance."
- http://www.zemanta.com/fruitblog/i-bet-you-over-engineered-your-startup/ - lol article and second
comment
Basics
Reference
- Hyperpolyglot - a programming language side-by-side reference sheet
- http://rosettacode.org/wiki/Rosetta_Code
- http://stackmonthly.com/
- http://james-iry.blogspot.com.br/2009/05/brief-incomplete-and-mostly-wrong.html
- http://web.archive.org/web/20060621084224/http://www.cse.ogi.edu/~diatchki/jokes/programmer.html
- http://programmers.stackexchange.com/questions/154733/my-boss-decided-to-add-a-person-to-blame-field-to-every-bug-report-how-can-i
- http://www.codinghorror.com/blog/2009/01/a-scripter-at-heart.html
http://stackoverflow.com/questions/662283/websites-like-projecteuler-net
Web
Workflow
- WikipediA: Refactoring
Books
- http://en.wikibooks.org/wiki/Computer_Programming
- WikiBooks: A-level Computing/AQA/Problem Solving, Programming, Operating Systems, Databases and Networking/Programming Concepts
- http://hackershelf.com/
- http://eric.themoritzfamily.com/books-every-self-taught-computer-scientist-should-read.html
Data structures
OOP
Messaging
- message queues and mailboxes are software-engineering components used for interprocess communication, or for inter-thread communication within the same process.
- ØMQ \zeromq\
- The socket library that acts as a concurrency framework.
- Faster than TCP, for clustered products and supercomputing.
<tef> but glyph is the serialization format really :-)
- MessagePack is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON but it's faster and smaller. For example, small integers (like flags or error code) are encoded into a single byte, and typical short strings only require an extra byte in addition to the strings themselves.
Functional
- A Gray Beard Explores F#
- Functional Languages 101: What’s All the Fuss About?
- Functional Programming for the Object-Oriented Programmer
- Functional and Object-Oriented Programming
Rest
- http://tomayko.com/writings/rest-to-my-wife
- http://www.infoq.com/articles/rest-introduction
- http://stackoverflow.com/questions/671118/what-exactly-is-restful-programming [2]
- http://jacobian.org/writing/rest-worst-practices/
- http://news.ycombinator.com/item?id=3538134
- http://stackoverflow.com/questions/1619152/how-to-create-rest-urls-without-verbs/1619677#1619677
- http://blog.steveklabnik.com/posts/2012-02-13-an-api-ontology
- http://blog.mugunthkumar.com/articles/restful-api-server-doing-it-the-right-way-part-1/
- http://www.spire.io/posts/rest-tutorial.html
Python
- pip is a tool for installing and managing Python packages, such as those found in the Python Package Index. It’s a replacement for easy_install.
- http://wiki.python.org/moin/BeginnersGuide
- http://docs.python-guide.org/
- http://www.python.org/dev/peps/pep-0008/
- http://blog.hartleybrody.com/2012/01/google-python/
- http://learnpythonthehardway.org/book/
- http://marakana.com/bookshelf/python_fundamentals_tutorial/index.html
- http://people.csail.mit.edu/pgbovine/python/tutor.html#mode=edit
- http://me.veekun.com/blog/2012/05/05/python-faq-webdev/
- http://www.scribd.com/doc/58306088/Bad-Ideas
- http://mezzanine.jupo.org/ - django cms
- http://www.sparklewise.com/django-settings-for-production-and-development-best-practices/
- http://arunrocks.com/blog/2012/03/05/building_a_blog_in_30_mins_with_django_%28screencast%29/
- http://brack3t.com/ajax-and-django-views.html
- http://hynek.me/articles/python-deployment-anti-patterns/
- http://satyajit.ranjeev.in/2012/05/17/python-a-few-things-to-remember.html
Ruby
Guides
Tools
- RVM is a command-line tool which allows you to easily install, manage, and work with multiple ruby environments from interpreters to sets of gems.
- The Ruby Toolbox
Gems
install ruby rubygems
- jim - jim is your friendly javascript library manager. He downloads, stores, bundles, vendors and compresses.
CMS/F
Perl
Lisp
C / C++
- http://c.learncodethehardway.org/
- The Development of the C Language*
- http://scienceblogs.com/goodmath/2006/11/the_c_is_efficient_language_fa.php
- http://oncoding.posterous.com/the-c-programming-language-part-0
Haskell
- Haskell is an advanced purely-functional programming language. An open-source product of more than twenty years of cutting-edge research, it allows rapid development of robust, concise, correct software. With strong support for integration with other languages, built-in concurrency and parallelism, debuggers, profilers, rich libraries and an active community, Haskell makes it easier to produce flexible, maintainable, high-quality software.
- GHC is a state-of-the-art, open source, compiler and interactive environment for the functional language Haskell. Highlights:
Packages
A package is a library of Haskell modules known to the compiler. GHC comes with several packages: see the accompanying library documentation. More packages to install can be obtained from HackageDB.
Using a package couldn't be simpler: if you're using ––make or GHCi, then most of the installed packages will be automatically available to your program without any further options. The exceptions to this rule are covered below in Section 4.9.1, “Using Packages ”.
Building your own packages is also quite straightforward: we provide the Cabal infrastructure which automates the process of configuring, building, installing and distributing a package. All you need to do is write a simple configuration file, put a few files in the right places, and you have a package. See the Cabal documentation for details, and also the Cabal libraries (Distribution.Simple, for example).
- Cabal (Common Architecture for Building Applications and Libraries) is a system for building and packaging Haskell libraries and programs. It defines a common interface for package authors and distributors to easily build their applications in a portable way. Cabal is part of a larger infrastructure for distributing, organizing, and cataloging Haskell libraries and programs. Specifically, the Cabal describes what a Haskell package is, how these packages interact with the language, and what Haskell implementations must to do to support packages. The Cabal also specifies some infrastructure (code) that makes it easy for tool authors to build and distribute conforming packages.
- HackageDB (or just Hackage) is a collection of releases of Haskell packages. Each package is in the Cabal format, a standard way of packaging Haskell source code that makes it easy to build and install. These pages are a basic web interface to the Hackage package database.
- cabal-install package provides the cabal command-line tool which simplifies the process of managing Haskell software by automating the fetching, configuration, compilation and installation of Haskell libraries and programs. Those packages must be prepared using Cabal and should be present at Hackage.
- Gtk2Hs - A GUI Library for Haskell based on Gtk
Arch
- Arch Wiki: Haskell Package Guidelines
- News about Haskell on Arch Linux
- https://github.com/archhaskell/habs - AUR is out of date for haskell packages
pacman -Rncs ghc remove all haskell..
Web
- Yesod is a Haskell web framework for productive development of type-safe, RESTful, high performance web applications.
- Snap is a simple web development framework for unix systems, written in the Haskell programming language. Snap has a high level of test coverage and is well-documented. Features include: a fast HTTP server library, a sensible and clean monad for web programming, an HTML-based templating system for generating pages