<?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-5216435399363318841</id><updated>2008-09-04T16:43:53.217-07:00</updated><title type='text'>Random Scribbles</title><subtitle type='html'>Odds and ends of code.</subtitle><link rel='alternate' type='text/html' href='http://ken.upshiftstudios.com/'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5216435399363318841/posts/default'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ken.upshiftstudios.com/atom.xml'/><author><name>Ken</name><uri>http://www.blogger.com/profile/03043413434793395642</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5216435399363318841.post-3906803043235752838</id><published>2008-09-04T16:42:00.000-07:00</published><updated>2008-09-04T16:43:53.234-07:00</updated><title type='text'>CRC32</title><content type='html'>Here's an implementation of the CRC32 algorithm in REALbasic.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ken.upshiftstudios.com/stuff/crc32.zip"&gt;Download&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://ken.upshiftstudios.com/2008/09/crc32.html' title='CRC32'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5216435399363318841&amp;postID=3906803043235752838' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://ken.upshiftstudios.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5216435399363318841/posts/default/3906803043235752838'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5216435399363318841/posts/default/3906803043235752838'/><author><name>Ken</name><uri>http://www.blogger.com/profile/03043413434793395642</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-5216435399363318841.post-3551509266719476381</id><published>2008-08-19T18:38:00.000-07:00</published><updated>2008-08-19T18:42:57.287-07:00</updated><title type='text'>Simple Lexer &amp; Parser</title><content type='html'>By popular demand, I've written a simple lexical analyzer and grammar parser in REALbasic.  The language itself is very simple; all it does is provide an interface to set named switches on or off, but it does provide a framework for properly analyzing a language.&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ken.upshiftstudios.com/stuff/lightswitchlang.zip"&gt;Download&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://ken.upshiftstudios.com/2008/08/simple-lexer-parser.html' title='Simple Lexer &amp; Parser'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5216435399363318841&amp;postID=3551509266719476381' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://ken.upshiftstudios.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5216435399363318841/posts/default/3551509266719476381'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5216435399363318841/posts/default/3551509266719476381'/><author><name>Ken</name><uri>http://www.blogger.com/profile/03043413434793395642</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-5216435399363318841.post-2621725093102689323</id><published>2008-08-11T20:58:00.000-07:00</published><updated>2008-08-11T21:06:22.113-07:00</updated><title type='text'>Win32 Files on the Clipboard</title><content type='html'>REALbasic does not have an easy way for you to add FolderItems to the clipboard.  Why would you want such a thing?  Perhaps to mimic Explorer's method of copying and pasting files, or to give your app some last minute polish.&lt;br /&gt;&lt;br /&gt;Either way, here it is for your enjoyment.  Win32 only at present; sorry Mac people.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ken.upshiftstudios.com/stuff/clipboardfolderitem.zip"&gt;Download&lt;/a&gt;</content><link rel='alternate' type='text/html' href='http://ken.upshiftstudios.com/2008/08/win32-files-on-clipboard.html' title='Win32 Files on the Clipboard'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5216435399363318841&amp;postID=2621725093102689323' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://ken.upshiftstudios.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5216435399363318841/posts/default/2621725093102689323'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5216435399363318841/posts/default/2621725093102689323'/><author><name>Ken</name><uri>http://www.blogger.com/profile/03043413434793395642</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-5216435399363318841.post-9137155243081980043</id><published>2008-06-16T13:09:00.000-07:00</published><updated>2008-06-16T13:15:15.465-07:00</updated><title type='text'>SHA512</title><content type='html'>Someone on the RB IRC channel needed this, and I knew I was about to need a hashing algorithm, so I figured I'd oblige and port some C code over.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ken.upshiftstudios.com/stuff/sha512.zip"&gt;Download&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The SHA512 class has exactly the same interface as the MD5Digest class; you can simply replace one for the other if need be.  Further details are included with the demo application.</content><link rel='alternate' type='text/html' href='http://ken.upshiftstudios.com/2008/06/sha512.html' title='SHA512'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5216435399363318841&amp;postID=9137155243081980043' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://ken.upshiftstudios.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5216435399363318841/posts/default/9137155243081980043'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5216435399363318841/posts/default/9137155243081980043'/><author><name>Ken</name><uri>http://www.blogger.com/profile/03043413434793395642</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-5216435399363318841.post-3330922640994605634</id><published>2008-06-11T12:04:00.000-07:00</published><updated>2008-06-11T12:28:23.464-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='REALbasic'/><category scheme='http://www.blogger.com/atom/ns#' term='Win32'/><title type='text'>AutoUpdate</title><content type='html'>Well, because someone asked about this, I'm resurrecting it.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ken.upshiftstudios.com/stuff/autoupdate.zip"&gt;Download&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;AutoUpdate is a module for REALbasic that allows your app to download an update from the Internet and relaunch itself.  Currently, the scope of the module is very limited: Win32 is the only supported platform, and it can only update the executable file (which was fine up until very recently when RB moved its libraries outside the executable).</content><link rel='alternate' type='text/html' href='http://ken.upshiftstudios.com/2008/06/autoupdate.html' title='AutoUpdate'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5216435399363318841&amp;postID=3330922640994605634' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://ken.upshiftstudios.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5216435399363318841/posts/default/3330922640994605634'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5216435399363318841/posts/default/3330922640994605634'/><author><name>Ken</name><uri>http://www.blogger.com/profile/03043413434793395642</uri><email>noreply@blogger.com</email></author></entry><entry><id>tag:blogger.com,1999:blog-5216435399363318841.post-7575506017539652313</id><published>2008-06-11T11:48:00.000-07:00</published><updated>2008-06-11T12:33:29.542-07:00</updated><title type='text'>Greetings!</title><content type='html'>I am a software developer.  As such, I write &lt;span style="font-style: italic;"&gt;a lot&lt;/span&gt; of code.  Occasionally, some of it is useful, and somewhat reusable.  If it's something I can share, it will inevitably end up here.&lt;br /&gt;&lt;br /&gt;I primarily develop in REALbasic, though I have been known to dabble in C and C++ on occasion, and some other languages on the rare occasion.&lt;br /&gt;&lt;br /&gt;All stuff I provide here - unless otherwise noted - is released as free software without warranty.  Basically that means you can do whatever you want with this stuff, but don't come crying back to me when something bad happens that this stuff is directly or indirectly responsible for.&lt;br /&gt;&lt;br /&gt;Not that I'm out to screw anybody; just need to legally cover my butt, that's all.&lt;br /&gt;&lt;br /&gt;Also, if you use my stuff, I'd really appreciate it if you'd throw a few bucks my way.  My PayPal account is &lt;a href="mailto:buy@upshiftstudios.com"&gt;buy@upshiftstudios.com&lt;/a&gt; for those feeling generous.  If you don't feel like doing that, the least you could do is comment on the stuff you used; I like getting feedback from people.&lt;br /&gt;&lt;br /&gt;Enjoy.</content><link rel='alternate' type='text/html' href='http://ken.upshiftstudios.com/2008/06/greetings.html' title='Greetings!'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5216435399363318841&amp;postID=7575506017539652313' title='0 Comments'/><link rel='replies' type='application/atom+xml' href='http://ken.upshiftstudios.com/atom.xml' title='Post Comments'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5216435399363318841/posts/default/7575506017539652313'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5216435399363318841/posts/default/7575506017539652313'/><author><name>Ken</name><uri>http://www.blogger.com/profile/03043413434793395642</uri><email>noreply@blogger.com</email></author></entry></feed>