Digging around through some old parts recently, I came across an old Epson graphical LCD display that had on-board drivers, but no controller. The LCD is an Epson EG2401, reflective, no backlight, 256x64 pixels. It has drivers...one SED1190 driving the rows and four SED1180s driving the columns...but no on-board controller. The LCD is supposed to be hooked up to a SED1330 controller and SRAM, but since I didn't have such a thing, this LCD sat around in a junk box for years.
In 2003, George Marsaglia published a pseudorandom number generator based on repeated shift and XOR operations, a relative of the linear feedback shift register generators. The basic 3-shift PRNG is:
int xorshift() {
y ^= (y << a);
y ^= (y >> b);
return y ^= (y << c);
}
Character LCDs with HD44780/KS0066U-compatible controllers are a widespread standard in electronics equipment, and are readily available and accessible to the hobbyist. However, microcontroller I/O pins are a scarce resource, and these LCDs use a parallel interface that requires 11 pins for a full implementation of the 8-bit interface.
Updated the Amazon S3 library. s3tool now compiles (oops...seriously don't know how I missed that), and there's a couple tweaks, plus a new feature for generating index.html files for buckets.
I've put up the first version of my Amazon S3 library, referenced in the previous post. It should be considered early alpha at this point, but is fairly complete.
Amazon S3 is a web storage service by Amazon. Essentially, you get buckets you can store objects (files) in, and others can access those objects directly through the S3 service or via the web. This is particularly useful for hosting images and video...the storage and bandwidth go to their server farms, easing the load on your own server. Space and bandwidth are rather cheap ($0.15/GB for storage and $0.10/GB for bandwidth as of this writing), and you pay only for what you use.
Dug out my old iterated function system generator to make a new logo for the site. Some of the other results are in this gallery:
http://arklyffe.com/gallery/v/cg/chargetraces/
These are simply images of a large number of particle trajectories in a "lumpy" force landscape. In a simple example:
http://arklyffe.com/gallery/v/cg/chargetraces/spark.jpg.html
A second issue with using Xcode for editing Ruby is that it by default does not correctly comment code in Ruby files. This again is easy to fix:
Open the scripts menu, choose Edit User Scripts.
Select Comments: Un/Comment Selection
This will bring up a Perl script that Xcode uses to perform the comment/uncomment function. We need to modify this to recognize Ruby file types:
Replace:
# determine the type of file we have by looking for the #! line at the top
# careful--it might already be commented out!
my $commentString;
Xcode 3's language support for Ruby is somewhat broken. Fortunately, fixing it only requires a few small modifications.
One major problem, Xcode doesn't know what .erb and .rake files are.
There should be a file:
/Developer/Library/PrivateFrameworks/DevToolsCore.framework/Versions/Current/Resources/Standard file types.pbfilespec
Copy this to /Library/Application Support/Developer/Shared/Xcode/Specifications/, creating that directory if it doesn't exist. Editing the original works, but your changes will be overwritten if you update Xcode, better to just override the standard files.