Website hacks and craft Web development

For the last several weeks, a few of the websites I maintain, including this one, have been getting absolutely buffeted by exploits and malware attacks. These attacks drop redirects in the headers and footers, throw up those fake blue “ATTENTION Microsoft” windows that take over your browser, and in general wreck the sites and make them do what the hackers want, whatever that is.

I change all the usernames and database logins, delete pernicious PHP files, chmod the wide-open directories. It keeps happening. It’s gotten so I think it’s not (just) a negligent webmaster like me, but something exploitable in my ISP, some way they’re not clamping down, some way-hidden hole I haven’t found yet. Because even when I change everything these exploits keep re-spreading. So it’s bad. It’s frustrating and it makes me throw up my hands about manual website maintenance. And about writing things on the web, since is like my (very occasional) journal.

But then I think: the good side of this is all this checking and fixing, this SSHing and tail-ing and chmod-ing. Like a fisherman darning his nets, I have to go in every day or so and look around, look at the logs, add IPs to the .htaccess (which is silly because hackers grab hundreds/thousands of computers, like mine, to drive their exploits, so it’s not like you’re reaching the guy’s laptop or anything), clean out the now-familiar fake files ( /wp-admin/user/exdbpabq.php is not a valid file from WordPress, for example). It’s like weeding a yard, sharpening your tools.

And it’s zen-like and pleasant like that. And direct. And craftsman-like. When I get over my frustration, I really like this mending and pruning and sharpening. What doesn’t get old is the directness of a web server and a shell, your favorite Unix editor, the activity on the site itself legible in logs, the cat-ing and bashing 1. Craft website development.


  1. I found this cool Bash script that watches when new files are written to your website directory. I adjusted and am watching the intermittent “Waiting for changes” notes scroll down the terminal. All clear for now? Sorry this site has been down or abusing you when you visit.

    #! /usr/bin/env bash
    [[ -f ${FILELIST} ]] || ls ${MONITOR_DIR} > ${FILELIST}
    while : ; do
        cur_files=$(ls ${MONITOR_DIR})
        diff <(cat ${FILELIST}) <(echo $cur_files) || \
             { echo "Alert: ${MONITOR_DIR} changed" ;
               # Overwrite file list with the new one.
               echo $cur_files > ${FILELIST} ;
        echo "Waiting for changes."
        sleep $(expr 60 \* 2)

Watson Dialectics

An idea for a new Watson service/application

What if you could convene a conversation with people you have strongly disagreed with, or find it difficult to exchange facts with, people with whom you have been driven you to stridency and name-calling, and have Watson help keep that conversation on the right foot? What if Watson could ensure that the tone of this conversation remains dispassionate, its participants receptive, and its assertions verifiable in real-time?

Two services, Watson Tone Analyzer and Watson Discovery, are the tone- and fact-checking engines, respectively, in a new application, Watson Dialectics, which monitors conversation in real-time through a mobile application and a microphone.

If as you try to make your point your tone starts to overcook, Watson will stop the conversation and gently suggest a reframing, or a retreat back to the ground that had been coolly agreed upon. If your conversational partner says something like “50% of American males own fire-arms,” Watson will go verify this fact in the background and politely countermand if necessary. Human debate monitored and enhanced by artificial intelligence.

Watson Dialectics also uses IBM’s Mobile First platform, speech-to-text, and a couple of other services to create a system for real conversation (as opposed to the Conversation service that developers use to build chatbots, that is to enable “conversation” between humans and software).

It’d be great! You could bring it along to your kids’ cafeteria Lincoln-Douglas competitors, to the water-cooler chat at work, or to that Thanksgiving dinner table.

How to Play Jazz Guitar

I am learning to play jazz guitar now. No, not guitar. Jazz guitar. Totally different. I don’t play your simple cowboy chord shit, or some Wagon Wheel piano bar shit, or some acoustic tablature Alice in Chains bullshit. Or your doodle-ee doodle-ee heavy metal Lydian scale horseshit. And don’t even get me started on how bad the blues is. This is jazz. Like, I’m using an instrument, and that instrument is this guitar in my hands. But get this: It’s just an instrument. Jazz is music. I don’t have any special love for the guitar—in fact I detest it because it stinks for jazz, not organized right, the way a piano is. It’s just the only instrument I know how to play well enough to take up as my instrument for jazz music, which is America’s enduring and greatest gift to the world and not at all the relic you may think it is.

It’s an art form, man. America’s indigenous art form!

It’s not some extruded pink Max Martin Taylor Swift bullshit. You have to practice and learn for years just to be bad at jazz. Look at me, I’m terrible at jazz! I don’t even know what I’m doing and I’ve been practicing and learning for like seven or eight years.

Jazz is about improvising, man. It’s not some “here you go here’s the song” bullshit. It’s not some happy-crappy Chris Bocci bullshit, either, where the whole thing is in A minor and the horn is just playing pentatonic scales like some pimply high-school marching band clarinetist.

Jazz is about improvising with other people. A bunch of very very good jazz musicians respond to each other, compose music in real time, OK? Someone calls out How High the Moon and you go, What key? Oh, E flat? Alright. Boom. A flat? No problem. You’re into the head and the melody is lying down on these chords and you just have to, like, stare into it, feel these chords going by and all their possibilities.

Myself I don’t know if I know that many of the possibilities yet. I’ve only been learning and practicing for seven years. A little more. But players who know jazz, they hear that F minor, that B flat seven, and they say to themselves, Hey, most cats would play the F Dorian at this point, something pretty to get you to the E flat but not me, I’m going to do the step-down for a bar or even play the fucking G dominant! Actually they don’t even think that, they just do it! Because jazz is about action and about the present moment.

I’ve tried to join a couple of bands to play jazz in but they haven’t really worked out. In at least one of them the other guys didn’t even know what they were doing. Just because the guy had a stand-up bass he thought he was playing jazz. He was just playing some Usher bullshit. There were a couple of bands like that that I had to get the fuck away from.

There is this new group I found that really knows its stuff. Like a real jazz ensemble. I discovered them playing one night at this supper club, not even even listed, and they were just soaring! But, like, cool soaring. They wouldn’t even talk to me when I tried to ask them who they were and did they know how to play How High the Moon. There was a part in one of their sets where they kind of had a guest slot and of course I had my guitar and my amplifier in the car and so I ran out and got them and played a little bit with them. It didn’t go well. They told me I was terrible—and that’s another reason I knew they were serious jazz-heads. They’re never going to let me in the band but I’ll keep following them and showing up with my rig in the back of the car and in the mean time I can tell I’ve found a group that speaks the same language as I do, and that language is jazz.