Today in CV Dazzle

isshehungry:




Previously, previously, previously, previously, previously, previously, previously, previously.

Tags: , , , , ,

DNA Lounge update

DNA Lounge update, wherein Codeword is Kaput.
Tags:

Hacking Dalmatian Kidney Stones

"I think it will be easier to teach dog breeders CRISPR than it will be to teach dog breeders why pure breeding is a bad thing."

Ishee, a member of what's called the "biohacker" movement, says he is hoping to use inexpensive new gene-editing techniques to modify the genes of Dalmatians. By repairing a single DNA letter in their genomes, Ishee believes, he can rid them of an inherited disease, hyperuricemia, that's almost as closely associated with the breed as their white coats and black spots. [...]

Humans have been shaping the DNA of dogs for millennia. But the breeding efforts that produced the Dalmatian's spots, or the pug's flat snout, have also led to serious health problems. Certain prized bulldogs can't even give birth without human assistance. "Dogs have more genetic diseases than any other species on the planet," says Ishee. "So that's us. We did that." [...]

The new rules have larger companies concerned, too. Last December, a Minnesota biotechnology startup called Recombinetics fired off a letter to the FDA saying that it planned to start selling Holstein milk cows that it had genetically edited so that they wouldn't develop horns. But now Recombinetics's sizable investments are in doubt. Scott Fahrenkrug, the company's founder, says he is ready to fight what he thinks are irrational rules.

Previously, previously, previously, previously, previously, previously, previously, previously.

Tags: , , , ,

A future that never came

I realized that my sixth sense was failing when I stopped noticing the magnetic fields of my laptop.

When I asked other panelists about augmenting healthy body parts over lunch that day, most seemed a little exasperated. At one point, I mentioned that I had a finger magnet to Michael Chorost, who got a groundbreaking cochlear implant to restore his hearing. "Don't get a magnet," he sighed, apparently not realizing that I wasn't speaking hypothetically.

The better wearable devices get, the less sense it makes to permanently modify your body. Things like exoskeletons, smart glasses, and external brain-computer interfaces are safer and much easier to upgrade than their implanted counterparts. Plus, you can take them off in inappropriate situations: you won't get stuck trying to swim with a metal limb, for example, or wearing a permanent version of Google Glass to a laid-back dive bar.

Previously, previously, previously, previously, previously.

Tags: , ,

Ronnie.

I was biking home late one night and there was car stopped next to me at a red light. The driver's window was open so I could hear her yelling at the guy in the passenger seat as she stared straight ahead:

    I DONT CARE RONNIE
    she was just a friend
    LEAVE ME ALONE RONNIE
    I DONT CARE RONNIE
    she was just a friend
    LEAVE ME ALONE RONNIE
    she was just a friend
    I DONT CARE RONNIE
    LEAVE ME ALONE RONNIE

The light changed, I giggled and rode on. A block later I stopped at the next light and looked back. The car had pulled over mid-block, both doors were open, and she was on the sidewalk trying to physically drag him out of the passenger seat.

Tags: ,

The Rickmobile is a thing that exists.

Previously, previously, previously, previously, previously.

Tags: , , ,

Brickhouse

Save The Brickhouse

After 18 years as a social cornerstone of the South Beach/SoMa neighborhood, we, the owners of the Brickhouse Cafe, have the opportunity to buy our property. Help us keep it out of the hands of an overseas hotel chain and keep the Brickhouse thriving for years to come! We are seeking $100,000 in donations to exercise our right of first refusal, and secure our foothold in the property. This will give us the time to complete of our pre-approved loan to fully purchase the Brickhouse property.

I eat there all the time and would be very sad if it became a hotel...

Tags:

Shortlinks

Shortlinks are terrible for all kinds of reasons, but this post isn't about that. But let me get that part out of the way first:

  • They obscure the destination you're about to click on, making them a primary tool for phishing attacks.
  • They train people that not looking at their link destinations is a reasonable thing to do.

  • Each shortening "service" introduces a new point of failure: when, not if, they go out of business, they will have broken a vast swath of the web equivalent to their market share.

  • The real reason that link shorteners exist is not actually to save typing, or reading, but as a tool of surveillance: the shortening "service" wants to interject itself between your mouse and the destination site to sell those hit statistics to other people.

  • Twitter, who inflicted this blight upon the world in the first place, won't even respect the shortlinks that sites provide on their own, but instead double-encode them using their own shortener. They say this is for "security" reasons but that's a bald-faced lie that I'm sure I don't have to... unpack... for you.

So, all that aside -- it's still an interesting numerical / bit-twiddling problem, on a purely technical level.

Back when I switched to WordPress, I noticed that the "shortlinks" it generated for every post were terrible. They really weren't that short at all, just appending the base 10 numeric post ID to the blog's base URL. They were barely shorter than the long URL that includes the post's whole subject. So I wrote a plugin to do better. For example, the blog post:

    https://www.jwz.org/blog/2011/08/base64-shortlinks/

has this default shortlink:

    https://www.jwz.org/blog/?p=13240780 (35 bytes)
Other services give us:
    http://tinyurl.com/3et9fw7 (26 bytes)
    http://bit.ly/qbFuII (20 bytes)
    http://goo.gl/xraFX (19 bytes)
    http://t.co/jJAv1SQ (19 bytes)
    http://dnklg.tk/ (16 bytes)

My code gives us:

    http://jwz.org/b/ygnM (21 bytes)

I did that by just encoding the post's ID number in base64, which is the same thing those other shorteners do, except that the ID in question is intrinsic to the post. Other shorteners either just increment a global variable, or pick a random non-conflicting number. Of course the smaller that number is, the more traversable the space is, which can be a problem.

But since the post's ID number isn't a secret maybe it could be shorter? Could it be fewer than 4 bytes? Sure, if your post IDs were smaller. By default, a brand new WordPress blog gives its first post the ID 100, which encodes as "ZA". This blog currently has 9469 posts, so that would have still been way down in the three-byte space, "JP0". The post IDs don't increase quite monotonically (the number increases every time you do a preview, among other things), but it still would have fit in three.

Unfortunately, I used to host my blog on Livejournal, and only migrated it here in 2010. The tool I used to import the blog preserved Livejournal's post ID numbers in the WordPress database. Those were already four bytes: "FDWn" was the last one. And then immediately after that, something went wonky with the import, and subsequent WordPress IDs jumped by eleven million for some reason, all the way up to "ygO-". If I had noticed it at the time, I could have done surgery to pull that number back down, but since then there have been almost 5,000 more posts, and I suspect that WordPress might lose its mind if post IDs are non-increasing. It doesn't matter, though, because these IDs will still fit in 4 bytes for the next 3.5 million posts.

Anyway, a few weeks ago I decided to waste some time making shortlinks for the DNA web site. Since there was no Livejournal fuckery, the WP blog over there already had nice and small IDs that fit in three bytes, so its shortlinks looked like http://dnalounge.com/b/FAM. But I thought it might be interesting to make shortlinks for the various other pages on the site, too. Most of those pages are date-based, so that suggests a way to generate unique IDs that are predictable and do not require a global counter: just use the date! But a time_t is a big number that takes six bytes to encode, so that won't do.

So I computed the number of days since the Epoch instead of the number of seconds (no, you can't just divide, because of leap years and daylight savings). Then there's the matter of the directory (is this a blog post, a calendar page, a flyer page, a gallery page?) and the room suffix (is this a daytime event in the main room, a nighttime event in Above DNA, etc?) So I use 3 bits for each of those, adding 6 bits to the 15-bit day number, and a 21-bit number still handily encodes as 4 bytes.

So here's a gallery: http://dnalounge.com/b/G0O6 and its calendar page: http://dnalounge.com/b/C0O6 and flyer: http://dnalounge.com/b/E0O6 and a blog post from around the same time: http://dnalounge.com/b/AUPC. That they start with low capital letters means there's plenty of space left.

Of course those aren't actually all that short, since unsurprisingly, whoever was squatting "DNA.com" back in 1998 never answered my email when I tried to find out what their price for it would be. But if someone wanted to buy me "dnaloun.ge" from the Registrar of the Great Nation of Georgia, I wouldn't say no.

BTW, autocomplete keeps changing "shortlink" to "chortling", which is what I think we should call them now.

Previously.

Tags: , , , ,

Tom Bob


Previously, previously, previously, previously, previously.

Tags: , , ,

Defenders

The Defenders trailer includes "We're not so different". This does not bode well.

"You just don't get it, do you?"

Tags: , ,

  • Previously