Customizing vscode themes

I love the Dark+ Default Theme for vscode, but when programming in Python I always thought the class instance references (aka self) was too bright, which made the core in the class harder to read. Before: After: It’s pretty easy to customize any attribute in Visual Studio Code — you just need to know which token scope to use. With the cursor over the keyword, use Command Palette (CTRL-SHIFT-P) and select “Developer: Inspect Editor Tokens and Scopes” (official documentation). ...

August 8, 2020

Editing files remotely via SSH on SublimeText 3

Sometimes you need to edit a file on a remote server, but using vim/emacs is not very practical, due to lag of screen refresh. TextMate users have the classic rmate, but it was implemented in Ruby, which may not be available on the remote server. A better option is to use this version of rmate, implemented in pure Bash. It’s a single file, self-contained, and with no external dependencies. Step by step: ...

November 26, 2014

Intl keyboard mapping for Latin characters on Ubuntu 20.04 (updated)

[![Wisdom of the Ancients](https://imgs.xkcd.com/comics/wisdom_of_the_ancients.png)](http://xkcd.com/979/) (note: this post was updated in May 2020 to reflect it works with Ubuntu 20.04 and Gnome 3.36.1. It has also been tested with Ubuntu 18.04 and Gnome 3.28.1. Original title “Using .XCompose with Chrome and Sublime Text”) If you use US International keyboard on Linux (e.g., if you write in Spanish or Brazilian Portuguese), you know the royal pain of having to press space after the compose character (typically '). Contractions like can’t, won’t, Mary’s, etc are a struggle, as you have to press space after ', otherwise you’ll get canť, wonť, Maryś, etc. ...

September 21, 2014

Entering Single User Mode On A Synology

I hope this will be my last post about Synology for a while. After dealing for a few weeks with an unstable environment, then hacking a serial console to troubleshoot, then cracking the secret recovery telnet password just for fun, and finally solving the weird mistery of SSH not accepting /bin/bash as default shell, I thought I finally had a stable environment. Wrong. But this time I was the one to blame. After solving the conflict with bash, I changed /etc/passwd user shell to /bin/bash. The only problem is that Synology wipes the system partition during firmware upgrades, so when I upgraded to DSM 4.1.2668, my custom `/bin/bash``was gone. Of course this locked me out of the system. No SSH, SCP or FTP. Great. ...

January 26, 2013

Reverse Engineering Synology's OpenSSH

Trying to use a non-standard shell in your Synology DS212+ NAS may be an exercise of frustration. I’m a bash-lover, and have a bunch of scripts to automate backups, so I wanted to set up default shell to /bin/bash. It worked well with root, but when a regular user tries to log in, the connection is terminated with “Permission denied, please try again.”. Weird. Maybe /etc/shells? Nops. Maybe sshd_config? No. PAM modules, then? Also not. I even tried compiling bash from source (which took me a full day, just to get ARM GCC to cross compile properly). Nada. ...

January 21, 2013

Synology's "secret" telnet password

If you have a Synology NAS and had some sort of disk crash in the past, you’ve probably encountered the famous “Cannot format system partition” and “Please configure your router to forward port 23 to DiskStation and contact Synology online support”. Yeah, it sucks. It sucks even more when you know the disk is perfectly fine, and you still have hopes to recover your data. Or you simply don’t like the idea of having your port 23 open to the world for god-knows-how-long until a Synology tech support can look into your case. ...

December 8, 2012

Recovering a Failed Synology Diskstation with a Serial Console

I thought I’d post this here for anyone looking for help on troubleshooting a failed Synology Diskstation NAS. I’ve been a happy user of a Synology DS-212+. The software is robust and much better than my old DroboFS, and the fact that it is entirely open source is a big plus. I recently upgraded the firmware to DSM 2661. Everything worked fine. For 12 hours. The next morning, the device was dead, with the blue blink of death). ...

December 2, 2012

Syncing Sublime Text 2 Settings via Dropbox

I migrated to Sublime Text 2 a while ago, and not looking back. It’s by far the best editor I’ve ever used. Its packaging system is simple and efficient. But one thing that annoys me is the lack of synchronization across different computers. Not anymore. The solution is rather simple. You can just move three directories – Packages, Installed Packages, Pristine Packages – to your Dropbox, create a symbolic link for each directory (ln on Linux/OSX, mklink /d on Windows), and your packages will always be perfectly in sync across multiple computers - even using different platforms. ...

October 28, 2012

Fix ALL CAPS MENUS on Visual Studio 2012

So you just installed Visual Studio 2012 and the first thing you notice is that Microsoft now has ALL CAPS MENUS everywhere! Well, not sure about you, but I want my ProperCase menus back. Luckily there’s an easy solution (for now): Hit Win + R and enter: If you’re running Visual Studio Express 2012 for Windows Desktop: REG ADD HKEY_CURRENT_USER\Software\Microsoft\WDExpress\11.0\General /v SuppressUppercaseConversion /d 1 /t REG_DWORD If you’re running Visual Studio 2012: REG ADD HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\General /v SuppressUppercaseConversion /d 1 /t REG_DWORD If you’re running Visual Studio Express 2012 for Web: REG ADD HKEY_CURRENT_USER\Software\Microsoft\VWDExpress\11.0\General /v SuppressUppercaseConversion /d 1 /t REG_DWORD Voilà! Of course you can also use RegEdit.exe, if you prefer to adjust manually. Just navigate to the registry key above and add a DWORD for SupressUppercaseConversion, with value 1. ...

October 20, 2012