Thanks to bug reports from users of little endian machines, I was able to isolate the issue where MyPasswordSafe might have trouble loading an existing keychain.

I’ve patched it up to read and write little-endian files natively, so you should have no issues utilizing existing keys with other systems – please note that this means any keys created with my initial port of MyPasswordSafe are now incompatible!

You can download the updated version from my software page.

I’m still working on streamlining this latest revision of Rollator; it’s at least 4x faster than prior versions (in realtime testing), due to massive rewrites of the underlying logic, and condensing functions.

Those of you three people who actually read these articles might notice that I’ve transitioned into proper table bullets for the ‘left tables’ on the front page, as well as with the integrated search functions.

I’ve removed the ‘last month’ and ‘next month’ tabs from the calendar at the top of the page; to much chagrin – It was a fun thing to tab about and see how active I’ve been over various months, but it was using up yet more precious real estate upon the screen.

I’ve added a few other customizations and optimizations; I’m thinking of creating sub-trees, thus breaking up my software page even further, by OS, type of application, et al.

All in all, I’m quite happy how things are turning out; Rollator is roughly 140k with the following existing functionale in my current ‘unreleased’ revision:

  • It’s simple. It’s quite capable for users of all technical levels, from general blogging to ‘power coders’, with support for inline PHP functionale.
  • Keen Editing Interface. Featuring an (optional) WSYISWG editor, easily browsable entry, file upload and flatfile editor, etc..
  • Support for XML-RPC: Supports WebLogs and Blo.gs XML-RPC.
  • It’s entirely dynamic. You don’t need to constantly wait while it regenerates pages. Caching is dynamically managed, so you don’t need to worry about it when publishing your weblog. Optional advanced URL rewriting rules are available to make everything pretty.
  • Multiple Databases. With my trivial abstraction layer, Rollator supports MySQL, PostgreSQL and (will support) SQLlite databases.
  • Integrated “QuickLogs” and “Music” blogging. Trvial API, which is easily used from virtually all platforms allow users to log their musical selections, bookmark web pages, et al.
  • File Manager. Rollator touts a full external file manager for software engineers, keeping statistics of downloads, managing files and their signatures, and optionally run-time testing checksums to ensure files match stored signatures.
  • Multiple Users. Multiple users can edit and administrate the weblog.
  • Standards Compliant. Rollator generates XHTML 1.1, CSS 2.0, and RSS 2.0 feeds.

You can see that I’ve put quite a bit of time into this. I’m still working diligently in regards to cleaning up the entire structure and making it a full ‘upload and use’ system.

One of the primary internal functional changes to Rollator, besides becoming a CMS unto it’s own right – from it’s old blog days, is to tout full administrative functionality; with not only a localized ‘root’, or ‘Administration’ user, but to offer subusers various access to editing and modifications, et al.

After re-implementing my cookie logic to use PHP sessions instead, I figured I might do a bit of cleanup of the backend interface; it’s quite usable, as you can see in this elder version, but lacks a bit of refining polish.

One of the simple changes rolled into my existing system uses quite a bit of my initally-planned functionale. This is the ability to understand idling users; or people who login and neglect to post, or logout of the interface for a specific amount of time. Heck, we’ve all done it.

After implementing my idlecheck system, I figured it’d be much more logical and easier on the mind to give the user feedback as to various aspects of this. One of these features is my Administrative Toolbar, present atop of every internal functionale; it provides information as to what has occured, based upon what the user has entered.

One of these is, ta-da the display of this idle time. It’s quite trivial, and fairly unnecessary, as Rollator will, in plain english, tell the user if it logs them out, and why.

This data is stored as a numeric, which is the offset since the last point of activity, and the current time. I store this as a number of seconds, both for the ‘idle since’ numeric, and the ‘overall time’. Getting deeper into this logic is beyond the scope of this article.

However, I created a simple function I call prettytime() which will take an argument as a number of seconds, and convert it to a number of minutes and seconds, outputting this as a rather legable, human friendly string.

It’s a bit tight, and not horribly commented, but quite easy to get the gist of:

function prettytime($time) { // Returns an arbitrary pretty date of minutes and seconds, // assumes strings are in seconds. if (is_numeric($time)) { // Let’s get this messy math out of the way $minutes = floor(round(($time / 60) , 2)); $seconds = $time – ($minutes * 60); $string = ($minutes != “0”) ? ”$minutes minute” : “”; $string .= ($minutes > “1”) ? “s” : “”; if ($minutes != “0” && $seconds != “0”) $string .= ”, ”; $string .= ($seconds != “0”) ? ”$seconds second” : “”; $string .= ($seconds > “1”) ? “s” : “”; return $string; } }

It’s pretty simple in nature, and there’s just a few things I’ve done to make it nicer. If either of these (second, minute) are above 1, it will append an ’s’, so you will get data such as 2 minutes, 1 second, and 14 seconds, respectively.

Hope it helps you out.

I’ve opted to clean up the front page as well as other things locally. Some of these things I have decided should be deprecated, for instance, the front page has been becoming rather busy and overfull – there is no reason for a display of the last 5 songs I’ve listened to, and with my enhanced calendar in the upper left corner, there is no longer any feasable reason for my elder styled archive search being displayed in monthly increments.

I’ve kicked the music down to the last song, because I happen to like an archive of what I’ve been listening to since the creation of the applet, so I’ll continue to store and display it, albiet a bit less ostentatiously.

My “Latest Entries” has been quelched to five entries, and I’ve taken into consideration doing a ‘hard wrap’ of the ‘QuickURLs’ blogging functionality I introduced late last year.

The file manager has been retooled, cutting code by nearly a third since it’s implementation – it is at an interm state, but is quite fast, and will be faster with my next set of modifications I have set to roll out.

It’s nice to shed a bit of weight, after all.

Shawn’s Blue Cheez Burger

· 4 pounds ground sirloin · salt and freshly ground pepper · 16 oz crumbled blue cheese · 4 tbsp Worcestershire sauce · 4 Scallions, finely chopped · 4 tbsp olive oil · a few sprigs of Cilantro · 8 hamburger buns

Preheat the grill. Make it nice and hot. Divide the meat into sixteen portions, forming each portion into a round patty. With a large wooden spoon, mix the Worcestershire and blue cheese until nice and gooey. Peal the cilantro leaves from the stem. Discard the stems. Fold in the cilantro leaves and scallions. Place a quarter of the blue cheese mixture between two patties and squeeze the edges firmly together to seal the burger. Dip in the oil. Arrange the burgers, oil side down, on the hot grate and grill until nicely browned, usually 3-4 minutes. Brush the other side lightly with olive oil and season with the salt and pepper. Turn with a spatula and continue grilling till cooked to taste. Place on buns, serve. I suggest a nice soft drink that is light in sugar, and a side of browned fries.

Enjoy your meal!