A Selection Of Thoughts From Actual Women

April 29th 12:38
by why

Dana Jones: What about a presentation about writing code on deadline: “Delivering Like a Birth Mom.” Or how about graphic images of up-close breastfeeding in a talk titled “Nursing Your Projects Along.” I have four kids. I breastfed. I’ve hunted. I even like porn! But two great tastes don’t always taste great together, and that is the point that so many seem to have failed to make, or to get.

Goodbye, Cruel Hello World

March 18th 23:35
by why

What makes a good Hello World program? Because Hello World itself is a terrible Hello World.

Ctrl+B For Concurrency

March 13th 18:23
by why

Photo by Golan Levin.

I’ve walked away from ART & CODE in Pittsburgh with a pile of new hackers to idolize. Krikey, the things these artists are doing while everyone else is rewording their unit tests and staring at the TIOBE index. My mind has been shredded into wispy, semi-autonomous ribbons.

How Are Those Guys Datamoshing?

February 26th 06:38
by why

I want you to tell me if this guy is a programmer. Certainly he’s a hacker of some kind. This isn’t a great video, but here’s a cam of Pink Dot by Takeshi Murata:

The Fundamental Little Hackers' Summit

February 5th 18:06
by why

A Classy Context Free Book

February 2nd 18:55
by why

Empathy And Other Miniature Pygame Hacks

January 30th 19:01
by why

Löve In Two Dimensions

January 29th 20:09
by why

It’s a wonder. These pockets of people you can happen upon. The graphics environment is called Löve and it’s Lua and SDL glued together. So, somewhere between Pygame and Processing.

Inside Shoes 2

December 6th 07:59
by why

The second “stable” release of Shoes has flown. We still have a lot to do. But, hey. It’s happening, right?

This time I have some detailed release notes, with screenshots and code fragments to help sort it all out.

Inside Shoes 2: The second release of Shoes (called “Raisins” by many) is a culmination of a year of feature-filled additions to the first, experimental release of Shoes (titled “Curious”.)

This release adds a built-in manual, an error console, RubyGems integration, simple asynchronous downloads, an in-memory and database-backed image cache, support for external fonts, and, most prominently, its own unique library for packaging apps into little executables. OS X support is significantly better, as we switched from Carbon to Cocoa.

A lot of these features were fleshed out here on the blog, with your responses proving very so very valuable indeedy.

So, thanks for following along. Shoes 3 ("Policeman") will come around in, oh, January, I’d hazard.

The Frustrating Magical Aspect

December 4th 17:29
by why

Julien Léonard: Actually, a graphic is foremost a composition of basic shapes and color. It is not their absolute values (that is absolute spatial and color coordinates) but their relations that matters. This is even more true because our visual perceptive chain processes its inputs in a relative way, as paradoxical visual games highlight it.

Seven Years Later, Proce55ing Leaves Beta!

November 25th 07:20
by why

Daniel Shiffman: At New York University’s graduate ITP program, Processing is taught alongside its sister project Arduino and PHP as part of the foundation course for 100 incoming students each year. At UCLA, undergraduates in the Design | Media Arts program use Processing to learn the concepts and skills needed to imagine the next generation of web sites and video games. At Lincoln Public Schools in Nebraska and the Phoenix Country Day School in Arizona, middle school teachers are experimenting with Processing to supplement traditional algebra and geometry classes.

Running Hot

November 22nd 16:38
by why

Yes-s-s, Zed takes me on! Here’s a good part:

Zed Shaw: Why actually blessed me with his presence during one of my hacking sessions and made me feel smarter by association. I showed him Ragel (which he used to write Hpricot), and showed him some vim tricks, and he talked to Obie. It was great just having him warming the air near me.

A Costly Parade

November 21st 07:59
by why

Adam Wiggins: First, Rubyists love elegance.

Daniel Lyons: Every programmer worth a damn thinks they love elegance.

Something Like PyArg_ParseTuple For Ruby

November 17th 23:58
by why
 rb_arg_list args;
 /* "k" means Class, "h" means Hash */
 switch (rb_parse_args(argc, argv, "kh,h,", &args))
 {
   case 1: /* "kh" - style(Link, :background => white) */ break;
   case 2: /* "h"  - style(:width => "100%") */ break;
   case 3: /* ""   - style() => {...hash of styles...} */ break;
 }

Hpricot Strikes Back

November 3rd 19:13
by why

This fruit is tiny, shiny and can be spit-polished in a single weekend.

Mixing Our Way Out Of Instance Eval?

October 6th 17:36
by why
 require 'mixico'

 def Builder.capture &blk
   mix_eval(self, &blk)
 end

Textarea Resize And Curly Quotes For Conkeror

September 27th 22:29
by why
 function resize_textarea_up(field) {
   var h = field.offsetHeight;
   if (h > 120)
     field.style.height = (h - 60) + "px";
 }
 function resize_textarea_down(field) {
   field.style.height = (parseInt(field.offsetHeight) + 60) + "px";
 }
 interactive(
   "resize-textarea-up",
   "Resize a textarea to be smaller.",
   function (I) call_on_focused_field(I, resize_textarea_up)
 );
 interactive(
   "resize-textarea-down",
   "Resize a textarea to be taller.",
   function (I) call_on_focused_field(I, resize_textarea_down)
 );
 define_key(content_buffer_textarea_keymap, "C-up", "resize-textarea-up", $category = "Movement");
 define_key(content_buffer_textarea_keymap, "C-down", "resize-textarea-down", $category = "Movement");

A Legend Never To Be Solved

September 25th 06:33
by why

Documents Reveal Django Pony, Caught In Tail Of Lies

September 15th 06:07
by why

Sorting Out Libskia

September 9th 18:09
by why

Vladimir Vukićević: Another graphics library, Skia, has recently appeared as part of the Google Chrome code drop. It’s unfortunate that Google felt they needed to develop their own alternative in a closed fashion instead of joining an existing open source project. The Cairo project, and through it the many open source projects that depend on it, could have benefitted from the work that was done on Skia behind closed doors. Even worse, unlike most of the rest of the Chrome code, Skia is licensed under the Apache Public License v2.0. This creates difficulties in being able to reuse the Skia code in most projects.

However, on a happy note, hopefully it will ignite a performance race between itself and Cairo. I also wonder if Cairo will ever pick up what Skia has in the way of effects and animation. Cairo does have filters, gradients. But not blurs and lighting effects.

The biggest obstacle to using Skia on its own, though, is that Skia is really only partially released. It’s a 403. Allegedly, some folks were able to nab the source during a brief window on March 4th of last year. And the source code in the Chrome tree is a snapshot that seems incomplete. For example, much of the native code (to paint directly to X11, Windows, OS X contexts) seems missing.

For my part, I’d like to see how Shoes would run if forked to be Skia-powered. Can’t seem to hook it all up just yet.


Skia can be built seperately, though.

$ git clone git://github.com/why/skistrap.git
$ cd skistrap
$ make fetch
$ make

Presuming you have the includes and libs for libpng, libjpeg, libgif and libX11, you’ll end up with libskia.so.

There’s also a make test, but I haven’t got it hooked up to X11 quite yet, as there’s no ports/SkOSWindow_Unix.cpp or the like. And it looks like the GL bindings it uses are for other platforms.