Mangafox Userscript Version 1.3

2010

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 mangafox.com.  Just to be safe, I added an extra check to make sure it would only be loaded on mangafox.com.

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

2010

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!

2010

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

2010

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

2010

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.

Bugfixes!

2010

I uploaded GlassCalc 1.30 a few days ago, but a combination of strange network problems and lack of time has kept me from writing about until now.  Thanks to the most bizarre network error I have ever seen, I cannot update the changelog page, but I can update everything else.  Until I get some help from the campus network people, I’ll post the changes here.

This version mostly fixes a number of bugs.  The inverse trig functions were all completely wrong.  I promise I will never again blindly copy-paste code without testing it.  There are also a number of fixes for non-default multiplication signs.  I’ve also added a delete function, which is just another alias for unset, and undefine.

I am currently rewriting the parser code to separate it from the UI thread. This means GlassCalc will no longer freeze while performing long calculations like solve, and I can implement things like evaluating as you type.  I have very little knowledge about multi-threaded applications, so the process is long, hard, and completely unlike what those of you with dirty minds are now thinking about.  You can check the roadmap to see what else I am working on.

Aug 29, 2010: v1.30.1

  • Fixed a problem with uppercase E not being recognized in exponential notation.  This also fixed a problem with very large/small scale factors.

Aug 26, 2010: v1.30

  • Fixed inverse trig functions (they were broken thanks to blind copy-paste. I’ve implemented unit tests to help keep this from happening again)
  • Non-default multiplication sign gets proper syntax highlighting
  • Syntax highlighting preview now uses correct multiplication sign
  • Non-default multiplication sign will now trigger “ans” autocompletion.
  • sinh and cosh now work with degree angles.
  • factorial now works on negative numbers
  • Added arccos, arcsin, arctan… aliases for acos, asin, atan…
  • Added atan2(y,x). This is actually an alias for atan(y,x).
  • You can no longer define functions with the same name as aliases.
  • Added delete command as another alias for unset and undefine
  • UI fixes. Clicking to the left of a result now selects it. Input box background color is once-again changeable.

Transcription: The Girl in the Drawing

2010

Here’s a transcription of The Girl in the Drawing from Durarara!! (or Dulalala!!, or Drrr!!, or デュラララ!!, or however else you want to say it) for violin and piano.  This is the first time I’ve transcribed something other than a piano solo, and it was a little difficult to tweak Lilypond into doing what I wanted, but I think it turned out well.

You can listed to the original song on Youtube here.  The link below will take you to my sheet music page, where you can download the combined score and the individual violin and piano parts.  The combined score does not have the dynamics for the violin part, because it broke the formatting and pushed the score onto another page.

The title in its original Japanese is 絵の中の少女 (E no naka no shōjo).

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

Durarara!!: The Girl in the Drawing

This is The Girl in the Drawing (絵の中の少女 E no naka no shōjo) from Durarara!! (or Dulalala!!, or Drrr!!, or デュラララ!!, or however else you want to say it) for violin and piano. This is the first time I’ve transcribed something other than a piano solo, and it was a little difficult to tweak Lilypond into doing what I wanted, but I think it turned out well.

GlassCalc 1.29 and Widgets!

2010

GlassCalc 1.29 doesn’t add any new functions, but it adds a number of formatting features to make GlassCalc easier to work with or just fit into your theme better.  GlassCalc now has support for thousands separators, and you can choose between commas, spaces of various widths, or enter your own separator.  GlassCalc can also replace asterisks (multiplication operators) with dots or times symbols.

You can now choose between three different formats for exponential form: 1.00e10, 1.00E10, and 1.00×1010.  GlassCalc defaults to a lowercase e to give a clear separation between the number and exponent.  More color settings are available, and the font sizes of the history, input, and other panes are now configurable as well.

Widgets!

I recently created two Opera Widgets, which are essentially desktop applications built with HTML, CSS, and JavaScript.  You need to install Opera before they will work, though Opera does not need to be running to start the applications.

Search Organizer

If you are an Opera user and wished you could reorder your custom search engines, check out my Search Organizer widget.  Feed it your search.ini file and it lets you drag and drop your search engines into a new order.  Save and restart Opera for your changes to apply.

CSS Fix

My second widget isn’t exclusively for Opera users, though it may be more useful to them.  Occasionally, I’ll run into a site that looks blocky and ugly in Opera, but smooth and pretty in Firefox and Chrome, even though Opera supports most or all of the features used *cough* Twitter *cough*.  There’s no reason these sites should look any worse in one browser compared to the others, except that the web developers left out some key CSS properties, like the unprefixed border-radius and box-shadow.

CSS Fix aims to solve this problem by generating CSS patches to fix sites.  It knows most of the equivalent CSS properties used by Opera, Firefox, Chrome/Safari, and Konqueror and can translate between them.   Simply enter the URLs of a offending sites and/or CSS files, choose the browser(s) you want a patch for, and CSS Fix will download the files and generate a new stylesheet with all the missing CSS properties.  You can export the patch as user CSS or user JavaScript, install the patch in your browser, and see sites the way they were meant to be seen.  (You could also ask the site admins to kindly add in the missing properties, but for big sites like Twitter, you’d be lucky to get anywhere)

I’ve created a Twitter patch for Opera using CSS Fix that gives Twitter the rounded corners and most of the other pretty effects it’s supposed to have.

I am also working on a web-based version of CSS Fix that lets you paste in CSS and a user JavaScript version which will fix inline styles on the fly.  I can’t estimate when either of those will be done though.

More Downtime and a New Version

2010

A few months ago, my (free) web host outgrew their servers and moved to bigger and better servers, resulting in a few weeks of downtime.  Everything seemed to be going fine until one of the new servers showed signs of hard-disk failure.  Naturally, my site was on said server, so my site suffered another week of downtime.  A week ago, my host was having trouble with cPanel and discovered an undocumented (and unchangeable) connection limit hidden within it.  The cPanel team said they couldn’t fix it quickly, so my site was down for a few more days while my host reconfigured things to work around the problem.

Everything looks to be stable now, but I predict that in about a week, a series of tornadoes will strike the building housing the servers, and the following week, x10hosting headquarters will be attacked by a giant robotic space eel.

GlassCalc 1.28

On a more serious note, I’ve uploaded version 1.28 of GlassCalc which should fix the bottoms of letters getting cut off in the menu bar.  I’ve also reorganized the settings window and added a couple features to help set up unit conversions.  Last but not least, I’ve added support for something I’m calling “Scale Factors”.  These are suffixes you stick on the end of numbers to multiply them by some number.  If you define a scale factor of K = 1000, you can write 1K for 1000. These have a higher priority than other operators, so 1/1K would be 1/1000, not 1/1*1000.

There are no scale factors defined by default, but you can define your own by editing your extensions.ini file (open More Settings->Extensions).  Add a [ScaleFactors] section and add one suffix per line under it.  The format is Suffix = Scale where Suffix is a string and Scale is a number.  Put a /i at the end of a suffix to make it case-insensitive. You can also use exponential notation when setting the scale. Here is an example ScaleFactors section which defines m (milli), c (centi), K (kilo), and M (mega) suffixes:

[ScaleFactors]
m = 1e-3
c = 1e-2
K/i = 1e3
M = 1e6

Suffixes do not have to be a single character. They can be of any length. You can also use regular expression syntax, but I don’t recommend it. Using square brackets or equals will probably confuse the ini parser, starting with digits (and various other patterns) will confuse the math parser, and everything after the first forward slash is treated as modifier flags. If anyone wants more in-depth support for regular expressions here, ask and I’ll find a way to make it work.