When doing some code review, I've faced this:var stateOptions = null;var typeOptions = null;function hideOptions() { if(stateOptions == null) { stateOptions = new Array(); stateOptions[0] = document.getElementById('status').options[0]; stateOptions[1] = document.getElementById('status').options[1]; stateOptions[2] = document.getElementById('status').options[2]; stateOptions[3] = document.getElementById('status').options[3]; stateOptions[4] = document.getElementById('status').options[4]; stateOptions[5] = document.getElementById('status').options[5]; } document.getElementById('status').remove(1); document.getElementById('status').remove(1); document.getElementById('status').remove(1); }function showOptions() { document.getElementById('status').remove(0); document.getElementById('status').remove(0); document.getElementById('status').remove(0); try { document.getElementById('status').add(stateOptions[0], null); document.getElementById('status').add(stateOptions[1], null); document.getElementById('status').add(stateOptions[2], null); document.getElementById('status').add(stateOptions[3], null); document.getElementById('status').add(stateOptions[4], null); document.getElementById('status').add(stateOptions[5], null); } catch(ex) { document.getElementById('status').add(stateOptions[0], 0); document.getElementById('status').add(stateOptions[1], 1); document.getElementById('status').add(stateOptions[2], 2); document.getElementById('status').add(stateOptions[3], 3); document.getElementById('status').add(stateOptions[4], 4); document.getElementById('status').add(stateOptions[5], 5); } }...OMG In Cyclos, I've been working to implement support for printing in a local receipt printer.We found the jZebra project which is a Java applet that prints in a receipt printer on the local computer.So, as this is an optional feature, and will only be used by few users, we didn't want to load the applet on every page. Instead, only when the user clicks print, the applet tag is created and appended to the document with JavaScript (using document.createElement("applet") and friends).Then, the usual sequence:Test in Firefox: check.Test in Chrome: check.Test in Opera: check.Find a computer running windows somewhere to test in Internet Exporer: fail.Why I wasn't surprised?When adding the applet through JavaScript, MSIE somehow doesn't makes the public applet methods visible for JavaScript. So, no .findPrinter(), no .append(), no .print(). Result? As this feature won't be used by most users, we decided to disable it on MSIE, at least until some workaround is found. ..What a revange! I've recently switched from Ubuntu to Arch Linux (Antergos, really, as it provides a decent installer and nice defaults, and is just Arch in the end).Arch uses systemd (the controversial init system that has caused lots of debates, but I have personally loved it), and since the upcoming 15.04 version, Ubuntu will use it too.And systemd by default mounts the /tmp directory files using a tmpfs, which is mounted on RAM, limited by default to half the physical available memory. Also, in my installation (don't know if this is Arch's or Antergos' default), the /etc/fstab file also had the /tmp to be mounted as tmpfs.This might be nice for most people, but if you run applications that store huge amounts of data in /tmp, it can be terrible.In my case it is GWT which writes hundreds of megabytes to the temporary folder.Result? When GWT is compiling Java to JavaScript code, things get SLOOOOOW, because:Eclipse uses1.0-1.5GB of RAMThe GWT SuperDevMode, together with the running application, takes another 1.0-1.5GBChrome uses 1.0-2.0GB of RAM with several open tabs (and when dev tools is open, it eats a lot of RAM too)Counting up to 4GB (max) of tmpfs, and the desktop environment (Cinnamon in my case), Skype, DropBox and others, my 8GB quickly get short.At least I found that I can improve things by disabling mounting /tmp as tmpfs.To do that I've resorted, as usual, to the excellent Arch Wiki (by the way, one of the best pieces of documentation for any project I've ever seen): https://wiki.archlinux.org/index.php/Tmpfs.I have removed the line in /etc/fstab which declares /tmp as tmpfs and created the /etc/tmpfiles.d/tmp.conf file with the following