I have always loved programming - its like Lego without gravity.

Basic on my ZX81 graduating to assembler and Turbo Pascal during my teens.

Developed phone OS software - engineer, architect, product manager - but got made irrelevant by the iPhone and redundant by Android.

These days I mostly work with data, big data and fitting big data onto small boxes.

Why is Ruby bad security?

More: Ruby’s Principle of Too Much Power

Another week, another Ruby on Rails exploitAgain it attacks derserialisation libraries that can, it turns out, instantiate complex objects.  Not all the flaws can be blamed on over-ambition of the serialisation libraries like YAML and now JSON, though.  There was a spate of mass-assignment vulnerabilities and others and doubtless some I’ve forgotten.

update: I spoke too soon: there’s yet another assignment vulnerability right now, again….

Why, deep down, does Ruby have whack-a-mole security problems?  I don’t by the popularity argument at all; its not because Rails has suddenly become a big enough target to encourage attackers.

I think its much deeper in the Ruby psyche.

Why doesn’t the Python JSON serialiser try and instantiate non-standard data-types?

Ruby delights in spooky action at a distance.  Rubyists and Railites delights in an perverse, extreme object-orientation.  In Convention-over-configuration and Don’t-Repeat-Yourself mantras.

The aim is to be so declarative, so high-level as to no longer see nor understand what is happening beneath and before.

Even Python apps are much shallower than Ruby apps.  Ruby is the queen of indirection and nesting.

I just can’t see Go and Python frameworks suffering in the same way and to such a large endemic extent.

jump to ↓



performance
Faster searches with non-prefix fields in composite indices
Compressing MySQL databases
What highscalability.com says about Scaling my Server
Scaling my Server: follow-up
old classics
The kid's computer
Making the History of Worlds Religions map
If you defend those involved in the OpenGL ES specification, you are an idiot
Stackoverflow unwinding?
general
Why Swift?
Python annotations and type checking
pycon 2014 Sweden: the bad bits
Table-based Template Translation in C++
recreation
games programming
Perlin Noise
Perlin Noise
Drawing RTS maps fast
WillCity update
ludum-dare
Ludum Dare #35 Mosaic
LudumDare 33 wallpapers
SSIM vs MSE for Mosaics
Ludum Dare 30 results are in!