Wednesday, 19 March 2014

A Drawing About Hammers


Another Guardian Comment Bites The Dust

I left a comment over at The Guardian which has now been censored like so many others when a nobody dares question a celebrity. However, I don’t see why my carefully chosen words can’t find a home here and it gives me a chance to edit them a little to clarify my point. The comment was in response to this piece by Lily Cole.
I have more interesting things to do than hold any grudge against Lily Cole. Before I saw her Guardian article this afternoon, I was only dimly aware that she is a successful model with features that are possibly more striking than they are attractive. However, as a journalist, she can’t really claim an equal degree of success. Would a real journalist offer such a gnarly piece of phrasing as ‘arriving to New York’ or misuse an apostrophe in ‘it’s’ instead of ‘its’? Yet, at the same time, what right do I have to complain? In a room containing only myself and Lily Cole, only 50% of us would be published journalists and it wouldn’t be the side of the room with the whiskers and perpetual frown.

Like many freelance writers, I have sent articles into The Guardian via 'Comment is Free' and I heard nothing every time until I eventually stopped trying. Rejections might have kept me going but silence eventually gnaws through the sinews connecting your brain with your soul and that frustrates me because I’m not, by nature, a quitter. I am, however, a realist and I see no reason to continue to flog a horse when it’s lying bloating beside the road. Not when there are other ways of navigating what Hunter S Thompson might well have been describing when he talked of ‘the proud highway’.

Yet I'm not exactly a beginner when it comes to writing. I think I know how to phrase things quite well. I’ve had books published and even if I haven’t had any commercial success, I’m not a complete stranger to the occasional good review. Even The Guardian itself has published reviews of my work and suggested that I’m not without wit. Yet try to turn that praise into income and I fail every time. I hear nothing even when I submit articles which others have said are good, thought provoking and sometimes pretty bloody funny.

I know this comment will ultimately go to the place where comments go when they don’t follow guidelines. The Guardian doesn’t like anybody questioning their editorial choices or the abilities of their writers and I can hardly blame them. It’s actually commendable that they have started to defend their writers from undeserved criticism given the levels of abuse that are sometimes tolerated ‘below the line’.

And I certainly don’t take any pleasure in constantly criticising The Guardian yet publishing shambolic articles written by celebrities devalues the work of real journalists and freelance writers. The Guardian remains one of the last and best places where we could practice our art yet they prefer to give jobs to famous amateurs and dilettantes.

I expected better.

Before a version of this comment was deleted, it received some good (and a few lame) replies. Some accused me (rather predictably) of ‘sour grapes’ but others were better than that and I penned this reply which I didn’t have chance to publish. The debate had ended less than fifteen minutes after it had begun.
I’m smiling because some of the replies were just too damn reasonable to my bad tempered comment. I accept your points (and that made by R042). Perhaps it is just a case of ‘sour grapes’ but I was simply trying to voice a concern that everybody should have about the way that modern celebrity intrudes into areas which were once home to professionals.

MancunianPsycho suggests I should ‘write something more interesting’ but that’s just a stock reply voiced when anybody dare question the style or substance of an article. I do write many things and I submit many but never with any success. I accept that I’m probably just not interesting enough but there must surely be plenty of others that are. Hell, I know others that are a damn site more interesting and could provide websites details and email addresses.

"I thought of the TV show, and indeed it’s movies that inspired her"

I accept that it could be read as 'it is movies that inspired her' but I maintain that it's also damn clunky.

Again, I don’t have a problem with Lily Cole. Actually, I can see some value in the article, though perhaps not enough to justify its publication. I’m really just saddened by the way that our culture seems vaguely at odds with the interests of the common man and woman. It really does appear that we have to have a ‘celebrity name’ before our views become important.

There was an excellent piece in The Guardian just yesterday in which Joan Smith noted how the tabloid response to the sad death of L'Wren Scott almost ignored the deceased in their clamour to publish photos of Mick Jagger. Yet that was just a symptom of the very same problem evident in many of the broadsheets. We live in an age that is utterly at the mercy of the marketing people, in which you must have that hook or moment of fame on which to hang your opinions, otherwise you might as well not exist. The rest of us must content ourselves by expressing ourselves through cat memes or hoping for a celebrity retweet on Twitter.


Tuesday, 18 March 2014

Stop the world etc.

First of all, just to keep up with the moronic zeitgeist, I thought I better post this video. It might well be the most nauseating thing I’ve seen this year. And when you consider some of the nauseating things I’ve seen this year, that’s a real tribute to how truly horrendous it is. And I don’t give a crap about postmodern irony or being in on the joke. My gag reflex doesn’t recognise postmodern.

I’ve said it before but that doesn’t stop me wanting to say it again: I guess I’m just not one of life’s ‘nice’ people. That’s why The Guardian’s current fixation on Jack Monroe (and porn and privacy and Russell Brand and internet memes) is wearing me down like The Times’ obsession with Caitlin Moran wore me down to the point where I stopped reading that paper. I’m still looking for something better to read than The Guardian but it keeps returning to my good books by publishing something immensely good alongside the drivel that passes for ‘Comment is Free’ most days. I guess I’m getting resigned to the fact that the world out there just doesn’t really reflect the interests in here (points to forehead).

Apropos of nothing: I wish Google would hurry up and send me the magic piece of paper which authorises my Google account so I can access AdWords and then the Play store. My app is so finished that I’ve even gone to the trouble of adding ‘skinning’ options which are alternative sets of graphics to change the look of the entire thing.

More apropos: I’ve developed a severe addiction to ‘Fish ‘n’ chips’, the classic nibble from Burton’s biscuits. They call it a taste of childhood but I say it’s the perfect treat when I’m sitting rewatching the first series of ‘Prison Break’. Speaking of which, I keep a shortlist of actors who I think should really have made it big by now and Robert Knepper is still top of that list. Wish somebody would cast him in something truly heavyweight and let him truly flex his acting muscle. He should try lip syncing to Disney. Perhaps that's the only guaranteed way to success these days...

Saturday, 15 March 2014

Programming Android: Three Weeks On

As much as I hate to admit it, I think I’ve finished my app. It’s a proper monstrosity of bad design, hastily drawn graphics and butchered code but in the space of less than a month I’ve gone from not knowing a thing about the Android SDK to being in the final stages of testing a functioning app that does everything I originally intended plus a little bit more. Three weeks ago I began this adventure by thinking: I wish I could find an app that does X,Y, and Z. Now I have an app that does X,Y, and quite a bit of the Z and it has probably saved me 69p had this app originally existed in the Play Store.

I can’t say that it’s been an easy three weeks and I’m not sure I would have liked to have attempted this without some programming experience. Yet, had I been learning from scratch, I’m not sure Android is the worst place to begin to learning to program. It’s certainly a friendlier developing environment than some I used when I started out many years ago. I remember the misery of coding on an old Vax in a cold university basement room when we all had to wear mittens to stop our fingers from freezing. And people wonder why it’s taken me so long to come back to software engineering…

Although I’m not exactly a new code monkey, I began not really knowing much Java and I’m not entirely comfortable with it now since it’s clearly a language that’s easy to learn but difficult to master. At a few points, I wanted to add features which just proved beyond my skillset. One required me to catch, buffer and then process MotionEvents (the data generated when the user touches the screen) but it led to a wasted two days and my utter defeat. Perhaps I’ll try again with my next app...

Things I know now but wish I’d known back then:

  • It’s easy to use transparent PNG graphics inside a SurfaceView so long as you clear your bitmaps with the eraseColor( instead of filling your bitmap with white. Took me three days to figure that out.

  • The word ‘Activity’ in Android is almost synonymous with screen or process. Think of each functioning element in your program as individual Activities. So, if you’re making a database program, you could have an activity for the screen where you add records and another activity for the screen for modifying records. If it’s a game: one activity for the main menu, another for settings, one for the high score table, and another for the main game itself…

  • Learn about ‘context’. I think it’s the single most confusing and difficult element of the Android API. I’m not entirely sure what it is myself and I’m still not entirely sure how to ‘get’ it from different points in the code.

  • Learn to nest layouts right at the start. Setting up screens is a nightmare until you understand that you can, for example, drag a horizontal layout onto the screen and embed elements inside that. That layout can then be dragged into a vertical layout, making it really easy to arrange elements both vertically and horizontally on the screen.

  • Don’t go looking for ‘file open’ dialogs. They don’t exist natively in Android and, to be honest, I’m not entirely sure they are needed. It’s really easy to throw data out to other apps, such as email, Evernote and Dropbox.

  • Be quite liberal debugging with Log.d(“Activity1”, “Loop7”). As your app runs, it throws up messages to a console on your PC so you can track the code and see where it stops, throws errors or is trapped in loops.

  • Saving preferences inside your app is unbelievably easy with the SharedPreferences object.

Except for those really ambitious things that were just beyond me, I can’t say anything has been unbelievably difficult. The problem now it to stop myself from adding more features. I’ve got my widget working and I think that was the last big addition I’ll make. In the last two days, I’ve added a ton of new functions. I’ve even done the unspectacular work of programming the settings page so that the app remembers the user’s preferences and adjusts the internal workings accordingly. In a way, this part has pleased me the most since I’ve tried to make the whole thing flexible so anybody can use the app as they see fit. It needn’t be used for the purposes I intended, which is probably good because I’m not sure anybody would want to use it for the purposes I intended.

The next stage is when things get difficult. I have to test the app and make sure that it runs on devices that have different sized screens. Device fragmentation is probably the worst thing about programming for Android. There are so many devices out there with completely different capabilities and hardware. The chance that this app will run on all of them is slim to zero. However, I want to be sure that it can be used on the majority of current Android devices and that means either getting my hands on a range of test devices (impossible) or using an Android emulator on my PC.

And that’s where I have a problem…

The Android emulator that comes with the Android Development Kit runs really slowly. However, you can install an Android kernel that’s built with Intel code. If you have an Intel based PC, the Android emulator runs pretty quickly and you can run it in a variety of configurations so you effectively have every type of Android machine at your fingertips. Want to emulate a small phone running an earlier version of Android? You just run the emulator with all the settings turned down and you get to see what you app looks like running on a low spec phone. You see a problem and jump straight back into the code to fix it. It’s a great way to test and bugfix your app if you have an Intel based machine.

Only, I don’t have an Intel based machine. My PC has an AMD Phenon II X6 and it completely incapable of emulating Android via the Intel kernel. There is one emulator called Bluestacks available for AMD machines but, as far as I know, it’s not customizable, which means it’s pretty useless for my purposes. There is an online Android emulator which can be set up to emulate different devices but I can’t say that it runs particularly quickly and I know I don’t intend to spend money testing an app which will never earn me a penny.

It means I’ll either have to beg to borrow a friend’s PC or be happy just to test the app on my Samsung Note 10.1 (2014) edition running Jelly Bean and my old Galaxy S2 running Android 4.1.2. I have no idea what it would look like on a seven or eight inch tablet or how it might run on a bigger tablet even a year old. Ideally, I should buy a really cheap 7 inch Android tablet, such as the Tesco hudl, but it’s an expensive way to test compatibility.

Meanwhile, sometime this week, I hope to figure out how to upload my app to the Google store or I might not even bother. My app will never be the next Flappy Bird and given it might only be downloaded five or six times, I might simply stick the finished app on this site for anybody to try, if that sort of thing interests you. If it doesn’t, I’ll probably be back to cartooning and moaning about The Guardian ignoring my submissions until I come up with my next ridiculous plan.

Friday, 14 March 2014

David is now online...

Time. There’s never enough of it and never enough to do all the things I intend to do in a single day. Something always has to suffer and it’s usually the thing that’s most pleasurable, such as writing a decent blog post, drawing a funny cartoon or taunting a loft insulation salesman with a hint about an under-lagged crawl space.

Because I have so much to do, I wonder how people find the time to do the things that they spend their days doing, such as posting gormless updates to Twittermefacegrambook. I woke up early this morning to find another complaint waiting for me in my inbox. My on-the-other-side-of-the-world employer tells me that I need to provide instant feedback whenever he asks me a question. I’ve recently fallen into the habit of not loading Messenger when I’m at my desk. The truth is that I’ve simply not had time and I’d forgotten. Instant Messaging isn’t part of my life and it never occurs to me to load that most monstrous piece of malevolent gropeware. Instead I rely on email, the now outmoded method of instant communication which just isn’t instant enough.

I suppose my ‘forgetting’ to load Messenger reveals my deeper neurosis about Instant Messaging which I loathe like a true Luddite. The mere thought of using IM (even the acronym chills my balls) on a daily basis makes me feel like Winston Smith walking into the Ministry of Truth. Every Instant Message is a sinkhole into which I see my privacy disappear. I particularly resent losing valuable time to long meandering conversations in which you’re forced to mimic the trivial small talk of normal conversation instead of getting to the meat of the business as you would in an email. I despise the way IM informs other people when you’re on the internet, as though it’s their business. I hate having my train of thought broken every time the IM client tells me that somebody else is now online. ‘As if I care!’ I cry as the little boxes appear. ‘As if I care!’

Do I want my computer sending out messages to people to tell them that I’m ‘available’? I’m never available to waste time or to engage in small talk. The problem with the world is that there’s too much talk and too little actually meaningfully said.

But that is Instant Messaging: a symptom of the cultural malaise that has taken over the world. It’s a boredom born in a world where surface has taken over from depth, when every news story has to be accompanied by pictures or (preferably) an ‘infographic’. When cat memes make their creators millions but authors struggle to get their novels published I think it’s time to question if our time on this planet is being used wisely. The truth is: I don’t want Instant Messaging in my life. I want Delayed Messaging in which a friend takes the time and effort to write me something long and meaningful, full of interesting things, and requiring effort on my behalf to read, internalize, and then respond.

Yet the sad truth is that I have no option. We live in a new age where there are no set hours to jobs because jobs occupy every hour, where there’s no separation between work and life because your life is your work, and where people tell us that we’ve never been so free yet all of us are increasingly connected, tied down, and always available to chat.

‘Chat’. No other word more concisely symbolises the true vapidity of our age.

Thursday, 13 March 2014

Blood Blister

My chair is fixed. I’m not so certain about my body.

thumbIt took me a few hours yesterday to remove the old bolt from the seat. There was about half an inch of threaded end stuck in the hole and I spent about an hour trying to drill out the hard steel with an electric drill. That didn’t work so I tried to cut a notch in the slightly exposed end of the bolt but the screwdriver wouldn’t bite. Frustrated, I reached for a hammer and tried to knock it through. That’s when I missed the chisel and hit my left hand. I cursed mightily and angrily tried again with the hammer. That’s when I missed the chisel a second time and hit my left hand on the same tender spot. It hurt even more and where the hammer bounced off the bone, it went into my thumb, producing this delightful blood blister.

I was about to give up but I remembered something my Dad had taught me or perhaps it was something I’d seen on one of the Discovery Channel documentaries such as Gold Rush. It suddenly struck me that I’d been doing it all wrong. The high powered electric drills were just spinning on top of the bolt. I reached for an old brace and bit and slowly started to turn it in the hole. Soon I could see small flakes of metal coming out and I could feel the drill biting. After about half an hour, I could see the drill beginning to protrude from the other side. I’d gone in slightly askew and half of the bolt was remaining so this time I reached triumphantly for the hammer to knock out the stuck fragment. It popped out easily, though not before I’d managed to hit my hand a third time. My cursing didn’t last long. About half an hour later, the chair was reassembled with a new bolt and washers holding the back in place. I felt slightly elated.

I’m not a handyman. In fact, people often laugh about my skills as a handyman, though the same people admit that I can hang wallpaper pretty well, put up shelves, rewire a plug, and do plenty of the other things that need doing. About the only thing I can’t do is climb a ladder higher than twenty feet. I figure I’m too big and cumbersome to go climbing about on the roof. Anything lower than that and I’ll give it a try. And that pretty much sums me up. I’ll have a go at anything. I’m just not sure the result will ever be all that pretty.

The bolt doesn’t look great hanging from the chair but you only see if it you go looking for it. The point is it works and I preserver in these things because I like to believe we’re not past the stage when a little effort produces a result. We throw things away too easily. Since I saved this PC monitor by soldering in some new capacitors a year or so ago, I feel like I have a duty to at least try to get things working again. I’ve saved my chair, saved some money, and have a blood blister I didn’t have before.

Today, I’ll stick to my preferred form of engineering. I have new ideas to incorporate into my app. A few days away from it has given me a little more faith in the concept. I intend to learn how to create a widget to sit on my Android screen and integrate with the app. It should be fun and hopefully blood blister free.

Wednesday, 12 March 2014

Some Thoughts on Bob Crow

Hemingway wrote whilst standing up. He wasn’t the only writer to do so. Perhaps it accounts for something special in his writing, his characteristic stocky phrases or the muscular pull of his lines. I don’t write standing up but perhaps the next best thing is to write whilst sitting on an uncomfortably hard chair since my usual perch is currently in pieces in the back room alongside the remains of a broken drill which I’d destroyed trying to remove a hardened steel bolt that had sheared off in its hole.

Yesterday was a hell of a day, a long run of blistering bad luck and ugly turns that ended in Manchester where I was forced to buy a new power drill. Even with the right tools, my chair is still unusable and work is now backing up. I have a website to build, a video to fix, and a cartoon to draw before tomorrow’s deadline for the next issue of an LFC fanzine. Two paragraphs into the day and my back is already aching from the hard plastic sticking under my shoulder blades.

Yesterday was also a bad day because it was the day I heard that Bob Crow had died. I suppose if it weren’t such a tragedy that he died only 52 years old, I wouldn’t actually write about Bob Crow except I had recently found myself warming to him. That’s not to say I didn’t find something comic in seeing a union leader enjoying the high life. In many respects, I viewed him like I view George Galloway, though perhaps with less overt comedy. Yet seeing Crow on ‘Have I Got News For You’ recently made me reassess my attitude towards these leftward firebrands. The same goes for Dr David Starkey on the right. It’s easy to mistake everything they say for the worst things they say. Or sometimes it’s hard to distinguish the sense from the way they expressed that sense. I do think it’s a crazy world in which the driver of a largely automated Underground train is earning more than a university lecturer who contributes to world knowledge. It’s that kind of detail which made it easy for the Tory commentators to mock Crow, as I saw Andrew Pierce doing on Sky News on Monday night.

In that sense, Crow and Galloway have always been a blessing for the right. They were easy to lampoon and their worst foibles distracted from the very great sense they sometimes spoke about the rights of workers. It would be foolish to deny that Britain is a country ruled by a rich Eton elite yet populated by a majority of people too distracted by X Factor finals, mobile phones, and American ten pin bowling to actually care about that bias. To his credit, Crow did care, as I’m sure Galloway also cares. That’s why I’ll miss Crow. He was one of the few public figures to express an opinion which was precisely that. It wasn’t a party line, a faecal crumb of marketing detritus put out by some central office. Right or wrong, he was one of the few actually happy to go on TV and express an opinion that he knew would alienate some. That’s rare in politics as it’s rare on TV, where the middle ground is worn flat by a million bland heels.

But at this point I have to stop. I would write more but my back hurts. This chair gives spasm-inducing discomfort and there is one less person fighting for my rights as a worker.

Tuesday, 11 March 2014

Hey Bob! Here's More Self-Centred Waffling

An anonymous Bob, from, left a comment this morning accusing me of ‘self-centred waffling’. It’s always a little unsettling getting such an anonymous comment, though thankfully, in this case, Bob’s IP address included what appears to be his real name (I’m guessing that his real name is ‘Mark’), so I know it wasn’t from a friend trying to tell me to quit.

That said, I think Bob/Mark’s observation is bang on the money. This is a blog and, like all blogs, self-centred waffling is its raison d'ĂȘtre. What would this site be if it wasn’t an expression of my deluded hope that somebody might actually care what I think or what my cartoons might say? The truth is that the world generally doesn’t give a fig. That is the world I recognise. My neighbour came around the other day to ask me to move my car. We’ve lived next door to them for ten years. I know all their names, their jobs, the names of their illegitimates. They didn’t even know that we’ve never owned a car. Isn’t modern Britain's Big Society just wonderful, Mr Cameron?

The other part of Bob’s criticism is easier to address. He asks ‘what app ? no links no info’ and that’s also right. I’m damn cautious about talking about my app because some Android genius in India would easily knock it together in a spare lunch hour and market it to the world. I know how this game operates. Good ideas are few and far between and I think I’m sitting on a $100 idea. If I market it right, it might even earn me $120 which is about £70 in these God fearing times.

I was in Chester on Saturday on the way with my sister to see her consultant. I was idling time browsing the small PC World next door to Nero and listening to a sales assistant explain how he was doing a computer course where they were being taught to write their own Android apps. There’s nothing quite like listening to salesmen in PC World making idle boasts to ignorant customers to make you realise how you’re actually achieved something barely worth celebrating. But I’ve said this before. Learning to write Android apps is easy. Mastering it is something else.

I suppose I should also be grateful for Bob’s aggressive comment for setting me right about this blog. I haven’t blogged properly in two weeks but my excuse is that I’ve just lost the will to work. I suppose years of rejection have finally got to me. I’ve lost the enthusiasm to write, to draw, and even, I suppose, to live and breathe. I just begrudgingly face each day with the realisation that it will involve yet more crap and gruelling misery. My sister’s treatment at the hands of the local GPs has reached the point where I’m considering seeking legal advice regarding medical negligence. This last week has been one of the worst and it seems that the closer the consultant actually gets to finding the cause of her problems, the problems actually gets worse yet are routinely laughed off by the local GP as ‘a bug that’s going around’. Last Thursday was very distressing and I needed help so I rang the local surgery for advice. They wouldn’t send anybody to see her and they told me that the emergency doctor only attends to the elderly. They suggested we stick her in a taxi and go to the walk-in centre four miles away in another town… A shame we don’t own a car, though that doesn’t stop the neighbours for giving me grief about my parking…

In the meantime, I continue to work on the app during the moments when I’m not sitting outside the doors of consultants and GPs, or building websites for people who tell me that ‘desire for greatness is to be on the right track. But if we are on the right track, we’ll get run over if we just sit there. Action is paramount for greatness.’ If you do a search (I did), you’ll know that it’s a hackneyed phrase used by business gurus to sell their particular brand of bullshit. Is it unusual to get annoyed by people who are constantly upbeat and wanting me to work in a team? I occasionally do a little work for an American who quite the opposite and I love that. I miss being able to rib somebody and trade mock insults. It doesn’t seem normal trying to be so smiley…

And that, I think, is my problem. That’s why Bob was probably annoyed with my self-centred waffling. As you can see, I do waffling quite well but I don’t do smiley bullshit. In truth, the app isn’t working how I hoped it would. It’s not good enough to talk about. Nobody but me would probably want to use it like few people really read this blog. But what the hell. I enjoy self-centred waffling. I’ll blog again. This has been cathartic.

In the meantime, if anybody knows how to remove a snapped bolt from an office chair, I’d be very grateful. I sat in my favourite chair last night and it went ‘thud’ and the back fell off. I thought a bolt had simply come out, as they often do. Only this one had broken half-way down its length, due, I think, to the bloody awful blue locktite stuff some firms insist on sticking on bolts. It stops the bolts from falling out but always makes them sheer off instead. I now have to figure out a way of removing the piece of bolt stuck in the threaded hole so I don’t have to buy another chair. Like I say: more crap and gruelling misery...

Tuesday, 4 March 2014

Deep in Geekdom

My brain imploded the moment I tried to do something which was just far too advanced for its limited ability. It involved strange ugly creatures that lurk in the deep places of the Java programming language; exotic elaborations of inconceivably weird data sets that my mind just couldn’t comprehend in their entirety.

I was trying to capture input from a touchscreen in an array but the array needed to be held in another array, and the whole thing wrapped in classes which defined the methods of storing the data and then freeing memory when no longer needed. Perhaps I was tired. Perhaps I was simply trying to go too fast. I don’t know. I could no longer remember the difference between implementing a class and extending a class. The web wasn’t helping. My questions on an Android programming forum had gone unanswered. I was left reading example source code that was thousands of lines long and impossible to unravel. It just made me feel like the little I had accomplished in a week and a half was precisely just that: a little. At midnight last night, I pushed myself away from my desk and went to draw a cartoon for the next couple of hours whilst Dumb & Dumber playing on the box.

So, as it stands, the little app I’ve written is almost finished. It had taken the entire weekend for me to realise that I couldn’t expand it to be something more useful. One of the worst things about life as a programmer was dealing with feature creep – the excitement of clients who want their simply database to run their entire world. Now I’m programming for myself, the feature creep is worse than ever.

However, I’m now trying to wrap it up and get back to blogging. There are parts of the app that need to be finished but they’re the dull parts such as a settings screen and it’s hard to find the enthusiasm to code them. I still need a way to export and import user data but since I’ll probably be the only user, I’m not sure it’s worth the trouble. I also need to spend time using this app, learn its flaws and try to work out if this is a genuinely useful tool which will do all it was intended to do: write my blog, clip my toenails, and tell me that the meaning of life is the number 42.

Cartoon: The Selfie