Monday, September 12, 2016

Visual Studio Code slow startup on Linux

Recently I’ve been having a problem with Visual Studio Code, current version 1.5.2, on Linux. The program startup was too slow. I mean, the absurd of waiting over 40 minutes from the doubleclick until I see the window!

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

These days I’ve been using Visual Studio Code at work. It’s a nifty editor written in NodeJS. Being a Visual C++ user, however, I missed some keyboard shortcuts I like to use. To remedy this, I customized the “keybindings.json” file to make it more familiar. To use it, go File → Preferences → 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

After upgrading my Visual C++ 2015 from Update 1 to Update 2, I noticed that a new file appeared in the root directory of the projects I was opening. The file was always named 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.txt
If 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”.

Wednesday, March 23, 2016

Disabling C++ exceptions in Visual Studio 2015

When using the STL with Visual Studio 2015 – and older versions, probably –, C++ exceptions are enabled by default. To view the options specified below, first add at least one CPP file to your project.

The first thing to change on the project settings is under C/C++ code generation, enable C++ exceptions: set this to “no”.

Then, on the project settings, C/C++ preprocessor, to each configuration and platform individually, add the following preprocessor definition:
_HAS_EXCEPTIONS=0
This way you’ll be able to use the STL without the C++ exception handling mechanism.

Saturday, March 5, 2016

Clean tones of PRS Custom 24

This is the most beautiful sounding guitar I’ve ever owned or played, possibly. Being a hardcore superstrat player, I’m having a hard time adapting to the radiused fretboard and the unbalanced body shape – not unbalanced as a Les Paul, but definitely butt-heavy.

So I recorded this improvisation using the POD HD500X looper. I see myself selling this guitar soon: that’s how I want to remember it.



The video was recorded with the great Samsung Galaxy S6, in 1080p and 60 fps.

Wednesday, December 30, 2015

Evernote abandons C# in favor of C++

It’s with a feeling of “I knew it already” that I read this note, from 2010, where Evernote team abandons C# and rewrite the whole thing from scratch in C++. It’s not that C++ is a good language – it’s awful – but the point is that this whole managed code hype destroys any hopes of performance one may have. I’ve seen benchmarks comparing raw loops and things that doesn’t matter, when in fact the problem is the huge runtime needed for these programs to run, which slows everything down and eats a lot memory. The point is that managed programs, specially WPF stuff that Evernote used, just can’t beat native ones.

Technically, C# is a beautifully designed language, but in real world its programs are slow and sluggish. C++ is a horrible language, but being compiled directly to native code, generates optimized programs. Evernote guys just realized that.

Sunday, November 29, 2015

Git bash shortcut on Windows

Download the portable version of Git (it can be x64), and create a shortcut to run Git bash on Windows with this command line to run on “target”:
C:\Windows\SysWOW64\cmd.exe /c ""C:\Program Files (x86)\git\bin\sh.exe" --login -i"
Start in: root directory of sources.

Tuesday, October 13, 2015

Lágrima, F. Tárrega

Here I share another sheet music from my personal classical guitar collection, a simple and famous piece, Lágrima by Francisco Tárrega (1852—1909). I typed this myself, with my own fingerings and tab, using Sibelius 6.2.

Saturday, September 5, 2015

Bourrée, BWV 996, J. S. Bach

I’m sharing this sheet music from my personal collection, the famous Bourrée in E minor by J. S. Bach (1685—1750), for classical guitar. I typed this myself, with my own fingerings and tab, using Sibelius 6.2.

Saturday, May 2, 2015

The new Google Maps sucks

A couple months ago, Google began introducing a beta version of the new Maps, which at the time, I promptly refused to use, given the sluggishness and missing features it had. The feature I missed most was the screen split between Street View at the bottom half and the map itself at the top half, where I could drag the Pegman on the map, while the Street View is automatically updated. Oh and the old version is faster. So much faster.

Some time after, this horrible interface became the default, but we still could choose to use the old one. But now Google – possibly because the avalanche of bad feedbacks – rolled out a Lite version of the new Maps, which is basically the same terrible interface, but with even less features. Great solution, eh?

Fortunately, it’s still possible to go back to the old version of Maps via maps.google.com/lochp, at least until Google disables it too. Seriously, what would they swap such a great solution with a crappy one?

Saturday, March 14, 2015

Gibson Les Paul weight-relieving chart

I’ve see a lot of information regarding Gibson Les Paul models weight-relieving, but never a condensed, concise chart about all the variations. So, based on all information I could gather, mostly from here and here, I compiled the chart below.

Year Standard Traditional
up to mid 1982 solid N/A
mid 1982 to late 2006 9 holes
late 2006 to 2011 chambered 9 holes
2012 and beyond modern

Follow the given links to see images of what each weight-relieving technique look like.

Wednesday, October 29, 2014

Ibanez Jem & Universe fretwire

I’ve seen a lot of wrong information about this, so I’ll just leave this here for further reference.

Regarding fretwire, the Ibanez Jem 7VWH uses Warmoth 6105 frets, not Dunlop 6105. That’s why you find “W/6105” on the specs.

The Ibanez Universe – all models, as far as I know, including the Jem 7V7 –, listed as having jumbo frets on the specs, have Dunlop 6140.

Actual measurements:

  • Warmoth 6105 – h .047", w .096" (7VWH);
  • Dunlop 6105 – h .055", w .090";
  • Dunlop 6140 – h .039", w .106" (UVs).