http://luciole-art.blogspot.com/
This illustrator is amazing. Found via Veerle
http://luciole-art.blogspot.com/
This illustrator is amazing. Found via Veerle
I just saw the following Google tech talk about Thorium based nuclear reactors. It looks like a quite interesting, almost limitless power solution yet it has failed to be commercialised because of the nuclear arms race in the 60s and 70s. There were two different forms of reactor that were being developed by the military in the 1950s and 60s – one which used Uranium 235 and would produce massive amounts of waste that could be reused in nuclear weapons (e.g. plutonium) and another, Thorium, which made it extremely difficult to make fissionable material from the waste products. Add to this the waste products are dangerous for ~500 years as opposed to millions if not processed correctly. We all know which technology for nuclear power won.
Human beings really have made some incredibly bad decisions – lets hope we manage to get through the next 25 years making some better ones and avoid destroying civilization (strange that this seems so melodramatic, and yet it’s probably true). Here is the video: The Liquid Fluoride Thorium Reactor: What Fusion Wanted To Be.
I made some stuffing recently. It was pretty great so here is the recipe:
Finally, it’ll taste better if you put it inside a chicken or turkey. Remember to leave some space above the stuffing so that air can circulate inside the chicken/turkey and it has a chance of cooking.
This is a standard WordPress template, and everything pretty much has been copied over…
I much much prefer WordPress to Zine. The whole setup (and particularly the admin interface) seems a lot slicker and easier to work with. Given the small amount of time I plan to dedicate to this, it is much better.
I have some more interesting projects that I should get out there rather than fiddling with a Python blogging tool. More on this in one month
So, after lots and lots of work, Simply Bespoke Furniture is finally launching. It’s not only fantastic furniture but also hopefully a pretty high quality site. Feel free to report any issues you find in the comments and I’ll try to get them fixed!
At some point I’ll write up about how it all works… but almost more importantly I’ll have some time for different personal projects, including a js framework designed to promote code reuse and a kind of social website. Lets _hope_ I get there by the end of the year.
Who knows I might even write a few blog entries too and sort out this site! I’ve decided I’m going to do the sensibel thing and move it over to Word Press (a complete blogging system) rather than Zine, which is far too cumbersome to adapt.
There are many techniques available to make floated list items look to be the same height with different amounts of content within them. These can be used effectively in many situations, but one where I have not seen them work is where an image is the first thing in each list item:

I’ve been building a site for a friend recently and the issue of how to add vertical padding to images automatically came up during this development, so I’ll reproduce the changes I made to the excellent Code Igniter image library to support this.
initialize() function on line 276 (or directly before $this->image_reproportion();) I needed to store the requested dimensions before we loose them:
$this->req_width = $this->width;
$this->req_height = $this->height;
function image_process_gd($action = 'resize')
{
$v2_override = FALSE;
// If the target width/height match the source, AND if the new file name is not equal to the old file name
// we'll simply make a copy of the original with the new name... assuming dynamic rendering is off.
if ($this->dynamic_output === FALSE)
{
if ($this->orig_width == $this->width AND $this->orig_height == $this->height)
{
if ($this->source_image != $this->new_image)
{
if (@copy($this->full_src_path, $this->full_dst_path))
{
@chmod($this->full_dst_path, DIR_WRITE_MODE);
}
}
return TRUE;
}
}
// Let’s set up our values based on the action
if ($action == ‘crop’)
{
// Reassign the source width/height if cropping
$this->orig_width = $this->width;
$this->orig_height = $this->height;
// GD 2.0 has a cropping bug so we’ll test for it
if ($this->gd_version() !== FALSE)
{
$gd_version = str_replace(’0′, ”, $this->gd_version());
$v2_override = ($gd_version == 2) ? TRUE : FALSE;
}
}
else
{
// If resizing the x/y axis must be zero
$this->x_axis = 0;
$this->y_axis = 0;
}
// Create the image handle
if ( ! ($src_img = $this->image_create_gd()))
{
return FALSE;
}
// Create The Image
//
// old conditional which users report cause problems with shared GD libs who report themselves as “2.0 or greater”
// it appears that this is no longer the issue that it was in 2004, so we’ve removed it, retaining it in the comment
// below should that ever prove inaccurate.
//
// if ($this->image_library == ‘gd2′ AND function_exists(‘imagecreatetruecolor’) AND $v2_override == FALSE)
if ($this->image_library == ‘gd2′ AND function_exists(‘imagecreatetruecolor’))
{
$create = ‘imagecreatetruecolor’;
$copy = ‘imagecopyresampled’;
}
else
{
$create = ‘imagecreate’;
$copy = ‘imagecopyresized’;
}
$_dst_img = $create($this->width, $this->height);
$copy($_dst_img, $src_img, 0, 0, $this->x_axis, $this->y_axis, $this->width, $this->height, $this->orig_width, $this->orig_height);
if(!empty($this->pad_image) && $this->pad_image == TRUE)
{
// pad the top of the image if necessary
$dst_x = $this->req_width – $this->width;
$dst_y = $this->req_height – $this->height;
// we want the image positioned at 50% if it is taller than it is wider.
if(abs($dst_x) > 0)
{
$dst_x = round($dst_x/2);
}
// create a new image with a white background
$padded_dst_img = $create($this->req_width, $this->req_height);
$bg_color = imagecolorallocate($padded_dst_img, 255, 255, 255);
imagefill($padded_dst_img, 0, 0, $bg_color);
// copy the previous image over the new one.
$copy($padded_dst_img, $_dst_img, $dst_x, $dst_y, 0, 0, $this->width, $this->height, $this->width, $this->height);
}
$dst_img = isset($padded_dst_img) ? $padded_dst_img : $_dst_img;
// Show the image
if ($this->dynamic_output == TRUE)
{
$this->image_display_gd($dst_img);
}
else
{
// Or save it
if ( ! $this->image_save_gd($dst_img))
{
return FALSE;
}
}
// Kill the file handles
imagedestroy($dst_img);
imagedestroy($src_img);
if(isset($padded_dst_img)) {
imagedestroy($padded_dst_img);
}
// Set the file to 777
@chmod($this->full_dst_path, DIR_WRITE_MODE);
return TRUE;
}
Now you have images which are all the same size and consistently positioned with white space at the top. There are lots of variations on this theme that you might be able to make the code here better. It may make life easier than putting inline margins on images that come out of Image_lib in different sizes when trying to keep an image proportional.
If you are using CSS Transitions and want to provide Javascript equivalents to user agents that do not support them, this may help you:
function isCSSAnimCapable() {
return (
("WebkitTransition" in document.documentElement.style) ||
("MozTransition" in document.documentElement.style) ||
("MsTransition" in document.documentElement.style) ||
("OTransition" in document.documentElement.style) ||
("Transition" in document.documentElement.style)
);
}
It does however become a little messy trying to do animation from both Javascript and CSS. You have been warned.
It’s been a long time since I was in India, over a year, and I’m just getting round to writing up my amazing experience of one of the most surreal places you could ever go. Going to India made me step back and realise how toned down life in the UK really is. From a family of hogs wandering by at the dead of night while sat at the most remote and lonely Ajmer bus stop, to being sat on the Ganges in Rishikesh watching orange and white petals float by, eating lunch with some truly wonderful people I had met, my experience of India was of rich intricate details that I will always remember.
Lets back up a bit before we talk about India. I’d been on one other big holiday before, on my own, Thailand. I had been intending to go with a friend on this trip, but that person (you know who you are) backed out and I was so excited about the idea I just booked my ticket anyway. Going away on my own for the first time turned out to be a very good thing for me; it made me realise that almost the more adversity I put myself in the better things turned out. So the following year I was looking for other places to travel, Brazil and South America sounded difficult and India seemed like a very very safe alternative… little did I know that while India is safe it is certainly full of cons and swindles and aggressive rickshaw wallahs.
So after a 20h of travelling my first con began…
This will probably never be finished so I’m going to publish it now, as is.
I have a finally published a blog and it uses Zine. It looks like a pretty impressive blogging engine written in python.
I’m looking forward to playing and configuring this machine and providing a few tutorials and updates on things I’m doing from Code Igniter, to frontend code, to breaking my new server
For now that’s it.