Saturday, June 29, 2013

Genetic cars in HTML5

This is cool. I'm always a sucker for these things.

Lorem ipsum

Google Translate does funny things with lorem ipsum.

Wednesday, June 19, 2013

MetaC

MetaC seems to be a preprocessor that uses a much nicer syntax to set up boilerplate, instrument functions, etc., while still working in standard C.

Lobster

Lobster is a game programming language.

Open street maps data

Openstreetmap.org provides the same service as Google Maps, but as an open-source project. Very, very nice! Listed under data science because I don't have a better place for public databases.

Don't check - tell, in Ruby

Here's a neat idiom: instead of checking for a null pointer return, use a do construct in Ruby to either act on the return or not (if it's null). Very slick and elegant.

Particularly elegant algorithms

Interesting StackExchange topic.

Business process simulator

I'm not 100% I'd call this a business process simulator - it's really a queuing theory simulator, maybe. But whatever it is, it's damn cool.

Saturday, June 15, 2013

Responsive design for Webapps

Very nice overview.

Web workers

Browser-local JavaScript threads.

Do people actually use UML?

Survey says ... not really.

Offbrand: useful data structures for C

This is kinda neat. It's a ... library-making system, effectively, that provides generic data reference-counted data structures for C that can be instantiated on the fly.

Good sources for security knowledge

So there's an online course coming up on Web security, and HNN weighs in with useful resources for people interested in this stuff.

Using metadata to find Paul Revere

Analysis of membership data to find influential colonial terrorists.

Reverse-engineering the NSA backdoor in Lotus Notes

This is cool.

Vagrant

Vagrant assembles development environments to spec using (I think) VMware.

Friday, June 14, 2013

Logic programming

It's either overrated or underrated, but it's definitely of interest in Clojure (core.logic) and Scheme (the Reasoned Schemer), and I want to learn more at some point when I eventually get translation automated to the point that I can earn money while working less.

Saturday, June 8, 2013

A possible way to combine the command line with Wx

Something that's bothered me for a while with Perl/Wx programming is that I'd really rather have a terminal that's easy to manage for command input. Since the DOS box is right there, it's irritated me that I can't just use it.

Maybe I can: Perlmonks from 2010. Then combine that with AnyEvent::Run for starting other programs...

Generators come to JavaScript

Python has had generators for a while now, and now they're in JavaScript too. (No real browser support yet, of course.)

I don't think generators are possible to express in Perl.  Well.  Kind of: Compile::Generator does it with a source filter.  Aaand Coro::Generator uses coroutines (Coro)

Software Transactional Memory

STM is the software transactional memory being written for PyPy to support robust threading.  I include it here because it's being implemented as a standalone memory manager and that strikes me as pretty rad.

Maybe I should consider writing a virtual machine. It could have this kind of thing in it.  How high a level would be appropriate?  That's an interesting question.

Monkey

An automated bug report system for C. I'm not sure whether it's linked into your program or what, but I just like the idea of getting data back about usage.

Machine learning cheat sheet

ML workflow, drawn as a flowchart by a practitioner.

KNN in Racket

An article about implementing K nearest neighbor in Racket Scheme.

The "rope" data structure

Here's an efficient way to store long strings that are changing dynamically; most operations are O log n. Useful for text editors and that sort of thing.

Victorykit

Victorykit was/is Aaron Swarz's political tool.  (I wanted to call it a platform - but it's not a political platform!  ... Or is it?)  I think it may have been written based on email he'd exchanged with Cory Doctorow (fourth paragraph here).

Confidential data

Here's an idea. If we build strong typing into a language, why can't it be a kind of attribute thing? Then the toolchain could be told that a given string contains data that should be treated confidentially, for example, because it is personal data under European law.  Bug reports could automatically anonymize it then.

I'm increasingly starting to see how strong typing is actually a form of annotation that allows limited automated reasoning about the code. As somebody said recently (can't remember where I read this), just because Java typing is so onerous doesn't mean you should throw the baby out with the bathwater.  The more logic is made transparent and amenable to simple automated tools, the better - it's when it starts getting in the way that you have troubles.

Friday, June 7, 2013

Newsdiff

Here's a tasty little treat: diffs of news on websites to track silent changes.  Filed under journalism, although it's really metajournalism.

PHP encoded malware

Here's a cool one: a single (long) line of injected PHP that unpacks to a little porn server that retrieves its porn from elsewhere.  Neat attack.  How it gets injected I don't know, but in that discussion this other thing came up: an Apache exploit that doesn't change the filesystem at all - it patches the live httpd process. That's freaking cool!  It would be pretty brittle, though; recompile with some minor changes and it's not going to work. Monocropping is a bad thing.

Tuesday, June 4, 2013

OpenWorm

OpenWorm is a project to build a full model of a nematode.

Mailing service with RESTful API

Infraprint. Two bucks a letter...

Probabilistic Programming and Bayesian Methods for Hackers

A book/tutorial on Github.  I ought to work through it.

Sunday, June 2, 2013

Scraping project: FictiveKin's recipe project

FictiveKin is trying to restore the glory of Punchfork, a recipe site that unceremoniously shut down without warning or backup, starting with the scraping of publicly available recipes.  If I get some time, I'd like to help. Each publisher needs a separate scraper.

Searching Github for SQL injection vulnerabilities

This kind of stuff always makes me drool.

Lisp koans tutorial

Test-driven tutorial for Lisp.

scikit-learn ML in Python

Python really is winning in the scientific programming arena.  The ML module of choice is scikit-learn.

Look ma! Language X in the browser!

Seems like everybody's compiling to JavaScript these days: Python, Ruby.

Saturday, June 1, 2013