-{ a hewer of maps }-

Extract Invisible Attachment

I periodically get email from ios users with invisible attachments.

TLDR: view raw, save base-64 to text, uudecode using certutil --decode (a native tool in Win7+)

Last night I finally figured out what is going on: the attachment is marked as "inline" in the header, but the client (gmail in this case, but can happen with others too) doesn't render the attachment correctly. However since the media is inline it's not visible/extractable like regular attachments are.


The 1st modern Cahill-Keyes Map, maybe

All maps distort things -- one or more of area, shape and distance. They [splatten] a roundish sphere into a flat piece of paper. Some distortions are much worse than others. The Cahill-Keyes projection is the best invention to date we humans have for minimizing the effects. Unfortunately very few know about it or have seen it. This map by Duncan Webb of Australia, possibly the first modern full scale version of the CK map projection could go a long way to rectify our common (mis)perception of the relative shapes and sizes of where we live. If it sees production continue.

Oh Assign, Assign, wherefore art thou Assign?

Most of my computer life of the last few years has lived within Dropbox. It's proven to be a very hands off largely no-thought means of ensuring the 3 Windows computers I use regularly at work and home all have almost identical tool chains and environments. It's always bugged me though, that my "home" is buried under C:\Users\matt\Dropbox (though at least with Win7 it's not under that horrible "Documents and Settings" folder!). Way too freakin much typing just to get to the point of starting work, or fun.

I've tried several methods for making this more livable, and each succeeds to continue.

Python fixit snippets

Very short problems about python, found and fixed.

failed to create process.

whups, this worked yesterday. Whatup? --> drive letters/paths have been changed. The path to python.exe specified in pip.exe has moved. Solution: reinstall pip (and any other py programs similarly impacted).

Portable Leo from scratch on Windows

Here is a recipe for installing Leo from scratch on Windows (Win7 tested). The only prerequisites are command line wget in PATH and an internet connection.

About 50mb of files are downloaded and 200mb consumed when done.

Open a command prompt and run:

mkdir X:\testing
pushd X:\testing

wget -O apt.exe --no-clobber http://download.osgeo.org/osgeo4w/x86/release/apt/apt-r1193M.exe
SET OSGEO4W_ROOT=%~dp0\root
apt setup
apt update
apt install pyqt4 sip

call root\osgeo4w.bat

wget --no-check-certificate http://gist.github.com/maphew/5393935/raw/install-pip.py
python install-pip.py GO
python install-pip.py GO

pip install -i https://testpypi.python.org/pypi leo-editor

python apps\Python27\Scripts\leo

After this the directory X:\testing\root can be renamed and/or moved anywhere.

To run leo in future sessions, simply call x:\path\to\root\osgeo4w.bat python apps\Python27\Scripts\leo, either as a batch file or windows shortcut.

IMPORTANT NOTE - this is just a proof continue.

Plus 1 for static site generators!

There is no time like the present to really delve into and master static web generation:

Huge attack on WordPress sites could spawn never-before-seen super botnet. Ongoing attack from >90,000 computers is creating a strain on Web hosts, too

Ongoing malware attack targeting Apache hijacks 20,000 sites. Mysterious "Darkleech" exposes visitors to potent malware exploits

I received the ArsTechnica newsletter with the above stories in my mailbox in the same 5 minute window that Google Webmaster Tools informed me that one of our websites for my work has likely been compromised.

No, it's not running Wordpress, but it is running a blog-style php continue.

Install Pip script

Introducing a pure python means to install pip and it's requirements all in one go.

Installing pip on Windows is relatively straightforward, now, but still a tad bumpy. Basically it consists of

  1. Download distribute or setuptools
  2. Install it with python distribute_setup.py
  3. Download the get-pip script
  4. Install with python get-pip.py

(Aside: curiously the distribute docs say you can use pip to install distribute!)

On Windows this means installing wget or curl in order to follow the install instructions as given, or pointing and clicking your through click-this-url >> save as >> choose a spot >> open a python shell >> ...etc.. Easy, but boring and easy to continue.

Deploy website with rsync

Recipe for copying my Acrylamid-generated static html website to my webhost (nearlyfreespeech.net).

In a nutshell, I use QtdSync to generate the basic rsync update script, and then add rsync advanced options as make sense to me. From QtdSync's progress screen the rsync command line can be copied and pasted to create a batch file (strip the -e ... sshpass... line for interactive password prompting).

QtdSync is a bit twitchy around the "backup/don't backup into subfolder" options. Sometimes they appear to have the opposite effect of what they say. I still found it much easier than trying to construct the appropriate rsync script continue.

Going Acrylic

Recipe used for converting httrack snapshot of Mindtouch wiki to markdown for acrylamid

Generate the processing list

dir /s/b \www\maphew.com\*.html > process-list.xt

Edit process-list and remove junk, fix bad filenames (resultant from double quotes in name).

Copy to excel and:

Scripted Html to Markdown to Acrylamid

for /f %a in (process-list-cleaned.txt) do @mkdir .%~pa

for /f %a in (process-list-cleaned.txt) do ^
    @pandoc --to markdown --standalone --template acrylamid-pandoc-template.txt "%a" -o ".\%~pa\%~na.md"

acrylamid init converted
rd /s/q converted\content
move www\maphew.com converted
pushd converted

Spring, Cycles

Well, here I am once again looking at the detritus of my website and wondering what to do with it. Each page represents, at least, an hour or three of endeavour. Many have no relevance any more and or of little if any interest to anyone, including me. Others though... well lets just say I'm not quite ready to pull the plug and let them drain away.

While not a regular experience, this is a recurring one. We've been here before. Each time I've devoted a few days or months to rewriting or transforming old content into a new container, add continue.

Previous »