Here are follow-up materials for my talk at LFNW 2016.
I help organize a conference for Free Software enthusiasts called SeaGL. This year I’m proud to report that Shauna Gordon McKeon and Richard Stallman (aka “RMS”) are keynote speakers.
I first invited RMS to Seattle 13 years ago, and finally in 2015 it all came together. In his words:
My talks are not technical. The topics of free software, copyright vs community, and digital inclusion deal with ethical/political issues that concern all users of computers.
So please do come on down to Seattle Central College on October 23rd and 24th, 2015 for SeaGL!
If you’ve ever set up a machine by hand, you’ve probably had to decide how much of your disk to set aside as swap.
I’ve often wondered “why swap at all”? This quote by Nick Piggin from 2004 finally helped me answer the question.
no matter how much ram you have, swap can increase performance by allowing unused anonymous memory to be paged out, thereby increasing your maximum effective RAM
Found via this post on Hacker News, where the poster raises the point that some filesystem buffers might be extremely “hot” (frequently used), but might only fit in physical RAM (where they should be) if some swap space is available to page out other “cold” information.
Update 2016-12-22: except for Kubernetes nodes, apparently.
I run “web tests” on a remote server. I use Selenium to act like a person interacting with a website, viewing and entering data. Selenium is pretty awesome, it can drive a real web browser like Firefox.
Even better is to have these web tests run automatically every time I commit code. I use Jenkins for this. Jenkins even fires up a headless desktop so Selenium can run Firefox.
When a web test breaks (especially in some way I can’t reproduce on my local desktop), sometimes it helps to actually see what Jenkins sees as it runs the test. Here’s a quick guide for doing so on an Ubuntu GNU/Linux server.
- Connect to the remote server using SSH. Install VNC server:
sudo apt-get install vnc4-server
- On the remote server, become the user tests run as. For example:
sudo su - ci
- Set a password for the VNC server using the
- Start headless X server by running
vncserver. Note the given display. If
example.com:1is included in the output of
vncserver, the display is
Figure out which port the VNC server is using. I usually do something like
sudo netstat -nape | grep '^tcp.*LISTEN.*vnc.*'
Here’s some example output:
tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 107 3099855 13233/Xvnc4 tcp6 0 0 :::5901 :::* LISTEN 107 3099858 13233/Xvnc4
By trial and error, I figured out that 5901 was the port I should use.
Port-forward VNC to your local machine.
- Disconnect from the server.
- Reconnect, including
-L10000:localhost:5901on your SSH command line.
- Leave this connection open.
On your local machine, connect a VNC client to localhost:10000. An X terminal should be displayed.
In the X terminal, run your web tests.
- When finished debugging, kill the X server using the display noted earlier.
vncserver -kill :1
Found on this Slashdot thread:
- ASUS motherboards now ship with an embedded mini Linux distribution to give you Web browsing and Skype in seconds
- A pretty cool-looking bootable os and desktop written entirely in assembly
Based on this review I bought a Logitech QuickCam Pro 9000. I ignored all the red tape and “Run The Installer First!” warnings on the packaging, and plugged it in to my Ubuntu 8.04 laptop. And it worked immediately. Yay! Skype, Cheese, both work. Video sharing via Flash (like for Dimdim) doesn’t work, so no extra credit, yet. :)
Encryption is a nice security feature that makes it significantly harder for someone to mine your data if, for instance, your latptop is stolen.
If you only need to encrypt a single file, just right-click on the file in the File Browser and click “Encrypt”.