Today I wrote a mapping utility for OpenStreetMap XML data and used it to render all
public_transport=* nodes close to Berlin.
Today I wrote a mapping utility for OpenStreetMap XML data and used it to render all
public_transport=* nodes close to Berlin.
I think the zeitgeist seems to be moving away from filling all our time with things and being hyper-connected, and towards rarer more meaningful connections.
It’s… disturbing and interesting at the same time, to realise that the attention-grabbing nature of all the things I enjoy has been designed to perfectly fit me, and all of us, by the same survival-of-the-fittest logic that causes natural evolution.
That which best grabs the attention, thrives. That which isn’t so powerful, doesn’t.
And when we develop strategies to defend ourselves against certain attention-grabbers, the attention-grabbers which use different approaches that we have not yet defended against take the place of those we have protected ourselves from.
A memetic arms race, between mental hygiene and thought germs.
I’ve done stuff in the last three months, but that stuff hasn’t included “finish editing next draft of my novel”. I could’ve, if only I’d made time for that instead of drinking from the (effectively) bottomless well of high quality YouTube content (see side-image for my active subscriptions; I also have to make a conscious effort to not click on the interesting clips from TV shows that probably shouldn’t even be on YouTube in the first place). Even though I watch most content sped up to a factor of 1.5 or 2, I can barely find time for all the new YouTube content I care about and do my online language courses and make time for the other things like finding a job.
Editing my novel? It’s right there, on my task list… but I barely touch it, even though it’s fulfilling to work on it, and fun to re-read. I don’t know if this is ego depletion or akrasia or addiction, but whatever it is, it’s an undesirable state.
I’m vulnerable to comments sections, too. Of course, I can do something about those — when I notice myself falling into a trap, I can block a relevant domain name in my hosts file. I have a lot of stuff in that file these days, and even then I slip up a bit because I can’t edit my iPhones hosts file.
Now that I know there’s a problem, I’m working on it… just like everyone else. The irony is, by disconnecting from the hyper-connected always-on parts of the internet, we’re not around to help each other when we slip up.
He flashed up a slide of a shelf filled with sugary baked goods. “Just as we shouldn’t blame the baker for making such delicious treats, we can’t blame tech makers for making their products so good we want to use them,” he said. “Of course that’s what tech companies will do. And frankly: do we want it any other way?”The Guardian (website); ‘Our minds can be hijacked’: the tech insiders who fear a smartphone dystopia
I can, in fact, blame bakers. It’s easy: I do it in the same way I blame cigarette manufacturers. In all three cases (sugar/fat/flavour combinations, nicotine, social rewards) they exploit chemical pathways in our brains to get us to do something not in our best interests. They are supernormal stimuli — and given how recent the research is, I can forgive the early tobacconists and confectioners, but tech doesn’t get the luxury of ignorance-as-an-excuse.
I want my technology to be a tool which helps me get stuff done.
A drill is something I pick up, use to make a hole, then put down and forget about until I want to make another hole.
I don’t want a drill which is cursed so that if I ever put it down, I start to feel bad about not making more holes in things, and end up staying up late at night just to find yet one more thing I can drill into.
If I saw in a shop a drill which I knew would do that, I wouldn’t get it even if it was free, never broke, the (included) battery lasted a lifetime, etc. — the cost to the mind wouldn’t be worth it.
The same is true for the addictive elements of social media: I need to be connected to my friends, but I’d rather spend money than risk addiction.
LiveJournal seems to have leaked plain-text passwords.
I found this out because I’ve just received three scam emails that are trying to blackmail me for bitcoin worth [$1600, $1100, $1100].
Here is one of the emails; the others look similar, but each one is phrased slightly differently in a way that suggests a template filled with randomly selected phrases:
It appears that, («REDACTED BUT ACCURATE»), 's your password. You might not know me and you are probably wondering why you are getting this e-mail, right?
in fact, I setup a trojans on the adult vids (adult) web-site and you know what, you visited this website to have fun (you know very well what I mean). When you were watching videos, your internet browser started out functioning like a RDP (Team Viewer) which gave me accessibility of your screen and web cam. and then, my software programs obtained your complete contacts out of your Messenger, Outlook, Facebook, along with emails.
What did I really do?
I made a double-screen video clip. 1st part shows the video you're watching (you have a good taste haha . . .), and 2nd part shows the recording of your web cam.
exactly what should you do?
Well, I think, $1100 is really a fair price for your little hidden secret. You'll make the payment by Bitcoin (if you do not know this, search "how to buy bitcoin" in Google).
Bitcoin Address: «REDACTED BY ME IN CASE PUBLISHING IT AFFECTS REPORTING TO THE AUTHORITIES»
(It's case sensitive, so copy and paste it)
You've some days to make the payment. (I've a completely unique pixel within this e-mail, and at this moment I am aware that you've read through this email message). If I don't get the BitCoins, I will certainly send out your video recording to all of your contacts including family, coworkers, and so forth. Having said that, if I receive the payment, I'll destroy the video immidiately. If you need evidence, reply with "Yes!" and i'll definitely send out your videos to your 6 contacts. It is a non-negotiable offer, that being said don't waste my personal time and yours by responding to this message.
Here are some of the headers:
X-Spam-Status: No, score=3.875 required=10 tests=[INVALID_MSGID=1.167,
RCVD_IN_MSPIKE_BL=0.01, RCVD_IN_MSPIKE_L5=2.599, SPF_PASS=-0.001,
Content-Type: text/plain; charset=UTF-8
There are several clues here that it’s a toothless scam, but I suspect some people will fall for it if I don’t blog about it:
Now, I’m saying LiveJournal in particular is the source of that leaked password, because that password is one I only ever used for LiveJournal. Never anywhere else. (In case you’re wondering, that LiveJournal blog has now been deleted owing to it being totally pointless).
I have confirmed via Troy Hunt’s Have I Been Pwned? that the password is in publicly known databases of leaked passwords. To my surprise, Have I Been Pwned? thinks that password is in use in two places, not one. My own list of personal passwords says I only use it in one place, and the nature of the password does not lend itself to reuse (it’s what you get if you mash a keyboard at random for 13 characters, not anything easily memorised).
When I’ve figured out the appropriate authorities, I’ll be reporting these emails to them.
I (along with many others) had realised the stated reason for the related–but–separate The Boring Company was silly. My first thought for that was it was a way to get a lot of people underground for a lot of the time, which would reduce the fatalities from a nuclear war. Other people had the much better observation that experience with tunnelling is absolutely vital for any space colony. (It may be notable that BFR is the same diameter as the SpaceX/TBC test tunnel, or it may just be coincidence).
A similar argument applies to Hyperloop as to TBC: Hyperloop is a better normal-circumstances transport system than cars and roads when colonising a new planet.
Every so often, someone tries to boast of human intelligence with the story of Shakuntala Devi — the stories vary, but they generally claim she beat the fastest supercomputer in the world in a feat of arithmetic, finding that the 23rd root of
916,748,676,920,039,158,098, 660,927,585,380,162,483,106, 680,144,308,622,407,126,516, 427,934,657,040,867,096,593, 279,205,767,480,806,790,022, 783,016,354,924,852,380,335, 745,316,935,111,903,596,577, 547,340,075,681,688,305,620, 821,016,129,132,845,564,805, 780, 158,806,771
was 546,372,891, and taking just 50 seconds to do so compared to the “over a minute” for her computer competitor.
Ignoring small details such as the “supercomputer” being named as a UNIVAC 1101, which wildly obsolete by the time of this event, this story dates to 1977 — and Moore’s Law over 41 years has made computers mind-defyingly powerful since then (if it was as simple as doubling in power every 18 months, it would 241/1.5 = 169,103,740 times faster, but Wikipedia shows even greater improvements on even shorter timescales going from the Cray X-MP in 1984 to standard consumer CPUs and GPUs in 2017, a factor of 1,472,333,333 improvement at fixed cost in only 33 years).
So, how fast are computers now? Well, here’s a small script to find out:
#!python from datetime import datetime before = datetime.now() q = 916748676920039158098660927585380162483106680144308622407126516427934657040867096593279205767480806790022783016354924852380335745316935111903596577547340075681688305620821016129132845564805780158806771 for x in range(0,int(3.45e6)): a = q**(1./23) after = datetime.now() print after-before
It calculates the 23rd root of that number. It times itself as it does the calculation three million four hundred and fifty thousand times, repeating the calculation just to slow it down enough to make the time reading accurate.
Let’s see what how long it takes…
MacBook-Air:python kitsune$ python 201-digit-23rd-root.py 0:00:01.140248 MacBook-Air:python kitsune$
1.14 seconds — to do the calculation 3,450,000 times.
My MacBook Air is an old model from mid-2013, and I’m already beating by more than a factor of 150 million someone who was (despite the oddities of the famous story) in the Guinness Book of Records for her mathematical abilities.
It gets worse, though. The next thing people often say is, paraphrased, “oh, but it’s cheating to program the numbers into the computer when the human had to read it”. Obviously the way to respond to that is to have the computer read for itself:
from sklearn import svm from sklearn import datasets import numpy as np import matplotlib.pyplot as plt import matplotlib.cm as cm # Find out how fast it learns from datetime import datetime # When did we start learning? before = datetime.now() clf = svm.SVC(gamma=0.001, C=100.) digits = datasets.load_digits() size = len(digits.data)/10 clf.fit(digits.data[:-size], digits.target[:-size]) # When did we stop learning? after = datetime.now() # Show user how long it took to learn print "Time spent learning:", after-before # When did we start reading? before = datetime.now() maxRepeats = 100 for repeats in range(0, maxRepeats): for x in range(0, size): data = digits.data[-x] prediction = clf.predict(digits.data[-x]) # When did we stop reading? after = datetime.now() print "Number of digits being read:", size*maxRepeats print "Time spent reading:", after-before # Show mistakes: for x in range(0, size): data = digits.data[-x] target = digits.target[-x] prediction = clf.predict(digits.data[-x]) if (target!=prediction): print "Target: "+str(target)+" prediction: "+str(prediction) grid = data.reshape(8, 8) plt.imshow(grid, cmap = cm.Greys_r) plt.show()
This learns to read using a standard dataset of hand-written digits, then reads all the digits in that set a hundred times over, then shows you what mistakes it’s made.
MacBook-Air:AI stuff kitsune$ python digits.py Time spent learning: 0:00:00.225301 Number of digits being read: 17900 Time spent reading: 0:00:02.700562 Target: 3 prediction:  Target: 3 prediction:  Target: 3 prediction:  Target: 3 prediction:  Target: 9 prediction:  Target: 9 prediction:  MacBook-Air:AI stuff kitsune$
0.225 seconds to learn to read, from scratch; then it reads just over 6,629 digits per second. This is comparable with both the speed of a human blink (0.1-0.4 seconds) and also with many of the claims* I’ve seen about human visual processing time, from retina to recognising text.
The A.I. is not reading perfectly, but looking at the mistakes it does make, several of them are forgivable even for a human. They are hand-written digits, and some of them look, even to me, more like the number the A.I. saw than the number that was supposed to be there — indeed, the human error rate for similar examples is 2.5%, while this particular A.I. has an error rate of 3.35%.
* I refuse to assert those claims are entirely correct, because I don’t have any formal qualification in that area, but I do have experience of people saying rubbish about my area of expertise — hence this blog post. I don’t intend to make the same mistake.