This morning I was setting up Visual Studio Code at a Lubuntu virtual machine, and after saving the keyboard shortcuts, I opened my current editor to get the settings. Since some of them I consider essential, I decided to publish them here, for further reference.
Thursday, September 7, 2017
Tuesday, August 22, 2017
Simple minimalist JavaScript metronome
These days, when practicing guitar, I needed a metronome. Whey you type “metronome” on Google Search, it actually brings out a functional metronome – however it has no keyboard shortcut keys. So I decided to write a simple metronome, with keyboard keys, from scratch, to suit my needs.
Knowing the imprecision of JavaScript’s setTimeout function, I implemented a timer that adjusts itself each call, thus having a fairly reliable precision.
The code is so simple I decided not to create a GitHub repository, so I’m just sharing the whole source code here:
Friday, July 7, 2017
Git amend updating date and time
When commiting code on Git, very often I realize I forgot some little detail right after I end the commit operation. This is very annoying. Fortunately, we have the amend command. Recently I found a very cool trick to use with amend command: updating the date and time of the commit together with amend.
So, with those in hand, I’m now using a nice alias on my ~/.bashrc
file:
alias gitamend='git commit --amend --date="$(date -R)"'
And my own memory faults are now easily addressed.
Friday, June 23, 2017
Trying out Git Subtree
Currently I have 5 projects on my computer which use WinLamb library. So far I’ve been keeping copies of the library directory on each project; these directories are kept in sync with FreeFileSync Portable. Although this approach works, it’s very cumbersome.
Since each project is versioned as a Git repository, and WinLamb itself is a Git repository on GitHub, I started searching for an alternative, and I choose Subtree over Submodule. Following is a summary of the commands I needed to do on my Windows 7 x64, using Git portable v2.13.1:
1. Remote
Add a remote with the path to the repository of the shared project:
git remote add otherproj --no-tags git@github.com:username/otherproj.git
Or if a local project:
git remote add otherproj --no-tags d:/stuff/otherproj
You can view the remotes with:
git remote -v
2. Subtree
Run the Subtree command:
git subtree add --prefix otherproj otherproj master --squash
This will copy the library into the subdirectory and create a commit, with the hash in the message. It’s unnecessary, but you can provide a custom message for the subtree commit:
git subtree add --prefix otherproj otherproj master --squash -m "Subtreeing otherproj."
3. Updating
To update your project with new library code:
git subtree pull --prefix otherproj otherproj master --squash
This leads us to a nice bash function to our ~/.bashrc
file:
function gitsubtreepull { git subtree pull --prefix $1 $1 master --squash; }
Which eases our life when updating our Subtree library:
gitsubtreepull otherproj
So far this approach seems to the better than the old-fashioned directory sync, although it still feels a bit “loose”. I’m still avoiding pushing code from the local repository to the shared library; if I change something, I just copy the code to there, then I update the library repository itself.
Note: beware amending a commit on the remote library. The next time you try to update the dependency, it’s likely to get lost, and you’ll have to remove the subtree and add it again.
Tuesday, April 4, 2017
After 4 years, SRTEd 1.3.0
The interface didn’t improve much, but there are many bugfixes and minor UI adjusts. It took so long because I entirely rewrote it using my new Win32 library, which I expect to release as open source soon, together with an article explaining what it is and how to take the best out of it.
It can be downloaded from CNET or Softpedia.
Sunday, March 19, 2017
Remembering Randy Rhoads
After publishing the video, I realized the guitar track was a bit too loud in the mix. Well, too late, but not too bad.
I used my Suhr Modern Satin, with Suhr SSV/SSH+ (neck/bridge) pickups, and the POD HD500X connected via USB. After using Billy Gibbons’ .007 signature gauge set exclusively for about one year and a half, I tried the D’Addario EXL130 set again, however with a .012 for the G, as I found on my graphic string tension calculator. It feels very balanced now. I don’t know if I’ll use this custom .008 set on all guitars, but I’m keeping it on the Suhr, at least.
Tuesday, February 28, 2017
A graphic string tension calculator for guitar
It’s hosted on GitHub Pages: https://rodrigocfd.github.io/string-tension-calc/
I also made it open source on my GitHub account, and I hope to make further improvements.
Saturday, November 19, 2016
Fixing bad font rendering on Chrome 54
This extension has only one setting: “font width”. After adjusting it to “50”, voilà, the fonts started looking good. And, of course, allowing it to work in incognito mode.
Friday, October 28, 2016
Clean tones of Ibanez JPM100 P2
I used my POD HD500X straight into the computer and a set of .007 Dunlop Rev. Willy's Lottery strings.
Monday, September 12, 2016
Visual Studio Code slow startup on Linux
I discovered that there are two executables within the VSCode package: one at the root directory, and other inside “bin” subdir. The outer seems to be a wrapper to the inner, since I made a test and ran the inner executable alone... and bang, VSCode started in about 3 seconds – not an example of quick startup, but acceptable.
So I redirected my shortcut to point directly to the executable inside “bin” subdirectory. Whatever the outer executable does, it’s clearly buggy.
Tuesday, August 23, 2016
Visual Studio Code keyboard shortcuts
As a meta side node, this is the first time I use GitHub’s Gist to share code of mine.
Sunday, May 1, 2016
Git .gitignore file to Visual C++ 2015 Update 2
ProjectName.VC.db
. Indeed according to the release notes, a new SQLite-based database engine is now being used by default, and that’s the file where the database is stored. The old file, named ProjectName.sdf
is now unused and can be safely deleted.The change also demanded an update on my
.gitignore
files to also ignore this new database file, and here it goes:
Debug/ Release/ *.aps *.db *.ffs_db *.ncb *.opensdf *.rar *.sdf *.suo *.user *.VC.opendb TODO.txtIf you import and old
.vssettings
file, however, the option to use the new SQLite-based database can be rolled back to the old .sdf
files. To manually change it, go to: Tools → Options → Text Editor → C/C++ → Advanced → Browsing/Navigation → Enable New Database Engine. Set it to “true”.