Transcriptions: Yasoukyoku, Surechigai


I’ve finished two more transcriptions—both piano solos from the anime, Nyan Koi! (にゃんこい!): Yasoukyoku (夜想曲) and Surechigai (すれちがい). You can find the sheet music download links and links to the songs on YouTube from my (appropriately named) sheet music page.

Nyan Koi!: Surechigai

Nyan Koi!: Yasoukyoku

I’m going to go try and pass my last two finals now.

Please tell me what you think! Comments, suggestions on what to transcribe next, etc. are all welcome!

GlassCalc 1.33


GlassCalc 1.33 is a small update, but it adds one feature that should make it a little more convenient.  Brace highlighting in the default mode now matches braces when the cursor is next to them but not between them.  This means, when you type a closing brace, its opening brace will be highlighted so you can immediately see which brace you just closed.

Version 1.33 also fixes a bug where the code that found function aliases also matched things it shouldn’t have.  For instance, when you type atan2(y, x), GlassCalc changes it to atan(y, x).  Before this fix, GlassCalc would also change batan2(x) to batan(x).

Also, if you downloaded before November 10, I didn’t properly update the version number of the program, so GlassCalc would keep thinking it needs to be updated. This is now fixed.

Check the GlassCalc page for download links.



Today, I bring you yet another update to GlassCalc.  Version 1.32 can now display output as fractions using an algorithm by John Kennedy described here.  To display a result as a fraction, end it with ->frac, i.e. 0.5->frac = 1/2.   The -> operator (for output in fractions and different bases) also has syntax highlighting now.

I got a bug report earlier alerting me that 22.4 - 21.5 resulted in 0.899999999999999.  This happens because there are some numbers which cannot be represented exactly as floating point numbers.  22.4 and 0.9 happen to be two of those numbers. (If you don’t believe me, check out this floating point applet and enter “22.4” in the decimal box.  GlassCalc has 64 bit precision instead of 32, but the same idea applies.)  As a result, 22.4 - 21.5 almost equals 0.9, but not quite.

Unless someone invents a computer that operates in base 10, there’s no way to really fix this problem, but there are a couple ways to hide it.  One is to use higher precision floating point numbers to reduce the error, but I can’t do that until I finish porting MTParser to C#.  The other is to round results to hide the error in the last decimal place.  By default, GlassCalc now rounds to 14 places when displaying numbers.  You can change how much GlassCalc rounds (or turn rounding off) from the settings menu.  This rounding only applies to the numbers when they are displayed, so your calculations will be just as accurate (or inaccurate) as they were before.

Pi is another number that cannot be represented exactly in floating point. (It can’t be represented exactly in decimal either)  As a result, cos(pi/2) and sin(pi) resulted in very small, but non-zero numbers.  I’ve added a couple overrides into cos() and sin() so that they will return exactly 0 when they’re supposed to.  Again, this isn’t perfect.  sin(11pi) won’t return exactly 0, but it’s better than nothing.

Other improvements in the version include: smarter detection of changes in extensions.ini, single digit exponents are no longer padded with a zero, saved history no longer forgets the bases of results, and switching between radians and degrees scrolls the history list to the bottom.

Check the GlassCalc page for download links.

Mangafox Userscript Version 1.3


I discovered a bug in my Mangafox userscript where it failed to clear old entries from its cache.  This update fixes that bug as well as a few others.  In Opera, the script was showing up in the debugger on pages other than  Just to be safe, I added an extra check to make sure it would only be loaded on

This update also adds a ‘Reload page’ button which might save you in the rare instance that a page never loads.  If clicking it once doesn’t help, double click it and it will force the browser to redownload the image.  I also renamed the ‘clear cache’ button  to ‘Reload chapter’ since that better describes what the button does.

If you use d.i.z.’s fantastic UJS Manager extension, most of the script settings can now be edited directly from UJS Manager.  If you don’t, the settings section will be a little harder to read, but it should still be manageable.

Download Mangafox Ajax Preloader version 1.3 for Opera or for Firefox (same file, different names)

Music Feedback


Due to my sheet music page’s popularity (it has over %60 of the page views on this site!) and because I didn’t set up comments for pages on the main site, this page is for you to tell me what you think about my transcriptions and compositions.  If you like my work, want to suggest a song to transcribe, or just want to tell me something, please leave a comment!

My original compositions can be found here.

And my sheet music and transcriptions are here.

Network Issues Resolved!


Up until yesterday, I could not make or edit long posts.  After talking with the campus network admins here, they discovered a firewall component that was generating false positives and blocking my posts.  With it fixed, I can once again post things!

Here’s an update on the things I’m working on/have planned.  This is most likely in the order they’ll be completed.

  • An Opera Unite service that serves a purpose similar to Firefox’s BarTab extension.
  • Part 2 of my post on extending Aero Glass in a WPF application.
  • Separate the parser/evaluator from the UI thread in GlassCalc
  • Build a WordPress 3.0 compatible theme and rework site navigation.

Another Small Update


I still haven’t figured out the network problem, but it looks like POST requests involving 2000+ 1500+ characters get blocked.

This is mostly a bugfix release, but I’ve added one handy function: The delete command can now delete multiple variables/functions at once.  You can now use expressions like delete x y f() g(). The parser is also more lenient, so delete f( will delete f().  Download the new release from the GlassCalc software page or just run the auto-updater.

Since the changelog page is big and my stupid network won’t let me edit big posts, here’s the changelog for this version:

Sorry, the changelog is too big. T_T

Crash Fix


I’ll have to keep this short, because there’s some sort of network monster here that eats all of my long posts.

There was a bug in 1.30.1 and lower that caused a crash on startup if GlassCalc was set to save history items and the saved history contained a semicolon.  This is now fixed.  If you can start GlassCalc without it crashing, the updater should pick up the new version.  Otherwise, download the new version (still 1.30) from the GlassCalc software page.