earth2marsh + programming 279
Ruby, Ruby on Rails, and _why: The disappearance of one of the world’s most beloved computer programmers. - Slate Magazine
36 minutes ago by earth2marsh
whoops, wasn't on Wired, it was Slate
programming
ruby
rails
why
culture
development
36 minutes ago by earth2marsh
Coding Horror: Visualizing Code to Fail Faster
3 days ago by earth2marsh
"Yes, it's artsy, yes these are mostly toy projects, but this isn't entirely abstract art house visualization nonsense. Designing tools that let you make rapid changes, and see the effects of those changes as soon as possible can be transformative."
coding
programming
ide
ides
design
fail
failure
3 days ago by earth2marsh
The Schemaverse
14 days ago by earth2marsh
"The Schemaverse is a space-based strategy game implemented entirely within a PostgreSQL database. Compete against other players using raw SQL commands to command your fleet. Or, if your PL/pgSQL-foo is strong, wield it to write AI and have your fleet command itself!"
games
programming
sql
nerds
geeky
postgres
14 days ago by earth2marsh
kasia in a nutshell: Types of programmers
25 days ago by earth2marsh
From Robert Cringely's Accidental Empires
"The truth is that there are big differences in techie types. The hardware people are radically different from the software people, and on the software side alone, there are at least three subspecies of programmers.[..]
Forget about the first subspecies, the lumpenprogrammers, who typically spend their careers maintaining mainframe computer code at insurance companies. Lumpenprogrammers don't even like to program but have discovered that by the simple technique of leaving out the comments--clues, labels, and directions written in English--they are supposed to sprinkle in among their lines of computer code, their programs are rendered undecipherable by others, guaranteeing them a lifetime of dull employment.
The two programmer subspecies that are worthy of note are the hippies and the nerds. Nearly all great programmers are one type or the other. Hippie programmers have long hair and deliberately, even pridefully, ignore the seasons in their choice of clothing. They wear shorts and sandals in the winter and t-shirts all the time. Nerds are neat little anal-retentive men with penchants for short-sleeved shirts and pocket protectors. Nerds carry calculators; hippies borrow calculators. Nerds use decongestant nasal sprays; hippies snort cocaine. Nerds typically know forty-six different ways to make love but don't know any women. Hippies know women.
In the actual doing of that voodoo that they do so well, there's a major difference, too, in the way that hippies and nerds write computer programs. Hippies tend to do the right things poorly; nerds tend to do the wrong things well. Hippie programmers are very good at getting a sense of the correct shape of problem and how to solve it, but when it comes to the actual code writing, they can get sloppy and make major errors through pure boredom. For hippie programmers, the problem is solved when they've figured out how to solve it rather than later, when the work is finished and the problem no longer exists. Hippies live in the world of ideas. In contrast, nerds are so tightly focused on the niggly details of making a program feature work efficiently that they can completely fail to notice major flaws in the overall concept of the project."
programmers
programming
types
people
geeks
nerds
hippies
"The truth is that there are big differences in techie types. The hardware people are radically different from the software people, and on the software side alone, there are at least three subspecies of programmers.[..]
Forget about the first subspecies, the lumpenprogrammers, who typically spend their careers maintaining mainframe computer code at insurance companies. Lumpenprogrammers don't even like to program but have discovered that by the simple technique of leaving out the comments--clues, labels, and directions written in English--they are supposed to sprinkle in among their lines of computer code, their programs are rendered undecipherable by others, guaranteeing them a lifetime of dull employment.
The two programmer subspecies that are worthy of note are the hippies and the nerds. Nearly all great programmers are one type or the other. Hippie programmers have long hair and deliberately, even pridefully, ignore the seasons in their choice of clothing. They wear shorts and sandals in the winter and t-shirts all the time. Nerds are neat little anal-retentive men with penchants for short-sleeved shirts and pocket protectors. Nerds carry calculators; hippies borrow calculators. Nerds use decongestant nasal sprays; hippies snort cocaine. Nerds typically know forty-six different ways to make love but don't know any women. Hippies know women.
In the actual doing of that voodoo that they do so well, there's a major difference, too, in the way that hippies and nerds write computer programs. Hippies tend to do the right things poorly; nerds tend to do the wrong things well. Hippie programmers are very good at getting a sense of the correct shape of problem and how to solve it, but when it comes to the actual code writing, they can get sloppy and make major errors through pure boredom. For hippie programmers, the problem is solved when they've figured out how to solve it rather than later, when the work is finished and the problem no longer exists. Hippies live in the world of ideas. In contrast, nerds are so tightly focused on the niggly details of making a program feature work efficiently that they can completely fail to notice major flaws in the overall concept of the project."
25 days ago by earth2marsh
Caret Navigation in Web Applications
4 weeks ago by earth2marsh
super in-depth piece on the trickiness of cursor movement in browser ui elements.
cursor
development
webdev
javascript
programming
google
tasks
tricks
4 weeks ago by earth2marsh
TDD Tests are not Unit Tests | Stephen Walther
9 weeks ago by earth2marsh
"So how does a TDD test differ from a unit test? Unlike a unit test, a TDD test is used to drive the design of an application. A TDD test is used to express what application code should do before the application code is actually written."
tdd
testing
unit
tests
development
programming
test
9 weeks ago by earth2marsh
Rands In Repose: Hacking is Important
10 weeks ago by earth2marsh
"ebook doesn’t want to be a big company. Like Google before it, Facebook took the time to carefully document the reasons they were not intending to become a traditional company in their S1 filing, and while this letter is positioned to the future legion of investors, the letter is a recipe for Facebook employees:
The Hacker Way is an approach to building that involves continuous improvement and iteration. Hackers believe that something can always be better, and that nothing is ever complete. They just have to go fix it — often in the face of people who say it’s impossible or are content with the status quo."
hacking
culture
business
development
programming
Facebook
The Hacker Way is an approach to building that involves continuous improvement and iteration. Hackers believe that something can always be better, and that nothing is ever complete. They just have to go fix it — often in the face of people who say it’s impossible or are content with the status quo."
10 weeks ago by earth2marsh
jQuery Tip #5: Using jQuery’s end() Function to Work with Sets - Dan Wahlin's WebLog
11 weeks ago by earth2marsh
"In cases where you need to dynamically generate DOM nodes, modify specific children as with the <span> shown above, and then append the newly created set into a container, what do you do? Fortunately, jQuery provides an end() function that allows you to pop the current set off the stack and then move down to the next one. In the example above, calling end() immediately before appendTo() would cause the initial <div> that wraps <span> to be appended to divContainer which would achieve the desired end result in this case."
jquery
tips
webdev
programming
code
end
11 weeks ago by earth2marsh
Automate Everything - the hacker way | Hacker News
february 2012 by earth2marsh
""I decided to roll my own in this case because I was interested in learning about email handling after watching this great railscast from Ryan Bates. And because paying $9 per month per user for something I could probably write myself in a couple of hours seemed silly."
I find myself having to fight against this instinct almost every day. There are a couple of problems with hacking for a couple of hours to save a few bucks a month.
Firstly, you now have an additional piece of software to maintain - you're committing yourself to an unknown quantity of future work.
Secondly, your software won't get any better without you actively improving it. The nice thing about software you pay someone else for is that it gets better over time.
It's a tough instinct to fight though. Building things is Fun. It's just that there are probably other things you should be building that are more important to your company."
"As a rough guide, you might factor in another 8-10 hours, because, according to Fred Brooks, a proper programming "product" takes about x3 as long as a "program"."
programming
coding
webdev
hackers
products
estimates
burden
maintenance
I find myself having to fight against this instinct almost every day. There are a couple of problems with hacking for a couple of hours to save a few bucks a month.
Firstly, you now have an additional piece of software to maintain - you're committing yourself to an unknown quantity of future work.
Secondly, your software won't get any better without you actively improving it. The nice thing about software you pay someone else for is that it gets better over time.
It's a tough instinct to fight though. Building things is Fun. It's just that there are probably other things you should be building that are more important to your company."
"As a rough guide, you might factor in another 8-10 hours, because, according to Fred Brooks, a proper programming "product" takes about x3 as long as a "program"."
february 2012 by earth2marsh
CodeMirror: Internals
february 2012 by earth2marsh
"way, was constantly running up against browser bugs. WebKit wouldn't show an empty line at the end of the document, and in some releases would suddenly get unbearably slow. Firefox would show the cursor in the wrong place. Internet Explorer would insist on linkifying everything that looked like a URL or email address, a behaviour that can't be turned off. Some bugs I managed to work around (which was often a frustrating, painful process), others, such as the Firefox cursor placement, I gave up on, and had to tell user after user that they were known problems, but not something I could help.
Also, there is the fact that designMode (which seemed to b"
browsers
javascript
performance
programming
webdev
editor
ace
code
Also, there is the fact that designMode (which seemed to b"
february 2012 by earth2marsh
Michael Robellard's Blog: Writing data to Google Fusion Tables from App Engine
january 2012 by earth2marsh
"Then I built the table I wanted to create using the Fusion Tables UI:
http://www.google.com/fusiontables/Home?pli=1
Then I simply setup my task to insert a fusion table row for each player entity with the desired data in it."
python
google
fusion
tables
programming
http://www.google.com/fusiontables/Home?pli=1
Then I simply setup my task to insert a fusion table row for each player entity with the desired data in it."
january 2012 by earth2marsh
Code Intelligence
january 2012 by earth2marsh
"Komodo's Code Intelligence system is a set of tools that makes browsing, searching, and programming complex code easier and more accessible. Use the Code Browser to view the hierarchical code structure within a program file or project. The Code Intelligence system includes support for Python, Perl, Tcl, PHP, Ruby, and JavaScript. Code Intelligence is comprised of the following tools:
Code Browser: A tab that displays a hierarchical view of all code constructs (for example, variables, methods, imports) in all open files. In the Code Browser, symbols can be sorted and filtered; the current scope of a symbol can be located. To access the Code Browser, click View|Tabs|Code Browser. The Code Browser is displayed on the Code tab beside the Projects tab.
AutoComplete and CallTips: The Code Intelligence system is used to drive autocomplete and calltip functionality for Perl, Python, Tcl, Ruby, JavaScript, XSLT, CSS, and XML (including HTML and DTD).
"
code
intelligence
autocomplete
opensource
development
programming
Code Browser: A tab that displays a hierarchical view of all code constructs (for example, variables, methods, imports) in all open files. In the Code Browser, symbols can be sorted and filtered; the current scope of a symbol can be located. To access the Code Browser, click View|Tabs|Code Browser. The Code Browser is displayed on the Code tab beside the Projects tab.
AutoComplete and CallTips: The Code Intelligence system is used to drive autocomplete and calltip functionality for Perl, Python, Tcl, Ruby, JavaScript, XSLT, CSS, and XML (including HTML and DTD).
"
january 2012 by earth2marsh
Richardson Maturity Model
january 2012 by earth2marsh
From zapthink "HATEOAS is at the highest level of maturity, and it’s perfectly fine to start at the lower levels and work your way up" plus a nice explanation of HATEOAS
architecture
rest
programming
webdev
maturity
apis
hateoas
january 2012 by earth2marsh
OWASP Guide Project - OWASP
january 2012 by earth2marsh
"Web application security is an essential component of any successful project, whether open source PHP applications, web services such as straight through processing, or proprietary business web sites. Hosters (rightly) shun insecure code, and users shun insecure services that lead to fraud. The aim of this Development Guide is to allow businesses, developers, designers and solution architects to produce secure web applications. If done from the earliest stages, secure applications cost about the same to develop as insecure applications, but are far more cost effective in the long run.
Unlike other forms of security (such as firewalls and secure lockdowns), web applications have the ability to make a skilled attacker rich, or make the life of a victim a complete misery. At this highest level of the OSI software map, traditional firewalls and other controls simply do not help. The application itself must be self-defending. The Development Guide can help you get there. The Development Guide has been written to cover all forms of web application security issues, from old hoary chestnuts such as SQL Injection, through modern concerns such as AJAX, phishing, credit card handling, session fixation, cross-site request forgeries, compliance, and privacy issues."
2010: http://code.google.com/p/owasp-development-guide/wiki/Introduction
web
security
webdev
programming
guide
reference
Unlike other forms of security (such as firewalls and secure lockdowns), web applications have the ability to make a skilled attacker rich, or make the life of a victim a complete misery. At this highest level of the OSI software map, traditional firewalls and other controls simply do not help. The application itself must be self-defending. The Development Guide can help you get there. The Development Guide has been written to cover all forms of web application security issues, from old hoary chestnuts such as SQL Injection, through modern concerns such as AJAX, phishing, credit card handling, session fixation, cross-site request forgeries, compliance, and privacy issues."
2010: http://code.google.com/p/owasp-development-guide/wiki/Introduction
january 2012 by earth2marsh
Category:Principle - OWASP
january 2012 by earth2marsh
Some proven application security principles
Apply defense in depth (complete mediation)
Use a positive security model (fail-safe defaults, minimize attack surface)
Fail securely
Run with least privilege
Avoid security by obscurity (open design)
Keep security simple (verifiable, economy of mechanism)
Detect intrusions (compromise recording)
Don’t trust infrastructure
Don’t trust services
Establish secure defaults (psychological acceptability)
security
development
programming
webdev
principles
Apply defense in depth (complete mediation)
Use a positive security model (fail-safe defaults, minimize attack surface)
Fail securely
Run with least privilege
Avoid security by obscurity (open design)
Keep security simple (verifiable, economy of mechanism)
Detect intrusions (compromise recording)
Don’t trust infrastructure
Don’t trust services
Establish secure defaults (psychological acceptability)
january 2012 by earth2marsh
CAS Central Authentication Service
january 2012 by earth2marsh
"CAS provides enterprise single sign-on service:
An open and well-documented protocol
An open-source Java server component
A library of clients for Java, .Net, PHP, Perl, Apache, uPortal, and others
Integrates with uPortal, BlueSocket, TikiWiki, Mule, Liferay, Moodle and others
Community documentation and implementation support
An extensive community of adopters" via Shree
authentication
service
identity
sso
programming
security
An open and well-documented protocol
An open-source Java server component
A library of clients for Java, .Net, PHP, Perl, Apache, uPortal, and others
Integrates with uPortal, BlueSocket, TikiWiki, Mule, Liferay, Moodle and others
Community documentation and implementation support
An extensive community of adopters" via Shree
january 2012 by earth2marsh
Project Euler
january 2012 by earth2marsh
"Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems.
The motivation for starting Project Euler, and its continuation, is to provide a platform for the inquiring mind to delve into unfamiliar areas and learn new concepts in a fun and recreational context."
computerscience
science
computer
computer
science
problems
algorithms
education
learning
puzzles
math
programming
from delicious
The motivation for starting Project Euler, and its continuation, is to provide a platform for the inquiring mind to delve into unfamiliar areas and learn new concepts in a fun and recreational context."
january 2012 by earth2marsh
Second-system effect - Wikipedia, the free encyclopedia
january 2012 by earth2marsh
"The second-system effect refers to the tendency of small, elegant, and successful systems to have elephantine, feature-laden monstrosities as their successors."
second
versions
systems
architecture
development
programming
design
software
from delicious
january 2012 by earth2marsh
Leaving JSPs in the dust: moving LinkedIn to dust.js client-side templates | LinkedIn Engineering
december 2011 by earth2marsh
"Migrating all of our apps onto a single tech stack would've been a very expensive and time consuming project. Instead, we began to explore a unified rendering layer that is agnostic of the server-side technology: client-side templates.
Instead of using a JSP, GSP, or ERB to assemble a page server side and send back HTML, we have the server send back just the dynamic data as JSON and have the page assembled in the browser using a static client-side template served from a CDN. Moving the view logic to the browser meant that our different tech-stacks could share UI code:"
linkedin
performance
jsp
webdev
programming
frontent
javascript
linkedin
from delicious
Instead of using a JSP, GSP, or ERB to assemble a page server side and send back HTML, we have the server send back just the dynamic data as JSON and have the page assembled in the browser using a static client-side template served from a CDN. Moving the view logic to the browser meant that our different tech-stacks could share UI code:"
december 2011 by earth2marsh
Blazing fast node.js: 10 performance tips from LinkedIn Mobile | LinkedIn Engineering
december 2011 by earth2marsh
LinkedIn tells you how we make this mobile server fast. Here are our top 10 performance takeaways for working with Node.jsSource: http://pinboard.in/
nodejs
javascript
programming
tips
linkedin
performance
from delicious
december 2011 by earth2marsh
TwoHardThings
december 2011 by earth2marsh
There are only two hard things in Computer Science: cache invalidation and naming things.
-- Phil Karlton
Long a favorite saying of mine, one for which I couldn't find a satisfactory URL.
There is also a variation on this that says there are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
quote
quotes
cache
philosophy
naming
programming
caching
invalidation
computerscience
from delicious
-- Phil Karlton
Long a favorite saying of mine, one for which I couldn't find a satisfactory URL.
There is also a variation on this that says there are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
december 2011 by earth2marsh
Dudes, this is so not REST | Thought Palace
november 2011 by earth2marsh
"It’s simple to make requests to Rdio’s REST API. It’s built on widely used standards and conventions so there are libraries for most common web development platforms. All method calls are made as POST requests to http://api.rdio.com/1/. Arguments are sent as application/x-www-form-urlencoded, just like when a browser submits a form. The name of the method is passed as the ‘method’ argument. [Emphasis mine.]
What’s wrong with this? Well, the first bolded point is immediately contradicted by the ones that follow. Specifically, this cannot be a REST API, because it uses only one URL and one HTTP method. Two of the key features of HTTP-based REST are that
It’s object-oriented, where objects are identified by URLs. Each request’s URL identifies what object it operates on.
The methods to invoke on the objects are primarily indicated by the request’s method (GET, PUT, POST, DELETE). In fact this is why Tim Berners-Lee used the word “method” in the HTTP protocol in the first place."
api
rest
design
programming
reference
examples
example
restful
webdev
winningatinternets
from delicious
What’s wrong with this? Well, the first bolded point is immediately contradicted by the ones that follow. Specifically, this cannot be a REST API, because it uses only one URL and one HTTP method. Two of the key features of HTTP-based REST are that
It’s object-oriented, where objects are identified by URLs. Each request’s URL identifies what object it operates on.
The methods to invoke on the objects are primarily indicated by the request’s method (GET, PUT, POST, DELETE). In fact this is why Tim Berners-Lee used the word “method” in the HTTP protocol in the first place."
november 2011 by earth2marsh
Stevey's Blog Rants: Execution in the Kingdom of Nouns
november 2011 by earth2marsh
A flatland-style story of using verbs and nouns in Java versus other languages.
programming
java
humor
language
languages
nouns
verbs
idioms
from delicious
november 2011 by earth2marsh
On jQuery & Large Applications - rmurphey
november 2011 by earth2marsh
dev shares her thoughts on moving from DOM-centric to modern javascript client-server application architecture.
jquery
javascript
architecture
development
programming
webdev
framework
dojo
application
from delicious
november 2011 by earth2marsh
Backus–Naur Form - Wikipedia, the free encyclopedia
october 2011 by earth2marsh
"In computer science, BNF (Backus Normal Form or Backus–Naur Form) is a notation technique for context-free grammars, often used to describe the syntax of languages used in computing, such as computer programming languages, document formats, instruction sets and communication protocols. It is applied wherever exact descriptions of languages are needed, for instance, in official language specifications, in manuals, and in textbooks on programming language theory." via Anant
programming
parser
syntax
development
reference
grammar
theory
computer_science
query
from delicious
october 2011 by earth2marsh
reinh.com: A Git Workflow for Agile Teams
october 2011 by earth2marsh
"Once work on the feature is complete, you will have a branch with a lot of small commits like “adding a model and a migration”, “adding a controller and some views”, “oh crap - adding tests” and so on. This is useful while developing but larger, incremental commits are more easier to maintain. We will use an interactive rebase to squash them together. Also, squashing these commits together will allow us to pretend that we wrote the tests first…"
git
workflow
agile
development
programming
tips
from delicious
october 2011 by earth2marsh
Tonic: A RESTful Web App Development PHP Library
september 2011 by earth2marsh
"Tonic is an open source less is more, RESTful Web application development PHP library designed to do things "the right way", where resources are king and the library gets out of the way and leaves the developer to get on with it."
rest
apis
api
framework
library
programming
from delicious
september 2011 by earth2marsh
Clarifying REST
september 2011 by earth2marsh
best explanation I've seen of hateoas
design
programming
apis
rest
Hateoas
from delicious
september 2011 by earth2marsh
norman/friendly_id - GitHub
september 2011 by earth2marsh
"FriendlyId is the "Swiss Army bulldozer" of slugging and permalink plugins for Ruby on Rails. It allows you to create pretty URL's and work with human-friendly strings as if they were numeric ids for Active Record models.<br />
<br />
Using FriendlyId, it's easy to make your application use URL's like:<br />
<br />
http://example.com/states/washington<br />
instead of:<br />
<br />
http://example.com/states/4323454"
ruby
programming
plugins
plugin
ids
activerecord
from delicious
<br />
Using FriendlyId, it's easy to make your application use URL's like:<br />
<br />
http://example.com/states/washington<br />
instead of:<br />
<br />
http://example.com/states/4323454"
september 2011 by earth2marsh
[from rgreco] Let's assume that I am the stupidest person that ever lived. Explain to me what JavaScript is, what it does, and how a moron would go about learning it... - web design coding | Ask MetaFilter
javascript history sun 2011 billjoy java webdev coding via:mathowie programming web from google
september 2011 by earth2marsh
javascript history sun 2011 billjoy java webdev coding via:mathowie programming web from google
september 2011 by earth2marsh
How to Design Classes (Draft)
september 2011 by earth2marsh
" <br />
February 2011: We have decided to provide the draft of "How to Design Classes" (pdf) on an "as is" basis for now. You are free to download and print it.<br />
<br />
Since we may occasionally fix typos and add material, we recommend that you do not copy the file. Instead, link to it.<br />
<br />
Warning: If we decide to publish the book after all, it is likely that the publisher will ask us to remove this version of the book from the web."
reference
programming
books
howto
classes
from delicious
February 2011: We have decided to provide the draft of "How to Design Classes" (pdf) on an "as is" basis for now. You are free to download and print it.<br />
<br />
Since we may occasionally fix typos and add material, we recommend that you do not copy the file. Instead, link to it.<br />
<br />
Warning: If we decide to publish the book after all, it is likely that the publisher will ask us to remove this version of the book from the web."
september 2011 by earth2marsh
Uberblic Labs
august 2011 by earth2marsh
"links data across APIs so that you can build applications using the best data sources on the Web and put your own data into context."
programming
api
data
from delicious
august 2011 by earth2marsh
Crazy, Heretical, and Awesome: The Way I Write Rails Apps | James on Software
august 2011 by earth2marsh
"A simplified explanation of the problem is that we violated the Single Responsibility Principle. So, we're going to use standard object oriented techniques to separate the concerns of our model logic.<br />
<br />
Let's look at the first example I mentioned: logging the creation of a user. <br />
<br />
To decouple the logging from the creation of the database record, we're going to use something called a service object. A service object is typically used to coordinate two or more objects; usually, the service object doesn't have any logic of its own (simplified definition). We're also going to use Dependency Injection so that we can mock everything out and make our tests awesomely fast (seconds not minutes). "
design
development
webdev
programming
rails
testing
from delicious
<br />
Let's look at the first example I mentioned: logging the creation of a user. <br />
<br />
To decouple the logging from the creation of the database record, we're going to use something called a service object. A service object is typically used to coordinate two or more objects; usually, the service object doesn't have any logic of its own (simplified definition). We're also going to use Dependency Injection so that we can mock everything out and make our tests awesomely fast (seconds not minutes). "
august 2011 by earth2marsh
Home - GitHub
july 2011 by earth2marsh
"This wiki indexes available libraries and resources available for JavaScript. In addition it provides some starting points for newbies in form of Beginner's Resources. In case you want to contribute, do take a look at Meta first for some extra pointers. Happy hacking!" via pamela fox
tools
javascript
programming
reference
wiki
list
from delicious
july 2011 by earth2marsh
jLinq
june 2011 by earth2marsh
"jLinq is a 100% JavaScript library that allows you to perform complex queries on arrays of JSON data.<br />
Instead of using for loops and if statements, you can write fluent queries to filter, sort and select the information you need.<br />
Plus jLinq extensible so you can create your own functions and plug them straight into the library."
javascript
json
query
library
programming
webdev
from delicious
Instead of using for loops and if statements, you can write fluent queries to filter, sort and select the information you need.<br />
Plus jLinq extensible so you can create your own functions and plug them straight into the library."
june 2011 by earth2marsh
michaeldv/awesome_print - GitHub
june 2011 by earth2marsh
"Awesome Print is Ruby library that pretty prints Ruby objects in full color exposing their internal structure with proper indentation. Rails ActiveRecord objects and usage within Rails templates are supported via included mixins."
programming
ruby
printing
pretty
print
github
from delicious
june 2011 by earth2marsh
How do JavaScript closures work? - Stack Overflow
june 2011 by earth2marsh
"Like the old Albert said: "If you can't explain it to a six-year old, you really don't understand it yourself.”. Well, I tried to explain JavaScript closures to a 27-year old friend and completely failed.<br />
<br />
How would you explain it to a 6-year old person that is strangely interested in that subject?"<br />
<br />
"A closure in JavaScript is like keeping a copy of the all the local variables, just as they were when a function exited."
reference
javascript
programming
closures
from delicious
<br />
How would you explain it to a 6-year old person that is strangely interested in that subject?"<br />
<br />
"A closure in JavaScript is like keeping a copy of the all the local variables, just as they were when a function exited."
june 2011 by earth2marsh
Computer Science Unplugged |
june 2011 by earth2marsh
"CS Unplugged is a collection of free learning activities that teach Computer Science through engaging games and puzzles that use cards, string, crayons and lots of running around.<br />
<br />
The activities introduce students to underlying concepts such as binary numbers, algorithms and data compression, separated from the distractions and technical details we usually see with computers.<br />
<br />
CS Unplugged is suitable for people of all ages, from elementary school to seniors, and from many countries and backgrounds. Unplugged has been used around the world for over fifteen years, in classrooms, science centers, homes, and even for holiday events in a park!"
reference
programming
science
education
computers
computer
activities
learning
kids
from delicious
<br />
The activities introduce students to underlying concepts such as binary numbers, algorithms and data compression, separated from the distractions and technical details we usually see with computers.<br />
<br />
CS Unplugged is suitable for people of all ages, from elementary school to seniors, and from many countries and backgrounds. Unplugged has been used around the world for over fifteen years, in classrooms, science centers, homes, and even for holiday events in a park!"
june 2011 by earth2marsh
Welcome to BugHerd - The world's simplest bug tracker
june 2011 by earth2marsh
can attach bugs to visual elements through a wysiwyg approach
webdev
programming
management
bug
database
issue
tracking
bugtracking
productivity
from delicious
june 2011 by earth2marsh
ongoing by Tim Bray · Slow REST
june 2011 by earth2marsh
"We’re working on a fairly substantial revision of the Sun Cloud API, motivated by this problem: In a RESTful context, how do you handle state-changing operations (POST, PUT, DELETE) which have substantial and unpredictable latency?"
design
programming
apis
web
slow
rest
from delicious
june 2011 by earth2marsh
HTTP Made Really Easy
june 2011 by earth2marsh
nice explanation of http
http
reference
webdev
programming
methods
resources
howto
tutorial
post
easy
from delicious
june 2011 by earth2marsh
Give it a REST
june 2011 by earth2marsh
"On this site you will find a RESTful interface (written in PHP) to a database (a MySQL database, but that's not important). Below you will find a interactive tutorial that will get you accessing, adding and deleting rows from our database via our Javascript powered REST browser."
webdev
programming
apis
mysql
browser
tutorial
php
rest
from delicious
june 2011 by earth2marsh
InfoQ: RESTful API Authentication Schemes
june 2011 by earth2marsh
"1. All REST API calls must take place over HTTPS with a certificate signed by a trusted CA. All clients must validate the certificate before interacting with the server.2. All REST API calls should occur through dedicated API keys consisting of an identifying component and a shared, private secret. Systems must allow a given customer to have multiple active API keys and de-activate individual keys easily.3. All REST queries must be authenticated by signing the query parameters sorted in lower-case, alphabetical order using the private credential as the signing token. Signing should occur before URL encoding the query string."
api
apis
authentication
programming
webdev
from delicious
june 2011 by earth2marsh
XML.com: Implementing REST Web Services: Best Practices and Guidelines
june 2011 by earth2marsh
"A resource may have more than one representation. There are four frequently used ways of delivering the correct resource representation to consumers:<br />
<br />
Server-driven negotiation. The service provider determines the right representation from prior knowledge of its clients or uses the information provided in HTTP headers like Accept, Accept-Charset, Accept-Encoding, Accept-Language, and User-Agent. The drawback of this approach is that the server may not have the best knowledge about what a client really wants.<br />
Client-driven negotiation. A client initiates a request to a server. The server returns a list of available of representations. The client then selects the representation it wants and sends a second request to the server. The drawback is that a client needs to send two requests.<br />
Proxy-driven negotiation. A client initiates a request to a server through a proxy. The proxy passes the request to the server and obtains a list of representations. The proxy selects one repres…"
reference
design
programming
apis
xml
formats
representation
rest
from delicious
<br />
Server-driven negotiation. The service provider determines the right representation from prior knowledge of its clients or uses the information provided in HTTP headers like Accept, Accept-Charset, Accept-Encoding, Accept-Language, and User-Agent. The drawback of this approach is that the server may not have the best knowledge about what a client really wants.<br />
Client-driven negotiation. A client initiates a request to a server. The server returns a list of available of representations. The client then selects the representation it wants and sends a second request to the server. The drawback is that a client needs to send two requests.<br />
Proxy-driven negotiation. A client initiates a request to a server through a proxy. The proxy passes the request to the server and obtains a list of representations. The proxy selects one repres…"
june 2011 by earth2marsh
Маниакальный веблог » Completely unfair comparison of Javascript syntax highlighters
may 2011 by earth2marsh
"During the time before latest release of highlight.js 6.0 I decided — for the first time in more than 4 years — to actually look at other highlighting libraries. Sure I knew of their existence before but nonetheless never felt compelled to do any serious comparison because highlight.js is a fun project and I'm quite happy with the result. In fact this comparison has also been made for fun more than for anything else. I just wondered how actually good (or bad) highlight.js was looking among similar libraries.<br />
<br />
I decided not to take into account highly subjective things like visual appeal, installation simplicity and documentation clarity. Also I didn't evaluate number of supported languages. While it is a measurable quantity it doesn't mean much for an end user: if a tool doesn't support the language you need you don't care about dozens of others that it does support. Instead I concentrated on universally measurable things that make sense for everyone: size, speed and correctness."
programming
javascript
comparison
syntax
highlighting
from delicious
<br />
I decided not to take into account highly subjective things like visual appeal, installation simplicity and documentation clarity. Also I didn't evaluate number of supported languages. While it is a measurable quantity it doesn't mean much for an end user: if a tool doesn't support the language you need you don't care about dozens of others that it does support. Instead I concentrated on universally measurable things that make sense for everyone: size, speed and correctness."
may 2011 by earth2marsh
Cody Fauser - Rails HTTP Status Code to Symbol Mapping
may 2011 by earth2marsh
nice list of what numbers map to
http
response
codes
reference
webdev
programming
development
from delicious
may 2011 by earth2marsh
The Pragmatic Bookshelf
may 2011 by earth2marsh
"Like any sane programmer, I was initially wary of CoffeeScript. How could a little syntactic sugar sprinkled over JavaScript possibly justify the extra compilation step?<br />
<br />
But after playing with CoffeeScript for just a few days, I knew I’d never go back. The syntactic sugar was only the beginning. I was writing code more quickly and with fewer bugs, because everything was so much clearer. It became much easier to tap into the good parts of JavaScript—and there are many—while steering clear of the bad. I’ve listed a few of those nasty bits below, along with some of the ways CoffeeScript makes it easy to avoid them."
programming
javascript
coffeescript
comparison
from delicious
<br />
But after playing with CoffeeScript for just a few days, I knew I’d never go back. The syntactic sugar was only the beginning. I was writing code more quickly and with fewer bugs, because everything was so much clearer. It became much easier to tap into the good parts of JavaScript—and there are many—while steering clear of the bad. I’ve listed a few of those nasty bits below, along with some of the ways CoffeeScript makes it easy to avoid them."
may 2011 by earth2marsh
Script Junkie | Building Cross-Platform Apps Using jQuery Mobile
may 2011 by earth2marsh
nice howto on getting started with jquery mobile
howto
javascript
webdev
programming
mobile
jquery
from delicious
may 2011 by earth2marsh
Auto-generating JavaScript Unit Tests | JavaScript, JavaScript
april 2011 by earth2marsh
"a lightweight utility that will create a set of rudimentary tests with little more than a click of a button"
javascript
webdev
programming
testing
unit_testing
from delicious
april 2011 by earth2marsh
Hackety Hack!
april 2011 by earth2marsh
"Hackety Hack will teach you the absolute basics of programming from the ground up. No previous programming experience is needed!<br />
With Hackety Hack, you'll learn the Ruby programming language"
ruby
tutorial
education
learning
programming
from delicious
With Hackety Hack, you'll learn the Ruby programming language"
april 2011 by earth2marsh
SyntaxHighlighter
april 2011 by earth2marsh
"SyntaxHighlighter is a fully functional self-contained code syntax highlighter developed in JavaScript. To get an idea of what SyntaxHighlighter is capable of, have a look at the demo page."
javascript
syntax
code
tools
programming
from delicious
april 2011 by earth2marsh
implementing-rest - Exploring the implementation aspects of the REST architectural style. - Google Project Hosting
april 2011 by earth2marsh
"This is a place for exploring aspects of implementing applications using the REST architectural style. This may include statements about existing frameworks and libraries, general discussions about the nature of the style and how it may be expressed and/or encouraged via a programming framework, etc.<br />
<br />
This can take many forms including:<br />
<br />
Pages that describe existing frameworks listing their features, strengths and drawbacks.<br />
Links to resources on the subject of frameworks and REST-ful programming<br />
This is meant to be a wide open space. If you would like to contribute here, contact one of the listed project owners."
rest
architecture
api
programming
documentation
from delicious
<br />
This can take many forms including:<br />
<br />
Pages that describe existing frameworks listing their features, strengths and drawbacks.<br />
Links to resources on the subject of frameworks and REST-ful programming<br />
This is meant to be a wide open space. If you would like to contribute here, contact one of the listed project owners."
april 2011 by earth2marsh
Authenticating Requests with OAuth | dev.twitter.com
february 2011 by earth2marsh
nice diagram of auth flow
oauth
twitter
flow
programming
dev
february 2011 by earth2marsh
related tags
!to_read ⊕ 2D ⊕ 3d ⊕ 37Signals ⊕ access ⊕ accessibility ⊕ ace ⊕ ack ⊕ actionscript ⊕ activerecord ⊕ activities ⊕ addon ⊕ addons ⊕ adobe ⊕ advice ⊕ agile ⊕ ahk ⊕ AI ⊕ ajax ⊕ alert ⊕ algorithms ⊕ amazon ⊕ anchor ⊕ animation ⊕ apache ⊕ api ⊕ apis ⊕ apollo ⊕ apple ⊕ application ⊕ applications ⊕ apps ⊕ architecture ⊕ arduino ⊕ art ⊕ article ⊕ artificialintelligence ⊕ asynchronous ⊕ authentication ⊕ authoring ⊕ autocomplete ⊕ automated ⊕ automation ⊕ average ⊕ backup ⊕ bash ⊕ batch ⊕ bazaar ⊕ beautifulsoup ⊕ beginner ⊕ bestof ⊕ bestpractices ⊕ billjoy ⊕ biology ⊕ blackberry ⊕ blocking ⊕ Boilerplate ⊕ book ⊕ bookmarklet ⊕ bookmarklets ⊕ books ⊕ brain ⊕ browser ⊕ browsers ⊕ bug ⊕ bugtracking ⊕ burden ⊕ business ⊕ c++ ⊕ cache ⊕ caching ⊕ cathedral ⊕ chat ⊕ cheatsheet ⊕ class ⊕ classes ⊕ clickjacking ⊕ closures ⊕ cloud ⊕ code ⊕ codes ⊕ coding ⊕ codinghorror ⊕ coffeescript ⊕ cognition ⊕ collaboration ⊕ collaborative ⊕ community ⊕ comparison ⊕ competition ⊕ compiler ⊕ ComputationalThinking ⊕ computer ⊕ computers ⊕ computerscience ⊕ computer_science ⊕ computing ⊕ concepts ⊕ console ⊕ controller ⊕ conversion ⊕ converter ⊕ cool ⊕ courses ⊕ create ⊕ criticism ⊕ critique ⊕ cron ⊕ css ⊕ culture ⊕ cursor ⊕ cygwin ⊕ daemon ⊕ data ⊕ database ⊕ databases ⊕ debt ⊕ debug ⊕ debugging ⊕ decode ⊕ del.icio.us ⊕ delicious ⊕ demo ⊕ design ⊕ desktop ⊕ dev ⊕ developer ⊕ development ⊕ dhtml ⊕ dictionary ⊕ diggbar ⊕ distributed ⊕ diy ⊕ DNA ⊕ documentation ⊕ dojo ⊕ dom ⊕ download ⊕ easy ⊕ ebook ⊕ ebooks ⊕ editor ⊕ education ⊕ efficiency ⊕ efl ⊕ electronics ⊕ email ⊕ emergence ⊕ encode ⊕ encoder ⊕ encoding ⊕ end ⊕ engine ⊕ enlightenment ⊕ environment ⊕ equivalence ⊕ erlang ⊕ error ⊕ escape ⊕ estimates ⊕ events ⊕ evolution ⊕ example ⊕ examples ⊕ excel ⊕ exe ⊕ expansion ⊕ Expression ⊕ extension ⊕ extensions ⊕ facebook ⊕ fail ⊕ failure ⊕ fbjs ⊕ feed ⊕ feeds ⊕ filesystem ⊕ firebug ⊕ firefox ⊕ flash ⊕ flashdevelop ⊕ flex ⊕ flickr ⊕ flow ⊕ font ⊕ fonts ⊕ form ⊕ formats ⊕ formatting ⊕ forms ⊕ fragment ⊕ framework ⊕ frameworks ⊕ framing ⊕ free ⊕ freelance ⊕ freeware ⊕ frontent ⊕ ftp ⊕ fun ⊕ functional ⊕ functions ⊕ fusion ⊕ gadget ⊕ gadgets ⊕ GAE ⊕ games ⊕ geek ⊕ geeks ⊕ geeky ⊕ gem ⊕ generate ⊕ generative ⊕ generator ⊕ genetic ⊕ genetics ⊕ geocode ⊕ geocoding ⊕ geolocation ⊕ gis ⊕ git ⊕ github ⊕ gmail ⊕ google ⊕ google:appengine ⊕ google:reader ⊕ Google:Voice ⊕ grammar ⊕ graphic ⊕ graphics ⊕ greasemonkey ⊕ grep ⊕ gui ⊕ GUID ⊕ guide ⊕ gwt ⊕ hack ⊕ hackers ⊕ hacking ⊕ hacks ⊕ haml ⊕ hardware ⊕ harvard ⊕ hateoas ⊕ highlighting ⊕ highrise ⊕ hippies ⊕ history ⊕ hosting ⊕ howto ⊕ htaccess ⊕ html ⊕ html5 ⊕ http ⊕ humor ⊕ ibm ⊕ ibooks ⊕ id3 ⊕ ide ⊕ identifier ⊕ identity ⊕ ides ⊕ idioms ⊕ ids ⊕ ie ⊕ iframes ⊕ index ⊕ innovation ⊕ inspiration ⊕ installation ⊕ installer ⊕ instapaper ⊕ intelligence ⊕ interaction ⊕ interactive ⊕ interesting ⊕ interface ⊕ internet ⊕ interpreter ⊕ interview ⊕ intro ⊕ introduction ⊕ invalidation ⊕ invention ⊕ ipad ⊕ iphone ⊕ issue ⊕ IxD ⊕ java ⊕ javascript ⊕ jobs ⊕ journalism ⊕ journalists ⊕ jquery ⊕ js ⊕ json ⊕ jsp ⊕ kids ⊕ knowledge ⊕ komodo ⊕ language ⊕ languages ⊕ layout ⊕ ldap ⊕ learning ⊕ lectures ⊕ library ⊕ linkedin ⊕ links ⊕ linux ⊕ lisp ⊕ list ⊕ lists ⊕ location ⊕ logic ⊕ logs ⊕ lookup ⊕ macro ⊕ macros ⊕ maemo ⊕ magic ⊕ mail ⊕ maintenance ⊕ make ⊕ management ⊕ map ⊕ marketing ⊕ mashup ⊕ math ⊕ Mathematics ⊕ matrix ⊕ maturity ⊕ mediawiki ⊕ memcache ⊕ memcached ⊕ menus ⊕ metadata ⊕ methods ⊕ microsoft ⊕ mobile ⊕ Modal ⊕ module ⊕ mp3 ⊕ mvc ⊕ mxml ⊕ mysql ⊕ n8x0 ⊕ n800 ⊕ names ⊕ naming ⊕ native ⊕ nerds ⊕ NeuralNetworks ⊕ neuroscience ⊕ node ⊕ node.js ⊕ nodejs ⊕ nosql ⊕ notification ⊕ nouns ⊕ oauth ⊕ online ⊕ oop ⊕ opensource ⊕ optimization ⊕ outsourcing ⊕ parser ⊕ patterns ⊕ pce ⊕ pear ⊕ people ⊕ performance ⊕ perl ⊕ philosophy ⊕ phone ⊕ php ⊕ physical ⊕ physics ⊕ pipes ⊕ planning ⊕ platform ⊕ platforms ⊕ playground ⊕ plugin ⊕ plugins ⊕ png ⊕ post ⊕ postgres ⊕ presentation ⊕ pretty ⊕ Primitives ⊕ principles ⊕ print ⊕ printing ⊕ private ⊕ problems ⊕ process ⊕ processing ⊕ productivity ⊕ products ⊕ programmers ⊕ programming ⊖ project ⊕ projectmanagement ⊕ protoscript ⊕ prototype ⊕ pubsubhubbub ⊕ Puzzle ⊕ puzzles ⊕ python ⊕ quality ⊕ query ⊕ quote ⊕ quotes ⊕ rails ⊕ ranking ⊕ rant ⊕ recording ⊕ Reddit ⊕ redis ⊕ reference ⊕ regex ⊕ regexp ⊕ Regular ⊕ RegularExpressions ⊕ representation ⊕ resources ⊕ response ⊕ rest ⊕ restful ⊕ reverse ⊕ rim ⊕ robots ⊕ rss ⊕ ruby ⊕ rubyonrails ⊕ sandbox ⊕ sass ⊕ scalability ⊕ scaling ⊕ scheduling ⊕ scheme ⊕ science ⊕ script ⊕ scripting ⊕ scripts ⊕ search ⊕ second ⊕ security ⊕ server ⊕ service ⊕ services ⊕ share ⊕ shell ⊕ simulation ⊕ skills ⊕ slow ⊕ snippets ⊕ SOAP ⊕ social ⊕ software ⊕ source ⊕ spam ⊕ spreadsheet ⊕ spreadsheets ⊕ sql ⊕ sqlserver ⊕ sso ⊕ standards ⊕ statistics ⊕ storage ⊕ strategy ⊕ streaming ⊕ style ⊕ style_guide ⊕ sublime ⊕ sun ⊕ syntax ⊕ sysadmin ⊕ system ⊕ systems ⊕ tables ⊕ tasks ⊕ tdd ⊕ Teaching ⊕ technology ⊕ template ⊕ templating ⊕ test ⊕ testing ⊕ tests ⊕ text ⊕ texteditor ⊕ theory ⊕ this ⊕ thread ⊕ tidy ⊕ timetracking ⊕ tips ⊕ tool ⊕ toolbar ⊕ tools ⊕ tooltip ⊕ tracking ⊕ transparency ⊕ trends ⊕ tricks ⊕ try ⊕ tuning ⊕ turing ⊕ tutorial ⊕ tutorials ⊕ twitter ⊕ types ⊕ typography ⊕ ubiquity ⊕ ubuntu ⊕ ui ⊕ unicode ⊕ unit ⊕ unit_testing ⊕ unix ⊕ uri ⊕ url ⊕ urls ⊕ usability ⊕ useful ⊕ utilities ⊕ utility ⊕ ux ⊕ validation ⊕ vba ⊕ vector ⊕ verbs ⊕ versioncontrol ⊕ versioning ⊕ versions ⊕ via:mathowie ⊕ via:yoz ⊕ video ⊕ videos ⊕ visual ⊕ visualization ⊕ vocabulary ⊕ web ⊕ web2.0 ⊕ webapp ⊕ webdesign ⊕ webdev ⊕ webservice ⊕ webservices ⊕ why ⊕ widget ⊕ widgets ⊕ wii ⊕ wiimote ⊕ wiki ⊕ Wikipedia ⊕ windows ⊕ winningatinternets ⊕ wishlist ⊕ wolfram ⊕ words ⊕ workflow ⊕ wrapper ⊕ xhtml ⊕ xml ⊕ xul ⊕ yahoo ⊕ yql ⊕Copy this bookmark: