1. BlinderBot Protects Your Private Data

    Did you know that one of the most popular blackhat hacker techniques is immune to even the very best firewalls and antivirus systems? It can allow a malicious hacker to read your sensitive data without leaving any digital trace, and even grab your passwords as you type them? Blackhats call this powerful technique “Shoulder Surfing”, but you may know it better as “Standing behind someone and looking over their shoulder”. Despite (or perhaps because of) the simplicity of this attack, it really is one of the more common ways for people to get pwned.

    I propose what may be the first active electronic defence system against shoulder surfing: Blinderbot. The system looks through the laptop’s webcam, using face and eye detection software to find faces that are looking towards the screen. If it sees a single face looking at the screen, it knows that there is no shoulder-surfing attack going on. But if it sees another face show up, it identifies it as a shoulder-surfer, and actuates two servos to accurately point a powerful laser right into the attacker’s eyes. Try reading my personal data now, asshole! Try reading anything ever again!

    Keep reading

  2. Disqus comments

  3. A Dream About Art

    I just had this really cool dream about a work of art, and now I want to build it. The thing was kind of a sculpture, or perhaps a set of three sculptures next to one another, in a room. Each piece included as part of the sculpture a powerful laser, bright enough to be seen in the normally-lit room without smoke - one red, one green, and one blue.

    The green laser came from a big cloud of little brightly coloured objects, some on sticks, some hanging from fishing line. The objects were all kinds of things from all over the world, little tiny dolls and toys and paper cranes and thimbles and coins and trinkets and beads and all sorts. There were little leaves and seed pods and even insects, particularly all sorts of iridescent beetles. Each one was kind of interesting in its own right, and they were all at least partly painted with one or two bright colours. In the dream I went around with some friends and looked at them in detail, trying to guess what everything was (because there were things we’d never seen before), and being impressed at how the laser shot straight though the dense cloud and came so close to the objects but never quite touched any of them.

    The blue laser’s sculpture was less interesting, it was a big mass of pieces of rice hanging from very thin fishing wire. It was a lot like the green laser’s sculpture, in that the rice made a dense cloud, with the laser shooting through the middle without hitting anything. But the rice cloud was more geometric, with sharp straight-line boundaries. Most of the grains were white, some were black, and some were part black and part white. They weren’t painted though; the artist had found a species of black rice, and a species of black and white marbled rice.

    I can’t remember what the red laser’s sculpture was like, it’s lost to dream memory. I think it moved, though, like it had moving parts and reconfigured itself all the time?

    Anyway, the three lasers came out of the sculptures and converged on a single exact point in space on the other side of the room, about 4 or 5 feet off the ground. We headed over to where the lasers crossed, and realised what you may have guessed, that the sculptures were designed to be seen from that point. As we moved towards the convergence, the green laser’s object cloud was heading towards having a perfectly circular outline, and the inside looked like it would be a fantastically complex and intricate mandala, or something of that sort. All the little objects and their coloured paint started to line up with all of this rotational symmetry and patterning. And the cloud of rice was clearly starting to form a a white rectangle like a piece of paper, filled with dense black text.

    But of course, if you were to actually put your eye in the right place to see the sculptures properly, you’d immediately have three powerful lasers directly entering your eye. It was enormously frustrating, trying to get our eyes as close as we dared, but the sculptures were just too precise and intricate and detailed. The mandala never got aligned well enough to actually see the pattern, we could just see that there would be a pattern, and that the pattern would be extremely beautiful. The text on the rice page could never quite be made legible. Viewed from just off to one side we could see where the lines of text were, and viewed from just above or below we could get a sense of where the spaces between words were. It looked like there were equations or diagrams as well, but we could never actually read anything. The red laser’s sculpture was similarly infuriating in a way I can’t remember. A friend of mine tried putting his phone camera in the convergence to take a picture, and the lasers whited out the image for a second and then the camera stopped working.

    In the dream, we didn’t think about what the artist was trying to say, we were just pissed off that we couldn’t see the sculptures properly. I think it would be a really cool work of art though. I like the way the lasers point out to you exactly which perspective will make everything clear, while simultaneously denying you exactly that perspective.

  4. Disqus comments

  5. The first of the new set of Computerphile videos about General AI is up!

    This is one of several videos being made from a single interview, and in this one I basically just talk about the question “What is General AI?”. The conversation later veered off into fairly controversial paperclip-maximising type territory, and I have basically no control over the editing process, so later videos in this series might get pretty interesting, and not necessarily in a good way.

    But for now at least, I’m reasonably happy with this one as an introduction to GAI and how it’s different from AI.

    And the youtube comments aren’t bad so far! If any of my followers here feel like wading in, I’d actually encourage it.


  6. Moving to the Bay Area

    I’d like to move to the the Bay Area! And luckily I’m able to because, although I’ve always lived in the UK, I’m officially a US citizen.

    But I’d need to find a job there, and I’m not sure how to go about that from here. So I’m reaching out to my tumblr followers, because I think some of you are bay area folks; Do you know anywhere cool that might be looking to hire a hacker? I’ve got a first class honours degree in Computer Science, and the first couple of years of a machine-learning-focused CS PhD, both from a Russel Group university.

    The dream would be “Working with really smart people, on really interesting and important problems, in SF or Berkeley, using linux and python”, but obviously I’ll take what I can get.

    Any ideas?

  7. Disqus comments

  8. My New Sideblog

    Hello new followers! I wrote a thing about arguing with myself through the medium of recording alarm clocks, which got me some tumblr followers, which I’ve never really had before.

    I made this tumblr as a place for infrequent long-form blog posts, and I’d like to keep it that way, but I’d also like to try using tumblr in a more ‘tumblry’ way, so I’ve made another one, called robertskmiles, for conversation, reblogging, and shorter more frequent content. So, follow that if you’re interested in that kind of thing, or, if you’re only interested in the longer blog posts, I’ll continue to post those here.

    And since we’re all here, I thought I’d ask your opinion. There are a few different things I could write next for this blog. If you have a preference, please let me know which of these you’d most like to read:

    • A short story in which a rogue artificial intelligence takes over and transforms the world (this is likely to be pretty bad because I haven’t written fiction in forever, but I have a neat idea for it and I’ll probably never write it at all unless I’m pressured into it)
    • A review of the electric longboard that’s been my main mode of transport for the last 6 months (and the mods I’ve made to it)
    • An explanation of a piece of music I wrote a couple of years ago called Bitshift Variations in C Minor, which is maybe 30 minutes long and sounds like this (and you have my word as a gentleman that this is safe to run in your linux shell):

    echo "g(i,x,t,o){return((3&x&(i*((3&i>>16?\"BY}6YB6%\":\"Qj}6jQ6%\")[t%8]+51)>>o))<<4);};main(i,n,s){for(i=0;;i++)putchar(g(i,1,n=i>>14,12)+g(i,s=i>>17,n^i>>13,10)+g(i,s/3,n+((i>>11)%3),10)+g(i,s/5,8+n-((i>>10)%3),9));}"|gcc -xc -&&./a.out|aplay

    Edit: Tumblr insists on replacing two > characters with a >>, even in a code block. Until I sort this out, you can find the code here

  9. Disqus comments

  10. Arguing with Myself (and Losing)

    I recently installed a new app on my phone, imaginatively called Recording Alarm Clock. It lets you set an alarm by recording an audio message. I’ve only been using it a few days now, but I would recommend it. This isn’t a review though - I’m writing about it because of the way it’s unravelling my sense of identity.

    Keep reading

  11. Disqus comments

  12. Thinning Out My T-shirt Collection with Elo’s Rating Algorithm

    As part of a general attempt to have less stuff, I recently decided to get rid of a lot of my t-shirts. The problem was in deciding which ones; even with something as unimportant as a t-shirt, it can be hard to decide to let go. Nonetheless it seemed to me that, given any two shirts, I could easily say which I’d prefer to keep.

    So the problem was one of finding a ranking based on either-or choices. This put me in mind of the film The Social Network, in which Mark Zuckerberg takes an algorithm designed for rating chess players, and uses it to build a website allowing visitors to rate the ‘hotness’ of female Harvard students.

    Something approximating Elo's Algorithm in The Social Network

    When watching the film, I assumed this was artistic license on the part of the writers, but it turns out that no, FaceMash was a real thing, and it seems like Mark Zuckerberg is actually that much of a douche (or at least was while at university).

    Anyway, it seemed to me that if I could have my own local FaceMash-like image rater, I could just take a quick photo of each of my t-shirts, load them all in, and vote for a while until a clear ranking was established. Then I could just get rid of the lowest ranked t-shirts until I had the number I wanted.

    There are a lot of public sites that do Elo rating for photos (many of them every bit as creepy as Zuckerberg’s original), but cursory googling revealed no simple desktop systems to do the same job, so I decided to write my own. It’s called elosort, and you can get it from github right now.

    How does it work?

    Keep reading

  13. Disqus comments

  14. How To Beat Procrastination by Doing Nothing

    We all procrastinate. I don’t know anyone who doesn’t suffer from this in some way. But I’ve found a method of dealing with it which seems to work for me. I Do Nothing.

    For me, procrastination takes two related forms. Firstly, I find it difficult to actually get started on a piece of work. Secondly, sometimes I’m working and I hit a snag, and I bounce off the problem into a procrastination activity. Then I have the ‘getting started’ problem again.

    Why does this happen? There’s actually been a fair amount of research into this sort of thing, and an important part of it is the fact that humans (and other animals) use what’s called Hyperbolic Discounting in their decision-making. The basic idea of this is that we value future rewards much less than immediate rewards, and the further in the future something is, the less we value it. So the fight between the present and the future is very biased in favour of the present. By default, the small but immediate reward of looking at a funny cat picture can easily beat the much bigger but more distant reward of getting an 'A’ on a test next week.

    So how does “doing nothing” help?

    Keep reading

  15. Disqus comments

  16. Using Figlet to Make Headings Visible in Sublime Text’s Minimap

    I’ve recently been experimenting with using Sublime Text as my main text editor. One of the features I like is the minimap, which gives a broad overview of your file, and acts like a big scroll-bar. It’s great for getting a feel for the layout of a large code file.

    The problem is, if you’re writing something pretty homogeneous (like a long markdown or LaTeX document), you don’t get much information from the minimap. One big block of text looks much like another from that distance.

    Enter Figlet, a great little command-line utility for making ASCII-art text banners. Generate a banner with Figlet, stick it into your document in a comment, and it’s readable from the minimap.

    Here’s an example:

    Using Figlet to Make Headings Visible in Sublime Text's Minimap

    I’ve found it works pretty well.

    If you’re wondering, the figlet font being used there is called “mono9”, and it came with the copy of figlet from the ubuntu repositories. Have a play around if you like (fonts are stored in /usr/share/figlet by default and you can get loads more here). I found “mono9” to be a good one; big enough to be readable on the minimap but not too enormous in the regular view. Also the syntax highlighting and spell-checking treats it sensibly - every block is a ‘spelling mistake’, so it shows up in the minimap in a nice eye-catching red.

  17. Disqus comments

  18. Quick-and-dirty Automatic Face Replacement with Python and OpenCV

    For some reason, photoshopping people’s faces onto other people’s heads is funny.

    Inception head replacement

    I don’t know why, it just is.

    I was thinking about this, and it occurred to me that it should be possible to do it completely automatically, with face detection. So, instead of searching the literature to find the inevitable excellent team of researchers who had done it years ago far better than I ever could, I did what I used to do. I jumped in and started writing code.

    A basic solution turns out to be pretty easy; I had a working prototype within an hour.

    Keep reading

  19. Disqus comments