Press "Enter" to skip to content

Posts published in March 2016

Sandi at Kaleid Gallery

centaur 0

facecoral.psd

At Kaleid Gallery tomorrow at First Friday in downtown San Jose, my wife Sandi will be having an art show featuring a wonderful new series of petrified coral pieces, atmospheric shapes, and enigmatic masks!

floatingface.png

Please drop in and see this fascinating show … and while you’re there, support your local artist and buy something!

coralspace.png

-the Centaur

Back at Work

centaur 0

100_0672.JPG

Briefly getting some edits in on SPECTRAL IRON before diving back into PHANTOM SILVER in April. That is all

-the Centaur

Not Ducking Questions, Just Working

centaur 0
Between a crash course in learning deep learning and full court press on THE CLOCKWORK TIME MACHINE, I'm far behind on far too many questions. So even though my good buddy Jim Davies just hit me with a comment on a post which I want to riff on in at least five blog posts, I'm afraid for the next few days I need to focus on getting caught up on THIRTY DAYS LATER. Back to work. -the Centaur

She is Sent

centaur 0

jw-on-her-way.png

Also on the note of resurrections, the latest version of JEREMIAH WILLSTONE AND THE CLOCKWORK TIME MACHINE is winging its way back to the publisher. Apropos, that I sent this back at Easter: this book has been through so many drafts that I’m starting to feel dizzy. I expect there will be at least one more, though, so I’m prepared.

Lots more work to do. For now, though, back to SPECTRAL IRON.

-the Centaur

He is Risen

centaur 0
Ah, Lent has come to an end once again, with the happy season of Easter: the celebration of Jesus coming back from the dead - the transformation, as Father Ken, the priest at Saint Stephens in-the-Field said in his sermon today, of the cross as a political symbol of Roman terror to a religious symbol of Christian hope. You don't have to be religious to appreciate the need for symbols of hope to lift us up in the darkest times, but if you are religious, you can see how that symbol could have special power - and if you are Christian, you can feel how that person's special power makes him worthy of being a symbol of the life we want to live This is the reason that Episcopal crosses tend to be empty - they're not symbols of Jesus' crucifixion and death, they're symbols of his overcoming death, returning to life, and remaining with us in Spirit - as Father Ken said, Holy Spirit, with a capital S. Happy Easter, everyone. -the Centaur Pictured: the children of St. Stephens in-the-Field, running towards the St. Stephens TARDIS before it departs for the annual field trip back to the first Easter day. (Axually, it's an Easter egg hunt).

Conversations Ongoing

centaur 2

IMG_20121208_141309.jpg

So recently I posted an article about the ongoing debate on AI - something of very great interest to me - and my very good friend Jim Davies posted the following comment (getting it down to the gist):

So we have an interesting problem of customers wanting the ethical decisions [made by AI] to be a more public, open discussion, perhaps done by ethics experts, and the reality is that the programmers are doing the deciding behind closed doors. Is it satisfying for the rest of us to say merely that we’re confident that the engineers are thinking and talking about it all the time, deep in Google’s labs where nobody can hear them?

There are some interesting things to unpack - for example, whether there really are such things as ethics experts, and whether ethical decisions should be made by the public or by individuals.

Personally, as an ex-Catholic who once thought of going into the priesthood, and as an AI researcher who thinks about ethics quite carefully, I believe most so-called ethical experts are actually not (and for sake of argument, I’ll put myself in that same bin). For example, philosopher Peter Singer is often cited as an ethical expert, but several of his more prominent positions - e.g., opposing the killing of animals while condoning the killing of infants - undermine the sanctity of human life, a position he admits; so the suggestion that ethics experts should be making these decisions seems extraordinarily hazardous to me. Which experts?

Similarly, I don’t think ethical decisions in engineered systems should not be made by the public, but I do think safety standards should be set consistent with our democratic, constitutional process - by which I mean, ethical standards should reflect the will of the people being governed, consistent with constitutional safeguards for the rights of the minority. Car safety and airplane safety are good examples of this policy; as I understand the law, the government is not (in general) making actual decisions about how car makers and airplane makers need to meet safety standards - that is, not making decisions about which metals or strut designs keep a vehicle safe - but are instead creating a safety framework within which a variety of approaches could be implemented.

There’s a lot to discuss there.

But one thing that still bugs me about this is the idea that engineers are talking about this deep in corporate labs where no-one can hear them. I mean, they are having those conversations. But some of those same engineers are saying things publicly - Peter Norvig, a Director of Research at Google, has an article in the recent What to Think About Machines that Think, and some other Googler is writing this very blog post.

But my experience is that software engineers and artificial intelligence researchers are talking about this all the time - to each other, in hallways at GDC, over dinner, with friends - as far back as I can remember.

So I guess what’s really bothering me is, if we’re talking about it all the time, why does nobody seem to be listening? And why do people keep on saying that we’re not talking about it, or that we’re not thinking about it, or that we’re clearly not talking about it or thinking about it to the degree that the talking and thinking we’re not doing should be taken away from us?

-the Centaur

All the Transitions of Tic-Tac-Toe, Redux

centaur 1
What was supposed to be a quick exercise to help me visualize a reinforcement learning problem has turned into a much larger project, one which I'm reluctantly calling a temporary halt to: a visualization of all the states of Tic-Tac-Toe. What I found is that it's surprisingly hard to make this work: all the states want to pile on top of each other, and there are a few subtleties to representing it correctly. To make it work, I had to separately represent board positions - the typical X'es and Oh's used in play - from game states, such as Start, X Wins, O Wins, and Stalemate. The Mathematica for this is gnarly and a total hack; it probably could be made more efficient to process all 17,000+ transitions of the game, and I definitely need to think of a way to make each state appear in its own, non-overlapping position. But that will require more thought than my crude jitter function above, the time it takes to run each render is way too long to quickly iterate, and I have a novel to finish. I don't want to get stuck in a grind against a game known for its stalemate. Ugh. You can see the jumble there; it's hard to see which transitions lead to X's or O's victory and which lead to stalemate. I have ideas on how to fix this, but I want my novel done more and first, dag nab it. So let me give you all the transitions of Tic-Tac-Toe in their full glory (22.8mb). I could say more about this problem - or I can say what I have, call it victory, and move on. On to the novel. It's going well. -the Centaur

Working on the Novel …

centaur 0

Screenshot 2016-03-21 20.20.43.png

And a million other things. More news in a bit …

-the Centaur

Departure Angle on Viewer

centaur 0


20160318_161205.jpg

I don’t know if I’ve used that title before, but I do know once again GDC has come to an end. The Game Developer’s Conference has treated me very well over the past … uhh … darn near 20 years or so, and every year I think I’m going to do a trip report. And every year I don’t. But this year, I do know I’m going to at least give a brief retrospective.

20160318_125704.jpg

For those that don’t know, the Game Developer’s Conference is one of the largest conventions for computer game developers in the world - it might be the largest, but on the one hand I don’t have Internet yet, and on the other hand just because it’s huge doesn’t mean it’s the biggest. (I used to think San Diego Comic-Con was the biggest media convention, but Comiket is 3 times its size).

20160315_115434.jpg

In general, I find the biggest bang for the buck at GDC is the first two official days - Monday and Tuesday, the tutorials and summits. The next biggest bang for the buck is ad-hoc meetings between people - just getting together with people in the industry and chewing the fat. But, and this is the question I once had, how do you do that if you don’t know anybody?

conversations.png

That’s why on the next three days they have Roundtables - more informal discussions aimed at people in your specific area. For game AI programmers, there are the AI Roundtables hosted by Neil Kirby, but I’ve been to other roundtables as well, and they’re a great way to both learn about the field and to meet people of all different levels.

20160316_170135.jpg

Now, the people you meet at a Roundtable may not be your best friends the first time that they meet you, but if you come back again and again - show up, be nice, and try to contribute - you’ll build relationships that are enduring in time. For AI game programmers, there’s the Game AI Programmer’s Guild and some associated dinners; there will be one for your area too.

buccadibeppo.png

But beyond the first two days, there’s two or three main draws to the conference for me. There are talks, of course, and some would say that those are the real meat of GDC - we wouldn’t have a reason to come here to network if there wasn’t something we’re here for in the first place, whether it’s a product announcement or a technical talk …

20160318_152111.jpg

… or an unexpected bit of wisdom, such as the story of the creator of Diablo, who turned down an offer from a friend of a friend to “just let me use that empty room in the back as my office. I’ll give you ten percent of my company.” Diablo was in crunch time, so he told him “get lost kid” … not knowing he was turning down $40 million dollars when Hotmail sold the following year for $400M.

20160318_153712.jpg

Beyond the talks, there’s the show floor, which is so full of interesting things that you can’t begin to compress it into an easy tale; the pickings are better in some years than others, but you’ll still see amazing stuff.

20160317_152608.jpg

And … some more inexplicable stuff. I bet you didn’t know cloud computing involved actual clouds, but they had one:

20160317_153740.jpg

Finally, there’s the GDC store, where you can get swag of all sorts, from GDC gear (which people often see me wearing) to game gear to books of all sorts.

20160318_125900.jpg

For someone who believes the future of books is bright, I have to admit the pickings seem leaner each year …

20160318_125846.jpg

… but I still found some awesome books directly related to my area, and as much as we want ebooks to be everywhere, I just moments ago was chatting with someone at work who turned down a free PDF in favor of ordering a physical book on Amazon, because, like me, he found it easier to read that way.

20160317_213920.jpg

Finally, if you’re not local, GDC is a great chance to experience a new city. San Francisco is great, Union Square is a short walk, and there are many restaurants and coffeehouses and sights and parks that you can experience.

20160318_124930.jpg

It’s better if you can experience it with friends too - so make time for your friends while they’re in town.

friendship.png

-the Centaur

A Bit Busy, GDC 2016

centaur 0

20160318_132001.jpg

Too much going on at the Game Developer’s Conference to blog. More in a bit.

Screenshot 2016-03-18 13.31.55.png

-the Centaur

I just think they don’t want AI to happen

centaur 2
Hoisted from Facebook: I saw my friend Jim Davies share the following article:
http://www.theguardian.com/commentisfree/2016/mar/13/artificial-intelligence-robots-ethics-human-control The momentous advance in artificial intelligence demands a new set of ethics ... In a dramatic man versus machine encounter, AlphaGo has secured its third, decisive victory against a renowned Go player. With scientists amazed at how fast AI is developing, it’s vital that humans stay in control.
I posted: "The AI researchers I know talk about ethics and implications all the time - that's why I get scared about every new call for new ethics after every predictable incremental advance." I mean, Jim and I have talked about this, at length; so did my I and my old boss, James Kuffner ... heck, one of my best friends, Gordon Shippey, went round and round on this over two decades ago in grad school. Issues like killbots, all the things you could do with the 99% of a killbot that's not lethal, the displacement of human jobs, the potential for new industry, the ethics of sentient robots, the ethics of transhuman uplift, and whether any of these things are possible ... we talk about it a lot. So if we've been building towards this for a while, and talking about ethics the whole time, where's the need for a "new" ethics, except in the minds of people not paying attention? But my friend David Colby raised the following point: "I'm no scientist, but it seems to me that anyone who doesn't figure out how to make an ethical A.I before they make an A.I is just asking for trouble." Okay, okay, so I admit it: my old professor Ron Arkin's book on the ethics of autonomous machines in warfare is lower in my stack than the book I'm reading on reinforcement learning ... but it's literally in my stack, and I think about this all the time ... and the people I work with think about this all the time ... and talk about it all the time ... so where is this coming from? I feel like there's something else beneath the surface. Since David and I are space buffs, my response to him was that I read all these stories about the new dangers of AI as if they said:
With the unexpected and alarming success of the recent commercial space launch, it's time for a new science of safety for space systems. What we need is a sober look at the risks. After all, on a mission to Mars, a space capsule might lose pressure. Before we move large proportions of the human race to space, we need to, as a society, look at the potential catastrophes that might ensue, and decide whether this is what we want our species to be doing. That's why, at The Future of Life on Earth Institute, we've assembled the best minds who don't work directly in the field to assess the real dangers and dubious benefits of space travel, because clearly the researchers who work in the area are so caught up with enthusiasm that they're not seriously considering the serious risks. Seriously. Sober. Can we ban it now? I just watched Gravity and I am really scared after clenching my sphincter for the last ninety minutes.
To make that story more clear if you aren't a space buff: there are more commercial space endeavors out there than you can shake a stick at, so advances in commercial space travel should not be a surprise - and the risks outlined above, like decompression, are well known and well discussed. Some of us involved in space also talk about these issues all the time. My friend David has actually written a book about space disasters, DEBRIS DREAMS, which you can get on Amazon. So to make the analogy more clear, there are more research teams working on almost every possible AI problem that you can think of, so advances in artificial intelligence applications should not be a surprise - and the risks outlined by most of these articles are well known and discussed. In my personal experience - my literal personal experience - issues like safety in robotic systems, whether to trust machine decisions over human judgment, and the potential for disruption of human jobs or even life are all discussed more frequently, and with more maturity, than I see in all these "sober calls" for "clear-minded" research from people who wouldn't know a laser safety curtain from an orbital laser platform. I just get this sneaking suspicion they don't want AI to happen. -the Centaur

All the States of Tic-Tac-Toe

centaur 0
Screenshot 2016-03-12 15.06.34.png NOT the most elegant Mathematica, but trying to do clever things with NestList was a pain. And my math was creating duplicate transitions, which is why the other graphs were so dense - and the layer size needed to be tweaked a bit to show both the starting and ending states more clearly. But, after some cleanup, it worked, after a bit of churning (click the image for a larger size): All the States of Tic Tac Toe.png

I Am Easily Amused

centaur 0

Screenshot 2016-03-12 14.24.06.png

More seriously, what I’m trying to do is improve my understanding of state spaces. Below’s yet another visualization of the first four stages of tic-tac-toe, trying to get at how the states reconverge.

TicTacToe v1.png

You can see the structure even better without the board visualizations, but if you do it’s just a graph and you no longer know what it is that you’re seeing. More thought is required on how to visualize this (and the real problems I’m tackling behind this, for my day job).

-the Centaur

More Eras Ending

centaur 0

oasis-small-dark.png

Ever since one of my childhood art teachers let slip that she’d lost all her childhood art in a fire, I’ve been acutely aware that good things come to an end. This knowledge has led me into what I call good ruts: the cultivation of experiences that work, which I cherish as long as they last.

20160129_233004.jpg

For me, a lot of these experiences revolve around food, or coffee, or books, or some combination of all three - usually in service of writing. I cultivated going to Mountain View for dinner followed by a visit to Cafe Romanza on Friday nights, since Romanza was embedded in a bookstore and was open to 11, often getting me an hour of reading over dinner and two to three hours of writing before I headed over to Bookbuyers’s used bookstore next door, itself open to midnight. But this pattern has started to crack, as Bookbuyers is slowly contracting itself into a smaller space, and Cafe Romanza has started closing earlier.

20160108_205536.jpg

There’s an illusion many store owners have that the last hours on their calendar are expendable, because “that’s not when we make money”. The reality is, late hours attract many people to bookstores and coffeehouses and restaurants because people want to chill out and enjoy their purchase - so if you look at your thin last hour and cut it, guess what? All the people like me who were attracted to your store are just going to go somewhere else. Welcome to the death spiral: I’d say something snarky like “I hope you enjoy it” but the truth is I wish you’d see the error of your ways so I could continue to enjoy your establishment.

20150318_205555_HDR.jpg

That’s why places like Coupa Cafe do so well: they specifically cultivate an environment where people don’t get kicked out. But even if the management of a place remains constant, the good ruts sometimes must come to an end, because something always changes. Sometimes that change happens on my end; I used to walk to lunch in Palo Alto, spending half my lunch reading for work and half of it writing for me. But when I changed offices, all those great experiences came to an abrupt and unceremonious end.

20150309_120341.jpg

But sometimes that change happens not because of a change in the store or a change in me, but because a landlord increases prices, as when the writing group Write to the End had to flee a closing Barnes and Noble when their landlord raised the rent. That landlord was itself struggling to survive and facing a possible bankruptcy, so it doesn’t have to be caused by greed - but sometimes it just is, a raw desire to get a higher paying tenant. I’m all for making money, of course, but the value of a region isn’t the money you make from it, but the people that live there and the institutions that function there and the culture they support.

gdc2013chevys.png

Which brings us to the point of the essay: all the Chevy’s in San Francisco have closed, victims of rising rents. Rising rents in San Francisco are a disaster: estimates are that over 70 percent of artists were losing their home or business or both, and the remaining 30 percent were in risk of losing their positions. And since I’ve got at least one or two friends who say, “So what? If the prices are rising, move,” let me take a moment out to say FUCK YOU, DUMBASS, because detaching yourself from your local friends-and-family support network is one of the primary risk mechanisms how people end up homeless. I’m a full blooded capitalist, and yet I have zero sympathy for that ignorant, heartless point of view: it really does matter that prices are rising in the Bay Area without limit, and I have heard from everyone from the homeless to bottom-end workers to my peers to upper class to CEOs that the problem is really acute - so I really do have zero patience for the ignorance pseudo-worldly people show towards this very real problem.

20150306_112247.jpg

But, patience or no, the great oasis I had at the Game Developer’s Conference - heading up the street to Chevy’s for lunch, catching up on reading and planning out the rest of my day - is over. Chevy’s is gone, and I’ll have to find something else.

Ah, Chevy’s at Moscone Center: you will be missed.

-the Centaur

End of an Era

centaur 0
So Rush has announced that they’re no longer going to tour. Now, I take announcements of retirement by musicians with a grain of salt - how many farewell tours did Cher and Tina Turner have? - unless the musicians have actually died, and then hey, there’s always Tupac to throw a wrench in that monkey. (He, Elvis and Jim Morrison recently announced their tour - I’ll stop.) 20150723_192124.jpg But Rush has been touring for 40 years, their R40 concert was amazing, and their last several albums were solid - if there’s any time they should stop, this is it. If I’d done something awesome for 40 years and I felt inclined to stop, that would be a good point to do it. (I never plan to stop; I want to faceplant in my keyboard before they freeze my head, but hey, that’s me). 20150723_192047.jpg Rush was my introduction to rock; it was the first rock band I enjoyed, the first music that my friends liked that I liked too. (Normally there’s no crossover, or, rarely, the musical introductions went the other way around). I still remember “Tom Sawyer” though, after the death of my dad “Vapor Trail” is my favorite. And a Rush concert was one of the first dates I had with my future wife. Enjoy your laurels, my never-forgotten friends. Your labors may or may not be ended, but your music will live forever. -the Centaur

Red Herrings

centaur 0

20160307_183335.jpg

So, I’m behind on my blog. And several posts have died on the vine because events have moved too fast.

So let’s get you all caught up on what’s going on.

It all appeared to start when the lights burned out on my car. This was distressing because I’d just had them replaced, twice in the last nine months, and is a real pain in the kestrel because while one of the bulbs, the left side, is easy to replace, the other, the right, is devilishly hard to get to, and even harder to put back because of a bracket that pokes right where your hand should go. The bruised back of my right hand is still hurting from the attempt to get the bulb back in - but as you can see above, I succeeded. I even took a picture, with the ripped up package that had held the new bulbs now holding the old bulbs, just to prove I did it.

20160307_190330.jpg

I felt good about that, and so had a nice meal - actually, that’s a lie. I was already heading to dinner - and actually, that’s a lie too, I was at work. I fixed my car's headlights on the first dry day after the day I bought the bulbs, squeezing it in between a bank trip to fix some Thinking Ink Press business and my usual evening “break” which consists of a drive listening to a fiction audiobook (“Imprisoned with the Pharaohs” by Lovecraft), a dinner reading technical papers (on deep learning) and a coffeehouse run working on writing stuff (more Thinking Ink Press work and research for the new opener of THE CLOCKWORK TIME MACHINE).

But, as the evening wound down and I packed it in to go to the gym with my night-owl wife, I started mentally planning a short blogpost about “So I can fix my car!” which I felt all unwontedly triumphal about since I’d tried replacing these bulbs two or three times before and always had to get it done at an auto shop, but “Look, Ma! Bruised hands!” I did it myself this time, and I felt great about it.

Until I got back to my car and it failed to start.

20160308_005423.jpg

The car’s failure mode was strange. The door opened, the lights came on and stayed on, all normal - but then all the interior displays flickered and died without starting the engine, and then progressively all electric circuits on the car locked up, including the locks and the trunk - though some weird device in the hood of the car made a sad, dying-Millennium-Falcon-hyperdrive whine. The failure was so strange, in fact, that at first I thought I’d fried a circuit when I was struggling with the light (though later I realized that would probably have just blown a fuse).

So there I was, eleven at night, with a dead car, in a sub-sub-basement parking garage in a part of Palo Alto so spooky I’ve written about it as a haunt of vampires. (In the middle part of the third Dakota Frost book, LIQUID FIRE, available on Amazon in print and on Kindle - am I spoiling the mood? I’m spoiling the mood. I’ll stop).

My night-owl wife was desperately trying to finish the antiquing on a mirror due tomorrow, so I was unable to get her on the phone - and she was forty-five minutes away regardless. So I tried to carefully think through my options: call a roadside service (which I don’t have), get the car towed to a nearby garage (a prospective gamble if the garage couldn’t take me), rent a car to get home (somewhat expensive), get a nearby hotel until the morning (probably more expensive), get a cab (certainly much more expensive), and so on, and so on. I settled on a tow truck with good Yelp ratings, only to find that they couldn’t send a truck out until morning because of the ridiculously low clearance of the sub-sub-basement of the parking garage I was parked in (6’8”).

We canceled it, and I finally got a call from my wife, who agreed to pick me up. With difficulty I extracted my work laptop from the frozen trunk of the car and sealed the car up. It was midnight, and almost everything was closed, so I then trudged to a nearby Subway and waited, starting on my work laptop the work I was fairly convinced I wouldn’t have time to get to the next morning, all the time thinking about a blogpost “So I can fry my car” while I angstily considered the wisdom of running 130,000 miles on a car, or working myself to the bone, or of a late-night coffeehouse run with my car in such a low clearance garage.

20160308_122302.jpg

The next day, after canceling my morning meetings, arranging a tow and a garage visit, and an adventure in helping my wife deliver her mirror, my wife brought me back to the parking structure. The sub-sub-basement was sealed - it’s private parking during the day - and after wandering around looking for a buzzer an eagle-eyed security guard found me and agreed to let me in. The tow was almost guaranteed to be expensive because of the clearance, so the tow company sent a battery technician out; after another adventure guiding the technician to the poorly marked garage via cell phone, we found out that the progressive death of power in the car should have been a hint. The Prius’s backup 12-volt battery, the original which came with the now six year old car, had died. Perhaps I left the lights on when I left the car, though I don’t recall doing that; the repair technician’s opinion was the battery was crap, outputting bursty voltage (? really? but it was visibly frying his instrument) and that’s what fried my lights and was on its way to frying my other electrics. Um … sure, not sure I’ve heard that failure mode before, but $300 dollars later, I had a functioning car.

20160308_122319.jpg

The thoughts that I’d fried my own electrics, or even left the lights on, were red herrings. Now, I don’t mean red herrings like those smoked fish that activists used to drag along the path of a fox to throw hounds off the scent, though that would have probably fried my electrics, or even red herrings like those false clues mystery writers use to throw the readers off the track of the real killer, though leaving my lights on to throw me off is the kind of sneaky thing that a mystery writer might do, and it is the mystery usage that inspired the sense which I do mean; no, I mean the red herrings of debugging: those things that happen right around the time a problem happened, but which have nothing to do with it - so no amount of investigation of them will make sense.

No amount of looking for a shorted wire in the hood would have revealed my dead battery in the trunk. No amount of brain wracking about whether the lights were on would have revealed anything about the age of my car. The actual solution didn’t involve more digging into the obvious possibilities, but involved doing something completely different - collecting data about a different system, using instruments I didn’t have on hand. Even without the intuition that the battery was old or the drained power was a sign of power loss or the possible lights out were a battery issue, one look under the hood of my car - where I could find no system with which I was sufficiently familiar to successfully debug or even feel safe with experimentation - should have told me to call a roadside expert to do tests I couldn’t perform myself and to effect a repair in minutes what would have taken me hours.

Similarly, the idea of running myself too hard or exposing myself to risk from a late night coffee run with my car parked in a nearby garage were red herrings. I had fun that night, fixing my car, making things happen with the small press, my car was parked conveniently, and even with the failure little more thought about the problem would have had me call out roadside service, gotten a new battery, and I could have driven it home. The long time walking around making phone calls in the dreary parking garage sucked, but no more than the time when, as a child, my dad’s motorcycle had a breakdown way out in the country, and we had to call a friend to pick us up. We waited hours then, like I waited an hour and a half that night; but the car came, the ride home happened, and then the problem was fixed. I got home late, sure, but it was after a nice ride with my wife talking about life. I missed a couple of morning meetings at work, sure, but I got to have a sandwich with my wife before she went home, and I drove my own car to my next meeting, which went swimmingly. And I even got some work done, and learned something. Studying the different methods of gradient descent, working through implementations in TensorFlow, and modeling function parameters in Mathematica, that time in the parking garage was long forgotten.

So, red herrings. Things can go wrong, but the obvious causes aren’t the obvious causes. Don’t blame the wrong thing, or you can spend a lot of effort hurting yourself. Do the due diligence to find the real causes - and then make the right choices to solve the real problems, and then move on, and on, and on, solving one problem at a time until you at last fall asleep at home, content.

That’s the only thing that really works.

-the Centaur

Obfuscated

centaur 0

Screenshot 2016-03-05 15.03.58.png

Yeah, that goop someone injected into my Dakota Frost site doesn’t look suspicious at all.

(In case you’re not a programmer, healthy code doesn’t look like that. This code has been munged and rewritten so it’s almost impossible to see what it does. Not that I care - I just deleted it. But it makes it hard for someone who needs to debug it, in the cases where you need to debug it.)

Sheesh. Get off my lawn. Still cleaning things up. More in a bit.

-the Centaur

So it was a hacked .htaccess…

centaur 0

hacked-htaccess.png

So, the Dakota Frost site got hacked. May still be hacked, for all I know, because I just found and eliminated only one error, and I still haven’t found out how they got in. Of course, I changed all my passwords everywhere else first before logging into the site, confirming no-one had hacked the user accounts, and then downloading all the code for some forensics.

But what was peculiar was that, even though I could clearly see evidence of hackery thanks to the very nice, publicly available Webmaster tools at the Google, I could not see any difference between the live site and my previous backup except for the addition of the Akismet spam filter, which I’m pretty sure I did myself.

Then I found it, when I detected a strange file named kgcakmhg.php. Tracing it back, in the root of the HTML directory, someone had modified files back in February - first to point the .htaccess to a strange file named baccus-contextually.php, which called the weirdly named file and also relied on changes to the style directory. No changes to the blog code were necessary - everything was being rewritten before it got there.

Removing those files? Easy. Site’s back to normal … I guess. Closing the open barn door? Uh …harder. Since I don’t know which door they came through.

Off to do more debugging …

-the Centaur