January032010
Six Ways File-Sharers Will Neutralize 3 Strikes | TorrentFreak — "As the failed and now largely abandoned campaign against file-sharers in the United States proved, scare tactics simply don’t work. There are millions of file-sharers in France and many will simply carry on their activities in the belief that the odds of being caught are extremely slim."
(Sam Thursfield's del.icio.us)
Christopher Blizzard · “skid mark” — "A new phrase that I learned yesterday. Probably something that’s been around computers for a long time, but it was my first exposure to it. Basically a “skid mark” is something you leave in code as a signature so that in a crash dump you can figure out how you got there."
(Sam Thursfield's del.icio.us)
January022010
'Re: Why Git is so fast (was: Re: Eric Sink's blog - notes on git,' - MARC — Some interestings examples of optimisations Java doesn't allow.
(Sam Thursfield's del.icio.us)

Jason Scheirer's Flickr

...

I love lamp

Jason Scheirer posted a photo:

I love lamp

At LACMA

</content>
Posted on January 02, 2010 07:33 AM
December312009
Safe as Milk » Blog Archive » Christmas wish: Distro hardware buyer’s guide — Very true. "As a long time free software user, every time I buy hardware I have the same decision paralysis. Will the graphics card be fully supported? Are the drivers stable? Will the on-board wifi, sound card, and the built-in webcam Just Work? Will they work if I spend hours hunting down drivers and installing kernel modules (and remembering to reinstall them every time my distro upgrades the kernel)? Or will they stay broken for at least 6 months, until the next version of the OS is released?"
(Sam Thursfield's del.icio.us)
December302009
DSpace@MIT : The Art of the Interpreter of the Modularity Complex (Parts Zero, One, and Two) — "We examine the effects of various language design decisions on the programming styles available to a user of the language, with particular emphasis on the ability to incrementally construct modular systems. ... We explore the consequences of various variable binding disciplines and the introduction of side effects. We find that dynamic scoping is unsuitable for constructing procedural abstractions, but has another role as agent of modularity, being a structured form of side effect. More general side effects are also found to be necessary to promote modular style. We find that the notion of side effect and the notion of equality (object identity) are mutually constraining; to define one is to define the other. The interpreters we exhibit are all written in a simple dialect of LISP, and all implement LISP-like languages. A subset of these interpreters constitute a partial historical reconstruction of the actual evaluation of LISP."
(Sam Thursfield's del.icio.us)
best of craigslist: A letter to my dead girlfriend - m4w — The saddest thing
(Sam Thursfield's del.icio.us)
Luis Villa's Internet Home / continued notes on the macbook experiment, week 3 — Good points on the few positive things about macs :) "installing new software is insanely nice. Yes, apt and yum are nice, but I don’t find out about software that way. I find out about software by reading something on the web (for me usually a blog post, but for others a news article) and from there installation on mac is a click, download, and drag away. That is it. That is insanely great."
(Sam Thursfield's del.icio.us)
People’s Processor: Embrace China’s Homegrown Computer Chips | Magazine — "Will Loongson-based PCs make inroads with average consumers in the West? You can already order a Lemote netbook online. It isn’t any cheaper or better than other entry-level netbooks, and reviews from geeky hardware enthusiast sites are less than enthusiastic. But these crude first-generation products hark back to another wave of boxy, underpowered consumer goods that were initially regarded as mere curiosities in the West. They were called Toyotas."
(Sam Thursfield's del.icio.us)
StickyLinks: A URL shortener with web-history support — Cool idea.
(Sam Thursfield's del.icio.us)
December292009
gleicon's txwebsockets at master - GitHub — WebSockets implementation for Twisted
(Jason Scheirer's del.icio.us)
December282009
UKI – Simple UI Kit for complex web apps
(Jason Scheirer's del.icio.us)
December262009
YouTube - otousansoftbank's Channel — All in one place!
(Jason Scheirer's del.icio.us)
December222009
They didn't seal the deal. They sealed the coffin. : Johann Hari — :( "So that's it. The world's worst polluters - the people who are drastically altering the climate - gathered here in Copenhagen to announce they were going to carry on cooking, in defiance of all the scientific warnings. They didn't seal the deal; they sealed the coffin for the world's low-lying islands, its glaciers, its North Pole, and millions of lives."
(Sam Thursfield's del.icio.us)
Karl Marx - Wikipedia, the free encyclopedia
(Sam Thursfield's del.icio.us)
Our leaders are staging a scam in Copenhagen : Johann Hari — More :( "Staggering across the fringes of the summit are the people who will see their countries live or die on the basis of its deliberations. Leah Wickham, a young woman from Fiji, broke down as she told the conference she will see her homeland disappear beneath the waves if we do not act now. “All the hopes of my generation rest on Copenhagen,” she pleaded. Dazed Chinese and Indian NGOs explain how the Himalayan ice is rapidly vanishing and will be gone by 2035 – so the great rivers of Asia that are born there will shrivel and cease. They provide water for a quarter of humanity. "
(Sam Thursfield's del.icio.us)
Leeds Music Forum • View topic - Does anyone bother with Bradford? — Venues in Bratford
(Sam Thursfield's del.icio.us)
Eight Ways In-Vitro Meat will Change Our Lives | h+ Magazine — Disturbing from start to finish. "My final prediction is this: In-Vitro Meat relishes success first in Europe, partly because its "greener," but mostly they already eat "yucky" delicacies like snails, smoked eel, blood pudding, pig's head cheese, and haggis (sheep's stomach stuffed with oatmeal). In the USA, IVM will initially invade the market in Spam cans and Hot Dogs, shapes that salivating shoppers are sold on as mysterious & artificial, but edible & absolutely American."
(Sam Thursfield's del.icio.us)
Sup — Console-based, GMail-inspired mail client.
(Jason Scheirer's del.icio.us)
December142009
logilab-astng (Python Abstract Syntax Tree New Generation) (Logilab.org) — Improvements to Python's built-in AST stuff, including round-trip code→AST→code routines.
(Jason Scheirer's del.icio.us)
December102009
braindump: NOSQL debrief — Slides from a NoSQL conference.
(Jason Scheirer's del.icio.us)
The Typographic Desk Reference (TDR) — Buy this for me, jerks!
(Jason Scheirer's del.icio.us)
December082009
The best music of the decade | Music | Best of | The A.V. Club — Largest and most average list of best noughties music I've found so far.
(Jason Scheirer's del.icio.us)
December052009
HTMLGIANT / Grammar Challenge: Answers and Explanations — "Those of you who give knowing the rules a bad name by correcting other people’s spoken and casual English really need to read this. So do those of you who think fiction writers and poets don’t need to know the rules. Both groups are lazy. It’s lazy to learn some rule in elementary school and continue to lord it over people while failing to pay attention to shifts in usage. And it’s lazy to distract readers unnecessarily because you don’t realize that your misplaced adverb causes ambiguity."
(Jason Scheirer's del.icio.us)
December042009
December022009
Shape comparison language
(Jason Scheirer's del.icio.us)
November022009

Jason Scheirer's Flickr

...

OFF

Jason Scheirer posted a photo:

OFF

</content>
Posted on November 02, 2009 06:20 PM

Ante show

Jason Scheirer posted a photo:

Ante show

</content>
Posted on November 02, 2009 06:20 PM

Azure Ray

Jason Scheirer posted a photo:

Azure Ray

</content>
Posted on November 02, 2009 06:20 PM

If You Fall

Jason Scheirer posted a photo:

If You Fall

</content>
Posted on November 02, 2009 06:20 PM

Fuzzy couch

Jason Scheirer posted a photo:

Fuzzy couch

</content>
Posted on November 02, 2009 06:20 PM

Blown out couch

Jason Scheirer posted a photo:

Blown out couch

</content>
Posted on November 02, 2009 06:20 PM

I should have used a better camera couch

Jason Scheirer posted a photo:

I should have used a better camera couch

</content>
Posted on November 02, 2009 06:20 PM

Toulouse

Jason Scheirer posted a photo:

Toulouse

</content>
Posted on November 02, 2009 06:20 PM

Better focus

Jason Scheirer posted a photo:

Better focus

A mantis nymph somehow ended up on my handlebars on my ride home

</content>
Posted on November 02, 2009 06:20 PM

Mantis

Jason Scheirer posted a photo:

Mantis

</content>
Posted on November 02, 2009 06:20 PM

Mantis

Jason Scheirer posted a photo:

Mantis

</content>
Posted on November 02, 2009 06:20 PM

Yeah Yeah Yeahs

Jason Scheirer posted a photo:

Yeah Yeah Yeahs

At the Pomona Fox

</content>
Posted on November 02, 2009 06:20 PM
October312009

Sam Thursfield

...

Nix

The other day I found out about the Nix package manager. It's interesting because each version of package (called a derivation for some reason) is in an isolated directory, and the environment is built from symlinks and long PATH variables and the like. This gives some niceties like atomic upgrades, and the ability to reason about broken dependencies much more easily; the developers term it a purely functional package manager. You can also have multiple versions of a package installed and switch between versions using a "profiles" feature.

This got my brain working a little. In Nix, the packages are specified as a set of attributes and a shell script that together describe how to build the package from source. When installing, it first checks various places for a suitable binary version and if there isn't one, it will download the source and build it. So Nix could give us beautiful support for testing and hacking on bits of GNOME. Imagine I decide to rewrite GtkTreeView, for whatever reason. I set up a new profile which uses Gtk+ from git, and keeps the source in my home directory somewhere. Nix can download binary versions of the latest GLib unstable, and any other deps not satisfied by the distro, so I don't have to waste time building those. I'm not sure what Nix would do about the apps that depend on Gtk+; ideally you could tell it the ABI wasn't changing so it would just run the same versions of apps but linked against the unstable Gtk+. This isn't possible at the moment and would be hard to implement, I imagine. Right now Nix could install new versions of various apps, hopefully just the ones you specify to save duplicating your entire system. The point anyway is that now I can do some hacking and test my changes in my real environment straight away, all with no danger of breaking my actual system.

I know there are major obstacles to achieving this. Nix isn't perfect - it uses wastes quite a bit of time and disk space, although there is a distro using it in the real-world. I wrote to their mailing list, and it seems like a lot of what I mention above is possible but isn't really documented or used much at the moment. And of course it's not like jhbuild doesn't work well. Still, I kind of think this is a vision of the future. It would be awesome being able to pick and choose bits of your system to hack on and have it integrate perfectly.

Interestingly, nix would also be really useful for packaging MSYS. I mean the dependency problems there are so complex that the msysGIT people choose to ship an entirely separate environment.
Posted on October 31, 2009 08:53 PM
August172009

Sam Thursfield

...

August 17th ~19:00 UTC

Hi everyone! I thought I would write my final SOC report to my blog, so that it gets everyone excited about a really cool new API that you can't easily use for anything at the moment, but it is going to be awesome when you can!

My original idea was basically to take the gconf-peditor widgets and make them GtkBuildable, saving a lot of wasted effort. I was going to do some other stuff to make GConf more bearable as well. By the time I started coding, this had become ignoring GConf entirely (which is on its way out sooner than I realised) and essentially closing bug 494329, and related work.

So here are the various things I have written over the last few months:
  • GLib
    I added a pretty printer for GVariant objects, which is now in the main gvariant branch of glib.

  • GTK+
    My Gtk+ branch can read the following:
    <object class="GtkCheckButton" id="foo">
      <property name="active" setting="foo">true</property>
      ...
    and later on, you can call gtk_builder_bind_settings_full (...) and it will call a function for each of these bound properties. To avoid a GSettings dependency, nothing happens automatically yet: you have to pass g_settings_bind as the callback.

  • gsettings
    I have a branch with some small changes to GSettings, such as loading schemas from outside the system schemas database. My main contribution is that I just wrote a windows registry backend, with .. wait for it ... full change notification support. So hopefully (I haven't actually tried this in the real world, but it works in my tests) you can update your app's UI as the user edits the settings in regedit and crazy nonsense like that.

    (This is all done just with Windows API functions - which is smart enough to tell you a registry has changed, but not smart enough to tell you what value it was, or do so asynchronously. So the code currently caches the settings in memory and works out what has changed the hard way. A month ago I wouldn't have predicted even that to be possible :)

  • gsettings-gtk
    Some of my stuff is still in its own repo at the moment. Here we have g_settings_bind() and an (incomplete) GtkBuildable version of GSettingsList. There is also a script which will read a GtkBuilder file and output a GSettings schema, based on which object properties are bound. Given that you will always need a settings schema, code to control the settings and code that is controlled by the settings, this seems like the best way to minimise duplication of effort; the default values are taken from the default values in the ui. Another option would be to generate the schema from the properties of the object it controls, but this is left as an exercise for now ...

  • GLADE
    Finally, so people can actually use this stuff easily, I did some GLADE hacking. This branch has a simple GladeSettingsEditor dialog which can edit property bindings .. and even has some incomplete GtkSettingsList editing. Although the dialog works fine, it needs some more stupidity checks; at the moment for example you can bind checkbutton.active and set a related action at the same time.
I think this is a reasonable amount of work for 3 or so months .. especially counting the time I wasted on autotools issues and git confusion :) Compared to my original proposal, some big things on the gsettings-ui side are still unfinished .. but I have done some other things not in the proposal at all, so it balances out I guess. The inspiration for this project was the fact that working with GConf sucks, and you end up wasting a lot of time, so I'll be continuing working on this until I can use it in my apps in place of the GConf API. My future plans include (ignoring the obvious things such as testing and merging into the main repos) supporting flag and enum values in various useful ways, converting some apps which currently have a lot of code dedicated to preferences and replacing it with a much smaller amount of gsettings code (mainly for the satisfaction), and writing a tutorial entitled "How to use GSettings and GTK+ to make your life much easier"

Thanks to ryan for sorting me out all the time, and also to tristan for help on the GLADE side, and to everyone who spends time making GNOME rock
Posted on August 17, 2009 08:56 PM
August162009

Sam Thursfield

...

what a gwan?

  • I heard some talk a while back about ways to get automake to shut up. It turns out it now can, using a new silent mode.

    It involves adding the following to configure.ac:
    m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
    (using m4_ifdef so that the script continues to work with automake 1.10 and older)

    And passing the --enable-silent-rules flag to configure. Of course, it also involves updating your infrastructure to support automake 1.11, and prepending something like $(AM_V_GEN) on any custom Makefile actions you have .. but these are technicalities

    In fact, this autotools mythbuster document has a couple of other gems, such as how to implement non-recursive automake correctly.

  • Been using my new Thinkpad X40 for a while. It's nice having a computer new enough to run compiz. It's also nice having a notebook with a 2 hour battery life, so I can take it up a hill and sit coding for longer than it took me to get there. I installed the Karmic beta, which keeps warning me that the disk is about to die, presumably because it reports a load cycle count of 92 billion. I take this value with a pinch of salt.

  • Less than 24 hours before the summer of code 'pencils down' time. Tomorrow I will post a nice report on all the stuff I have done, it will very be exciting!
Posted on August 16, 2009 08:23 PM
August112009

Jon Atkinson's Flickr

...

Penny goes for a swim

Jon Atkinson posted a video:

Penny goes for a swim

The Luke Newell method of teaching your dog to swim.

</content>
Posted on August 11, 2009 02:15 PM
August022009

Sam Thursfield

...

Some more jhbuild on windows

  • Discovered something that was up with my jhbuild branch: zlib installed its import library with the wrong name, so libtool didn't build DLL's of its deps. This is now fixed in my git.

  • Finally bought a new laptop. I've had the same Thinkpad T20 for 3 years, and I imagine it's been around for 3 or 4 years before I got hold of it. For a while, the trackpoint controller has been a bit crazy, the screen is unreliable and the case is cracked so I found an X40 on ebay this morning for £160. I was hoping to get something better suited to working outside (black isn't the ideal colour for use in the sun, never mind the transmissive screen) but this doesn't seem to be a priority of laptop makers, so my odds of getting something cheap in this line are low :) I also worry about the 12" screen for coding on, but I guess spare monitors aren't too hard to find if I am stuck without a desktop for a while. I looked at some other makes, but it's hard to justify buying anything other than a thinkpad - there's so many niceties I would miss, and I worry that no other make has comparable build quality. Long live the thinkpad!
Posted on August 02, 2009 05:41 PM
August012009

Sam Thursfield

...

Pretty view from my windows

Springtime is here in the win32 world. First GCC 4.4.0 and now MSYS 1.0.11. There's magic in the air. And a few nights ago I built gtk+ completely from source on Windows using jhbuild, mingw and MSYS.

I tried to repeat this yesterday using gcc 4.4.0 instead of gcc 3.4.5, and this caused many new problems :) I've just about run out of time to fix them up for now, so I thought I would present my findings as they are. I wrote up a nice set of instructions which live at http://afuera.me.uk/jhbuild-windows/. They have worked for me with gcc 3.4.5 and are very close to working with gcc 4.4.0. There are various pitfalls, but all the ones I have come across are documented and hacked around. So take it for a spin!! .. I will happily accept more/improved -windows modulesets, fixes for the various things I've had to hack around, or any sort of drugs that might help me recover from the mental trauma.

I have also started work on an MS Windows registry backend for GSettings .. my SOC stuff has been neglected recently while I've been away, but I think with a few days of solid effort it's all going to start really coming together. It's going to be exciting to start converting some apps and tearing out big chunks of newly-redundant code :)
Posted on August 01, 2009 12:03 PM
July032009

Sam Thursfield

...

Autohell, part 995

  • I'm putting in a little time today on my windows branch of jhbuild. Running git now works (using a .bat file to call MSYSgit in its own shell, it's all messy but works fine once it's set up).

  • I spent the past hour or so wondering why ACLOCAL_FLAGS was being ignored. I finally realised that it's not actually honoured by aclocal at all and never has been. autogen.sh scripts tend to execute aclocal $ACLOCAL_FLAGS which make it work often enough that I assumed it was meant to.

    Now I wonder whether autoreconf would accept a patch to make it honour $ACLOCAL_FLAGS, or if I should patch Pixman's autogen.sh to call autoreconf $ACLOCAL_FLAGS .. and any others that don't ..

  • Highlights of Glastonbury were definitely Blur, and a more obscure band called Edward II who I last saw aged about 12.

    Best wishes for everyone in Gran Canaria!
Posted on July 03, 2009 09:17 PM
June222009

Sam Thursfield

...

GLADEs

This week I started exploring the wild world of GLADE!! After losing a day to the fact that I hadn't done a 'make install' after changing the API in some way (the plugins were still being loaded from PREFIX/lib/glade3, so all hell was subtly breaking loose), I managed to implement the following provisional UI for binding settings to properties:

GLADE with GSettings integration #1

Most properties can be bound, including many that you would never want to - but the 'Bind to' widget is normally hidden for these. It defaults to shown on the 'data' properties you'd normally bind to, such as GtkEntry.text and GtkCheckButton.active.

A bonus of this is you get 'guards' (where one toggle affects the sensitivity of an area of the dialog) basically for free. Just bind the 'sensitive' property of the container widget to the same key as the toggle, and all of its children will be disabled/enabled appropriately.

Last week I stayed a few days with my parents in Wales. Generously the sun came out and I got out a bit.

Aqueduct 3

This week I am headed to Glastonbury! I like to get to lots of festivals every year and Glastonbury is far and away the best in the country. I often work at them but I'd hate to do that at Glastonbury, there's already not nearly enough time to see the whole of the festival. It just so happens there are several recently reformed big-name bands playing this summer, I think it is going to be one to remember!
Posted on June 22, 2009 02:22 PM
June162009

Jason Scheirer's Flickr

...

Luna Park

Jason Scheirer posted a photo:

Luna Park

</content>
Posted on June 16, 2009 05:21 AM

Fish

Jason Scheirer posted a photo:

Fish

</content>
Posted on June 16, 2009 05:21 AM
June142009
June132009

Powered by Planet!
Last updated: January 03, 2010 10:22 PM

Sources

( RSS ) Happy
( RSS ) Happy's Some Stupid Comic
( RSS ) Isaac Cohen (Skywise)
( RSS ) Jason Scheirer
( RSS ) Jason Scheirer Tech Stuff
( RSS ) Jason Scheirer's Flickr
( RSS ) Jason Scheirer's Twitter
( RSS ) Jason Scheirer's del.icio.us
( RSS ) Jon Atkinson
( RSS ) Jon Atkinson's Flickr
( RSS ) Jon Atkinson's Twitter
( RSS ) Jon Atkinson's del.icio.us
( RSS ) Sam Thursfield
( RSS ) Sam Thursfield's del.icio.us

About

Planet Cleanstick is a content aggregator. It collects and displays posts from some of the greatest internet superheroes who have ever existed.

Jon Atkinson was born in Anchorage, Alaska in 1883. He was abandoned as a child and raised by local natives, who also subsequently abandoned him. After nearly starving in the harsh tundra, he discovered a special affinity with nature and began his lifelong quest to destroy civilization.

Isaac Cohen, te plus oculis meis amarem, Isaace iucundissime, munere isto odissem te odio Vatiniano: nam quid feci ego quidue sum locutus, cur me tot male perderes poetis?

Happy, or as you may remember him from his folk singing days, El Sonríe, retired from performing his unique brand of Tex-Mex folk/mariachi/country fusion in 1978. He is now quite active in his local church and has abandoned his corn liquor bootlegging ways.

Jason Scheirer has many faces, but none of them housewife. beginning in the late 1700s, he built a modest publishing empire that eventually, at its peak, incorporated every citizen in the Austro-Hungarian empire as an employee. He lost his fortunes on less-than-shrewd dogfight bets.

Sam Thursfield is obsessively paranoid and will charge if subjected to extended periods of staring. Please do not feed the Sam. If you would like, we have postcards in the gift shop after the tour. There are only 12 Sam Thursfields left in the wild, making it one of the most endagered species in the world. What you see here is a rare and wonderful opportunity to see a Sam Thursfield, which may not be available to later generations.