You might think that data compression is a solved problem, lossless or lossy.
But, no.
Gzip and related formats like zlib, Zip, and PNG that use the DEFLATE algorithm
were great 25 years ago, still do a decent job, and are completely ubiquitous and indispensable,
but there are better, smarter algorithms now.
Google has announced two new compression formats in the last couple of years,
Zopfli and Brotli.
Zopfli does a better job of generating Deflate-compatible data,
although it’s very slow.
Brotli gives ~20% better compression than Deflate, but at about the same speed.
Then there’s xz, which grew out of 7-zip, and also works well.
Zstandard has just been announced by Facebook
and …continue.
Thanks to Tom Limoncelli, I became acutely aware of USB charge-only cables and condoms.
If you plug your phone into an unknown computer to charge the battery,
you run the risk of having your phone hijacked by malware.
USB transfers data as well as electricity
and you’re essentially giving the computer unrestricted access to your phone.
Certain USB cables are charge-only and will not pass data.
There are also “USB condoms”,
which are inserted between the cable and the computer.
They not only block data, but they can potentially charge the battery faster,
as they can switch the device into a fast-charging mode.
I’ve ordered a pair from Amazon,
as we’re going …continue.
This website, http://www.georgevreilly.com/, is hosted at GitHub Pages.
It’s actually https://georgevreilly.github.io/
but I’ve configured the former as the “custom domain”,
so the latter is unconditionally redirected to the custom domain.
GitHub Pages gives me free, fast hosting and an easy publication model:
I commit the latest changes to my master branch,
I push the branch to GitHub,
and seconds later, my site is updated.
I’m using Acrylamid to generate the content from reStructuredText source
on the blog branch
and ghp-import to commit the HTML to the master branch.
GitHub Pages supports HTTPS as of June 2016, but not for custom domains.
There are some hacks but I don’t feel like using them.
I’m hoping …continue.
The centerpiece of our back yard is an aging Italian plum tree.
We moved in to our house in late August 2000,
right as the fruit was fully ripe.
We didn’t have a ladder and the former owners didn’t have time to deal with the tree either,
so most of the fruit that year ended up in the yard waste.
I dragged one enormously heavy yard waste can up the back steps into the alley that year.
I like to say that it weighed as much as I did,
but it probably didn’t.
We bought ladders and we’ve picked the fruit thereafter.
The tree is old and no longer gives …continue.
Title: Flashman in the Great Game
Author: George MacDonald Fraser
Rating: ★ ★ ★ ★
Publisher: Plume
Copyright: 1975
Pages: 322
Keywords: historical fiction, humor
Reading period: 16–25 August, 2016
Flashman in the Great Game finds Flashy back to India,
sent there by prime minister Lord Palmerston
to look into worrying rumors of mutiny amongst the Indian troops
and to sweet talk the recalcitrant Rani of Jhansi.
After an attempt upon his life by Thugees,
Flashman goes undercover in the native cavalry at Meerut,
where the Sepoy Mutiny begins soon after.
He then finds himself in the Siege of Cawnpore and the Siege of Lucknow
and imprisoned at Gwalior before being almost …continue.
During an internal training exercise today,
as a sort of one-man Chaos Monkey,
I deliberately broke a test system by changing a config setting to read:
itemfinder.url = http://test-іtemfinder.example.com/
The correct value should have been:
itemfinder.url = http://test-itemfinder.example.com/
What’s that, you say? There’s no difference, you say?
There is a difference, but it’s subtle.
The first i in the URL is
‘CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I’ (U+0456),
not ‘LATIN SMALL LETTER I’ (U+0069).
Depending upon the font, the two is may be visually indistinguishable,
very similar looking, or the Cyrillic i may not render.
This is an example of an International Domain Name Homograph Attack.
There are Greek letters and Cyrillic letters that look very similar to Latin …continue.
I was investigating the performance of a web app today,
and I spent some time looking at the Flame Chart visualization
in Chrome’s profiling tools, which helped identify some problems.
Flame Charts are like Brendan Gregg’s Flame Graphs,
except that the charts are sorted by time,
while the graphs are sorted alphabetically.
Quoting from Gregg’s recent ACM Queue article:
A flame graph has the following characteristics:
- A stack trace is represented as a column of boxes,
where each box represents a function (a stack frame).
- The y-axis shows the stack depth,
ordered from root at the bottom to leaf at the top.
The top box shows the function
that was on-CPU when the stack trace was collected,
and …continue.
Title: Flashman At The Charge
Author: George MacDonald Fraser
Rating: ★ ★ ★ ★
Publisher: Plume
Copyright: 1973
Pages: 288
Keywords: historical fiction, humor
Reading period: 7–16 August, 2016
Flashman At The Charge finds our hero,
newly promoted to Colonel,
nursemaiding a minor Royal cousin in the Crimean War.
Somehow he finds himself in the thick of the Charge of the Light Brigade,
which he survives only to be taken captive by the Russians.
Sent off to Count Pencherjevsky’s estate,
he luxuriates there for some time, bedding the count’s daughter Valla.
When he and another British officer overhear the Tsar discussing Russian plans to invade India,
he reluctantly escapes.
After he is captured …continue.
Title: Jason Bourne
Director: Paul Greengrass
Rating: ★ ★ ★ ½
Released: 2016
Keywords: action, thriller
Watched: 20 August, 2016
In Jason Bourne,
the eponym is back in action, running around the planet
in a personal vendetta with the director of the CIA.
Bourne’s old ally Nicky Parsons is killed trying to pass him some information
that she’s unearthed about the Treadstone program
that turned David Webb into the amnesiac assassin known as Jason Bourne.
The CIA director sends a killer known only as the Asset after Bourne,
while the fresh-faced head of the Cyber Ops division does her best to keep Bourne alive.
This is a largely unnecessary sequel to the Bourne franchise.
While the …continue.
If you know exactly which line you want to go
or which pattern you want to search for,
Vim provides a couple of command-line options that can help:
+NUM goes to line number NUM,
while +/PAT searches for the first occurrence of PAT.
It’s also possible to execute an Ex command with +CMD,
such as "+set fenc=latin1".
You can supply up to ten + options.
vim +23 ~/.bashrc
vim '+/ASIN\|ISBN' template.rst
vim "+set fenc=latin1" some.csv
Previous »
« Next