links for 04/26/2012 (p.m.)
-
uClassify | URL API Documentation
Free classification service
Posted from Diigo. The rest of my favorite links are here.
uClassify | URL API Documentation
Free classification service
Posted from Diigo. The rest of my favorite links are here.
Getting Started With Node.js and Geddy | Nettuts+
Building a web app with node.js and Geddy
Posted from Diigo. The rest of my favorite links are here.
UK Cookie Law Solution (Free Script)
JavaScript code to make your website comply with the new EU Cookie Law.
Posted from Diigo. The rest of my favorite links are here.
Simple, clean pure-CSS tooltips
Posted from Diigo. The rest of my favorite links are here.
Ender – the no-library library.
Feeling like JQuery is too bloated? Ender provides an alternative package-manager approach for assembling light-weight JavaScript libraries.
Posted from Diigo. The rest of my favorite links are here.
dist/script.js at master from ded/script.js – GitHub
Asynchronous JavaScript loading can increase the responsiveness of your web site to your users. Here is a nice easy-to-use JavaScript loader that can handle arbitrarily complex dependencies in the client-side of your app.
Pjax is a nice way to get a responsive web app. It has a similar effect as a single-page javascript/json app, but allows for more conventional server-side programming and easier fallback for old browsers.
Posted from Diigo. The rest of my favorite links are here.
Collaborative Filtering Using JRuby and Mahout : Danny ‘Jay’ Donnell
Nice simple and complete example of how to implement collaborative filtering using the Mahout Java library.
Posted from Diigo. The rest of my favorite links are here.
Using the Wikipedia link dataset — Henry Haselgrove
Conveniently-formatted data files with Wikipedia page linking data. It is a bit out of date, but still good for testing algorithms.
Posted from Diigo. The rest of my favorite links are here.
You can use this library to fix the AJAX back-button problem in a browser-compatible way.
How To Build a Naive Bayes Classifier
Nice clear article explaining the theory and practice behind naive Bayes.
Posted from Diigo. The rest of my favorite links are here.
A Scala RPC library from the Twitter devs.
A Scala library that fills in some gaps in the standard library.
Excellent advice from Twitter devs on programming in Scala.
Posted from Diigo. The rest of my favorite links are here.
FlexSlider – The Best Responsive jQuery Slider
Yet another JavaScript slider
Another “scrollable” UI element
Alternative to jcarousel
JavaScript carousel container
Posted from Diigo. The rest of my favorite links are here.
cakejs – CAKE – Canvas Animation Kit Experiment – Google Project Hosting
JavaScript canvas drawing library
A JavaScript 3D library.
Posted from Diigo. The rest of my favorite links are here.
CoffeeLint – Lint your CoffeeScript
It is easier to write clean code in Coffeescript than in JavaScript, but still it is good to check that you are not doing anything stupid.
Posted from Diigo. The rest of my favorite links are here.
Here are two different ways of defining a class in Coffeescript:
class Container
constructor: (@member) ->
secret = 3
dec = ->
if secret > 0
secret -= 1
true
else
false
service : ->
if dec() then @member else null
Container::stamp = (string) ->
@member + string
|
Container = (param) ->
@member = param
secret = 3
dec = ->
if secret > 0
secret -= 1
true
else
false
@service = ->
if dec() then @member else null
null
Container::stamp = (string) ->
@member + string
|
Both of these define a class called Container with
member initialized by a constructor parameter secret dec service stamp We can use both in the same way:
myContainer = new Container 'abc' console.log myContainer.member # abc console.log myContainer.stamp 'def' # abcdef console.log myContainer.service() # abc console.log myContainer.service() # abc console.log myContainer.service() # abc console.log myContainer.service() # null
The version above on the left is the special class syntax that Coffeescript provides. However, to me, this extra layer of syntax seems to depart a bit from the “Coffeescript is just JavaScript” philosophy.
The version above on the right is a translation of Douglas Crockford’s pattern, using his example.
Which is better? The left is a bit easier to read for a newcomer to the language, but I find the right more elegant because there is less “magic”.
And there is another advantage to the Crockford style. Consider this small modification:
Container = (param, decrementBy) ->
@member = param
secret = 3
dec = ->
if secret > 0
secret -= decrementBy
true
else
false
@service = ->
if dec() then @member else null
null
Container::stamp = (string) ->
@member + string
Here we have generalized the class by adding a decrementBy parameter to the constructor. We do not copy this to a property, but any of the private or privileged methods in the class can use it. (Don’t you love closures!). There is no way to do this using the Coffeescript class syntax in a way that would prevent the decrementBy value being modified from outside the object.
I think I might switch to using the Crockford-style classes.
Handy reference for all the JavaScript event types as supported by the different browsers. However it does not cover the touch events in mobile browsers.
Posted from Diigo. The rest of my favorite links are here.
How Not To Sort By Average Rating
For sorting user ratings the best algorithm is lower bound of Wilson score confidence interval for a Bernoulli parameter (via +Christopher Hoover)
Posted from Diigo. The rest of my favorite links are here.
The Top 10 Javascript MVC Frameworks Reviewed – CodeBrief
Very useful comparison of different JavaScript MVC frameworks. Spoiler: the article concludes Ember.js (AKA SproutCore 2.0) is best.
Posted from Diigo. The rest of my favorite links are here.
The Online Influence Players | Ressive Networks
Nice survey of the various social-network influence players, including some interesting math on how one of them calculates “influence” in terms of probabilities that others have read your postings. (Note however, that this article is more than a year old, which is ancient in Internet-time.)
Posted from Diigo. The rest of my favorite links are here.
Another JavaScript development library for creating mobile web apps with a native app feel.
Enyo JavaScript Application Framework
The WebOS enyo library is now open-sourced and available for desktop browsers, not just mobile browsers.
Mapping from concepts to images
Posted from Diigo. The rest of my favorite links are here.
One of the really nice things about the sbt build system (for building Scala projects) or the coffeescript compiler is that they have a “watch” mode.
When you invoke a command in that mode (prepending with “~” (tilde) in sbt or adding the “–watch” argument to coffee) they continuously monitor your files and execute the compile or build action as soon as you save one of your source files to disk. Some IDEs, such as Eclipse, have that feature too — saving a file triggers an immediately compile.
But what if you are using an older build system like make, ant, or maven?
Well, if you are working on Linux, you can add this continuous build mode to any build system.
First, install inotify-tools, which on Ubuntu and similar distributions means doing:
sudo apt-get install inotify-tools
Then, for make, create an executable script called “~make” somewhere in your path with the following contents
#!/bin/sh -x make $* while inotifywait -e modify . do make $* done
Now where you would normally type
make something
you can type
~make something
and start editing files. Every time you save a file the make will execute.
For ant, maven, or any other command-line build system, just modify the script to replace “make” in the two places it occurs.
Ambitious project to create a universal graphical language, available as free icons (via @kohlschuetter)
Posted from Diigo. The rest of my favorite links are here.
AppData – Facebook application leaderboards, charts, and metrics
Interesting data on Facebook and iOS apps.
Posted from Diigo. The rest of my favorite links are here.
Walking down Montgomery Street in San Francisco, the day after an Occupy march, we saw that Bank of America had been subject to some modification.
boilerpipe – Boilerplate Removal and Fulltext Extraction from HTML pages – Google Project Hosting
Find main text from web pages.
Posted from Diigo. The rest of my favorite links are here.
Cross-domain Ajax with Cross-Origin Resource Sharing | NCZOnline
Includes JavaScript snippet for a shim to do cross-domain ajax in IE
function createCORSRequest(method, url){
var xhr = new XMLHttpRequest();
if ("withCredentials" in xhr){
xhr.open(method, url, true);
} else if (typeof XDomainRequest != "undefined"){
xhr = new XDomainRequest();
xhr.open(method, url);
} else {
xhr = null;
}
return xhr;
}
var request = createCORSRequest("get", "http://www.nczonline.net/");
if (request){
request.onload = function(){
//do something with request.responseText
};
request.send();
}
Posted from Diigo. The rest of my favorite links are here.
Jeff Dean’s Ruby Blog – Building a fast, lightweight REST service with Rails 3
Some useful tips for optimizing Rails for a simple JSON REST service
Posted from Diigo. The rest of my favorite links are here.
yeungda/jcoffeescript – GitHub
Using jcoffeescript (Java/Rhino implementation coffeescript) can mean for simpler setting up of a development environment because it does not have dependencies on node.js and npm, which can be difficult to install. However jcoffeescript is missing some features such as the –watch option or the ability to compile multiple files.
Posted from Diigo. The rest of my favorite links are here.
jQote2 – Javascript templating revamped : once upon my code
A nice looking in-browser templating engine that claims to be faster than any other alternative except underscore.js
Underscore.js templates with HAML and CoffeeScript – Jaime Moran
Nice clean way of the underscore JavaScript library to evaluate in-browser templates.
Posted from Diigo. The rest of my favorite links are here.
Interesting point of view on possible push-back from consumers on the massive collection of data about them. One particular quote:
no one had yet found a way to articulate the value proposition of aggregate data analysis to end consumers because there wasn’t one yet
In other words, while there is a lot of value to companies of the data gathered about consumers, but there is not much value to the consumers themselves.
Posted from Diigo. The rest of my favourite links are here.
If your users are also your customers, then you are lucky. It makes a lot of design and marketing decisions a lot simpler. You can focus laser-like on providing features that your users are willing to pay for.
However the user is not always the customer. For example, if you are selling software to a large enterprise then the person making the buying decision is not the user, which is why so much software used internally in large companies is so crappy.
And many of you working in the consumer Internet space have the same business model that broadcast television has had for more than half a century: give the service for free to users and get money from advertisers. To be successful you need to simultaneously keep your users (consumers) happy while keeping your customers (advertisers) willing to pay you. This is often hard.
C++0xCompilerSupport – Stdcxx Wiki
Handy table showing what new C++ features are supported by what compilers
Web development tutorials, from beginner to advanced | Nettuts+
Great source for web development news and information.
Popcorn.js | The HTML5 Media Framework
HTML5 Javascript library
Posted from Diigo. The rest of my favorite links are here.
Another way to do cross-domain JavaScript calls.
Ben Alman » jQuery postMessage: Cross-domain scripting goodness
This seems like the best way to do cross-domain calls in JavaScript.
Posted from Diigo. The rest of my favorite links are here.
Zappa: CoffeeScript-optimized interface for building web apps on Node.js with Express and Socket.IO.
Coffesscript web framework on top of node.js
riak-js: Javascript Turtles All the Way Down
Using Riak from node.js
Posted from Diigo. The rest of my favorite links are here.
Easy-to-use text summarization that comes as a standard Ubuntu package.
Posted from Diigo. The rest of my favorite links are here.
Spark Cluster Computing Framework
Interesting framework for machine learning using Scala
Posted from Diigo. The rest of my favorite links are here.
Calling Octave (the Matlab clone) from Java.
Posted from Diigo. The rest of my favorite links are here.
2.x From The Beginning – GitHub
Nice step-by-step tutorial for using Capistrano to deploy a rails app.
Posted from Diigo. The rest of my favorite links are here.
javascript – window.open popup getting blocked during click event – Stack Overflow
How to avoid being blocked by a pop-up blocker.
Posted from Diigo. The rest of my favorite links are here.
Machine learning applications and components, including the ancestor of Siri.
Color Semantics for Image Indexing
Mapping from adjectives to colors.
Posted from Diigo. The rest of my favorite links are here.
PhantomJS: Headless WebKit with JavaScript API
Headless JavaScript using webkit. Includes rendering to image and PDF.
Posted from Diigo. The rest of my favorite links are here.
HP EliteBook 8540w Mobile Workstation – Accessories, supplies & services
I think I need to get some more memory for my laptop so that I can run Windows and Ubuntu simultaneously (using a virtual machine).
Posted from Diigo. The rest of my favorite links are here.
sonatype/async-http-client – GitHub
A fast, flexible HTTP client library,
Posted from Diigo. The rest of my favorite links are here.
Apache ActiveMQ ™ — How do I embed a Broker inside a Connection
An easy-to-deploy configuration of ActiveMQ messaging, that seems good for modest levels of scaling.
Posted from Diigo. The rest of my favorite links are here.
NBT Consulting – Maven 2 Cheat Sheet
Maven has an annoyingly verbose and difficult-to-remember command line. Here is a handy little reminder of the most common commands and options.
Posted from Diigo. The rest of my favorite links are here.
Health Information for Travelers to India – Travelers’ Health – CDC
Includes Vaccination recommendations
Posted from Diigo. The rest of my favorite links are here.
John Resig – JavaScript Micro-Templating
Some nice JavaScript code for rendering JSON onto HTML using a template cloaked in a bad-data-type script element.
Posted from Diigo. The rest of my favorite links are here.
Lazy Loader – Load HTML and Images on Window Scroll | jQuery Plugins
Nice easy-to-use lazy-loading JavaScript library to allow you to have long scrollable web pages without a big up-front loading time.
Posted from Diigo. The rest of my favorite links are here.
8 ways to share your git repository
Comprehensive guide to the various ways of sharing Git repositories.
Posted from Diigo. The rest of my favorite links are here.
Giuseppe DeCandia et al, “Dynamo: Amazon’s Highly Available Key-value Store”
Another of the seminal noSQL papers.
Fay Chan et al, “Bigtable: A Distributed Storage System for Structured Data”
One of the seminal noSQL papers.
Posted from Diigo. The rest of my favorite links are here.
This is a presentation I gave earlier this year at the Electronic Imaging conference. There are more details in the paper that went along with the presentation.
Semantic analysis web service
online tool to check for problems in your CSS stylesheets
Posted from Diigo. The rest of my favorite links are here.
How to add language translation to your web page.
Posted from Diigo. The rest of my favorite links are here.
This crocodoc site has impressive document manipulation technology. It converts PDF to HTML5, which the user can annotate and then downloaded as a modified PDF.
Posted from Diigo. The rest of my favorite links are here.
removing stale members from the ring was: Re: Questions about ring sta
How to remove a zombie Riak node from a cluster:
1. riak attach
2. {ok, C} = riak:local_client().
3. C:remove_from_cluster(‘riak@host’).
4 ^D
Getting Started – Making AJAX Applications Crawlable – Google Code
How to make AJAX sites crawlable by Google.
Posted from Diigo. The rest of my favorite links are here.
Coding Horror: We Done Been … Framed!
Frame busting busting — a somewhat evil way to prevent a web site in an iframe from busting out out the iframe.
Posted from Diigo. The rest of my favorite links are here.
Connecting to SSL services – JIRA 4.4 EAP – Atlassian Documentation – Confluence
Some tricks here that I had to use when using Java to connect to a Jira server with a self-signed SSL certificate.
Posted from Diigo. The rest of my favorite links are here.
Using CSS to Do Anything: 50 Creative Examples and Tutorials – Noupe Design Blog
Lots of interesting examples of how to do flashy stuff in CSS.
Posted from Diigo. The rest of my favorite links are here.
Secure module: how do you “log in” in a FunctionalTest? – play-framework | Google Groups
Workaround to preserve cookies across requests in the Play Framework functional tests.
HOWTO: Native iPhone/iPad apps in JavaScript
Very nice summary of how to make a web application look like a native iOS app. Also included is a way to add a native app wrapper around it so a web app can be provided via the app store.
Posted from Diigo. The rest of my favorite links are here.
morgueFile free photos for creatives by creatives
Handy source for free stock photos that can be used commercially.
Google Prediction API – Google Code
Google has opened up their machine learning algorithms via an API.
Posted from Diigo. The rest of my favorite links are here.