New Colbie.Org

November 26, 2008

Well, I actually did it.  I moved colbie.org from static HTML hosting to phpBB 3 on freeforums.org.  I must tell you I’m proud of myself for getting it to this point.  Over there I’m paying to have the domain “parked” (as they call it) and the ads removed so the visitors aren’t inundated with pointless banners and Flash crap.  I think that’s where I might’ve gotten Vundo.  This is a really big step in improving my own pragmatism.  Colbie Caillat fans deserve not only a place to find information, but also to ask questions of other fans.  Now they can! And I almost wrote no code.

Almost.  It’s a hosted solution, a type which I’m becoming particularly fond of and you may have heard called ASP (application service provider).  That being said you don’t get to upload your own server/PHP scripts so I’ve had to make do with creating a custom BBCode which includes some JavaScript to write out my analytics ID and replace the search box with an iTunes link.  The latter is because there’s already a search box at the top of the thread/post list so the second one is completely redundant and that’s prime real estate for important stuff like affiliate links.  The site’s gotta support itself!

I didn’t want to stop there, I started looking into other things and trying to figure out how to keep that there when the user is logged in (since the script it uses is launched from HTML that is only present for unauthenticated viewers).  However, it is important for it to simply simmer.  At least it’s at a point where I can start adding stuff rather than just try to get it going.  Gotta just keep pushing that big stone wheel until it’s rolling on its own.


Men and Sweaters

November 21, 2008

I sat at the end of a bench behind a two-person table in the cafeteria at lunch, pouring over some printed pages from Wikipedia.  I couldn’t help but overhear the large woman on the same bench as me at the next table with her two friends.

“Men and sweaters, ugh!  It’s just not attractive.  There’s a picture of Dolph Lundgren in a sweater and even that … it’s just bad.”

Imagine that: someone completely apposed to a type of shirt and not a particular style.  Turtle-neck, V-neck, long sleeves, short sleeves, cardigan, pull-over, wool, synthetic,  … doesn’t matter.  They’re all the same “sweaters” that can go on men and suddenly become a bad thing.  And here I am wearing a new sweater from Old Navy not 5 feet away.  That’s tact!

Oh, and Dolph?  Wow.

She was still ranting about this as I left.  I wonder if she even noticed I was wearing one.


Wrath of the Belch Queen

November 17, 2008

I’ve been playing a lot of different video games lately, trying to get the feel for them.  I have this weird idea of making one that has nigh fully resurfaced after a decade of sinking behind my business logic programming skills.  There are other inspirations behind this new fetish which I will decline to mention here, but their spirit is compelling to me (you know who you are).

Missy bought me a copy of Wrath of the Lich King, the latest World of Warcraft expansion, and I played that a little this past weekend along with Morrowind (which I have a new-found respect for) and a brief stint with Witchaven.  Let’s discuss them in that order.

WoW’s WotLK is along the same vein as its past expansion The Burning Crusade which left behind a stank of sulfuric residue in my mental crevices which has not been fully purged.  And it appears I’m not alone:

Gabriel suggested that if I’m ever going to jump in to Wrath, I should jump in soon, because if I wait too long it’ll be like going to high school with an older brother who refuses to recognize you in the hall. But that’s precisely why I won’t play it: regimented, codified, other-directed “leisure” is precisely why I got out the first Goddamned time.

Beyond the playership segregation the gameplay is exactly the same as before, at least in the initial area, and has the feeling of a gigantic, virtual ADD support group.  There’s tons of people, breezing through inane quest text full of unexpressed <NPC emotes> in pointy brackets, and trying to stuff themselves full of loot like it was pie at an eating contest.  The content is disposable and meant to be devoured and left behind to go stale and be shat on by the next expansion.  It looks great, it sounds great, it plays like a super upgrade to Golden Axe, but there isn’t much beyond said shell.  That said the combat is still fun to an extent and I’m enjoying checking off Achievements.

Morrowind is the 3rd Elder Scrolls game, the prior one being Daggerfall and the latter being Oblivion.  I bought it expecting Daggerfall, a bug which I fell in love with after discovering the game within, and became sorely disappointed and disillusioned with the series and Bethseda .. err.. Bethesda.  Upon revisiting this crusty (2002) 3D role-playing experience, I’ve been able to satisfy a more niche aspect of video games: immersion.

Oh yes, it’s a word that’s been thrown around and used in contextually barren conversations, but there is definitely a notch more immersion here than in WoW or even Oblivion.  Leveling isn’t scaled so you can go get your ass kicked if you venture out beyond the comfort area for your character, which is how it should be.  There is no fast travel but there are lots of options in and around towns for skipping long distances: mage teleports, ships, and big strider “buses”.

Unfortunately, Morrowind is a shining example of the some problems which still annoy me today.

NPC’s are mostly stupid and lifeless.  They do two things: walk around and stand around … or be dead.  In Oblivion you can add some superfluous actions to that list, but in general they’re just as stupid.  Since the NPC’s don’t do anything, it’s hardly believable that any community in the game actually functions as they tell you it does.  Oh yes yes, we mine or farm or make weapons or whatever.  Well, do it!  With these dolts’ lives revolving around the player, it’s difficult to become truly immersed.

WoW NPC’s are even worse, but they’ve gotten better over time.  Now you’ll actually see little skirmishes between warring NPC factions which is a nice touch.  It is still Warcraft after all.

Well, I’m done with lunch and it’s time to get back to fixing bugs and dreaming about my perfect game.


WC2 Building Computer-Friendly Maps

November 15, 2008

This is an old list of notes I was making while playing with the Warcraft II Map Editor a month back.

  • All passages at least 3 units wide
  • Allies attack each other
  • Will build new town hall if original is too far away (and there’s room)
  • Won’t defend peons/peasants
  • Burn out on peons/peasants ~ any way to set limit :S
  • Mages will try to walk past towers to attack other buildings (e.g. die)
  • Like to build their own T.H. and other buildings
  • Sea attack needs instant opponents or they clog up
  • Oil patch must NOT be near shore, or they clog up
  • AI will attack if all its buildings are destroyed (ally or enemy)
  • ^ Good for starting a battle at the beginning of a map
  • Always try to build to the upper-left

Google News “Sun” Picture

November 14, 2008

Appropriate or fail?

googlenews-sun-picture


S3 Encryption Idea

November 10, 2008

I was thinking more about drive emulation of S3 whereby you could mount a bucket at a drive.  Part of the issue I have is the security of the cache on the local machine.  Drives are so cheap and big that it’s insane to not just have it cache everything locally while you’re working with it.  The use of ETag, LastModified, and MD5 object headers on S3 seems sufficient enough to determine whether or not to get a new version of a file if you even want automatic synchronization.  I’d prefer to tell it when to get the files since it’s time/bandwidth consuming and costs money.  Windows Explorer shouldn’t dictate when I get something from S3.

Anyway, I digress.  Obviously you’d want to encrypt the local cache and with my S3Arch script I’m relying on TrueCrypt for that.  However, I did think about what I would do if I had to do the encryption myself and here’s the idea I had:

The encryption key is an object on S3.

Thus you have to first access S3 somehow before you can decrypt any of the local cache, but once that’s been done it’ll be kept in memory until your computer goes on standby or whatever.  This also means the encryption key can be much larger and more complex, hopefully then it lasts longer.  How do you access S3 in the first place?  That’s a good question!


No Home for this Laptop

November 10, 2008

I’m sitting here typing on a fresh, fully-updated install of Ubuntu on Missy’s laptop.  The installation of Windows was acting up and it appears to be due to a faulty hard drive.  I swapped that out, popped in the Windows Home disk, and went through the grueling hour-long wait of a full format (wanted to make sure this HD worked) and install only to discover that the product key “is not valid”.  By the way, it’s the key printed on a tag on the bottom of the laptop, so I know it’s valid for Windows Home but I’m guessing not SP2.  Since I couldn’t get into Windows before, I had no way of getting the key I was using and I haven’t had any luck accessing the old drive when put inside an external USB enclosure I have.

So, sitting there pissed at Windows rejecting that key and a couple others I had from valid copies I’d bought, I remembered I had burned an Ubuntu disk a while ago to try.  While my reasons for not running it on my own development laptop remain, I couldn’t think of good ones why not to put it on this computer used for either browsing the web or a flat spot to put your coffee cup.  I’m glad I decided to put it on here, it’s been fun to try.  Part of the amusement might be my lack of knowledge, so it’s blissful ignorance.  The text rendering/fonts is still amateurish, but well I can forget for now.

It got me thinking that a base operating system probably should be free and community driven, not just by individuals but organizations and corporations.  Isn’t the idea of group harmony something we all strive for at some level?  Aside from the hippy shit aspect of it, I believe that a collaborative core would be beneficial to humankind.  There’s nothing to say that a particular vendor such as Apple or Microsoft wouldn’t have their own brand (though I’d prefer them to simply add applications), but it would allow for a base architecture with universal drivers that we could all rely on and contribute to making better.  The internet and its protocols are open and have worked out rather well, maybe we could step it up a notch?

Hmm, but of course getting people to reach a consensus on anything is a challenge and especially when it comes to the different cultures of computing systems.


S3 Drive Synchronization

November 7, 2008

While I like JungleDisk, it just doesn’t provide a seamless enough experience between a local drive and my S3 bucket(s).  An additional conflicting interest is between my desire for encryption and their proprietary naming format.  Lastly, for archival purposes I never want to accidentally overwrite a file.  The whole point of an archive is long-lasting persistence, whereas a backup is simply in case you lose some immediate data that you’re working on.

There’s a plethora of applications out and coming out for interacting with S3, and not a few work like “rsync” or other command-line copy/sync programs.  The problem I have is that they’re designed more for backup than archival and they typically don’t address encryption, something I need for personal documents like taxes, receipts, etc.

Here’s where I get to the point: a one-way, recursive synchronization utility program which can be run as a scheduled task.  Okay, so that isn’t more unique than any of the other solutions I’ve seen, so let me brainstorm some features …

  • AWS Key and Secret Key data is read from a single file or passed in via parameters.  The file itself will be “lightly” encrypted based on information about the currently-logged-in user, the current machine, and the location of the file itself. That way it can’t be easily cracked if gotten remotely or simply copied off to removable drive.
  • Protect local files with TrueCrypt.  This is where I’ll have my bucket show up as a “drive”, because that drive will be a TrueCrypt volume.  Interacting with it will be nearly as fast as a normal, uncompressed drive and everything in it is well encrypted compared to me coming up with a scheme of my own.  The main thing here is that the contents aren’t easily scraped remotely, should someone get drive-level access, and if my laptop is stolen or the drive mirrored the data is basically garbage to anyone else.
  • Protect remote files with … ?  Any personal files I put on S3, I’m gonna want to encrypt so that someone intercepting them can’t read their contents.  I was thinking of putting the encryption used and a hint of the key in the attributes.  The hint isn’t a question so much as a phrase that will jog my memory or serve as a key in a decryption keys table on my local machine.
  • Once copied, twice shy!  Once a file is put on S3 it will never be overwritten by this utility.  Instead it’ll need to be done with something else, like Bucket Explorer.
  • Ignore crap files like Thumbs.db, Subversion folders, etc.
  • Easy install/usage.  What I’m thinking is you download the script to the local folder you want to keep sync’ed.  Then you run it with some configuration parameters so it will add a scheduled task and encrypt your key/secret key/decryption keys in a local file.

I’m planning on writing this in JScript to start and putting it in ObremSDK.  So to get it, I’ll just go to that page and download the script.  You’ll be able to run it with obrunski.cmd if you have it, but typically you’ll just configure/start it via cscript.exe.

S3Sync.js Arguments:

  • install: Create Scheduled Task and local settings file.  If this parameter is not present then the synchronization will proceed to run.
  • uninstall: Delete Scheduled Task and local settings file.  Does not delete any local files besides settings.
  • key: AWS Access Key, e.g. user ID.
  • secret: AWS Secret Key, e.g. password.
  • dkey: Decryption key; zero or more allowed.
  • ekey: Encryption key; zero or one allowed.
  • bucket: Name of bucket, e.g. S3 “drive”.
  • path: Remote path, defaults to “/”.
  • ignore: Regular expression pattern (not case sensitive) applied to file names for which to ignore on upload (does not effect download).  Defaults to ^(\..*|Thumbs\.db)$ which means it skips any file/folder that begins with a period or is named Thumbs.db.
  • download: Copies down all the files from S3.  This can be done in conjunction with install.

The scheduled task will actually run it with wscript.exe instead of cscript.exe, so it can be done silently.  An advanced user can easily change this so they can see it run/log in real-time.


Follow

Get every new post delivered to your Inbox.