
An API Ontology 12 February 2011 NOTE: The alpha of my book on APIs is out! Check it out at As I've done research on APIs for Designing Hypermedia APIs, I've become increasingly interested in different styles of API. You may find this amusing if you've read some of the literature on the topic, but I've created this list in a top-down way: APIs as black boxes, rather than coming up with different aspects of an API and categorizing them based on that. If you have an API that doesn't fit into one of these categories, I'd love to hear about it. Synopsis: Provide simple data through a simple GET/POST request. Examples: Description: Simple data is made available via an HTTP GET or POST request. These API are technically a sub-type of *-RPC, but I feel that their lack of business process makes them feel different. Remote procedure call; call a function over the web. Similiar to how structured programming is built around functions, so is RPC. WS-* (or SOAP)
Make the Most of Your Routes At the core of any web application is a mapping between urls and application logic; a mapping between what is in the browser's address bar and what should be displayed on the screen. Rails has routes.rb, Django has URLconf, Backbone.js has controllersBackbone.Router, and Sammy.js has Sammy.js. We also aren't talking about arbitrary URLs here. Modern well-designed applications use clean, semantic, and probably RESTful urls. These are urls which are human-readable, have a natural hierarchy to them, and intuitively reflect the underlying data to which they relate. So, what's the problem? Problem: Routers Are Designed for Stateless Servers Historically, url routing systems are designed for web servers which maintain little to no state about the client which is making the request1. A url is requested. By not maintaining state, the server is able to drastically reduce its memory-footprint. Here there are four different actions: index, show, edit, and comments, with corresponding url patterns.
Koneki - Lua Development Tools Code Assistance — Still writing code, but quicker. Debugger — Finally a tool enabling to watch what is going on in your application. Code Template — Use common statements quicker. Syntax Coloring — Just for getting code nicer to write and to read. Error Marker — Where is my mistake? Outline — Tired of scrolling? Variable Highlight — Shows you all references to one variable. Code Formatter — You code, we indent. Code folding — File is too big, comments are too long? Goto definition — Code navigation finally brought to Lua. Cross-platform — Koneki LDT runs on Linux, OSX and Windows.
Tower.js - Small components for building hardcore apps. Martin Kool - Game Developer Gives 7-Year-Old Best Birthday Present Ever UPDATE Feb 24: CultOfMac covers this story and informs us Zias’ level will be added to iOS as well! Being a gaming father I try to raise my kids with a healthy balance of analog and digital fun. To the surprise of me and Mrs Kool they don’t seem to care about digital games that much, and prefer paper, glue and scissors and playing outside over anything else. But recently my son Zias discovered Edge. He loves it. At first it seemed he was starting some sort of addiction, but it became his top Lego creativity booster and his creations give joy to the whole family. And soon you can too… You could say that I know the feeling of doing more with a certain game :) So I wanted to give Zias something Edge-related for his birthday, as I knew it would make him a very happy little guy. I sent a tweet to Edge creator Two Tribes where I asked if they had any promotional material such as a poster, flyer or business card perhaps. Then he wrote me: I was amazed. It translates to "Hi Zias! "Edge"
Air Travel: Who is the most interesting person you've ever sat next to Music Everywhere - play and learn guitar with Tabber - join music communities Getting Started with Ember.js This is a guide that is intended for JavaScript developers that want to get started building a simple Ember application. The tutorial will take a look at all of the core components that ember provides and how they all fit together. We will explore the basics of the Router, Model, Controller, View, Handlebars.js templates, and ember-data. Along the way, you will learn the concepts you will need to get started building ambitious single page applications with ember.js. By the end of this tutorial, you will have a working example of a static web site built with ember.js. The companion code is available here: Learning Curve It is well documented in the developer forums and on twitter that learning ember.js is difficult at first. When explaining ember.js, models tutorials start with the data models first, and others the router. Comparison to Backbone.js Understanding the pros and cons of ember.js conventions Setting up <! Simple Router Adding Context
FANN – neural networks made easy Convergence! Over the weekend I was struck with the realization that I don’t know how to use neural networks in practice, damn it. Even though a few months ago I realized what neural networks are, even though I’ve tried implementing them, even though I’ve used them in a class setting … How the hell do you use these things in real life!? Implement from scratch? Find a library, write some code, run some tests, fiddle with features, run a test, fiddle with features, realize everything is slow, decide to use more layers, fiddle with features, play around with activation functions, run a test, fiddle with features, rewrite the code because it’s a mess, fiddle with features, run a test, run the network, run more tests and so on and on ad nauseum. That can’t be it either … Looking far and wide for a good library to use I stumbled upon FANN – Fast Artificial Neural Networks. Perfect! It gets better! Put the data in the fann format, load it up, and away you go. It can suggest a good training algo
Why I Chose Ember.js Why I Chose Ember.js Clarification This article has been edited to reflect time spent with each framework and a few other relevant facts I have finally made the plunge to really dig into Ember.js. But, if you are familiar with the vast landscape of Javascript frameworks, you may wonder why I chose Ember.js. This isn't a light decision and Ember.js is thought to have quite a steep learning curve. However, I think that there are some reasons behind this that I will cover in a later post. So to start, let's look at the various frameworks and my own relations to them in my track to eventually set upon Ember.js. Backbone.js - 8 Months Experience When looking at front-end frameworks, many first happen upon Backbone. Backbone is an incredible bit of kit for managing some light data binding but soon becomes hard to manage. Marionette.js - ~4 Months Experience Of you work on Backbone projects you quickly become tired of the boilerplate that is associated with Backbone apps. Batman.js Conclusion