Covid-19 Resources

iaian7 » blog   John Einselen, 23.03.20    

This page is predominantly so I can track resources I come across, for my own reference as much as anyone else’s, as the US faces a pandemic the likes of which we haven’t seen since 1918 (Lord willing, not significantly worse).

read more

Babylon, Mistress of Greed

iaian7 » blog » poetry   John Einselen, 11.03.19    

Weep not for Babylon,
Mistress of greed;
Weep for her people,
Who took no heed.

The plight of the poor,
The cry of the orphan,
The fear of the foreigner,
Exploiting anyone.

Weep not for Babylon,
Mistress of greed;
Weep for her people,
Who took no heed.


On Purchasing a Camera in 2018

iaian7 » blog   John Einselen, 10.11.18    

A cousin of mine, a newspaper editor and long term Canon user, was in the market for a new camera and asked me about mirrorless options in the sub-$1000 range. I ended up writing what may constitute a small book on the subject; the following is my reply. This can be a rather lengthy discussion, so I’ll break it up into sections!

  1. General comparison of tech and camera manufacturers
  2. Features you mentioned and factors to consider
  3. Resources for further research
  4. Summary and final thoughts

read more

CSS Lightbox Overlay

iaian7 » code » webcode   John Einselen, 20.06.18    

Designed as a more modern and much lighter-weight alternative to the antiquated mediaboxAdvanced. While this relies exclusively on simple HTML and CSS for layout and animation, it does require Javascript to allow for automated play and pause when opening or closing video layers, and override default :target behaviour to set states. This stops the browser history from filling up with endless anchor links, but if javascript is disabled, the :target behaviour still works as expected and videos can be manually played or paused as desired (they just won’t stop playing automatically when the layer is closed).

image 1image 2image 3Vimeo video image 1 image 2 image 3

YouTube and Vimeo API scripts are loaded in the header, while the iframes include onload actions to initialise the APIs, and the anchor elements include onclick actions for setting status. This system includes none of the media titles or content detection of mediaboxAdvanced, and there are some limitations to this mostly-CSS approach, but in general it’s pretty usable. Check out the CodePen.io page for more details and the source code.

1CSS lightbox overlay source

You can also check out a demo using next/previous buttons to navigate through groups of overlays. This would require a bit more development to make it useful (especially developing the CMS integration to make it automatic), but is a starting point for further investigation.

1CSS lightbox overlay navigation

CSS Looping Fader

iaian7 » code » webcode   John Einselen, 20.05.18    

This is based on an example by Jonathan Snook, but has been updated to fade seamlessly between images without cross fading (which reveals the background). This is achieved by animating the z-index while simultaneously delaying the fade out of each layer until the replacing layer is fully visible.

While the animation timeline does depend on a set number of images, it would be possible to set up classes for each variation needed (for example, 4, 5, and 6 image rotations). (fade duration + visible duration) * number of images = total duration which can be used to set up the percentages for the animation timeline. More details can be found in the Jonathan Snook article linked above.

This version uses CSS backgrounds (defined in the HTML by an assumed CMS) instead of <img> tags to provide a more seamless and responsive (depending on your CSS setup) end result. Loading images as backgrounds also prevents them from being selected by accident.

1CSS fader source code


iTunes firewall issue and solution

iaian7 » blog   John Einselen, 12.01.17    

Every time you open iTunes…

Do you want iTunes to accept incoming network connections?

Helpful hint: if iTunes demands network access every time it opens, after you’ve told it repeatedly and exasperatedly “Yes! Why won’t you listen!” it might be left over corruption from that time when you used CandyBar to customise icons 5 years ago. Yes, iTunes and even the OS have been updated eleventy-thousand times since then. Yes, you uninstalled CandyBar years ago when the OS updates destroyed support anyway. And yeah, the icon isn’t even customised right now. Yet the icon backup files have somehow been maintained within the iTunes app, which means it fails Apple’s signing process, which means it fails the firewall security requirements, which means you have to re-allow access every time you open it.

And by “you” I mean “me.”

The double-check solution

But maybe the foundational problem is completely different for you. I don’t know your life. Run the following command in Terminal and it’ll tell you exactly what’s wrong:

codesign -vvv /Applications/iTunes.app

This gives you “very very verbose” output on the app signature (I actually have no idea if that’s what it actually means, but -v doesn’t give much of anything, and -vv only tells you if it passed or not). After a good number of lines, it’ll probably say something like the following:

/Applications/iTunes.app: a sealed resource is missing or invalid
file added: /Applications/iTunes.app/Contents/Resources/CandyBar.plist
file added: /Applications/iTunes.app/Contents/Resources/iTunes.icns.backup.icns
file added: /Applications/iTunes.app/Contents/Resources/iTunes.icns.candybarbackup

I opened the app bundle, found the offending files, deleted them (which required my admin password, since I was modifying sacred Apple property), and everything was suddenly fine. Running the codesign command again showed that the app bundle passed with flying colours, and OSX no longer asks for network permission confirmation every time I open iTunes.

Or take the easy road

You could, of course, simply delete the iTunes app bundle in your /Applications/ folder and re-download it from Apple. Preferences, music, movies, and other media are all stored elsewhere, so outside of you-should-really-have-a-backup-anyway, there’s not a shred of danger in doing so.

Already broken again?

If the problem comes back, there’s probably something on your computer that’s still actively modifying the iTunes app bundle. Thankfully it appears my last.fm client of choice doesn’t interface directly into iTunes, so I should be ok, but you’ll have to do your own research here (taking the double-check route above will help).

If the problem is especially onerous, it’s probably best to start scanning for malware. Yes, I know, you have a Mac, and Macs don’t get viruses…well…we all install something stupid at some point, or accidentally download “flash installer” and end up with “russianhackersites.safariextz” It’s ok. It happens to everyone. But yeah, you’ll want to get that fixed.

Download MalwareBytes for Mac and let it do its thing.


Scottish TARDIS

iaian7 » blog » projects   John Einselen, 8.11.15    


How could I not be inspired by Doctor Who? I enjoyed watching the series for many years, and The Doctor’s Wife episode was a lot of fun. And why couldn’t the TARDIS be a man? And Scottish? In the words of the 9th Doctor himself, “Lot’s of planets have a north!”

Clothing Design

Using the X-Kilt documentation as a starting point, I drafted my own kilt pattern. This took me a year to finish, as I kept getting overwhelmed and ignoring it. I think most people, with a bit of courage, could pull it off in a weekend. In the end, it was totally worth it! The magnetic buckles were all purchased on eBay, the chain purchased from Joann Fabrics, the brown sporran from a seller online, and the “Police Box” ribbon was found in an Etsy shop. I used alcohol dyes to match the bright white and purple of the ribbon to the aged cream and blue of the outfit, then added the ribbon to both the flashes and the belt.

Tracing the general pieces off an existing vest, I also created my own waistcoat design. Lengthened, fitted, and then panelled with pockets. I couldn’t quite fit two columns of 4, but figured a total of 6 would still sell the idea. A handkerchief with the police notice printed on it would be a good touch, but I couldn’t find a good source, and didn’t feel like making it myself…guess we all have our limits.

The stockings, boots, and shirt were all items I already owned.

The heart of the TARDIS

This is what, in my opinion, really completes the costume. A brass-coloured lantern with the iconic pillars of light, slowly pulsing in cyan to match the 9th and 10th Doctors’ interior design.

Starting with a round lantern I found on eBay, I matched the colour of the aged brass clothing elements with a combination of metallic spray paints and black acrylic. The core was formed using an RGB LED strip, a cheap LED driver, and a pack of AA batteries (this was before I started using rechargeable lithium polymer batteries as my standard electrical basis, and the AA pack still fit nicely within the lantern core).

By figuring out the correct combination of lantern diameter and LED spacing, I was able to wrap the LED strip in a spiral that created columns of LEDs. Then I just had to diffuse them. After finding thick plastic drinking straws at Meijer, I wrapped each of them in 15 pound monofilament fishing line. Funny thing about clear fishing line; it’s often used by photographers to simulate streaked lens flares by stringing it in front of a lens. Wrapped tightly around a clear tube, it diffuses light linearly quite well, blending the individual LEDs into columns of light. It’s always fun to find creative solutions to problems like this.


I may not have won the company halloween costume contest back in 2015 (am I bitter that Marty McFly won? sure…though at least I lost to another time traveler!), but I did take a prize at the Michigan Renaissance festival on Doctor Who day, and I’ve loved wearing this to multiple cons over the years. The best is when I get to go alongside a friend dressed as an equally gender-bent 11th Doctor!


My Penny Arcade confessional

iaian7 » blog   John Einselen, 5.09.13    

I’ve read Penny Arcade pretty much every week for years. Sure, there have been some super-inappropriate comics, but I’ve appreciated the continual development of the artwork, the geeky humour, the occasional ode to love of literature. Their “reality TV show” Strip Search was, while at times certainly vulgar (not in the way you’d think, given the title!), a pretty fantastic web series about artists and writers.

The experience of a female gamer at Penny Arcade Expo, however, is far too disturbing and too serious to ignore. This sort of behaviour and this sort of mindset and stance towards abuse of any kind is nothing short of horrific.

And honestly, I should probably be horrified at my silent response to the initial comic as well. “Eh, it’s really not appropriate, but they’ve never been ones for super-appropriate topics…I’ll just move on. Tomorrow’s comic will be funny.” It was equivocating on an unequivocal subject, and I continued to support Penny Arcade, even donating to their Kickstarter campaign. I’m sorry.

In response to the renewed uproar this past week, one of the founders of Penny Arcade “clarified” their position (and yes, I appreciate that they have strict “booth babe” policies at events, that kind of respect at trade shows is hard to find).

But…they’re just sad people are upset. They still like the comic.

I don’t think I can or should be ok with that. Not any more.

It’s going to be a little weird not reading Penny Arcade tomorrow morning, and especially difficult given my obsessive nature (I watched all of Heroes season 2, for goodness sake, I just can’t leave something unfinished!). But…I’ll try to kick the habit, if for nothing more than the silent dissent of my own conscience.


Marty the Monkey

iaian7 » blog   John Einselen, 24.07.13    

It’s been a long time coming, but one of the projects I worked on at Vectorform between 2012 and 2013 is finally public! Working in partnership with Kaiser Permanente, Vectorform helped create a series of mini games to assist clinicians with autism assessment. Based on some terrific illustrations by James Anderson, I was responsible for bringing a 2D character to 3D life, in no less than 130 different animation sequences to be used throughout the experience. Called Marty the Monkey, the character acts as a guide, encouraging kids to progress.

Marty the Monkey

To read more about the visual development and shader process, check out my Vectorform blog post Behind the Scenes: Creating Marty the Monkey. I’ve also included a download at the end of the article with edge projection nodes for the just-released Lightwave 11.6 update!

You can also read more about the application itself in Patrick Samona’s article.


When it's the end

iaian7 » blog   John Einselen, 3.07.13    

Religion, salvation, and good works have come up in recent conversation, or more specifically, a deeply regretful movie I saw last night. Really, though, it’s one of the most important questions a soul can ever ask.

Is there eternity? Can I go to heaven?

If there is a God, holy and pure, and I’m only human, frail and filthy, how could heaven be possible? How could I ever be in the presence of that? Righteousness so supreme that everything else burns away like tattered paper in a nuclear blast? Even on our very best of days, eternal sinlessness is shockingly, pathetically, absolutely unattainable for such a mortal as myself…

But if God is both holy and loving, how does that reconcile? Knowing the chasm between sinful us and holy Him, he built a bridge. Jesus. And no, we can’t earn this kind of love, it can only be a gift. Nothing so profane as flesh could ever work enough to be worthy of such selfless sacrifice. I’ve tried, and after years of fruitless toil, I better understand now that it’s simply impossible. This doesn’t mean I don’t keep falling for the same old lies, trying on my own, time after time, but it really is miserable foolishness.

When you read the Bible, I think it becomes clear…

Jesus isn’t for the self-righteous, the posers and fakes. Jesus isn’t for the pseudo-perfect, the good-enough, or the just-ok. Jesus isn’t for the people who think they can make it on their own; acting faultless and behaving right, dying from the inside while somehow believing they’re still healthy on the outside.


Jesus is for the shipwrecks, the train wrecks, the bloody messes and the tragedies. Jesus is for the lonely, the lost, the terrified and the broken hearted. Jesus is for the damned, the discouraged, the degraded, the destitute and the utterly, completely desperate.

I’m not a Christian because I’m good. I don’t seek after Christ because I somehow think I’m perfect.

I long for salvation because I know without a single shred of doubt that I am fully rotten through-and-through, sinful and hopeless and dead.

Yet somehow, in His absolute perfectness…

…God still loves me…

…and died in my place.

I certainly don’t understand it, I rather doubt many people do, but it’s somehow, unbelievable, incredibly true, despite my frequent doubts and fears.

Christ is for the shipwrecks, the desperate, the lost. I’ve been there, and really, still am every day.

But I’m placing my trust in Jesus.

And that’s why I’m going to heaven when I die. That bridge? It can’t be walked by human feet, you have to be carried.

And that’s incredible.

“God saved you by his grace when you believed. And you can’t take credit for this; it is a gift from God. Salvation is not a reward for the good things we have done, so none of us can boast about it.”
Ephesians 2:8-9 NLT