
Made using Piskell
Made using Piskell
(From Stack Overflow)
64 bit requirements for pre-made binaries:
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libstdc++6:i386 libxml2:i386 zlib1g:i386 libpopt0:i386
Install CUPS
sudo apt-get update
sudo apt-get install cups
Download DriverGo to http://support-au.canon.com.au/contents/AU/EN/0100459602.html and download driver
64e2d00f0c8764d4032687d29e88f06727d88825 Linux_CAPT_PrinterDriver_V270_uk_EN.tar.gz
Extract and enter extracted folder
tar xf Linux_CAPT_PrinterDriver_V270_uk_EN.tar.gz
cd Linux_CAPT_PrinterDriver_V270_uk_EN
Install the custom drivers and ccpd
sudo dpkg -i 64-bit_Driver/Debian/*.deb
Add the printer to CUPS and ccpd
sudo lpadmin -p CANON_LBP6000 -m CNCUPSLBP6018CAPTS.ppd -v ccp://localhost:59687
sudo lpadmin -p CANON_LBP6000 -E
sudo ccpdadmin -p CANON_LBP6000 -o /dev/usb/lp0
Set the default printer
sudo lpoptions -d CANON_LBP6000
Set ccpd to start on boot
sudo update-rc.d ccpd defaults
Our house has seven people, so today I made some mail holders to put on our doors.
I basically had some long cardboard boxes, and cut them in half. Then I added new ends and separators in the middle.
I’m not sure if they’ll actually get used. Mail on the floor looks bad, but these aren’t that hot either. If you make some and want to improve the look, you can cover everything in paper or cardstock.
I decided I wanted to show (restricted) data views on the web in table form. Specifically, ‘stylish.db’ is a database provided by a chrome plugin. Here’s an example script, stylish.view, which displays the contents of that. It contains a comment saying which database it’s a query on, together with the query.
-- stylish.db
SELECT style, code, GROUP_CONCAT(section_meta.value) as 'website(s)' FROM
(SELECT styles.name AS style,
sections.code AS code,sections.id AS sections_id
FROM styles INNER JOIN sections ON sections.style_id = styles.id)
LEFT JOIN section_meta
ON section_meta.section_id = sections_id
GROUP BY style;
The cool part here is that none of this was specific to stylish. I can quickly throw together a .view file for any database and put it on the web.
I add put any databases in cgi-bin/db, and add view.cgi to cgi-bin:
#!/bin/bash
# view.cgi
echo "Content-type: text/html"
echo
QUERY_FILE="${PATH_TRANSLATED}"
DB_NAME=$(head -n1 "${QUERY_FILE}" | sed -e 's/--\s*//')
DB="/home/za3k/cgi-bin/db/${DB_NAME}"
echo "<html><head><title>Query on #{DB_NAME}</title><link rel="stylesheet" type="text/css" href="db.css"></head><body><table id=\"${DB_NAME}\">"
sqlite3 "$DB" -html -header <"${QUERY_FILE}"
echo "</table></body></html>"
I add this to apache’s `.htaccess`:
Action view /cgi-bin/view.cgi
AddHandler view .view
CFAR usually designs their techniques to help people Get Stuff Done. I have a failure mode of Getting The Wrong Stuff Done, so this time through their workshop, I focused on improving techniques to explicitly have steps around pursuing the correct terminal goals (which I’ll here call “terminal goal techniques”).
Original technique: Goal-factor
New terminal goal technique:
Original Technique: Murphy-jitsu
Revised terminal goal technique: Murphy-jitsu with terminal goal check
Another technique: Positive murphyjitsu (“Why didn’t this go even better?”)
Another technique: Aversion murphyjitsu (“Imagine none of the positive listed factors happened. Why was it still possible?”) for cases when I can’t think about how to overcome a aversion directly.
Instrumental failure TAP:
Technique: Exactboxing
Technique: Do the Obvious Thing
Theory on how to avoid lost purposes (mostly from Eliezer): Use Litany of Tarski a lot until you get the magic effect where you don’t start rationalizing to begin with (and generally don’t flinch away from learning about things/mistakes). Then, develop an aversion to lost purposes. The naive failure mode is to avoid noticing lost purposes if you have an aversion. (The simpler technique is Alien in a Body)
Sep, Oct, Nov 2014: Vietnam.
A year ago, I left my job at Streak and moved to Vietnam. I felt like I needed change. Vietnam ended up being wonderful; I was really glad I travelled with my friends Richard and Kathy, which ended up making the experience a hundred times better than it would have been otherwise. The basic environment was: everything is cheap, I newly have endless free time, I was automatically prompted by my friends in the evenings and sometimes during the day to go on small novel adventures involving physical activity, and I had little internet access. This is probably my perfect environment, and I was functioning very well (the vietnamese diet also has small, well-balanced meals which might have helped). For some reason, I was also able to intensely single-task. [I’d like to write more about what Vietnam is like, but this article is quite long enough as it is]
While I was in Vietnam, I made a to-do list. The to-do list had all the burning projects I actually wanted to do. I’ve ended up accomplishing most of them, at a rate of one every week or two, and it’s a decent summary of what I’ve been doing since. Two things made the to-do list a success. First, it had BIG tasks. These are projects like my recent “set up an IRC server” or “start a publishing company”. Because of that, I don’t get bogged down in minutae, and the tasks are always motivating. I find I function better when I try to carefully plan around having any logistics. The second reason, which I realized today, is that I was very careful to only include tasks I was planning to do (subtly different than tasks I wanted to do). The list was descriptive, not normative, although it certainly included some things like doing taxes I wasn’t wild about.
Looking at my journal and it really only starts up again in March, so I’m going to organize this post in terms of the to-do list. There are a couple items that don’t fit:
Now on to the to-do list.
Project: Printserver
Success: Success but obsolete
Description: I set up a printserver. It’s a little raspberry pi that talks to my printer, because getting printers set up is a pain and I don’t want to do it all the time. It went great, it saved me a ton of hassle to have it automatically print out my daily agenda every morning, and to just be able to transfer documents over with ‘scp’.
Future plans: Unfortunately, my printer died and we only recently got a new one. I need to set it up with the new server. I could also make printing completely automatic when new files show up with scp (right now it’s manual so I can switch out paper, but my roommates would be happier with scp I think).
Project: Set up my phone so dropping/losing it isn’t horrible
Success: Partial success
Description: I wanted to root and then automatically backup my phone. I did figure out how to do as much backing up as I can, and it is automatic. Unfortunately it turns out most of the filesystem (including SMS) just isn’t available over Media Transfer Protocol which android uses to display files, so I had to special case the things I desperately needed backed up. I’d prefer the state of the world let me back up everything on the phone, but that’s as much work as I’m willing to do.
Project: Get digital copies of all books I own
Success: Success
Description: I got digital copies of all books I own via a combination of pirating, buying copies, and getting the books scanned by a service. I did not get rid of the physical books.
Project: Switch to private email
Success: Not done
Description: I get a little nervous entrusting Google (or any third party) with the ability to read, lose, or add restrictions on what I can do with my email. I want to set up my own email address (za3k@za3k.com) and have it be my main point of contact. My email does work, but I can’t send outgoing email, and I haven’t switched everything over to it for that reason.
Project: Download ArXiV
Success: Done
Description: As an archive nut, I worry that the ArXiV collection, one of the nicer collections of scientific papers I access regularly, might someday go down or get censored. I downloaded a copy and stashed it away somewhere. Unfortunately ArXiV’s licenses they get papers under doesn’t permit redistribution, so I can’t publicly host it. (This was really cool but I had to decide whether I was going to publicly mention, since it’s a legal gray area)
Future plans: Someone (not me) should host a torrent. Contact me and I can get you a copy.
Project: Pack and unpack storage bins (trip to vietnam)
Success: Success
Description: Okay I know this sounds stupid, but I spent about a month packing up to go to Vietnam, and all my physical stuff has stayed organized ever since. That’s a really big change for me.
Project: Host an IRC server
Success: Success
Project: Make hibernate work on my laptop
Success: Success
Description: This involved switching partitioning around since btrfs doesn’t support swap files. If I recall, my setup is now a swap partition and a root btrfs partition, inside LVM, inside LUKS.
Project: Extract bitcoins
Success: Success
Description: Extract bitcoins from all my computers and centralize them in one place
Project: iPhone
Success: Success
Description: Back up all my personal data from my iPhone, clear the contents, and sell it.
Project: N-grams
Success: Obsolete
Description: The Google N-grams dataset from their book scanning project is freely available, but in a terrible format (split across set-size file chunks, but in random rather than sorted order). My plan was to convert the formatting and offer it as a torrent / s3 bucket. Google has corrected the problem in a revised version of the dataset.
Project: NNTP over tor
Success: Didn’t do
Description: I run a private newsserver, and I wanted to let people access the newsserver (and anything else on that physical server) over tor. I decided the newsserver was too dead to bother with, and I didn’t feel enthusiastic about setting up tor, so I dropped the project.
Future plans: I don’t care about the original project, but if there’s a compelling stimulus, I want to set up tor for my server to learn how and leave flexibility.
Project: Textmode backup
Success: Success
Description: ‘textmode’ is the name of a virtual machine on my OS X machine. The project was to back up contents of the machine once, and then delete the virtual machine
Project: Post pdfmailer website
Success: Success
Description: I wanted people to be able to get a physical copy of a pdf document they had mailed to them. I think this project was an especial success, because I’d been failing at an over-engineered version of this off and on for a year. I decided to have the website email me instead of trying to do everything automatically, and ended up getting the books to be a factor of 10 cheaper or so by going with a publisher with no API.
Future plans: I’d like to popularize the website more. I think there are also some small technical improvements to be made. I’m not going to automate things unless it starts using up a lot of my time to process requests myself.
[Censored project involving an arbitrage opportunity I haven’t cornered]
Project: Flatten backups
Success: Good enough
Description: Oh just go read the XKCD. Now imagine you’ve been archiving computers onto other computers for 15 years, and buy cheap laptops.
Project: QR codes for ebooks
Success: Success
Project: Business cards
Success: Not done
Description: Make some personal business cards
Project: QR Punchcodes
Success: Didn’t do
Description: So you know how QR codes can contain any data? That means you could show them to a camera and the camera could run any code. Like, code to wait for another couple of QR codes, or to print out some more QR codes…
[Censored project involving an arbitrage opportunity I haven’t cornered]
[Censored project involving a mildly illegal thing]
Project: Make a desk out of cardboard
Success: Ongoing
Description: I want to make a desk out of cardboard, because it sounds fun. I’m proud of doing the design right here. I’ve finished mocking it out of cardstock, and actually noticed a lot of flaws and fixed the design instead of hoping them away. Now I mostly have to get the cardboard and make it, should be fun.
Project: Make a whiteboard partition
Success: Success
Project: Write about paper backups
Success: Success
Project: Sort physical scans
Success: Success
Description: As part of packing up all my possessions to go to Vietnam, I scanned every physical document I own (and mostly threw them out). Twenty years of stuff is a lot of stuff, but I eventually sorted it all out. I’ve been increasingly finding that a flat folder structure ends up working out best for me in the long term, so that’s what I used.
Project: Two-location backup
Success: Not done
Description: My backup server uses RAID-1, but I’d like to have a second copy on an external hard drive somewhere. Also, I have a bunch of external hard drives which are currently not backed up anywhere (mostly with stuff like movies) which I’d like to have some kind of redundancy
Project: Treemap finances
Success: Not done
Description: I’ve made my finances public, but my analysis tools aren’t great. I’d like to update some old work I’ve done and add a web interface to see where I spent money during a particular time span, using a treemap display.
Project: Archive Github (aka download all the code in the world)
Success: Not done, on hold
Description: I’m kind of burnt out on archiving tasks lately, so this doesn’t sound fun to me. I decided to work with archive team on this one. It’ll get done if it sounds low-stress and no one else seems to be doing it, but it’s less likely than the older archiving projects, despite being important for the world.
Project: Encrypt backup
Success: Not done
Description: I’d like a way to back up my data to untrusted media, like tarsnap does, especially a way that avoids leaking file metadata (like access times and file lengths). Failing that, I should at least encrypt the drive backups are to so I can turn off that computer if needed.
Project: Gwernify
Success: Not done
Description: Gwern writes about how to protect links against link rot. He does this for all links on his website. I ambitiously plan to automatically save a copy of every site I visit (not just the actual URL I visit ideally, but the whole page).
Or via the webchat, which I recommend.
I’ve also recently updated my home page to look much prettier, in imitation of a Computer Craft cheatsheet I’ve been working on.
I consider Dead Tree Publishing to be Good Enough at this point. It’s launched.
I’m going to add support for URLs instead of uploading PDFs, and fix some bugs here for there, but it’s essentially done.
Meanwhile, I’ve already received my first physical book I’m publishing through the site. I got this nice email from Eric Eve:
Dear Zachary,
Thank you for your interest in my work. Yes, do please feel free to offer print copies of the TADS 3 Tour Guide (or any other of my TADS 3 documentation) along the lines you suggest. The only copyright right I’m interested in enforcing is my right to be identified as the author of the work, and I'm sure that's not as issue here.
Best wishes,
Eric
https://www.rpgsolo.com/ has a table for resolving yes/no questions, in turn taken from FU RPG. Roll a die:
Their example:
I listen at the door. Do I hear anything? (I determine the odds are 50/50 so I click the “50/50” button in the Get Answer section and I get back the following.)
Yes, and…
(Now it’s up to me to determine what that means. Since it says “and” that means I got some kind of bonus. So I am going to interpret that to mean that from the sounds I am hearing I have received some extra information. So I type or say to myself),
I hear one person in the room. (Now I ask my next question.) Is the door locked?
No, but…
(The answer is no but it’s not a total loss. I interpret what that means then type the following),
The door seems weak enough that I can probably kick it open.
So we’ve gotten a base system for telling stories. We then added the following:
It was pretty fun in practice. I recommend using a text file over paper, since you’re going to do a lot of copy-paste. We had more fun with no GM than with a GM. No firm result yet on sandbox-worldbuilding vs players in scenarios; both seemed all right.
I wanted a partition to divide my room, and I had a whiteboard sitting around. I sawed it into three parts, and connected them with hinges:
I’m a little embarrassed at having done all this, since it was obvious as soon as I started the partition was way too short to work. I figured I’d still get some experience woodworking (this is my first project). Here’s where it went:
and I never saw it again