Now Reading Reloaded changes
Starting August 15th, Amazon’s web service API started requiring all requests to be signed—that is, they must include a cryptographically generated key.
This is important, because while the service as always required an ID to run, it was never a secret. In fact, the former developer’s access ID has been embedded in the Now Reading Reloaded script since the very beginning.
The change, however, requires the addition of another key, this one like a password, and it’s not supposed to be given out. Since Now Reading Reloaded is open source, that means anyone who wanted to could use my key.
As a result, I’ve modified the plugin to use two more fields in the options screen, one for the Access ID and one for the Secret Key: both of these are required to add books from Amazon, and you will have to get both yourself.
Actually, it’s easy to do: go to the AWS site and register. Then plug the two keys they give you into the appropriate spaces in the Now Reading options screen. Resume reading.
Now Reading news
I have providing some light maintenance development for Rob’s Now Reading plugin; since Wordpress 2.7 wholly changed its interface, the plugin need some tweaking to make it work.
Up to this point, I’ve been hosting it locally, mostly picking at it whenever time allows.
I just updated it the other day to add a new feature (editable ASIN) and hopefully fix a recurring bug (CDATA error when searching).
In any case, I hope to make a push in the near future to clean it up and submit it the official Wordpress plugin site so that its user can benefit from auto-update, etc. etc. My own much-atrophied skills as a PHP developer aside (I deal mostly with Java at work), I think that it will ultimately benefit everybody, assuming I can make it so that the updates don’t override custom templates (perhaps giving preference to Now Reading template files in the theme folder?).
Stay tuned. The plugin is now here.
Comments on this post are closed. For support, please use the forum feature of the official plugin repository.
The Ethics of Software Patents
rev. 15 April 2009; get the PDF
The laws that protect the creation of content are manifold and complicated—even byzantine. America has copyright protection, which applies to concrete expressions of information, trademark protection, which protects distinctive symbols or verbiage associated with a legal entity, and patent protection, which protects “(1) processes, (2) machines, (3) manufactures or (4) compositions of matter” and is perhaps the least understood of all the various kinds of intellectual property protection (Guntersdorfer, 2003).
The explosion of the Internet in the late 20th and early 21st centuries has thrown into stark relief both the legal problems associated with protecting content in a digital age as well as the ethical issues inherent in the existing process for acquiring official intellectual property protection and the rights afforded involved parties in a redress of grievances. Copyright law specifically has come into public consciousness primarily due to the popularity of filesharing: for all intents and purposes, the advent of modern filesharing was the 1999 arrival of Napster, a program which allowed anyone to exchange digital copies of music online, for free. Legal problems eventually forced Napster to shut down (Ante, Brull, Herman , & France, 2000), but its legacy leaves not only alternative modes of filesharing, but a whole host of new web-based content creation engines that toe the lines of fair use.
Tracking LZMA efficiency
I’m a big fan of 7-Zip. It isn’t the best-looking application ever written, but that could be because its creator, Igor Pavlov, is concerned much more with its compression methods than its interface. 7-Zip has its own container format, but more important is the LZMA compression algorithm that Igor wrote and put into the public domain.
I decided to do some quick and dirty benchmarks to track the progress of LZMA/7-Zip over time. I went back as far as Igor supplied binaries, including one from the very old 3.x series. Rather than test every single release between then and now, I used only “stable” releases, with the exception of version 4.65, which is the latest version of any sort, as well as 4.66, which uses an alpha version of Igor’s new LZMA2 codec (and, as you’ll see, provides definite performance improvement).
I used Igor’s Timer utility to time the process (global time was reported). The corpus in this case was the Linux kernel source, v2.6.28. I conducted these tests on a RAM disk to eliminate hard disk latency issues (especially for decompressions, which improved by about 25% from my initial HDD-based tests). My rig is a Intel Core 2 Quad Q6600 [2.4Ghz], with 4GB of RAM (one dedicated to the RAM disk), running Vista SP1 x64.
The command line setup was an approximation of the 7-Zip GUI’s “ultra” settings: -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on, letting the archiver auto-choose the number of threads to spawn. Read the full article »
Conspicuous Absence
It’s more than halfway through January, and I’ve made pitifully few posts. I’ve only one book in my meme so far (though, in my defense, I’m currently reading five books, with a sixth to be added soon).
It’s a cop-out, I realize, but I’ve been terribly busy lately. This previous week was my fiance’s last in town before heading back to Macomb (home of Western Illinois University, a three-hour drive, and a soul-sucking morass of small-town irrelevance); in addition, I’ve been in the throes of house-hunting, in an effort to capitalize on the currently-depressed real estate market. Sadly, it seems, my buying a house will not come to pass until late summer, when my lease expires: my landlord, despite having no such verbiage in the lease I signed, decided that early termination of a lease would run me $2,500.
On the educational front, I’ve started two more grad school classes; both need books this time. I’ve managed to cut the cost of one of them from $200 to $100 by buying an electronic format. The other, I’m not sure about yet. The classes are a heaping of additional deadlines among the many I already deal with. Not that I’m complaining; two online classes is hardly a strenuous life, but I currently like the capacity for very much patience.
My immediate boss at work (not just manager, but technical expert, as well), recently became a father, and has been out for a week and a half. It’s amazing how many support issues trickle down when he’s not there to catch them: mostly it’s simple user mistakes, but sometimes its seriously issues with recent upgrades that require more time than I’d like. In my spare(!) time, I’ve been alternating between managing our new hire (who, in turn, is managing the new student worker), and doing some initial codebase cleanup for a new SVN branch I’m going to make which will eventually become our new redesigned and unified portal.
jQuery, the javascript library on which we’ve standardized, released v1.3 last week. I hadn’t intended upon switching so early (to avoid any bugs), but the new release of jQuery UI 1.6, which requires jQuery 1.3, may force that issue. Then, too, I’ve noticed a lot of performance issues and IE6 bugs with the release candidates of 1.6, and so we may not do much with them after all.
Some of the work I’ve been doing is trying to find a decent modal window solution for our portal. We use them in several places; generally, it’s pseudo-replacements for confirm() and alert(), but sometimes they serve as genuine subpages for additional data input. Our currently codebase, which has been developing since June 2007, contains a mix of jqModal and BlockUI. I looked into the new jQuery UI Dialog component, but it was too bulky, buggy, and didn’t quite have the robust API I was looking for. Perhaps in a version or two…
jqModal is quick (performance-wise), but its implementation bothers me. The plugin I’ve come to enjoy as of late is boxy, which apes the look and feel of Facebox (which in turn apes the look and feel of Facebook’s modal script), but which comes with a much better API, I think. It’s got built-in methods for alert() and confirm(), as well as a few others, and is relatively fast. My only worry is that the API still isn’t stable (current git branches break existing invocations) and that it has no good way to set position or dimensions.
My goal, however, is to do some cleanup on the existing codebase, abstracting wherever possible, while designing the logic for the application redesign. I would prefer not to do a general redesign and then have to spend weeks upon weeks fixing cruft and broken hacks wherever they exist in our codebase (which, as of mid-January, stands at about 110,449 LOC).
This is all a long and circumlocutory way of saying that I hope posting will pick up soon and I can gain some ground not only on my book meme, but on posting in general.
FLAC compile benchmarks
FLAC is a cross-platform codec, but when it comes to Windows, one has a pretty wide range of compiles. Some are more optimized than others.
I first got the idea for this benchmark when I stumbled upon a native 64-bit FLAC executable for Windows. Curious, I did a quick and dirty test against the canonical build for Windows and found that while encoding times were similar, decoding times were considerably faster.
To figure out why this is so (the 64-bitness or something else), I quickly pulled some some additional compiles and benchmarked them against a few different samples.
Subscribe