background preloader

Programming

Facebook Twitter

Tl;dr{Code} Rosetta Code. Hadoop Ecology. 97 Things Every Programmer Should Know - O'Reilly Media. Although I've written many, many lines of code, I've never worked in a 'world class programming shop'.

97 Things Every Programmer Should Know - O'Reilly Media

After I had been programming for awhile, I sought a job in what I hoped would be such a shop: a place where things were done "right". Instead, I have always found myself in positions where creative people hack code and implement systems. And, some of those systems were high quality enterprise applications. Untrusted - a user javascript adventure game. Enterprise Integration Patterns - Table of Contents. About - Project Euler.

Git

Linux - Getting root permissions on a file inside of vi. Powerful Command Line Tools For Developers. Advertisement Life as a Web developer can be hard when things start going wrong.

Powerful Command Line Tools For Developers

The problem could be in any number of places. Is there a problem with the request you’re sending, is the problem with the response, is there a problem with a request in a third party library you’re using, is an external API failing? Good tools are invaluable in figuring out where problems lie, and can also help to prevent problems from occurring in the first place, or just help you to be more efficient in general. Command line tools are particularly useful because they lend themselves well to automation and scripting, where they can be combined and reused in all sorts of different ways. (Image credit: kolnikcollection)1 Curl Curl is a network transfer tool that’s very similar to Wget, the main difference being that by default Wget saves to a file, and curl outputs to the command line.

. $ curl ifconfig.me 93.96.141.93 The -L option is handy, and makes curl automatically follow redirects. Ngrep. Technology Radar. Object Oriented Design.

Scala

Subversion Cheat Sheet by DaveChild. Visionmedia/jade. Presentation Model. Represent the state and behavior of the presentation independently of the GUI controls used in the interface Also Known As: Application Model GUIs consist of widgets that contain the state of the GUI screen.

Presentation Model

Leaving the state of the GUI in widgets makes it harder to get at this state, since that involves manipulating widget APIs, and also encourages putting presentation behavior in the view class. Presentation Model pulls the state and behavior of the view out into a model class that is part of the presentation. The Presentation Model coordinates with the domain layer and provides an interface to the view that minimizes decision making in the view.

Presentation Model may interact with several domain objects, but Presentation Model is not a GUI friendly facade to a specific domain object. Presentation Model is known to users of Visual Works Smalltalk as Application Model How it Works. Alpha list of refactorings. You have constructors on subclasses with mostly identical bodies.

Alpha list of refactorings

Learn HTML5, CSS3, Javascript - video style tutorials. Greg Wilson - What We Actually Know About Software Development, and Why We Believe It's True. Recommended Reading for Developers. Code Complete 2 Steve McConnell's Code Complete 2 is the Joy of Cooking for software developers.

Recommended Reading for Developers

Reading it means that you enjoy your work, you're serious about what you do, and you want to keep improving. In Code Complete, Steve notes that the average programmer reads less than one technical book per year. The very act of reading this book already sets you apart from probably ninety percent of your fellow developers. In a good way. I like this book so much that the title of this very website is derived from it – the examples of what not to do are tagged with the "Coding Horror" icon. The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition) The Architecture of Open Source Applications.

Typing Practice for Programmers. What “Worse is Better vs The Right Thing” is really about. I thought about this one for a couple of years, then wrote it up, and left it untouched for another couple of years.

What “Worse is Better vs The Right Thing” is really about

What prompted me to publish it now - at least the first, relatively finished part - is Steve Yegge's post, an analogy between the "liberals vs conservatives" debate in politics and some dichotomies in the professional worldviews of software developers. The core of his analogy is risk aversion: conservatives are more risk averse than liberals, both in politics and in software. I want to draw a similar type of analogy, but from a somewhat different angle. My angle is, in politics, one thing that people view rather differently is the role of markets and competition. Some view them as mostly good and others as mostly evil. The Rise of ``Worse is Better'' Previous: Lisp's Apparent Failures Up: Lisp's Apparent Failures Next: Good Lisp Programming is Hard I and just about every designer of Common Lisp and CLOS has had extreme exposure to the MIT/Stanford style of design.

The Rise of ``Worse is Better''

The essence of this style can be captured by the phrase ``the right thing.''

Clojure

Code Bubbles Home Page. Documentation Documentation, while limited, is becoming available on our wiki.

Code Bubbles Home Page

In particular you might want to look at the mouse usage and the key bindings. Code Bubbles is supported by the National Science Foundation (grant 1012056), Microsoft, and Google. Papers "Code Bubbles: A Working Set-based Interface for Code Understanding and Maintenance", by Andrew Bragdon, Robert Zeleznik, Steven Reiss, Suman Karumuri, William Chang, Joshua Kaplan, Christopher Coleman, Ferdi Adeputra, and Joseph LaViola, Jr. Java.