Andy Balaam | Andy Balaam's Blog         FreeGuide | GSSMP | Wrestles with God | mop(e)snake | duckmaze | Gnome Attacks         RSS

Planet Andy


JJ : Software Engineer at Chief Architect (Coeur D'alene, ID)

Friday 03 September 2010 20:27 MST

JJ : Junior Web/ User Interface Designer at Ipreo (New York, NY)

Friday 03 September 2010 20:19 MST

Phoronix : XDS 2010 Has Been Moved To A Tobacco Factory

Friday 03 September 2010 20:18 MST

While there is Oktoberfest in two weeks, in just a week and a half there is the annual X.Org Developers' Summit. This year's summit for these developers is taking place in Toulouse, France. The event was going to be hosted at a conference room at the University of Toulouse, but due to delays in renovating that room, this X.Org summit has been moved to an ex-tobacco factory...


JJ : C# Asp.Net Developer for Trading Applications! at Ipreo (New York, NY)

Friday 03 September 2010 20:14 MST

kuro5hin : Cocoa Memory Management: the 7 Step Program

Friday 03 September 2010 20:00 MST

Cocoa memory management is fairly straightforward, so I shouldn't have to post this. But I will, if only to prevent someone else from doing so. Only longer. And wronger.

LWN : GNU/Linux powers state-of-the-art hearing aid research

Friday 03 September 2010 19:53 MST

64 Studio Ltd. has created a Linux distribution for HörTech gGmbH to aid in research on hearing impairment and augmentation technology. "64 Studio was commissioned by HörTech to create a GNU/Linux real-time audio distribution, code-named Mahalia, optimized for the Lenovo Thinkpad X200 notebook. Giso Grimm of the Carl von Ossietzky-Universität Oldenburg explained: "We prefer to use ready-to-use Linux audio distributions over patching the kernel ourselves, since our expertise is in signal processing, not kernel development. When we were faced with the fact that our then favourite audio distribution failed to deliver stable real-time kernels for several releases, we asked 64 Studio to tailor us a customized distribution with a working real-time kernel that matched our specific needs and ran stable on the selected hardware.""

JJ : Manager, Frontend Engineering (Consumer) at Meebo (Mountain View, CA)

Friday 03 September 2010 19:40 MST

Planet Gnome : Yuvaraj Pandian: I have a motorbike!

Friday 03 September 2010 19:26 MST

So, I now have a motorbike!

It's a Bajaj Platina, and bought off GSoC money from my cousin Sudar. I've been learning to ride for a while, and it's been good. Had my first accident a while back, and started riding again a few days back.

I'm still very conscious about riding. I still think before clutching, braking, changing gears, etc. It hasn't been internalized in the same way typing on a Keyboard has been - with enough practice (and accidents!) I guess I'll be able to just 'think' left and make my bike go left. Focus is also a major issue right now - I've to consciously keep reminding myself to check for everything on the road - it doesn't quite come automatically yet. Enough time should fix this too.

So far I've logged about 12 km on the bike - and should be doing more pretty soon. The Platina is no performance bike - but it will solve my major problem of walking the last mile when using public transport. Will try posting more up-to-date 'bike logs' whenever I make significant trips.

Will post pictures when I have a decent camera - which should also be not far off.

Note: Real Bikers - don't sneer. I'm just a noob :)

Planet Gnome : Travis Reitter: Empathy hacking setup

Friday 03 September 2010 18:34 MST

In order to do development on Empathy, I've created another user on my system (creatively named "empathy-dev") and run my development versions of programs, libraries, and services through this user. This has a couple major benefits:


It was somewhat non-trivial to create a good setup, so I thought other people might find this handy.

Throughout this short guide, I use references to /opt/gnome, which is the standard jhbuild $PREFIX. So substitute your development $PREFIX as necessary. I make a point to not use the standard Unix development $PREFIX (/usr/local) so that my regular user doesn't run the development programs or libraries (for stability and sanity; see below).

First, we need to set up a few bits and pieces so your shell and D-Bus know where to find the development programs and config. I use a fairly standard D-Bus local session config file.

The important (and only non-standard, I think) part is:

/opt/gnome/share/dbus-1/services

This allows the programs installed in our $PREFIX to launch necessary services (eg, Mission Control, the Telepathy Connection Managers) through D-Bus activation.

Download this file, adjust it as necessary, and put it in /home/empathy-dev/.dbus-1

Add this to the end of your development user's .bashrc:

export PATH=/opt/gnome/sbin:/opt/gnome/bin:$PATH

# let programs find any new icons, default config files, etc.
export XDG_DATA_DIRS=/opt/gnome/share:/usr/share:$XDG_DATA_DIRS

# automatically start a D-Bus session bus
alias dbus-setup="dbus-launch --config-file=$HOME/.dbus-1/session-local.conf"
session_setup=$(dbus-setup)
if [ $? -eq 0 ]; then
echo "\nSet up D-Bus session for $USER:";
echo $session_setup
eval export $session_setup
else
echo "\nFAILED setting up D-Bus session for $USER";
fi

Once you've got that set up, it's easy to launch the development version of Empathy as a different user:

slogin -X empathy-dev@localhost

Then, just run empathy and marvel at its independence from your main user's instance. However, if you haven't installed a newer version of empathy in $PREFIX/bin, this will just fall back to your system-installed version.

Fix this by setting up jhbuild and running "jhbuild build empathy". Find something to do for about 20 minutes. When you come back, if our dependencies haven't failed to build, you'll be able to run the latest version of Empathy as empathy-dev, without getting in the way of your system user.

Happy hacking!

--
dbus-launch will keep the dbus-daemon (and anything it activates) running by default after your development user logs out. There's a --exit-with-session option, but for some reason, if I use it here, about 30% of my keystrokes at the shell don't arrive. I'm flabbergasted, but it seemed completely tied to this dbus-launch option (I tried several times each way).

Phoronix : Wine 1.3.2 Updates Gecko, Other Changes

Friday 03 September 2010 18:17 MST

Two weeks have passed since Wine 1.3.1 was released, so Wine 1.3.2 has been pushed out this Friday afternoon. Though there isn't too much to get excited about in the Wine 1.3.2 release with there only being a few noteworthy changes...


JJ : Mac/Windows Developer at Art & Logic, Inc. (United States; Canada) (telecommute)

Friday 03 September 2010 18:14 MST

Phoronix : A Linux Demo For Amnesia: The Dark Descent

Friday 03 September 2010 18:11 MST

A month ago we reported that the Amnesia game was getting ready for a Linux release and now the Swedish developers behind this game, known properly as "Amnesia: The Dark Descent" have released a demo of the game. Frictional Games has released this demo for Linux, Windows, and Mac OS X gamers...


LWN : Ubuntu 10.10 Beta (Maverick Meerkat) Released

Friday 03 September 2010 18:06 MST

Ubuntu 10.10 (Maverick Meerkat) beta is available for testing. The Ubuntu 10.10 family of Kubuntu, Xubuntu, Edubuntu, Ubuntu Studio, and Mythbuntu, have also reached beta status. Maverick Meerkat is scheduled for a final release on October 10, 2010.

LWN : Security advisories for Friday

Friday 03 September 2010 17:50 MST

Debian has updated barnowl (denial of service).

Fedora has updated rekonq (F13, F12: cross-site scripting), sssd (F13, F12: authentication bypass), wireshark (F13, F12: multiple vulnerabilities), and F12: kernel (privilege escalation).

Gentoo has updated wxgtk (arbitrary code execution).

Mandriva has updated wget (code execution).

Pardus has updated openssl (denial of service) and flashplugin (multiple vulnerabilities).

Red Hat has updated kernel (privilege escalation).

SUSE has updated kernel (multiple vulnerabilities).

Planet Gnome : John Palmieri: Some bugs are just frustrating

Friday 03 September 2010 17:12 MST

Two weeks of knocking my head against a wall finally paid off with a one line code change.

- PyDict_SetItemString(class->tp_dict, ?__gtype__?, gtype);
+ PyObject_SetAttrString(class, ?__gtype__?, gtype);

For some reason GObjects created in python which inherited from an interface were crashing when running pygobject under Python 3. They worked fine in Python 2. It was a really obscure bug because the symptoms were no where near the actual cause. On a hunch I stepped through the code using gdb in both Python 2 and 3 simultaneously. What I found out was that while most of the code executed in the exact same way, at one point the Python 3 stack was returning a typecode of 80 (the typecode for the GObject type) when grabbing the __gtype__ attribute from the python wrapper. By adding a PyDict_GetItem call for the object?s tp_dict I was able to see that the correct gtype was lurking there. In Python 2 the attr and and tp_dict item both matched up but in Python 3, for some reason it did not propagate.

To be fair the pygobject codebase still contains a lot of early Python C code which combined with the Python 2 to 3 under the hood changes are going to produce a lot of pain in the short term. It just come with the territory. So while I have been cranky the last couple of weeks (the heat wave didn?t help either), that one line patch provided a euphoric release. Besides, while first chasing the bug I was able to produce an 800 line unicode handling patch which didn?t fix the issue but was needed anyway.

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

OSNews : iTunes 10: Snappier Performance, Questionable UI Choices

Friday 03 September 2010 16:12 MST

"By now, most iTunes users have already downloaded and installed iTunes 10. We've already given you the low-down on the biggest addition to the new version of iTunes - the Ping social network - but we also wanted to give our impressions on two 'improvements' promised in the release notes: look-and-feel and performance. While we agree that iTunes is 'faster and more responsive', we're not sold on the revised user interface." Vertical window titlebar widgets? Can't we just take this thing 'round back and put a bullet between its eyes? We'd be doing everyone a favour.

LWN : Morgan: Finding more women to speak at Ohio LinuxFest: success!

Friday 03 September 2010 16:03 MST

On her blog, Mackenzie Morgan reports on efforts to increase the number of women speakers at Ohio LinuxFest. Due to the outreach, the number of women speakers went from five of 31 last year to 14 of 38 this year. "Recognising the various concerns women speakers can face, we tried to specifically address potential issues in the email sent to women-focused mailing lists. Some of these known issues include lack of confidence in new speakers, not being clear what the intended audience is, or the "imposter syndrome," where someone doesn't recognize that they are qualified to speak on a topic. The woman to woman dialog made the difference.".

Phoronix : Two Weeks To PhoronixFest... Errr Oktoberfest

Friday 03 September 2010 15:09 MST

There is just two weeks to go until Munich's 177th Oktoberfest gets underway (though it's the 200 year anniversary) and again there will be a Phoronix presence this year at Oktoberfest...


Don Marti : SSL certificates and man-in-the-middle attacks

Friday 03 September 2010 14:34 MST

Important security topic: browsers enabling government MITM attacks

Coverage of the problem: The Internet's Secret Back Door by Danny O'Brien on slate.com, and discussion on Bruce Schneier's blog.

Verizon and Etisalat thread on mozilla.dev.security.policy

Potentially problematic CA practices at mozilla.org

EFF is starting the EFF SSL Observatory and asking Verizon to revoke one certificate for one high-profile problem company.

But there's a bigger problem: Web Security Trust Models. "This is also an inflexible model because there is no reasonable way to impose finer-grained control on the authority of the CAs. The standard used is called X.509. It doesn't allow you to trust Verisign to a greater or less than the Chinese government -- it is essentially all or nothing for each. You also can't tell your browser to trust CNNIC only for sites in China (although domain name constraints do exist in the standard, they are not widely implemented). It is also inflexible because most browsers intentionally make it difficult for a user to change the certificate list."

Potential solutions:

Perspectives

Certificate Patrol

OSNews : Ping: Why Bother?

Friday 03 September 2010 14:32 MST

Ping would have been a great thing for Apple to have done about 3-4 years ago, but at this point, the Social Networking thing has pretty much played itself out, picked its winners, and we've all moved on. Apple went to all the trouble to make a deal with a golf company, and all we got was a third rate social network? First of all, in what is probably just a temporary setback, Ping is choked with spam, but more importantly, it's just a sucky social network.

Martin Fowler : Rehabbing my website

Friday 03 September 2010 13:55 MST

I started martinfowler.com back in 2000, now its grown to around 3.5 million words in 500 pages, getting about 200,000 page views a month. One problem with the site is that it looks retro even for 2000 and seriously needs some cosmetic surgery. Another is that it’s not easy to browse to find useful articles.

So now the dsl book (which weighs in at 1.2 million words) is pretty much done with, I need to give martinfowler.com some love in these (and some other) departments. So I’m currently working on a nicer look for the website. I’ve also decided to write a series of “guide pages” - these are pages devoted to a single topic (such as agile software development) that highlight which pages on my website are likely to be useful on that topic.

I have these mocked up now to a point where I’m reasonably happy with them. Now the task is to apply these changes to the current website. My task is eased to some degree by the fact that all the HTML pages are generated from XML sources, but even so it will take some time to ensure everything looks reasonable. I also have a lot of travels coming up in the next few months, so I’m not predicting any delivery dates.

Planet Gnome : Youness Alaoui: PSFreedom (Jailbreak PS3 with N900) worked, finished and released!

Friday 03 September 2010 13:27 MST

Hi everyone,

As promised, here?s an update on my implementation of the PSJailbreak exploit : IT WORKS!

I made a video to show you, but I suck at making videos, so we can?t really see what?s going?  I?ll do a better one tomorrow.

It?s 9:30 AM here, and I really need to go to sleep, I?ll post more about this tomorrow, and I?ll release the code tomorrow for everyone to enjoy, compile, contribute, read, laugh at, etc?

So here?s the binary release of PSFreedom (thanks to xnt14 for the name) : PSFreedom driver

I would like to thank 3 people in particular who helped me, encouraged me and helped debug with me : NTAuth, philhug and phire (a.k.a phiren) from EFNet.

So here?s how it works.. download the .tar.gz, extract it, copy the files to your n900 (with scp, into /root), then ssh into your N900 and type : ./psfreedom-enable.sh

Then you can follow the usual procedure, unplug the PS3 from power, plug in the N900, connect the power to the PS3, then press power and *quickly* press the eject button? Then just let  the magic happen!

Once you?re done or want to revert back to the normal operation mode of the N900 (or to charge it) run the command ./psfreedom-disable.sh

In the future, we?ll have a nice package to install, a GUI application, I?ll make use of the LEDs  to show you the status of what it?s doing, and i?ll have it auto-revert to mass storage mode, so you can use your N900 not only to enable homebrew but also to store your homebrew!

See you tomorrow! Good night!

KaKaRoTo

Planet Python : PyCharm: Django development with PyCharm: new video on new JetBrains TV

Friday 03 September 2010 13:25 MST

We’ve just announced a new JetBrains TV site yesterday and already adding new content to it about PyCharm IDE: Django development with PyCharm.

The short 5-min video gives a brief overview of main features starting from Django project creation to a first start in the browser. Also, the demo shows many coding productivity features of PyCharm editor, e.g. code completion for Python, inside Django templates and for HTML tags; live templates/snippets; surround with…; and examples of PyCharm intentions such as automatic creation of view method and a template.

Check out the new Django development with PyCharm screencast.

Watch and develop with pleasure!
The JetBrains Team

Planet Python : Mike Driscoll: Pyowa ? September 2010 Wrap-Up

Friday 03 September 2010 13:08 MST

This is for all you Pyowa home-boys out there what missed our gathering. We don’t know why you homebodies didn’t come and hang out and talk shop wit us, but we think you really truly missed out on our phat gathering. We had around 10 real homies show up to hear the jibber jabber about South, a Django data migration tool. We were supposed to hear about SWIG too, but ended up swigging pop (or soda for you southerners) and chowing down on free pizza instead.

Next time, we’ll be booking it at the Ames Public Library in (you guessed it!) Ames, IA on Thursday, October 7th. If you think you got the chops for talking about Python, drop me a line and I’ll hook you up.

Phoronix : OCZ Vertex 2 60GB SSD

Friday 03 September 2010 12:53 MST

As solid-state drives are becoming very popular with enthusiasts and a common choice for those interested in high-performance data storage, at Phoronix we have reviewed many SSDs from OCZ Technology including the Agility, Agility EX, Vertex, and Solid 2. Today we are reviewing the next-generation Vertex SSD, which is the Vertex 2, and it promises to offer much faster reads and writes, is rated to last an extra 500,000 hours beyond the 1.5 million hour MTBF of the original Vertex, and is available in capacities up to 480GB.


Planet Gnome : Seif Lotfy: Zeitgeist Log Manager (Mockup) ? Giving Control to the User

Friday 03 September 2010 12:17 MST

Blacklisting stuff from being logged, has been a feature in Zeitgeist for a long time now. Yet we never came to develop a UI for it.

So upon popular demand we started to mockup this feature.

The UI is simple and straight forward. (I sketched it using Pencil)

It uses much from what Sezen has to offer, in this case we use the same categories and the searching functionality. So when you search the categories with results get highlighted to allow you to control the logging of the results.

This is just some initial mockups. If you want to join the development please join #zeitgeist on irc.freenode.net and don?t hesitate to ask for guidance. If you have a better idea for mockups please don?t hesitate to present it to us.

Feel free to Flattr this post at flattr.com, if you like it.

flattr this!

Planet Python : Isotoma: Scaffolding template tags for Django forms

Friday 03 September 2010 07:56 MST

We love Django here at Isotoma, and we love using Django’s awesome form classes to generate self-generating, self-validating, [X]HTML forms.

However, in practically every new Django project I find myself doing the same thing over and over again (and I know others do too): breaking the display of a Django form instance up into individual fields, with appropriate mark-up wrappers.

Effectively I keep recreating the output of BaseForm.as_p/as_ul/as_table with template tags and mark-up.

For example, outputting a login form, rather than doing:

{{ form.as_p }}

We would do:

<p>
{% if form.username.errors %}
  {% for error in form.username.errors %}
    {{ error }}
  {% endfor %}
{% endif %}
{{ form.username.label }} {{ form.username }}
</p>
<p>
{% if form.password.errors %}
  {% for error in form.password.errors %}
    {{ error }}
  {% endfor %}
{% endif %}
{{ form.password.label }} {{ form.password }}
</p>

Why would you want to do this? There are several reasons, but generally it’s to apply custom mark-up to a particular element (notice I said mark-up, not styling, that can be done with the generated field IDs), as well as completely customising the output of the form (using <div>’s instead etc.), and also because some designers tend to prefer this way of looking at a template.

“But”, you might say, “Django already creates all this for us with the handy as_p/as_ul/as_table methods, can you just take the ouput from that?”
Well, yes, in fact on a project a couple of weeks ago that’s exactly what I did, outputting as_p in a template, and then editing the source chucked out in a browser.
Which gave me the idea to create a simple little tool to do this for me, but with the Django template tags for dynamically outputting the field labels and fields themselves.

I created django-form-scaffold to do just this, and now I can do this from a Python shell:

>>> from dfs import scaffold
>>> from MyProject.MyApp.forms import MyForm
>>> form = MyForm()
>>> # We can pass either an instance of our form class
>>> # or the class itself, but better to pass an instance.
>>> print scaffold.as_p(form)

{% if form.email.errors %}{% for error in form.email.errors %}
{{ error }}{% endfor %}{% endif %}
<p>{{ form.email.label }} {{ form.email }}</p>
{% if form.password1.errors %}{% for error in form.password1.errors %}
{{ error }}{% endfor %}{% endif %}
<p&gtl{{ form.password1.label }} {{ form.password1 }}</p>
{% if form.password2.errors %}{% for error in form.password2.errors %}
{{ error }}{% endfor %}{% endif %}
<p>{{ form.password2.label }} {{ form.password2 }}</p>

Copy and paste this into a template, tweak, and Robert’s your mother’s brother.

As well as as_p(), the dfs.scaffold module also has the equivalent functions as_ul(), as_table, and an extra as_div() function.

Planet Python : Pete Hunt: Announcement: PyMySQL 0.3

Friday 03 September 2010 05:42 MST

I’m proud to announce the release of PyMySQL 0.3. For those of you unfamiliar with PyMySQL, it is a pure-Python drop-in replacement for MySQLdb with an emphasis on compatibility with MySQLdb and for various Python implementations. I started working on the project due to my frustrations stemming from getting MySQLdb working on Snow Leopard. PyMySQL has been tested on CPython 2.3+, Jython, IronPython and PyPy, and we have an unreleased Python 3.0 branch in Subversion. I encourage anyone hoping to connect to MySQL from Python to check it out and report any bugs you might find! Our current focus has been bringing it up to compatibility with SQLAlchemy and Django, and we have by and large achieved that goal with a high level of performance.

Check it out at http://www.pymysql.org/.

XKCD : The Carriage

Friday 03 September 2010 04:00 MST

I learned from Achewood that since this poem is in ballad meter, it can be sung to the tune of Gilligan's Island.  Since then, try as I might, I haven't ONCE been able to read it normally.

Planet Python : Vinay Sajip: Using a custom file naming scheme for rotated log files

Friday 03 September 2010 03:46 MST

When you use rotated log files with Python logging's built-in functionality, the rotated files are named by appending a number to the base log file name: thus, app.log would give rise to log files app.log, app.log.1, app.log.2 etc.

Sometimes, you may not want this: for example, you may want to preserve the file extension so that you can take advantage of file associations (typically on Windows). You can implement a scheme where log file names take the form app.log, app.1.log, app.2.log etc. by subclassing RotatingFileHandler and overriding the doRollover() method. The exact code for this method varies slightly across different versions of Python, so I won't reproduce the whole method, but there's always an if statement in the method which does the rotation. In your overridden method, you can use the following logic (in place of the default logic) to implement an extension-preserving rotation scheme, for example as follows:

if self.backupCount > 0:
name, ext = os.path.splitext(self.baseFilename)
for i in range(self.backupCount - 1, 0, -1):
sfn = "%s.%d%s" % (name, i, ext)
dfn = "%s.%d%s" % (name, i + 1, ext)
if os.path.exists(sfn):
if os.path.exists(dfn):
os.remove(dfn)
os.rename(sfn, dfn)
dfn = "%s.1%s" % (name, ext)
if os.path.exists(dfn):
os.remove(dfn)
os.rename(self.baseFilename, dfn)

Guardian Congo : UN 'ignored Congo rape warnings'

Friday 03 September 2010 00:23 MST

Assistant secretary general to investigate after community leaders say they begged for help before villagers were raped

Pressure grew on the UN over its peacekeeping mission in the Democratic Republic of the Congo yesterday after claims that it ignored appeals for protection just days before more than 240 villagers were raped by rebel forces.

Human rights groups said the UN was still failing to safeguard civilians after 11 years in Congo and demanded an urgent review. A British MP said the best solution now lay in seeking military support from Congo's neighbour, Rwanda.

The UN secretary general, Ban Ki-moon, has sent his assistant secretary general for peacekeeping, Atul Khare, to investigate the alleged lack of action from the Congo stabilisation mission, Monusco, the world's biggest peacekeeping mission, which costs $1.35bn (£865m) a year.

The attacks took place between 30 July and 4 August, and the number of reported victims is now 242, ranging from a month-old baby boy to a 110-year-old woman. Survivors have accused the FDLR rebel group ? which is led by perpetrators of the Rwandan genocide who fled to Congo ? along with Congolese Mai-Mai militia.

Charles Masudi Kisa said his Walikale Civil Association sounded the alarm on 25 July, telling local authorities that the withdrawal of soldiers from several outposts was putting people in danger of attacks from rebels. The military had abandoned every post from Luvungi to just outside Walikale for unclear reasons, he said.

On 29 July, acting on information from motorcycle taxis, he warned the UN civil affairs bureau in Walikale, the army and the local administration that rebels were moving in on Luvungi. "We told them these people were in danger," he said.

Lyn Lusi, programme manager of the Heal Africa hospital in Goma, which treated many of the rape victims, said appeals had gone unheeded. "There was a warning it was going to happen," she said. "They took it to the FARDC [Congolese army] and nothing was done."

Lusi said Khare had announced that the UN would clarify its rules of engagement so that peacekeepers could intervene more aggressively. The UN was unable to confirm this.

Monusco insists it was not told of the attacks for more than a week, despite having a base just 20 miles from Luvungi.

Roger Meece, the UN mission chief in Congo, said UN peacekeepers in the area did not learn about the rape and looting spree until 12 August. Two UN officials in Kinshasa told the Associated Press they heard it from media reports, even though the UN's small civil affairs office in Walikale is charged with protecting civilians.

Ellie Kemp, Oxfam policy head in Congo, said she understood there was no community liaison interpreter for the Monusco unit based near Walikale, making it difficult for villagers to convey warnings. She said one had since been assigned.

"There is a whole series of problems that the UN has been aware of for years," Kemp added. "Soldiers on the ground don't know what's needed of them."

She called for the UN to launch a public inquiry into the mission. "It shouldn't take this kind of incident to make the UN listen to its own advice. Why the hell hasn't it happened?"

Others joined the criticism. Sipho Mthathi, the South Africa director of Human Rights Watch, said: "Civilian protection has remained one of the biggest problems in the DRC and has been one of the biggest failures by the UN as well as the Congolese military. The UN lacks capacity to gather enough intelligence to act proactively. They often feel that if they come in they will be outnumbered by the FDLR. If the UN missions and Congolese army are not capable of protecting civilians then there has to be another way."

Erwin van der Borght, the Africa programme director at Amnesty International, said: "[We call] for an immediate review of the failures of the DRC government and the UN to protect civilians during the mass rape and other sexual violence committed in the Walikale region of North Kivu between 30 July and 2 August, specifically in light of media reports that the UN might have received information at an early stage that civilians were at risk of violence by armed groups."

Congo's army and Monusco have been unable to defeat the few thousand rebels responsible for the conflict in eastern Congo, fuelled by the vast mineral reserves. Monusco has been accused of supporting army units responsible for grave atrocities. The Congolese government wants it to withdraw next year.

Eric Joyce MP, chair of the all-party parliamentary group on the Great Lakes Region, said: "Monusco seem completely and utterly impotent," he said. "They do their best under constraints, but they are thinly spread and don't have fighting troops as Rwanda could provide. The international community needs Rwanda to do something about the FDLR."

David Smith

guardian.co.uk © Guardian News & Media Limited 2010 | Use of this content is subject to our Terms & Conditions | More Feeds

OSNews : Apple Violated Facebook's Terms of Service

Thursday 02 September 2010 23:13 MST

Well, this is an interesting double standard. Remember Apple's reaction to Palm trying to tap into iTunes? They were pretty pissed, right? Well, it seems that in Apple's world, it's not okay to access their services unauthorised, but when Apple needs to do the same to someone else's services, it's suddenly not a problem. As it turns out, Apple violated Facebook's terms of service, knowingly, and willingly.

OSNews : Chrome Celebrates Second Birthday with Sixth Release

Thursday 02 September 2010 22:45 MST

"Google is celebrating Chrome's second birthday by releasing a new stable version of its rapidly evolving browser, offering a slightly simpler user interface, an automatic form filler, and the ability to synchronize extensions and form data across machines."

OSNews : Samsung Unveils Galaxy Tab

Thursday 02 September 2010 21:40 MST

The iPad pretty much has the tablet market all to itself at this point, since no serious competitor has yet been released. We've been teased to death with the first real competitor, a device from Samsung called the Galaxy Tab. It has been officially unveiled today, and it indeed looks like the first serious competition to the iPad. It runs Android, naturally.

kuro5hin : BANANA CARAMEL PIE

Thursday 02 September 2010 20:00

BANANA CARAMEL PIE IS NOT THAT HARD IF YOU THINK IT IS HARD THERE IS SOMETHING WRONG WITH YOU BANANA CARAMEL PIE REQUIRES BOTH PATIENCE AND RICE IF YOU HAVE NEITHER GO TO HELL

LWN : Embedded Linux Conference videos available

Thursday 02 September 2010 19:30 MST

Michael Opdenacker has announced the availability of videos from this year's Embedded Linux Conference, which was held in San Francisco in April. The slides and Theora video are available for most, if not all, of the talks. Opdenacker and the Free Electrons team do the community a great service by doing the work to record and transcode the videos. "If you are interested in such talks, what about joining the European edition of the conference? It will take place in Cambridge (UK), on October 27-28, and will be colocated with the GStreamer conference (October 26). See http://www.embeddedlinuxconference.com/elc_europe10/ and http://gstreamer.freedesktop.org/conference/ for details."

Joel On Software : Fork it!

Thursday 02 September 2010 18:43 MST

The Stack Overflow Blog: ?The Unix world loves to take sides. I don?t have to blog about this; Freud already did, in 1930. He called it ?the narcissism of minor differences??

Need to hire a really great programmer? Want a job that doesn't drive you crazy? Visit the Joel on Software Job Board: Great software jobs, great people.

Guardian Congo : British man piloted Congo death crash plane

Thursday 02 September 2010 18:28 MST

Chris Wilson died along with 19 others when flight from Kinshasa to Bandundu was unable to land last week

The pilot of a plane that crashed in the Democratic Republic of the Congo killing 20 people has been named as a Briton who had worked as an air steward but loved flying so much he trained as a pilot.

Chris Wilson, 39, from Bury, Greater Manchester, died when the twin-engined plane crashed last week near the airstrip in the town of Bandundu.

His family said he had worked for Congolese airline Filair since 2009. They did not learn of his death until Saturday as no identification was found on his body.

Congo, which has suffered decades of civil war and corrupt rule, has one of the world's worst air safety records and is blacklisted by the international aviation authorities. UN spokesman Madnodje Mounoubai said a number of people on the ground had also been killed. There was only one reported survivor on the plane.

The Let L-410 plane took off from the capital Kinshasa and crashed after it was unable to land at Bandundu airport and seemingly ran out of fuel.

Wilson is survived by his parents, Jean and Eric Wilson, from Bury, a twin brother Robert, and three other siblings.

Jean Wilson, 78, told the Bury Times yesterday: "It's such a shock. He loved flying and he worked hard to fulfil his dream of becoming a pilot. He had three jobs at once just to pay for his training. He absolutely adored flying.

"I'm very proud of him for working so hard. He loved life and did everything he could to achieve his dream."

She added: "There have been so many messages from people he has known through the years. We didn't realise so many people cared for him."

Wilson's best friend, Martin Kirkby, said: "It is a tragedy. Chris worked really hard to become a pilot and he died doing what he loved. His passion was always to fly and he was very happy to be doing it."

Wilson joined the Territorial Army after university and was a member of the Royal Green Jackets. He trained in bomb disposal and served in the US and Germany. He worked for Airtours for several years before moving to another airline, BMED, as an air steward. He trained as a pilot while working there.

An air accident investigation into the cause of the crash has been launched. Wilson's family is in contact with the British Consulate about returning his body to the UK so his funeral can take place.

The Foreign and Commonwealth Office said: "We can confirm the death of a British national in the Democratic Republic of Congo on 25 August 2010. We are providing consular assistance to the family at this distressing time."

Helen Carter

guardian.co.uk © Guardian News & Media Limited 2010 | Use of this content is subject to our Terms & Conditions | More Feeds

Otaku : Thoughts on Apple?s keynote

Thursday 02 September 2010 17:19 MST

Overall, I would say that Steve Jobs’ keynote yesterday was fairly unremarkable. Both in terms of surprises and of product announcements.

Streaming

The streaming of the keynote was great, although since Apple restricted this streaming to Mac users, the audience was obviously a fraction of what it could have been.

Apple TV

The highlight is certainly the new Apple TV, which Apple managed to improve on all axes: form factor, price and functionalities. At $99, there is no doubt that it will be a success. But a huge success? I’m not so sure. Apple is trying to enter a market that’s already quite saturated. Owners of a Tivo, Playstation 3 or XBox will probably not see much point in buying an Apple TV. The Roku, while an innovator that needs to be saluted, is falling behind and there are also plenty of other “free” devices that people have in their home that are slowly gaining similar features (I’m referring to the “free” DVR’s that cable companies will be happy to give you along with your subscription). Of course, none of these will probably be able to rival the Apple TV in usability.

I think the main problem with Apple’s approach is that their efforts in this area are half hearted. The real prize to go after is DVR’s. More and more households have a DVR, in one form or another, and trying to convince such users to buy another device connected to their TV that cannot replace that DVR is going to be a tough sell.

An Apple DVR is certainly something I’d love to see.

iPods

The renewed emphasis on iPods came as a big surprise to me because I’ve been under the impression the the iPhone has entirely cannibalized the iPod market. Why would Apple spend so much time and money trying to freshen up a line of devices which is providing a steady, albeit probably declining, revenue?

I’m not sure. No matter how small you make the iPod, carrying an iPhone and an iPod will always be more impractical than carrying a phone alone. Add to the fact that the two devices have different capacities and that you need to sync them both with iTunes to update the content, I can’t really see anyone willing to endure this ordeal on a regular basis for more than one device.

I’m also unconvinced that all the changes made to the iPod line are really improvements. I think Apple is becoming a victim of its own “change is always for the best” motto (and they’ve been bitten by this several times over the years on the iPod line). Adding controls to an otherwise control-less iPod: a good idea. Adding a minuscule touch screen to a device that’s already borderline too small to be used? Not so much.

Steve Jobs’ quote from the keynote summarizes my thought perfectly:

It’s very easy to navigate… oops.

iPhone

It’s interesting that Jobs felt the need to address the “numbers” issue.

Obviously, the many coverages that Android’s staggering growth has received in the media over the past few months has Apple worried, probably because Apple is used to receiving coverage for their own products, not competitors’. As a reminder, Google announced that they were activating 60,000 devices every day at Google I/O (in May), then a month later, that number had increased to 100,000 and these days, the numbers seem to be around 200,000. The last I heard, iPhone activations were in the 70,000 range.

Obviously, Jobs doesn’t like these numbers so he decided to bundle together all the iOS activations (that’s iPhones, iPods and iPod Touches combined) to reach the total number of 230,000. That’s very impressive, but we’re no longer talking about phones any more, so not very relevant. At any rate, it definitely allows Jobs to rightfully claim that they are “ahead of the competitors” in that area, but when you define the area as “numbers of operating systems that power a phone, a tablet or an MP3 player”, the number of players probably boils down to just Apple. Still, technically not a lie, so I say “well played”.

Jobs also questioned the validity of Google’s numbers, saying that these numbers include both upgrades and new activations. Google denied this claim, explaining that these numbers only contain new activations, and that the real numbers are actually higher since a lot of Android devices never check in with Google’s servers, so they can’t be counted.

Anyway, no matter how you slice it, most experts agree that the iPhone market share is on its way to being dwarfed by Android’s. By how much remains to be seen, but at this point, it’s pretty obvious that Apple will soon have to settle for being #3 and possibly #4, depending on whether they can stay ahead of Microsoft and RIM. I expanded on this in this article.

Ping

I actually just updated the post with this section because a few people asked me about it. I just find Ping embarrassing. I can’t believe Jobs wasted five minutes of his keynote time to demonstrate commenting and following. In the next few weeks, people will be clamoring for a tight integration with Facebook and Twitter, which Apple will ignore, and in a few months, Apple will either take Ping down or come up with something more convincing.

iPad

One number that was conspicuously absent from the keynote was the number of iPads sold.

This is surprising since the iPad is obviously a very solid product that is selling very, very well, and Apple is never shy about sharing such success stories. My guess is that the numbers of units sold mentioned in the media is higher than the actual numbers, so Jobs prefers to let these rumors spread. Fair enough.

As of today, there is still no credible competitor to the iPad (real or rumored), so Apple is bound to continue doing very well in this area for the time being, but we can be sure that this market is poised to become flooded with new devices very soon. Which is quite reminiscent of the situation with the iPhone and Android two years ago, and we all know how that turned out.

Planet Classpath : Dalibor Topic: Fedora gets a Java SIG

Thursday 02 September 2010 11:45 MST

Stanislav Ochotnicky from Red Hat started a discussion last month on the developer mailing list of the Fedora GNU/Linux distribution to create a SIG for people who are interested in improving the state of Java in Fedora. The discussion seems to be finished now, with the Java SIG page established on the Fedora Project wiki, and the first IRC meeting coming up next week.

Planet Classpath : Dalibor Topic: JVM Language Summit 2010 Recordings On Oracle Media Network

Thursday 02 September 2010 10:25 MST

The recording of the majority of the sessions from the JVM Language Summit 2010 have been uploaded to the Oracle Media Network. Alex Buckley tells me that the JVM Language Summit wiki has direct links to the videos and slide decks. A hat tip to Paul Leahy for compiling the first list of recordings.

Andy Balaam : Anatomy of an interpreter: the Lexer

Wednesday 01 September 2010 23:27 MST

I have been having a lot of fun recently writing my Scheme interpreter Subs. I have never implemented a full programming language before, so I am learning fast (mostly through mistakes) and wanted to write down some of the stuff I am discovering.

Note: if you want to learn more about what Scheme is I recommend Scheme (Wikipedia) and the book SICP, which is the inspiration for all this.

I am writing everything from scratch, just because it’s fun (certainly not because I think it is in any way better to do it that way…). As we will see, that gives me opportunities to do things in different ways from the normal way such things are done. So far, every time I find out I’ve deviated from the normal way I’ve quickly discovered why I am wrong, and had to learn the true path.

Text-based programming languages, whether interpreted or compiled, need a lexer. A lexer takes in characters and spits out “tokens”, which are groups of characters that represent a single thing, such as a bracket, a variable name or a number. (Those tokens are then passed on to the parser, which I will cover in a different post.)

Scheme (and other Lisp variants) are fairly easy to lex because they don’t have much syntax – you just need to be able to understand round brackets, numbers and strings, and a couple of special cases that I won’t go into because I haven’t actually implemented them yet. (Mind you, I haven’t implemented strings yet either…)

When I started Subs I took my normal approach of doing whatever I wanted without any research or even much thought, and wrote something that I called a lexer, but which was really something else. It took in a stream of characters, read it one “word” at a time (using whitespace as separators), broke up the word if it contained bracket characters, and emitted a tree structure with each branch representing a bracketted list. It just seemed sensible, while I was watching the brackets flow by, to understand them and create a tree structure.

However, for a number of reasons, that approach turned out to be wrong.

First, reading a “word” at a time made things much harder than simply stepping through each character. It made my initial implementation slightly faster, but as soon as I realised I cared about white space (e.g. keeping track of what line we are on) it had to go. When it went it also turned out to be easier to deal with unusual code layout – for example “a(b” should be lexed as 3 tokens, but would be handed to us as a single word.

Second, and more importantly, creating a tree structure at this point was a waste of time. Creating tree structures is normally the job of a parser, and mixing these responsibilities gave me some pointless inefficiency: the lexer emitted a tree of tokens, which the parser then translated into another tree (of fully-understood code objects). It turned out that walking the tree of tokens and copying that structure in the parser was at least as hard as just taking in a flat stream of tokens and constructing the tree just once.

So, I re-wrote Lexer into something that is starting to become worthy of the name. The most interesting parts of its signature look like this:

class Lexer
{
public:
    Lexer( std::istream& instream );
    Token NextToken();
};

It takes in a reference to a stream, which will provide the characters, and when NextToken is called, it reads enough characters to determine what the next token will be, and returns it.

Side note: Subs is written using Test-Driven Development. I re-implemented the Lexer and Parser from scratch (naming the new classes NewLexer and NewParser until they were ready), modified the code that used them to use the new interfaces, ran the tests, and immediately knew that the new classes worked as well as the old ones. That level of confidence is incredibly freeing. I can’t imagine how I would ever have convinced myself the new classes were ready had I not had that safety net of 100s of tests that ensure the interpreter correctly responds to each type of input.

Currently the Token class it returns is pretty much just a string, with some information attached about where that string was in the original text. In researching this article I realised that most lexers attach more information than that to their tokens – they understand its basic type such as integer, decimal, string, bracket or symbol. At the moment in Subs, this work is done in the parser (so for the lexer each token is just a string), but I can see why it is helpful to do this work in the lexer, because for most types we have the information anyway. For example, in order to recognise that ‘”foo (bar”‘ (where the double-quotes are in the real code) is a single token we must understand that it is a string. Since we know it at this stage, we might as well record it in the Token object so we don’t have to work it out again later. When Subs supports strings, I will probably add a “type” field to the token and move this work from the parser.

On a more general programming point, following on from comments I made in a previous post, it is worth noting that the structure of the lexer (and, as we will see later, the parser) uses a technique called “streams”. What this means is that we write functions like NextToken that process a small part of the total problem, and return their answer. If we chain together functions like that (for example the parser’s equivalent function calls NextToken whenever it needs a new token) we can process arbitrarily large input without using lots of memory or slowing down. The lexer is able to process any number of tokens using a very small amount of memory, and will only fall over if it encounters a single token that is ridiculously large.

The stream style can be very useful for some problems, not only because it can be efficient with memory, but also because it can help break problems into neat, small pieces that are easier to implement correctly. It is also useful for writing code in a functional style, because it allows us to avoid having any internal state (e.g. we could easily implement NextToken to take in the stream it should read from and avoid any member variables at all in Lexer), by pushing state out into the input and output, instead of having it in our program. In this case that means instead of reading, storing and then processing a program, our lexer can simply process a few characters and emit a token without knowing anything about the surrounding code or wider context. This makes it much easier to test, and (potentially) easier to do clever things with, like prove mathematically that it is correct (!)

Next time, the parser.

schwuk : IMG_0008

Wednesday 01 September 2010 20:37 MST



IMG_0008

schwuk : IMG_0011

Wednesday 01 September 2010 20:37 MST



IMG_0011

schwuk : IMG_0010

Wednesday 01 September 2010 20:37 MST



IMG_0010

schwuk : IMG_0013

Wednesday 01 September 2010 20:37 MST



IMG_0013

kuro5hin : Games People Play: A Book Review

Wednesday 01 September 2010 20:00

Welcome to the K5 Book Club! Discussions on K5 have brought up this book. In an unrelated situation, real life people have recommended the same book to me. Mildly cultish following and also a nice short read. Dated but charming, and provides plenty of ammo for accusing your fellows of pathological behavior, which is probably the best reason to read psych books! Definitely up there with Freud and LRH. A true classic.

schwuk : Swiper, no swiping! (from Least I Could Do)

Wednesday 01 September 2010 18:24 MST



Swiper, no swiping!

(from Least I Could Do)

XKCD : Orbiter

Wednesday 01 September 2010 04:00 MST

Normally, the Shuttle can't quite safely reach the orbital inclination required to pass over both those points from a Canaveral launch, but this is an alternate history in which either it launches from Vandenberg or everyone hates the Outer Banks.

kuro5hin : To Save The Gulf, Send The Enterprise

Tuesday 31 August 2010 20:00

The real Planet Earth has an ongoing situation that could use a ship of superheros like those in Gene Roddenberry's Star Trek soap opera. 60+ days have passed since the Deepwater Horizon's explosion and sinking. BP company engineers have been working continuously to stop the oil, but all efforts to plug the gusher in the gulf have failed. Efforts to contain the oil are ongoing, but the best case scenario calls for the well to run until the relief wells are completed in August. In short, people are becoming aware that BP's Big Problem in the Gulf of Mexico is probably the most epic environmental catastrophe of the past 1000 years. If only the Enterprise was available to help.

Aquarion : ?You?ve forgotten to commit, you moron?

Tuesday 31 August 2010 17:08 MST

Something I keep doing: Forgetting to commit to git.

Having pretty much moved everything over to git & github for all my source control needs, I am now getting used to how Git works. It hasn’t, however, solved the problem that I’ll occasionally work on something for a while, make it work on my local system, then forget to commit to it and return some days later to work on something else. Commits become either huge things of no trackability, or I end up committing by chunk and trying to remember exactly *why* I changed the define syntax to be “look up” instead. So, because I don’t have enough impenetrable bash scripts in my life, I wrote another one.

This one finds git repositories in $HOME, iterates though them looking for where your friendly user hasn’t committed stuff, and then whines to him in email about it.

it’s executed like this:

and the “uncommited-dir.sh” file looks like this:

(Please leave comments on the original article rather than any syndications thereof) 0c89b0a701d3cda4ecf6e3837c2783c2

Guardian Congo : Stanley doesn't merit a statue | Daniel Waweru

Tuesday 31 August 2010 16:00 MST

The view that Stanley acted in Africa according to the standards of the times is no defence. Even if he didn't know better, we do

If the north Welsh town of Denbigh's choice of Henry Morton Stanley for a commemorative statue is ironic, given the trouble he took to hide his origins, it's hard to find a word for Tim Butcher's praise in the Telegraph for Stanley's bloody-mindedness, his loyalty to Africans, his loathing of the slave trade and his pioneering journeys.

The inconsistencies come early and often: Stanley is praised for opening the continent to future European exploration, he's praised for the consequences of his travels, but no blame is attached for his part in the disaster that was Leopold's rule in Congo, because it happened after he left. The double standard couldn't be more obvious, especially when one remembers that Stanley didn't just aid in Leopold's establishing his rule over Congo: he continued to defend the king after the scale of the devastation in Congo had been brought to both his and the public's attention by Roger Casement and Edmund Morel.

The defence of Stanley as European pioneer is particularly uncompelling. It must be related to central Africa, because Afrikaners had long since made inroads off the Cape. But if the prize is the first European crossing of the central African inland, then it's Livingstone's. And nor were Stanley's expeditions particularly fruitful of scientific work, so it's hard to see how he can be credited with opening up the inland for European settlement. The Eurocentric assumption behind the defence is shaky enough, since Livingstone was himself preceded by Arab and Swahili traders.

The view that Stanley ought to be honoured for his loathing of Arab slave-trading in central Africa is hard to square with the historical record. He was happy to enter business arrangements with Tippu Tib, who was then the major Swahili slave trader; to rely on him for protection and aid, both for his journey across central Africa, and on his Emin Pasha expedition; and to recommend him to Leopold for the governorship of a province of Congo in 1887. Leopold took him on.

Butcher's other defence of Stanley ? that to condemn him for what he did is unfair because it's a form of political correctness ? is equally unpromising. Presumably, the political correctness is derived from judging him by present standards. This isn't so much a defence as a concession, because Stanley had no compunction in imposing his own standards on others, sometimes violently, and because Victorians weren't terribly willing to make cultural allowances for others. If we are to judge them by their own standards, then, since their own standards dictated that little or no allowance be made for cultural difference, we ought not make those allowances for them.

In any event, the question is whether we should honour Stanley now. The standards of the past are relevant for judging Stanley's character: if he genuinely didn't know any better, then he may, perhaps, be excused. But we, who presumably do know better, wouldn't be justified in honouring him, precisely because of our present knowledge that what he did was wrong.

The final difficulty is that, even by the standards of the time, Stanley's conduct was unusually brutal, and widely criticised for being so. After an official inquiry which took missionary testimony into account, John Kirk, then the British consul in Zanzibar, wrote a report for the Foreign Office in which he claimed that Stanley's expedition was "unequalled [in Africa] for the reckless use of power that modern weapons have placed in his hands over natives who never before heard a gun fired".

There was further controversy following reports that his armed journey to meet Emin Pasha took in extreme violence, the purchase of sex slaves, and the deaths of at least a thousand men. That these activities "were" controversial when reported is the proof that Victorian standards didn't extend to condoning them, which is why no appeal to Victorian standards will excuse them.

Trollope's Lady Carbury is an ardent worshipper of the great man; the man willing to do evil in the service of great deeds. That was the way they lived then; it's the way we live now. Historical accuracy demands, not contextualisation as Jonathan Jones has argued, but the stark presentation of the facts. If there's to be despair, it had best be properly motivated.

Daniel Waweru

guardian.co.uk © Guardian News & Media Limited 2010 | Use of this content is subject to our Terms & Conditions | More Feeds

Joel On Software : A new WordPress Stack Exchange

Tuesday 31 August 2010 15:10 MST

We?ve been opening new Stack Exchanges left and right on a variety of topics. In almost every case, the Stack Exchange appears to duplicate the content of an existing community. For example, our WordPress answers site (now in beta) covers the exact same material as WordPress.org?s existing forums.

This is nothing new to us at Stack Overflow, which purported to cover the exact same material as hundreds (if not thousands) of other programming sites. There?s no rule that says that there needs to be exactly one Q&A website per topic.

There is, however, a compelling case for the Stack Exchange technology. WordPress.org?s forums don?t have voting, so you have to read through every answer and decide for yourself which one might solve your problem. They don?t have reputation, so there?s no way to see whether you?re getting an answer from someone who knows what they?re talking about. They don?t have wiki-style editing, so collaboration is impossible. You have to log on to ask or answer a question, so the burden of participation is higher. Stack Overflow is simply better than traditional forums, which is why it largely replaced proprietary forums. I remember hours of discussion with John Resig and the folks at jQuery who couldn?t decide whether to replace the jQuery Google Group with a forum or with a Stack Exchange. Ultimately it didn?t matter that much, because most of the jQuery Q&A activity happens on Stack Overflow anyway.

One day, the features that are standard on Stack Exchange will be copied everywhere. Until then, we?ll keep churning out new sites.

Need to hire a really great programmer? Want a job that doesn't drive you crazy? Visit the Joel on Software Job Board: Great software jobs, great people.

Guardian Congo : Joseph Conrad's Heart of Darkness published as a graphic novel

Tuesday 31 August 2010 14:54 MST

Artist Catherine Anyango tells how her richly-detailed drawings reflect the dense style of Joseph Conrad's savage colonial story

In the 108 years since it was published, Joseph Conrad's colonial fable Heart of Darkness has infected TS Eliot, been excoriated for racism by Nigerian writer Chinua Achebe and transplanted to Vietnam by Francis Ford Coppola.

Now the book has been reinterpreted as a graphic novel in whose monochrome pages Conrad's exploration of power, greed and madness plays out as disturbingly as ever.

Catherine Anyango, whose drawings are peppered with David Zane Mairowitz's adaptation of the text, had her doubts about tackling the Polish-born novelist's most famous work.

Those reservations had more to do with the original medium than the enduring controversy over Conrad's views or the familiarity of Heart of Darkness.

"I wasn't sure initially if it was a good subject for a graphic novel as the writing is so dense and the style of it is partly what attracts me to the book," she said.

"As I knew we couldn't keep most of the text in, I tried to make the drawings very rich in detail and texture so that immersive feeling you get, especially when he describes the river and the jungle, was carried across."

Anyango was determined not to allow the horror of the book's subject matter to overwhelm her drawings. "I wanted to draw the reader in with seductive imagery, and then show them that even in the most beautiful of settings, terrible things can happen."

There was also Coppola's 1979 epic to contend with.

"I was too terrified to watch Apocalypse Now," the Kenyan-Swedish artist said. "Partly because I didn't want to end up with any similar visuals and also I had been warned that something nasty happens to a cow ? [but] Apocalypse Now is huge and well, apocalyptic, but Heart of Darkness is a much quieter story."

Anyango, who grew up in Kenya where she went to a British school, wanted to steer a course that was as true as possible to the original so that her version did not sink under the weight of too much intellectual baggage.

"When I was dealing with the book, I was focused solely on the particular events of the Congo, rather than colonialism in general," she said. "I wasn't trying to tell the history of colonialism either, but to situate this particular narrative in a way that people might ask: what on earth was the attitude of that time that these things could happen?"

To reinforce the geographical and historical immediacy of Conrad's tale, the graphic novel is interspersed with excerpts from The Congo Diary ? the journal Conrad kept of his 1890 voyage up the river.

Anyango's research also led her to the story of a man from a village in the Upper Congo called Nsala. She came across a photograph of him sat on a step contemplating the hand and foot of his daughter, which had been cut off by guards sent to his village by the Anglo Belgian India Rubber Company. The men, ordered to attack Nsala's village for failing to provide the company with enough rubber, devoured his wife and daughter, leaving only the child's hand and foot.

"I put him on one page, and similar portraits on others, so the Congolese characters have resonance at least for me, even if they remain stereotyped because of the existing narrative," she said.

In her efforts to ensure the authenticity of the uniforms she drew ? the protagonist, Marlow, is given a cap with a prominent Belgian lion badge ? Anyango was shocked to discover how markedly Belgian perceptions of the occupation of Congo still vary.

For some, it is a shameful episode in the country's history, while others still view it as a benign experience despite the evidence uncovered by recent histories such as Adam Hochschild's 1998 book, King Leopold's Ghost, which laid bare the barbarism inflicted on Congo.

The artist found that Belgium's colonial deeds "seem to have vanished into history, with the [country's] education system not dwelling on anything but positive aspects of the colonial rule".

That may not be not wholly surprising: at her school in Nairobi, Anyango did not learn about Britain's colonies.

It is this creeping colonial amnesia ? not to mention a catalogue of recent and current events ? which, she argues, give Heart of Darkness both its relevance and its universality.

"It's about the idea of entitlement; [how] through the ages we enforce our feelings of entitlement in whatever way that age will allow ? from Leopold II owning the Congo as a private possession to the corporations involved with blood diamonds. The effects of entitlement have not so much gone out of fashion as out of sight."

Dr Keith Carabine, who teaches literature at the University of Kent and chairs the Joseph Conrad Society, agrees that Kurtz, the ivory trader whose misplaced idealism has putrefied into savagery and madness, has become an archetypal figure.

"Heart of Darkness is the most important book in the last 100-plus years not because it's the best, but because it anticipated how 20th century leaders with visions of bringing light and creating new models for humans beings ? Hitler, Lenin, Pol Pot, Mao ? all ended up," he said. "When disappointed by the response of the very groups they wanted to save or help or transform, they, like Kurtz, wish to (and actually do, of course) 'exterminate all the brutes!'"

Of the Edwardian novella's continuing relevance, Carabine is unequivocal. "If Bush and Cheney and the neocons had read Heart of Darkness and understood it, they would not have invaded Iraq under the absurd utopian illusion that the Iraqis were gagging for democracy."

Sam Jones

guardian.co.uk © Guardian News & Media Limited 2010 | Use of this content is subject to our Terms & Conditions | More Feeds

Guardian Congo : Letter: UK complicit in bankrolling Congo conflict

Monday 30 August 2010 23:05 MST

As the Guardian reported last week, a 600-page report by the UN high commissioner for human rights was leaked, documenting the role of Rwanda in possible genocide in the eastern Democratic Republic of Congo in the late 1990s (Leaked UN report accuses Rwanda of possible genocide in Congo, 27 August). This has seismic implications for British foreign and development policy towards Rwanda, which the present government needs to take extremely seriously.

Since the 1990s the Paul Kagame regime has represented itself as the progressive and modernising "Singapore of Africa", courting international support and legitimacy in the aftermath of the 1994 Rwanda genocide. Yet, alongside the suppression of human rights domestically, it has continued to play a direct and indirect military role in North Kivu, both in pursuit of Hutus who fled Rwanda in 1994 and natural resources that have bankrolled Rwanda's "economic miracle". All the while, the British government has continued to unquestioningly back Kagame, being Rwanda's largest source of overseas development aid. It has failed to recognise the complicity of Britain in effectively bankrolling a conflict in the Congo that has lead to millions of deaths.

The argument is simple: 1) More people have died in the conflict in the eastern Congo than in any war since the second world war; 2) The UN report provides evidence that Rwanda and Paul Kagame are directly and inextricably implicated, not only in fuelling that conflict, but in possibly carrying out the most serious crime in international human rights and humanitarian law ? genocide; 3) The UK ? its taxpayers and voters ? are Kagame and Rwanda's biggest international supporters, largely unconditionally, and David Cameron and his colleagues continue to take annual Conservative party summer holidays to promote Rwanda's international reputation.

Dr Alexander Betts

University of Oxford


guardian.co.uk © Guardian News & Media Limited 2010 | Use of this content is subject to our Terms & Conditions | More Feeds

kuro5hin : Salaryman's Bank Performance Report

Monday 30 August 2010 20:00

Salaryman arrived to the car-park just as Boss's chauffeur was stamping on his cigarette. “Boss will be down in a second,” the chauffeur said. “You don't happen to have a laptop running OS/2, do you?” “No, I don't,” Salaryman said, tuning his cufflinks. “Darn,” the chauffeur said, staring at the doorway he expected Boss to walk through any minute. “I wanted to check my email.” Just then the door opened. Boss walked through, followed by whoever had held the door for him. Salaryman kept a keen eye on the new fellow. He was dark, thin, and tall and wore a meticulously-brushed three-piece suit.

The Webbs : Podcasts

Monday 30 August 2010 19:30 MDT

I'd like to take this opportunity to recommend Pete Volkofsky's podcasts on the Cornerstone website - http://www.cornerstone.edu.au/podcast-ecd

They're really very good and the podcasts on sex and romance are a great resource for anyone who will, at some point, have to talk to teenagers about the opposite sex.

Simon Palmer : simonpalmer

Monday 30 August 2010 14:32 MST

Bit of a shameless plug, but I really like the work that’s coming out of our social media team.  GoRecommend started as a tactical integration point so our customers could track, and to some extent guide, where their brands ended up in Facebook following shopper taking a survey about customer experience.

The positioning of a brand is a delicate process which is jealously guarded and heavily invested by companies who care about how they present themselves to the world – which is pretty much every company.  The fact that, driven by loyalty, and perhaps unfettered by it, shoppers can question, criticise, re-position, evangelise, advocate your brand in a selection of forums with enormous networked readership means that the power balance between companies and their customers has changed.  This scares the willies out of most marketing departments and is the sort of discontinuous change that, unless embraced, could spell disaster.

On the other hand, what if you could properly embrace it?  What if you could understand and watch what people are saying?  Done badly it is Orwellian interference, done well it is game-changing connection to your audience and customers.

Enter GoRecommend.  We’re at the friendly fun end of understanding what shoppers are saying about brands.  We provide the infrastructure to make a positive message easy and a negative message contextual and beneficial – after all how can a brand improve unless it listens to its critics?  We’ve extended out beyond Facebook and into Twitter and email and are getting a huge amount of market traction from our customers who are excited and slightly bewildered by the implications of social media.

Come take a look…

http://gorecommend.net/


Allan Kelly : Study on benefits of TDD

Monday 30 August 2010 11:18 MDT

OK, this isn?t news, this study came out a couple of years ago and was covered by many people then. But, I find myself regularly referring to it trying to find the link. So I?m going to blog about it then I?ll always be able to find the link.

The study is by Nagappan, Maximilien, Bhat and Williams and is entitled: Realizing quality improvement through test driven

development: results and experiences of four industrial

teams and is freely downloadable from Microsoft.

This is the key findings are summarised in this table:

Team /

Metric

IBM drivers

Microsoft Windows

MS MSN

MS Visual Studio

Defect density of comparable team not using TDD

W

X

Y

Z

Defect density of team using TDD

0.61W

0.38X

0.24Y

0.09Z

Increase in time taken because of TDD

15-20%

25-25%

15%

25-20%

The way to read this is: the researches looked at two Microsoft MSN teams, one team did not use TDD and had a defect density of Y. The second MSN team had a defect density less than a quarter of Y but took 15% longer.

To my mind that proves that which was to be proven, i.e. TDD reduced bugs. But, I?m also aware that other writers have disputed this and I?ve heard of studies which disprove it. (Anyone got a link? Thanks)

Most people who I?ve met, and who have practices, or understand TDD agree it is effective. However there are those who don?t believe it. It reminds me of the episode of Black Adder where Rowan Atkinson?s Black Adder hires a ship Captained by Tom Baker. When there is a problem it plays out like this:

Black Adder: ?Someone in the crew will know... you do have a crew don?t you??

Captain: ?Arh, opinion is divided on the subject... all the other captains say you need a crew, and I say You Don?t?

At the end of the day Confirmation Bias will probably decide which set of results you choose to believe.

grifferz : London Hackspace?s ?Arduino For Beginners? Workshop

Monday 30 August 2010 07:14 MST

This weekend I attended London Hackspace’s Arduino For Beginners workshop.

Background

I’ve been a member of Hackspace for quite some time, though I have very little hands on experience with electronics or making things or anything like that, and have up until now tended to only use the Hackspace occasionally for somewhere to work from. When the Arduino workshop was announced I thought it sounded not only very good value for money at £80 for a two day instructor-led course, but also would be a great way to broaden my skills.

In the interest of full disclosure, as a minor fanboy of the Hackspace I am prone to want to portray it and all its endeavours in a good light. However I am trying to write this from the point of view of a paying customer of the workshop (which I was), and will try to be fair and objective.

What we got

Included in the £80 (£100 for non-members) workshop fee was an Earthshine Electronics Arduino compatible starter kit worth about £40, containing a DFRduino Duemilanove and over 150 components for use in the various tutorials.

Day one

I arrived early on the first day expecting to touch in with my Oyster card (Hackspace’s members can access the space 24/7 using any compatible RFID card), but the door was already open and the place was a hive of activity. Inside I found Andy “Bob” Brockhurst, Charles, Neil, Mike from Earthshine, Adrian and several others busy tidying the place up making it usable for a workshop. This included attaching a shelf to one wall for the projector to sit on!

Presentation

Eventually the projector was sorted out, a rather makeshift but legible screen put up for it and things began with a presentation from Bob. Bob’s presentation explained what an Arduino is, the sorts of things they might be used for, the concepts behind “open source hardware”, the available software and some resources for getting more information and hardware. Bob’s presentation is available on his github.

Arduino IDE

Once the presentation was concluded, Bob, Mike, Adrian et al went around ensuring we all had the Arduino IDE installed. This is a piece of Java software comprising a basic editor for the C-like language Arduino is programmed with, together with facilities to compile and upload the code to the board, and a few other features.

There was also a brief diversion into Fritzing, which is another piece of open source software used for producing layouts and prototypes of circuits for sharing with others, ease of manufacturing, etc. Fritzing is not necessary to use the Arduino, but was used to display the board layouts for the examples.

Amongst the delegates there was a mix of Windows, Mac and Linux laptops but we were all eventually able to download and install the IDE. The supplied USB cable once connected to an Arduino board appears as a serial port on the computer, and the IDE just has to be told which board model you have and which serial port to use.

I had a bit of a false start with installing the IDE on Linux, owing to me not reading the documentation. It is necessary on Ubuntu to already have installed gcc-avr and avr-libc otherwise the IDE will be unable to compile your sketch to object code. I think I was in the minority using Linux; it seems Windows is preferred amongst AVR coders. The usual Java blah is needed to run the IDE, but I already had that.

Refreshments

I’m not sure who prepared the refreshments; I know that Clare, Charles’s other half had some hand in it but I don’t know if she was solely responsible. In any case, tea, coffee, cordial, biscuits and flapjacks were provided throughout both days, with sandwiches (two different cheeses, tuna, egg, bacon), crisps and fruit for lunch.

Walk-through of examples

Once everyone had their IDE up and running and had confirmed that the IDE could talk to their Arduino, Bob went through some simple example circuits. While Bob put the circuits up on the projector and explained how they worked, both electronically and software-wise, Mike, Neil and other knowledgeable Arduino hackers moved around the room helping people out where necessary.

Arduino traffic light simulation

Bob’s examples built on each other progressively, and included:

There was also a final example which used a motor as a spinner to simulate an accessible pedestrian crossing, but most people did not attempt this due to the risks of damaging the Arduino board.

Sample code and Fritzing files available on Bob’s github.

Experimentation

The last few hours of the day were taken at our own individual speeds, practising with the examples and seeing what we could get working. Some people surged ahead, completing all examples and then moving on to their own ideas, whereas others took longer or needed some assistance. As far as I could see everyone made their way through the first four examples.

One person’s Arduino was damaged towards the end of day one and was replaced by Mike.

Wrap up of day one

Some time between 4 and 5pm most people started to pack up and we were reminded to try to think of a personal project to work on the next day if we had not done so already.

Day two

Door debacle

I arrived just before 10am the next day owing to general Sunday public transport fail, Jubilee line closure etc., again expecting to swipe my Oyster and again being confounded. This time however it was by a group of people standing outside the Hackspace.

It transpired that we had perhaps tried to be too clever for our own good and the door computer had crashed some time in the night, preventing all of us from getting in. After about 30 minutes, some IRCing, unsuccessful nmapping and leaving of voicemails, Mark popped up on IRC and kindly rushed over to let us in with a real metal key.

Projects

For the rest of this day we all worked on our own individual ideas, with Bob, Neil, Adrian and others milling around dispensing masses of assistance.

I couldn’t really think of anything practically useful to work on so decided I just wanted to push the limits of what I’d already learned. I’d spied the 8×8 matrix display in the kit box and wanted to play with that, but this first would involve learning how to drive a shift register.

The 8×8 matrix has 64 LEDs (actually 128 since each one is either red or green), and connecting up 64 outputs would not only be extremely tedious, the Arduino doesn’t have that many outputs anyway. The component actually has only 16 pins but even so, 16 outputs is too many. A shift register helps solve this by allowing the control of 8 outputs using only 3 pins.

The basic idea is that you use one pin to tell the shift register when you’re ready to start or finish feeding it data, one pin to tell it there is a new piece of data to read, and a third pin for the data itself. After you’ve indicated that you’re finished, all the data you’ve fed in will be output. The 74HC595 shift registers in the kit box have 8 outputs each.

In order to get a working knowledge of the shift register I decided to first try using one to drive 8 LEDs, first to make them count in binary and then to display various patterns. After that I would go on to try the shift registers with the matrix display.

I put a circuit together by following the commentary in one of the examples in Earthshine’s Complete Beginners Guide to the Arduino. Unfortunately I couldn’t get it to produce sensible results. At times it seemed like I almost had it, with it counting up in binary correctly except for a couple of values. Other times it was just completely messed up with the LEDs cycling through all kinds of patterns.

I found debugging this to be very difficult. Dammit Jim, I’m a sysadmin, not a hardware hacker; when I write awful sysadmin Perl I at least have some idea how to debug it! After a couple of hours of frustration I had to ask Bob for help, and after a good while of him checking everything I’d done several times, he was stumped too.

Neil then wandered over and measured the frequencies the Arduino was producing, confirming that my code and the Arduino were working correctly, narrowing the breakage down to my circuit. He got his magnifying glass out, we got the datasheet for the shift register, and after a short while he noticed that I was trying to use the shift register’s latch pin as a clock and vice versa.

Throbber breadboard layout

It turned out that while the pinout of the shift register was correct in the Earthshine guide, the commentary in the guide had switched around the purpose of the shift register clock input pin and the storage register clock input pin, which accounted for the bizarre behaviour I was seeing. It worked! A similar example on the Arduino site has things the correct way around.

I went ahead and wrote the code to do binary counting and then to put some simple patterns on the LEDs, but after all that I felt a bit too burnt out to go on to the matrix display and decided to quit while I was ahead. I definitely feel confident enough to tackle this on my own now though.

I think two more people’s Arduinos were damaged on the second day.

Conclusion

Wins

This workshop was indeed incredible value for money. I think the components, presentation and walk through of examples alone were easily worth £80 and could have been done in one day. What was worth so much more was having knowledgeable people in the same room as you for two days, personally guiding you through the examples and discussing your own ideas. I’ve paid 5 times as much for one day courses that were nowhere near as good.

This could and probably should have justified a doubling or more of price, but I can understand that this was the first workshop put on in the Hackspace and there was a desire to sell it out and gain some experience from the host side.

I hope the workshop is repeated. If it is, and you’re interested in this sort of thing, you should book it quickly.

Suggestions for improvement

It looks like the Hackspace are conducting a debrief and some of these issues have already been raised, so it should be easy to improve for next time.

XKCD : Exoplanets

Monday 30 August 2010 04:00 MST

I'm just worried that we'll all leave and you won't get to come along!

Charlie Brooker : Charlie Brooker | Buzzwords for blowhards

Sunday 29 August 2010 23:05 MST

Rightwingers are brilliant at creating snappy-but-misleading nicknames ? like fun-size chocolate bars and the Ground Zero mosque

At this point in human development, I think we can all look back on what we've achieved and agree that language is one of our better inventions ? better even than Wi-Fi, the Dustbuster, and Super Mario Galaxy. Picture a world without language. Go on. No gossip. No chit-chat. No road signs. No newspapers. No theatre. No internet. The only forms of mass media entertainment available are slapstick and pornography. Hang on, it's brilliant. I must be describing it wrongly.

But then, that's the beauty of language. It can change the way you see things without actually altering anything in the physical realm. It turns good into bad and bad into good and back again without anyone lifting a finger.

Take "fun-size" chocolate bars. They're tiny. Gone in a single bite. They don't last as long as a regular chocolate bar. Being individually wrapped, they're fiddly and environmentally unfriendly. And pound for pound, they're more expensive than their standard counterparts. But, back in the mists of time, some genius decided to label them "fun-size". And it worked. As a kid, the mere sight of a bag of fun-size Mars bars could work me into a flurry of excitement. These were dinky novelties you could eat! Hooray for fun-size!

But the magic of language didn't end there. As well as instantly transforming each and every shortcoming of these miniscule snacks into a thrilling bonus, the sly association of the word "fun" with the concept of "small helpings" had the side-effect of making regular-size chocolate bars seem less decadent, less naughty by comparison. If little ones were fun, regular ones were pedestrian slabs of edible workload.

Some time later, of course, king-size Mars bars hit the market, thus imbuing an act of calorific gluttony with an unwarranted air of imperial glamour. This was an imposing, statesmanlike snack to be reckoned with; a nougat mothership; the Mars bar of royalty. Language had worked its magic once again.

Anyway, I bring all this up because I've been thinking some more about the "Ground Zero mosque" debate. Specifically, I've been thinking about the horrible brilliance of the opponents' endlessly parroted, emotionally charged phrase "Ground Zero mosque", used to describe something which ? at the risk of regurgitating last week's column ? isn't at Ground Zero and isn't a mosque.

Conservatives, generally, are far more adept at politically reframing concepts by giving them snappy-but-misleading nicknames than liberals. "Loony left". "Boom-and-bust". "Flip-flop". "Ground Zero mosque". All simplifications or outright lies ? but they worked. Like advertisers, the right seems breezily unconcerned about the truth of the slogan, provided it rings up a sale. They slap the words "fun-size" on the packaging and wait for the public to buy it.

The left, meanwhile, tends to respond by flinging back tired old insults. Bastards! Fascists! Racists! This is wrong on several counts. For one thing, it's counter-productive. Nothing riles an anti-mosque demonstrator more than being called a bigot. It's a grotesque, misleading smear on a diverse group of individuals ? a bit like claiming all Muslims are terrorists (which, coincidentally, the guy beside them is currently doing through a loudhailer). But worse than being insulting, it's just plain unimaginative. At least the right bothers to invent a new buzzword each time it wants to fart some monstrous new lie into the ecosystem. And they're often infuriatingly well-crafted buzzwords ? combining impact with audacious disingenuousness. There must be an evil Don Draper tucked away somewhere coining these things, these catchy fibs, these deceptive jingles.

Have you tried doing it yourself? It's not easy. I was hoping to illustrate this article with some self-created buzzwords for leftwingers to use. The first one I came up with was "molehill mountaineer", a pejorative term to describe the sort of perpetually furious rightwing weevil who spends their life calculatedly conflating issues such as the "Ground Zero mosque" into gigantic media crapgasms. But then I realised that "molehill mountaineer" could equally be applied to many on the left too. So that's no good.

Then I tried to invent a shorthand term to describe the sort of perpetually furious rightwing weevil who claims to be a patriot, not a bigot, then immediately muddies the water by saying lots of bigoted things. It's possible to be a patriot without being a bigot, just as it's possible to be a weather forecaster without being a stripper, but if a weather forecaster took her clothes off halfway through a forecast, its fair to say the striptease element of her performance would greatly overshadow any meteorological merit. Still, a lot of people erroneously believe that saying "I'm a patriot" automatically absolves them from any and all charges of bigotry. And the best word I could come up with to describe these people was "Patrigot". I quite like it, but it won't catch on. Too clumsy.

Which is a pity. Because in today's 2,000mph technological freefall, he who coins the catchiest buzzword generally wins the debate by default. Few people have the time to delve beyond the ticker-tape headline, to discover the reality behind a misleading brandname such as "Ground Zero mosque". There's a famous propaganda technique known as "the big lie": the bigger the lie you tell, the more the public will believe it. But today's audience is too distracted to digest big lies. Now the trick is to cram as much misleading information as possible into a succession of tiny verbal snacks, inaccurate but memorable.

In other words: Lies aren't big any more. They're fun-sized.

Charlie Brooker

guardian.co.uk © Guardian News & Media Limited 2010 | Use of this content is subject to our Terms & Conditions | More Feeds


Don Marti : Framing discussions of web privacy

Sunday 29 August 2010 20:32 MST

That big Wall Street Journal series on web privacy has kicked off a lot of discussion, but it's a little weird to see how people are framing it. Most of the discussion makes the server side into the subject of the sentence. "Example.com puts tracking software on your computer!"

I suppose the fact that it looks like that is a testimonial for the seamlessness of how it all works. But when you actually turn on Firebug and watch what's happening, the situation looks completely different. It isn't "Example.com is collecting information," but more like, "Web sites are asking your browser to send your information to Example.com."

One of the things that makes the web better than closed client/closed server is that ? the browser doesn't have to do what the server tells it to. ? Likewise, if you own a router or NAT device between your computer and a web site, your device is allowed to drop or modify packets. It's your device and your net connection.

I'm going to apply a lesson from Doc Searls here and think about how we use language to talk about a situation. If we frame the problem right, we have better mental tools to talk about solutions.

So let's stop making the destination of the information into the subject of the sentence. At the Internet level, the companies that collect private data are just a bunch of servers. Servers respond to requests that clients send. Describing the transaction by making the server side into the subject is like saying, "that bookcase keeps giving me Charles Stross books." Most users don't control what the browser sends out, bit for bit, but users do pick browsers based on features. (Remember how quickly all the browsers added blocking for pop-ups and pop-unders?)

Instead of "Example.com collects information" let's make it "users send information." Connect the action verb to the originator of the action, and people can take the next step: if I'm doing that, why, and how do I stop?

GingerDog : Twitter Weekly Updates for 2010-08-29

Sunday 29 August 2010 15:41 MST

Aquarion : Mass vhosting

Friday 27 August 2010 14:14 MST

My small server currently hosts a number of websites. Too many, really, I should get a bigger server. However, I long ago got bored of creating separate site files for every website I host, so I use MassVHost to make that go away. The same file runs on my dev servers, and it means that to create a new domain all I do is point DNS at it (via hosts, wildcard or whatever) and create a directory with the same name as the site. So, for example, I create /var/www/hosts/unhelpfulclue.aqxs.net/htdocs and http://unhelpfulclue.aqxs.net/ automatically points there.

This is what that looks like:

(That file is in /etc/apache2/sites-available as “vhosting”, then enabled with a2ensite. This is all under Debian. You’ll also need the vhosting module installed, enabled and working. )

One of the most common things you also need to do is automatically redirect people who go to “www.domain.tld” to “domain.tld” or vice versa depending on your religion. In this world, the canonical name of the site is whatever the directory is called. The thing with the 404 errors and the EverythingIsCatchingOnFire (Spot the reference for five points) stuff means that by default 404s go to this script, which in the event of a “This domain doesn’t exist”, it looks for an appropriate domain and sends you there:

(Meaning not only does http://piracyinc.com/ go to the right place, but http://www.piracyinc.info/ does too)

(Please leave comments on the original article rather than any syndications thereof) 0c89b0a701d3cda4ecf6e3837c2783c2

Coding Horror : Vampires (Programmers) versus Werewolves (Sysadmins)

Friday 27 August 2010 13:26 MST

Kyle Brandt, a system administrator, asks Should Developers have Access to Production?

A question that comes up again and again in web development companies is:

"Should the developers have access to the production environment, and if they do, to what extent?"

My view on this is that as a whole they should have limited access to production. A little disclaimer before I attempt to justify this view is that this standpoint is in no way based on the perceived quality or attitude of the developers -- so please don't take it this way.

This is a tricky one for me to answer, because, well, I'm a developer. More specifically, I'm one of the developers Kyle is referring to. How do I know that? Because Kyle works for our company, Stack Overflow Internet Services Incorporated©®™. And Kyle is a great system administrator. How do I know that? Two reasons:

  1. He's one of the top Server Fault users.
  2. He had the audacity to write about this issue on the Server Fault blog.

From my perspective, the whole point of the company is to talk about what we're doing. Getting things done is important, of course, but we have to stop occasionally to write up what we're doing, how we're doing it, and why we're even doing it in the first place -- including all our doubts and misgivings and concerns. If we don't, we're cheating ourselves, and you guys, out of something much deeper. Yes, writing about what we're doing and explaining it to the community helps us focus. It lets our peers give us feedback. But most importantly of all, it lets anyone have the opportunity to learn from our many, many mistakes … and who knows, perhaps even the occasional success.

That's basically the entire philosophy behind our Stack Exchange Q&A; network, too. Let's all talk about this stuff in public, so that we can teach each other how to get better at whatever the heck it is we love to do.

(Sometimes I get the feeling this idea makes my co-founder nervous, which I continually struggle to understand. If we don't walk the walk, why are we even doing this? But I digress.)

The saga of System Administrators versus Programmers is not a new one; I don't think I've ever worked at any company where these two factions weren't continually battling with each other in some form. It's truly an epic struggle, but to understand it, you have to appreciate that both System Administrators and Programmers have different, and perhaps complementary, supernatural powers.

Programmers are like vampires. They're frequently up all night, paler than death itself, and generally afraid of being exposed to daylight. Oh yes, and they tend think of themselves (or at least their code) as immortal.

Bela-lugosi-dracula

System Administrators are like werewolves. They may look outwardly ordinary, but are incredibly strong, mostly invulnerable to stuff that would kill regular people -- and prone to strange transformations during a moon "outage".

Wolfman

Let me be very clear that just as Kyle respects programmers, I have a deep respect for system administrators:

Although there is certainly some crossover, we believe that the programming community and the IT/sysadmin community are different beasts. Just because you're a hotshot programmer doesn't mean you have mastered networking and server configuration. And I've met a few sysadmins who could script circles around my code. That's why Server Fault gets its own domain, user profiles, and reputation system.

Different "beasts" indeed.

Anyway, if you're looking for a one size fits all answer to the question of how much access programmers should have to production environments, I'm sorry, I can't give you one. Every company is different, every team is different. I know, it's a sucky answer, but it depends.

However, as anyone who has watched the latest season of True Blood (or, God help us all, the Twilight Eclipse movie) can attest, there are ways for vampires and werewolves to work together. In a healthy team, everyone feels their abilities are being used and not squandered.

On our team, we're all fair-to-middling sysadmins. But there are a million things to do, and having a professional sysadmin means we can focus on the programming while the networking, hardware, and operational stuff gets a whole lot more TLC and far better (read: non-hacky) processes put in place. We're happy to refocus our efforts on what we're expert at, and let Kyle put his skills to work in areas that he's expert at. Now, that said, we don't want to cede full access to the production servers -- but there's a happy middle ground where our access becomes infrequent and minor over time, except in the hopefully rare event of an all hands on deck emergency.

The art of managing vampires and werewolves, I think, is to ensure that they spend their time not fighting amongst themselves, but instead, using those supernatural powers together to achieve a common goal they could not otherwise. In my experience, when programmers and system administrators fight, it's because they're bored. You haven't given them a sufficiently daunting task, one that requires the full combined use of their unique skills to achieve.

Remember, it's not vampires versus werewolves. It's vampires and werewolves.

[advertisement] JIRA Studio - SVN hosting, issue tracking, CI and Google Apps integration. Free trial »

XKCD : Open Mic Night

Friday 27 August 2010 04:00 MST

Ever notice how the more successful observational comics become, the more their jokes focus on flying and hotels?

Allan Kelly : Ed Yourdon on Agile

Thursday 26 August 2010 10:21 MDT

Ed Yourdon seems to have fallen off my radar so far this century. Last century I read a lot of his stuff and came to respect him as a man who knows what he?s talking about when it comes to IT and software development.

(If you haven?t heard of him, or don?t believe me just look at the list of books he?s written.)

I recently discovered that he has a blog, and from there that he has recently been to the Agile 2010 conference. In fact it appears that the whole Agile thing has, to a large part, passed him by.

The really interesting thing are some of his comments on Agile from this blog posting:

I?m happy to find myself agreeing with Ed, and even happier that the voice more experience sees it the same way I do!

Otaku : iPad market share

Thursday 26 August 2010 01:00 MST

John Gruber commenting on an article predicting a sharp drop in iPad market shares:

And the evidence of platforms winning solely on the basis of ?openness? is what? And the Android handset maker selling more units or making more profit than Apple (or RIM) is who?

Yeah, yeah. We get it, John. Apple is #1 in profits and #1 in manufacturers selling handsets.

Which is great for Apple.

And terrible for consumer choice.

Aquarion : Skipping User Account Control (UAC) in Win7/Vista without disabling it

Wednesday 25 August 2010 20:43 MST

UAC is actually quite good for security in Windows, as it means that anything that could steal your dog and run away with your favourite pillow/boyfriend/girlfriend has to get your permission first. However, the annoying popup that asks me if I’m sure I trust CoH every time it launches has annoyed me since I upgraded to Windows 7. This is how to solve it for arbitrary applications:

Disclaimer

I am a geek. This is geek advice, fraught with assumptions of savvy and technological pitfalls that didn’t happen when I tried it. It assumes you know what you’re doing and that if following these instructions word for word does cause an explosion that destroys you, your computer and your favourite pillow that you will not track me down and take me to a haberdashers to be forced to replace it. Caveat lector.

Tech Background Bit

UAC has no such concept as a “whitelist” and doesn’t provide a mechanism for skipping the prompt, but it does allow you to schedule a task to run with elevated privileges that doesn’t ask permission (because a scheduled task that asks for permission every time it is run is as useful as a chocolate tea service). Martin Zugec came up with a proof-of-concept utility called “Elevator” that creates a scheduled task to be launched immediately with elevated privileges

The method of making it work

  1. Go to the webpage and download “SkipUAC.zip”
  2. Extract the contents somewhere non-temporary, like c:\program files\SkipUAC
  3. In that directory, right click “Install” and click “Run as Administrator” (If you do not click “Run as Administrator” and instead just run it, it will look like it has worked, and the right click menu below will be there, but nothing will happen. RUN IT AS ADMINISTRATOR)
  4. Find your Application with the nifty blue and yellow quartered shield on it, right click on it, and select “Elevate Me”. This should work without prompting you. If not, please read the words in the bullet point above, read the text on the web page linked to above, or complain to someone on the internet.
  5. Copy your Application’s icon, in case this bit doesn’t work.
  6. Slightly complicated bit now. Right click on the Application icon and go to “Properties”, then in front of the command line, prefix it with the path to the place you put SkipUAC, and ElevatorRunner. So if your patcher icon reads: 

    "C:\Program Files\Games\City of Heroes\cohupdater.exe"

    it should now read: 

    "C:\Program Files\SkipUAC\ElevatorRunner.exe" "C:\Program Files\Games\City of Heroes\cohupdater.exe"

  7. The natty blue shield should be gone when you click “OK” (and it may have changed the icon to Elevator’s ugly pixelated thing, but you can fix that). Run it, and the application should launch without any permission boxes.
(Please leave comments on the original article rather than any syndications thereof) 0c89b0a701d3cda4ecf6e3837c2783c2

Otaku : Atari 2600 Box Art

Wednesday 25 August 2010 19:37 MST

I remember a lot of these boxes and curiously, the deceptive advertising never bothered me. Back then, you just had to make up the absence of graphics with your imagination.

Still, funny by today’s standards.

Martin Fowler : InfoQ Interview with Paulo Caroli and me at Agile Brazil

Wednesday 25 August 2010 19:30 MST

In June I gave a talk at Agile Brazil. During the conference my colleague Paulo Caroli and I were grabbed to give an interview for InfoQ Brazil. We touched on several topics: acceptance testing, polyglot programming, my DSL book, REST, and continuous delivery.

Allan Kelly : Objective Agility - what does it take to be an Agile company?

Wednesday 25 August 2010 17:58 MDT

Modern Analyst has published my latest piece about Agile at the company level: Objective Agility - what does it take to be an Agile company?

This is actually a bit of a taster for a presentation of with the same title I?ll be doing at the IIBA Business Analysis conference in a few weeks.

And talking of businesses analysis... I am running an ?Essential Agile for Business Analysts? at Skills Matter in a few weeks. Many of these themes come up in that course. I believe there is still space available.

And if you miss all that, I?ll be sticking with this theme for the Agile Cambridge conference in October.

mrben : My son is one

Wednesday 25 August 2010 17:39 MST

Title purely for poetry ;) Last Thursday (19th) Jamie turned one. The last year has been amazing, if somewhat disruptive, what with a new job to contend with too, and the change in direction with church. And now we’re thinking about moving house too. It’s all go…

Jamie with toys

My Shinies!


I just feel very fortunate to have 2 amazing kids, whom I love very much.
Mira Asleep on the couch

....sleepy...


Hope to have more posted soon about other interesting subjects. (Promises, promises…)

mrBen

Mark Shuttleworth : Open textbooks to the rescue

Wednesday 25 August 2010 11:54 MST

Mark Horner is a Fellow at the Shuttleworth Foundation. The model of the Foundation is unusual: we identify interesting change agents, like Mark, who are articulating powerful ideas that seem like the offer a hint of the future, and we fund them to work on those for a year. We also offer them an investment multiplier: if they put their personal money into a project, we multiply that by 10x or more, up to a maximum amount. In short, find good people, back them when they put skin in the game.

Mark’s specialty is open content for education: figuring out how to produce textbooks collaboratively. He’s done amazing work in the past, independently, leading an initiative to produce free high school science textbooks, and has lead the acquisition of a full set of textbooks in SA and their publication under an open content licence by the Foundation. Today, he’s been presented with a really awesome opportunity: provide open content to all of SA, with full backing from the department of education.

That’s a huge step forward, putting open content much more at the center of mainstream thinking. In part, this is precipitated by a crisis, the strike action that is affecting many public services like education in South Africa. But it’s nevertheless a valuable opportunity to show how open content can change the dynamic of the rigid world of education.

He needs help, though, to make sure the current drafts of the Maths and Science textbooks are free of typos:

I really need some extremely urgent help, I’ve been approached by national government to try to help make free educational resources available to support education during the current crisis! We have an opportunity to distribute free educational resources to all schools that cover:

All that is required is another edit of the Free High School Science Texts before they will release them to all the schools in South Africa. We have ONE WEEK to complete this process and desperately need volunteers who have post-graduate degrees in Maths, Physics, Chemistry or related fields that can help out.

So, if you’re inclined, he has details on how to help. For the moment, looks like participation requires being present in Cape Town, but perhaps he has a solution for that too.

Planet Classpath : Jeroen Frijters: Running RSSOwl on IKVM.NET

Wednesday 25 August 2010 10:27 MST

I recently upgraded my RSS reader from the older version I was still using to the current version. That turned out to be a mistake. The new version was even more broken than the old version, so I decided it was time to switch. I remembered RSSOwl from several years ago when I tested it on IKVM (it uses the Eclipse Standard Widget Toolkit, so like Eclipse it was a good test app back when AWT support was completely useless).

I downloaded the most recent version and played with it and it appeared to suit my needs. Of course, after I decided that I was going to start using it, I wanted to run it on IKVM and not in dynamic mode, but compiled with ikvmc. Fortunately, RSSOwl uses OSGi in much the same way as Eclipse, so I was able to reuse the work I did to get Eclipse to compile with ikvmc.

To play along at home, follow these instructions (on Windows):

Ghworg : Testing 1 2 3

Tuesday 24 August 2010 18:21 MST


Just testing something, don’t mind me.

Michele Simionato : Clearing caches

A short note about a task I am doing at my day job, involving making sure that different caches are cleared consistently. For people wondering about real-life use cases of metaprogramming techniques.

Michele Simionato : The wonders of cooperative inheritance, or using super in Python 3

This essay is intended for Python programmers wanting to understand the concept of cooperative inheritance and the usage of super. It does not require any previous reading. The target is Python 3.0, since it has a nicer syntax for super, even if most of what I say here can be backported down to Python 2.2.

Michele Simionato : EuroPython 2010

The EuroPython conference will be held in Birmingham UK, 19th to 22nd July 2010.

Michele Simionato : plac, the easiest command line arguments parser in the Python world

Announcing the first public release of plac, a declarative command line arguments parser designed for simplicity and concision.

Michele Simionato : Threads, processes and concurrency in Python: some thoughts

Removing the hype around the multicore (non) revolution and some (hopefully) sensible comment about threads ad other forms of concurrency.
Make your own planet, DIYBlog style - just FTP web space needed.