Krocodile thoughts

Thanks a lot Dreamhost for a day of downtime. Greaaaaaat service. I can’t imagine how many customers they lost today. If anyone wants to suggest a cheap and easy and painfree host for my WordPress blogs, I’m listening. Anyway, I recently got the following email which introduced me to yet another grotesque corner of the net:

Subject: curious if you've heard about krokodil

and if you havent please dont look it up while eating, not sure why but when i heard about this i wondered if you had also

I actually hadn’t heard of it until this email so curiosity made me bite. There’s an article in The Independent called Krokodil: The drug that eats junkies and of course the Desomorphine Wikipedia entry has an introduction, but basically Krokodil is an inexpensive street drug that approximates the chemical structure of heroin by processing over-the-counter Codeine pills with iodine and red phosphorus. Unfortunately no effort is made to purify the drug, so you’re not only getting desomorphine (which isn’t inherently dangerous) but also highly corrosive toxins. These toxins eat away at the drug user’s flesh until it’s dead and gangrenous and literally falling off their body. It’s more horrible than you can possibly imagine, and users have an average lifespan of just a couple years after starting.

The pictures of people doing krokodil make those “Faces of Meth” websites look like a friendly beauty product. They are truly horrific. There is a big over-the-top disgusting photo gallery on Buzzfeed, but there was one awful photo from that page that struck me. Click the image to see it uncensored, or follow that previous link for lots more grossness.

There’s one thing though that really struck me in that photo. The tissue around the exposed bone at the hand end, and around most of its length, actually appears to be healed, as impossible as my gut tells me that is. Not that it looks by any means healthy, and the elbow end of the bone looks positively rotted, but it really goes to show how single-minded I am when my first thought was running through all the body modification possibilities — the idea that it is possible to strip and expose a bone, have it come up and out of the flesh, and actually survive and heal like that is wild. Could you do this with collar bones for example? I found some medical and veterinary and dental references with a quick search but I think it’s complicated because I’m not sure what medical terms to use that will save me from a zillion false positives.

It reminds me of an old story that I remember from about 1995 when (I think) someone I worked with at Stainless Studios (I can’t remember who) told me about someone that came in or someone they knew of — and I can’t tell you this isn’t an urban legend, who had been in some sort of an accident that left him with exposed bone on his scalp. I suppose there are animals that you could argue have exposed bone, so perhaps it’s possible, and these krokodil photos make me think even more that it’s possible. Anyway, the punch line of the story was that this individual had an image placed on the bone through some process akin to scrimshaw. Might be a good thing for someone to include in a steampunk graphic novel or something.

PS. And as a side note, the fact that people are willing to destroy themselves with Krokodil really shows you how much addicts are victimized by their condition… how desperate opiate addiction can make a person both to get back to that place where they felt good, and to get away from soul-crushing withdrawal. It really sucks that the system is far too often set up around a “punishment” mentality rather than a “treatment” mentality.

Continuing my snarking about Ami James on NY Ink

I went in with Saira today for her tattoo appointment with Shane Faulkner, where she got a bunch of Hindi script done in nice light grey-wash letters because she has some really subtle flowers that Shane did years ago in the same area that they didn’t want to overpower. So I spent the afternoon around tattoo talent, and an artist who while they earned their wings in the early 90s, has kept learning since then and has never been afraid to push past traditional tattooing — I think for example I can give him some of the credit for the popularity of all heavy white tattooing as he was one of the first artists to publish quality work of this type. Why was he willing to try something like that when no one else was doing it? Because he knows that tattooing is perhaps limited only by the medium, not by the portfolio of the artists that came before him. I’m happy to say that these days, most good artists understand that and there’s a lot of talent to be found. But then, when I got home, I turned on the TV and watched this week’s dumb television offering…

Ami James of the reality tattoo show NY Ink makes a big deal about wanting to run the best shop in the world with the best artists available, and positions himself as the king of that hill. He constantly belittles and abuses his apprentice — if it’s not all acting for the cameras, he’s a complete asshole to his “friend” — and goes on and on about how incompetent the apprentice is and how much he has to learn before he can call himself a tattoo artist. Problem is Ami James isn’t much of a tattoo artist himself. Sure, he can lay in solid flat color and draw a line that isn’t too shaky, but every single tattooist should be able to do that. Seems to me that Ami James got to the point where he could do the basics and then decided that there was nothing more to learn. Let me give you an example from the most recent show.

A woman came in with a painting that her grandmother had done wanting it put on her skin. She told Ami that what was important to her was that it look “like a painting” and “not like a tattoo”. The only thing she wanted changed was to have a New York skyline added. So what does Ami do? He changes the design in order to make it look “not like a painting” and “like a tattoo”. It’s as if he heard the exact opposite. The color is typical flat shading/blending and most obviously and most glaringly, he gives it the trademark of cheap tattoos everywhere — a heavy black outline.

Just think how great that could have looked if, for starters, the cloud was done in white ink with no outline. Not that it didn’t stop the dumb-ass client from exclaiming, “it’s exactly what I wanted!” Maybe people get the tattoo they deserve, not the tattoo they asked for.

But come on, Ami!!! Can you seriously not do a tattoo that doesn’t have a black outline around the color? Did you learn to tattoo from colouring books? Are you seriously not able to lay in textured color so it looks like paint? These are basic skills. I know that the painting the client brought in isn’t particularly well done either, but come on, this tattoo is crap. Kat Von D must be so happy not to be on the same show as you any more. Why must you make me yell at my television, and then further embarrass myself by writing about it on the Internet? Gawd, I hope one of their producers reads this and hires me to teach Ami how to tattoo. They don’t even have to put me in the credits. I’ll even pay for my ticket down to NYC just to cut down on my irritation level from future shows.

God, the guy couldn’t be more mundane and boring. A good tattoo artist is always learning, always pushing themselves, always improving as an artist — I know that if I was a tattoo artist that landed a TV show, you can bet that I’d be taking every spare moment taking classes — and just practicing new things — to make sure that I don’t look like a fool. In the episode he had the gall to insult his apprentice about not being good at watercolor, and then went and showcased his own small-minded view of what tattooing can be. It’s embarrassing. As I’ve said before, if I want a something that looks like flash from 1995, Ami will surely be able to do a superb job. But if I want anything that can stand up alongside the caliber of art that should be expected these days, forget it. I wouldn’t care if it weren’t for the fact that he continually brags about his status as a tattoo sensei and egotistically looks down on everyone around him. <Insert aggravated primal scream here>

“Uncle Shannon paint me dog?”

My friend Saira’s year and a half old daughter has always had a painting with a cat in it that I did, and recently asked if I could paint her one with a dog in it as well (their family’s beagle, Milo, unfortunately died before she was born so I can only assume she has seen his ghost). Does this count as a commissioned piece then? She is also quite scared of me on account of the beard, so I am hoping that this little painting is a suitable peace offering. Sketched it last night and painted it just now over a couple hours of watching documentaries in the background. It’s done on a roughly 8″x6″ piece of gesso’d plywood (I told you it was little) using acrylic model paints.

You can click to zoom in, not that it’s particularly detailed…

Spoonflower Custom Printed Fabric Review and Recommendation

As I mentioned last week, I placed an exploratory order with Spoonflower, an online service bureau that custom prints fabric (of all sorts, from cotton sheets to upholstery canvas to silk) with whatever you want. I created an immense image that’s a collage of many of the paintings that I’ve done and uploaded it — if you like it, you can buy fabric with this print on it here — and today got my order. Their “official” delivery date wasn’t until next week so I’m thrilled with how quickly they processed and shipped the order. It looks absolutely stunning. The colours are deeply saturated and the inks look like they’re embedded in the fibres rather than just floating on the surface. The quality is superb. I chose heavy upholstery fabric and Caitlin is going to be making a quilt out of it, but there are so many things I can imagine doing — an obvious example would be uploading photos of loved ones to make pillows and things like that, or even just using it for tapestries, as an alternative to posters for large-scale printing. Most of these images in my print were nice and high resolution, but there were a few paintings that were as low as 60dpi and even they turned out beautifully, with smooth lines and tones with no visible pixelation in any of it. I’m very happy with what I got from Spoonflower and definitely recommend them. Plus the price was great.

You can zoom in on this picture by clicking on it, and there are three close-up images after the break, all of which you can zoom in on as well.

(Continued)

An improved wget / http-get function using archive.org

I post this because it’s an obvious but I suspect often overlooked idea that may be useful to other internet programmers reading this. As you may know, I’m writing a bot that is used to convert old blogs into physical printed scrapbooks. As a part of doing this, it has to download all of the images that are referenced therein. As I’m sure is no surprise, when you’re talking about images that are more than a few years old, the links are quite often dead, and there’s nothing there but a 404 or useless redirect to download. However, there is a very good chance that you can find it on Archive.org’s supremely useful “Wayback Machine” which is an ambitious attempt to build a digital time machine by archiving dated snapshots of the Internet. I decided that it might be a good idea to integrate this into my http-get function, and what surprised me is how easy this was to do.

Here’s the meta-code:

   http_get($url)
      retrieve($url)
      if the retrieved data is 404 or otherwise invalid
         retrieve(https://web.archive.org/web/19950101010101/$url

It’s really that easy to create a function that downloads a URL, and if it can’t find it, checks for it on the Wayback Machine!

Specifically, what this does is attempts to download your URL from the standard location. The data retrieved could be “good”, or it could be a “404″ or other standard error, or it could be “bad” data. You’ll find that often expired links do not create obvious failures. An expired link often redirects to the site’s main index, or it may point at sites that are gone or have been completely redesigned and redirect you to any number of locations. Sometimes the easiest way to determine if the retrieved data is “valid” is by checking the file type. For example, in my case I was downloading only images, and if the URL returned anything other than an image I could be pretty sure that it had expired (since few redirect systems are intelligent enough to respect file type). You’ll have to come up with your own way of determining whether the data you downloaded is what you wanted.

If the data downloaded from the original URL is determined to be invalid, you create a new URL that starts with “https://web.archive.org/web/19950101010101/” and is followed by your original URL. So for example, if you were trying to download https://zentastic.me/shannon-larratt-is-zentastic.gif and it failed, your Wayback URL would be https://web.archive.org/web/19950101010101/https://zentastic.me/shannon-larratt-is-zentastic.gif. Now, that doesn’t mean that the Wayback Machine has to have a version of the file from January 1st, 1995 at 01:01:01. When you request a date that doesn’t exist, it will try and redirect you to the closest one it has. What it will do is give you a “302 Moved Temporarily” with the “correct” URL (which your http-get function should already deal with anyway). Download the URL specified in the “Location” field, and you’ll get the first version of the file stored by the Wayback Machine.

I should note that if you use the URL that I’ve specified above, what you’ll get is the oldest version of the file. The reason I did that is that I figured that if I’m trying to retrieve an old version of the file that is no longer at the URL, the oldest one had the best chance of being the correct one. If on the other hand you want to download the most recent version of the file, you can ask for it with a URL starting with “https://web.archive.org/web/20130101010101/” (ie. January 1st, 2013 instead of 1995). However, depending on the type of file and type of redirect in use, there’s a good chance that the Wayback Machine could be archiving the same junk data that you got and are trying to avoid in the first place. Alternately, if you know the date of the linking entity (for example if it’s a blog or forum post), you could also use that date.

Anyway, I found it was a very easy improvement to my standard http-get function that at least in some cases, improves functionality dramatically! Hope this was helpful to someone.