The previous guestbook was being overwhelmed with spam, so I disabled it many years ago. Part of the site upgrade plan was to redo the guestbook as a WordPress Page, as Spam Karma 2 manages to deal with all of the spam quite nicely.
Creating the page was easy enough, and I was getting it. The difficulty was in linking it properly on the navbar. When I clicked on the navbar link, the entire site would end up nesting inside the main frame, doubling up the navbar:
One more mystery solved. Eventually, I want to get rid of the frames entirely. They are a legacy of the days when this site was strictly static HTML. Still, that is a task for another day.No comments
Finally upgraded the site to the latest version of WordPress, after I learned that the 2.0 branch, which was supposed to be supported into 2010, was dropped early this year. Upgrading the site was painless. Upgrading my home mirror took about 6 hours, as I ended up having to install new versions of Apache, PHP & MySQL.
Also added a new logo – I think it looks much better than the old logo. Took out a couple of items on the navbar to the left. The links were very outdated, I don’t really use ICQ much anymore and the guestbook didn’t work on my home version of PHP. I plan on switching the guestbook over to a WordPress page sooner or later.No comments
A little while ago, I decided to get off my duff (figuratively speaking) and finally learn how to program Java. I installed the latest version of the JDK and Netbeans three weeks ago, did the usual “Hello, World” type programs and then began working in earnest.
I decided that I wanted to do a fanfiction downloader, similar to this program. I condsidered use Netbeans’ GUI builder, but decided to do the GUI coding by hand for my first project, for educational purposes. It was educational…and a pain.
Anyway, I had the following after a couple of hours of work:
Once that was done, this weekend I began writing the backend code to download stories from fanfiction.net. After another couple of hours, I had something that would download a story – buggy and no error trapping to speak of, but a pretty decent alpha. As part of my testing, I decided to run it outside of the Netbeans IDE. It didn’t work. The stories would download, but they had gibberish in the place of quotes and some other punctuation.
Having be around the web a few times, I figured this was an encoding issue. What I didn’t understand is why it would work perfectly when I ran the program from inside Netbeans and screw up the encoding when I didn’t. I spent hours playing around with the URL and HttpURLConnection classes, without any success. I then stumbled upon a webpage that mentioned that the Scannerclass (which I used to download the webpage) would default to the system’s charset. I added some code to show the current system charset via the Charset.defaultCharset() method. Turns out the inside Netbeans, the charset is “UTF-8”. When I ran program outside the IDE, the charset was “windows-1252”.
Thinking I had solved the problem, I changed the Scanner constructor to use “UTF-8” encoding. I ran the program outside the IDE and the output html was still messed up, but in a different way. I switched the encoding inside my browser for UTF-8 to windows-1252 and everything looked perfect. Turns out the PrintWriter class also uses the system charset as the default. Added UTF-8 encoding to the PrintWriter constructor and things looked good. I decided to test the output file in Firefox (my default browser is Opera) and it rendered just fine. When I tried it in IE 6.0, more garbage. Opera and Firefox recognized the file as being UTF-8, but IE defaulted to my system settings. Added a couple of lines to the header of the file being generated, specifying that it was UTF-8, and even IE 6 read it fine.
I have to admit, I never expected the IDE to use different encoding internally than the system. Despite the several hours of frustration this caused, I had a fun and educational weekend.No comments