Categories
Links

Photobooth.js

[Accessing the user’s camera using only Javascript.][link] No flash. Performance isn’t real-time on my old MacBook Pro, but it’s “good enough” for things like single shots (e.g. a Photo Booth).

5 years ago this would’ve been voodoo of a high caliber, now it’s one line of jQuery. (via [Waxy][via])

[link]: http://wolframhempel.github.com/photobooth-js/ “Photobooth.js”
[via]: http://waxy.org/links/ “Waxy Links”

Categories
Links

Drawing with text

[Click & drag your mouse to “draw” with a given set of text][link]. I could see this being used to make some really cool JS-based generative art.

The demo explains it better than I can, and you really should check it out. This is a tool you should have in your utility belt.

[link]: http://codepen.io/tholman/pen/qCnfB “Drawing with text · CodePen”

Categories
Links

Node-Twilio, A Twilio API Client for Node.js

[Another useful Node.js module for Sekrit Projekt #14.][link]

[link]: https://github.com/sjwalter/node-twilio “sjwalter/node-twilio”

Categories
Links

node-etsy, An Etsy API Library for Node.js

[Something I needed for a little project of mine.][link]

I’ve been thinking a lot about how insanely good node.js is for doing simple tasks that I’d normally use a webserver (Apache) running a scripting language (PHP) and interfacing with an enterprise database (MySQL). If your server has to handle one, or even a handful of different kinds of requests, node should be where you look first.

[link]: https://github.com/Muon/node-etsy “Muon/node-etsy · GitHub”

Categories
Links

Patricio Palladino Demonstrates Non-Alphanumeric Javascript

[This is some head-screwing, eyeball-hurting mojo.][link] The tl;dr:

>”I just made a tool to transform any javascript code into an equivalent sequence of ()[]{}!+ characters. You can try it [here][demo], or grab it from [github][git] or [npm][npm]. Keep on reading if you want to know how it works.”

[link]: http://patriciopalladino.com/blog/2012/08/09/non-alphanumeric-javascript.html “Brainfuck beware: JavaScript is after you! | Patricio Palladino”
[demo]: http://patriciopalladino.com/files/hieroglyphy “hieroglyphy Demo”
[git]: https://github.com/alcuadrado/hieroglyphy “hieroglyphy on Github”
[npm]: https://npmjs.org/package/hieroglyphy “hieroglyphy on NPM”

Categories
Links

RogueBasin’s Roguelike Tutorial for Lua

[Looks like a really neat little guide for getting started making a Roguelike game][link]. Lua’s a very efficient scripting engine and interfaces with C, so it’s well-known and well-used in the video games industry.

[link]: http://www.roguebasin.com/index.php/New_Roguelike_Tutorial,_using_Lua+libtcod “New Roguelike Tutorial, using Lua+libtcod – RogueBasin”

Categories
Links

Arduino Battery Meter

[A little how-to with some example code from Anonymous Hobbyist][link]. I’m considering adding a solar panel to my Arduino, and I really need to be able to monitor the battery (and the 9v backup).

[link]: https://autonomoushobbyist.wordpress.com/2011/02/24/arduino-battery-meter/ “Arduino Battery Meter | Autonomous Hobbyist”

Categories
Links

EventDuino

Based on the [previous link][prev] to a Node.js -> Arduino bridge, [@JerrySievert][guy] pointed me to [his own take: An event-driven package for Arduino/Node.js][link]. Listening for events on the board itself is a really cool idea.

[link]: https://github.com/JerrySievert/EventDuino “JerrySievert/EventDuino”
[guy]: http://twitter.com/JerrySievert “JerrySievert on Twitter”
[prev]: http://extrafuture.com/2012/06/07/arduino-and-the-web-using-nodejs/ “Previously: Arduino & the Web using Node.js”

Categories
Links

Arduino and the Web using NodeJS

[A tutorial on how to hook up sensor data (or anything else your Arduino can spit out) to the Internet.][link]

[link]: http://www.codeproject.com/Articles/389676/Arduino-and-the-Web-using-NodeJS-and-SerialPort2 “Arduino and the Web using NodeJS and SerialPort2 – CodeProject”

Categories
Uncategorized

Arduino-serial: C code to talk to Arduino

[Relevant to my recent interests.][link] I bought an Arduino Uno this weekend and the amount of ideas I have right now are scary.

The primary benefit of this C library is that it will not trigger a reset on the board. This means you can stream data at intervals and not get a reset.

[link]: http://todbot.com/blog/2006/12/06/arduino-serial-c-code-to-talk-to-arduino/ “Arduino-serial: C code to talk to Arduino « todbot blog”

Categories
Links

How Deep Can You Dig Dug?

[Don Hodges fixes Dig Dug’s kill screen.][link] Either you’re interested in someone fixing a 20+ year-old video game’s biggest bug, or you aren’t.

[link]: http://donhodges.com/How_Deep_Can_You_Dig_Dug.htm “DONHODGES.COM – HOW DEEP CAN YOU DIG DUG?  FIXING DIGDUG'S KILL SCREEN”

Categories
Posts

5 Principles For Good Code

While replying to a job posting, I started writing this little manifesto of sorts as a mission statement for myself. After kicking it around a little with my good friend [Jesper of Waffle Software][jesper], I felt I should open it up to the world for criticism, additions, and discussion. The format and content owes much to [Dieter Rams’ 10 Principles Of Good Design][rams].

[rams]: http://en.wikipedia.org/wiki/Dieter_Rams#Rams.27_ten_principles_of_.22good_design.22 “Dieter Rams’ 10 Principles For Good Design”
[jesper]: http://waffle.wootest.net/ “Waffle”

1. Good Code is simple. It should be easy to understand for anyone who has to work on it.

1. Good Code is instructive. Anyone with a similar level of expertise should be able to understand how to keep building on the code.

1. Good Code is clear. Functions and variables should be named simply and descriptively. They should exist in a logical place in the source.

1. Good Code is generic. Common functions and elements can be used in future projects, or improved and applied to older ones. Projects are simple and more easily maintainable.

1. Good Code is specific. It solves only the problems it needs to.

I’m genuinely interested in feedback on this. Reply on your blog, tumblr or tweet me.

Categories
Links

Bootstrap 2.0 Ready For Testing

Version 1 was really useful, [Version 2 looks to be pretty amazing][link]. Supports responsive design, has a style guide, and is fully open source.

[link]: http://markdotto.com/bs2/docs/ “Bootstrap, from Twitter”

Categories
Links

A List of HTML5 Game Engines

[Saved me a lot of time this afternoon.][link] Sometime I’d really like to review all of these.

[link]: https://github.com/bebraw/jswiki/wiki/Game-Engines “Game Engines – GitHub”

Categories
Links

Crafty – HTML5 Game Engine

[Promising engine which already includes collision detection, sprites, events, and entities.][link]

[link]: http://craftyjs.com/ “Crafty – JavaScript Game Engine, HTML5 Game Engine”

Categories
Links

CSS3 Patterns Gallery

[Golly this is nifty][link]. A very nice collection of gradient patterns, all of which work with CSS PIE (which means they work in IE!).

[link]: http://leaverou.me/css3patterns/ “CSS3 Patterns Gallery”

Categories
Links

Metroid Source Code Expanded

[Nine text files in which you will find the complete source code for the original Metroid game for the NES][link]. I assume this is the code for the American NES cart version, and not the slightly superior Japanese FDS version.

[link]: http://www.romhacking.net/documents/459/ “Romhacking.net – Documents – Metroid Source Code Expanded”

Categories
Links

spin.js

[Very nice javascript-based indeterminate progress spinner][link]. Smaller than a GIF, customizable, support down to IE6. Sounds like a winner.

[link]: http://fgnass.github.com/spin.js/ “spin.js”

Categories
Links

Location, location

[535 ways to reload the page with Javascript][link]. This is a nice illustration of a one of the big problems with Javascript: There are either too many ways to do something or not any.

Regardless, I think we can all agree that this is about 534 more ways than we need.

[link]: http://www.phpied.com/files/location-location/location-location.html “Location, location”

Categories
Links

Steven Frank: Programming for Mere Mortals

[Part 1 in a series, available for $2.99 on the Kindle.][link]

Steven is the co-founder of Panic, the legendary Mac development house that brought you Transmit, Coda, and Unison. You need this book.

[link]: http://stevenf.com/pages/book.html “Steven Frank: Programming for Mere Mortals”