Darkain - WORK WORK WORK WORK [Darkain.com] [Photo Gallery] [Fractal Gallery]
October 10th, 2008
10:32 am
[User Picture]

[Link]

Previous Entry Add to Memories Tell a Friend Next Entry
WORK WORK WORK WORK
!!!! OKAY !!!!

Before being this awesome photographer that some of you know me for today, I was (and still am) a computer programmer. I work on countless projects, large and small. The past two years or so has been strictly web coding (PHP, SQL, XHTML, CSS, Ajax, JavaScript, etc). I havn't touched C++ in quite a while (though someday I do hope to return to RMX and "finish" it)

So, its about time that I finally mention all of these projects, mention where they stand today, and explain where I want them to head in the future.






Firstly, the longest lasting web project I've had: Darkain.com

This site is being turned into the "master server" for Metabase. What is Metabase, you ask? Well, I've ranted about it from time to time in the past. Its the core web development framework in which all of my web based projects are built on top of. It is developed completely by me, from the ground up at day one into today and through the future!! What is this "master server" that I speak of? Well, its finally time to spill the beans, since things are fairly close to going live with this part of the project....

This "master server" was originally intended to be used by my clients to log in and manage their client servers, such as setting up automatic update schedules for their metabase software. Next, this idea evolved into providing help desk ticket support for these clients as well, including automatic ticket generation for PHP, SQL, and runtime errors that occure on the site. This was to be a system that would automatically track all of this for the clients, and forward extremely detailed reports to the "master server" for quicker debugging of whats going on.... and then... the next evolution of this idea occured (which is the idea being implemented first)

What is this new idea? A universal software language translation service. I wanted to provide different language services for my own Metabase installations (mentioned below), including Japanese and Russian. The system I used on the old (and now completely deleted from all existance) "Cosplay Metabase" project had a simple static language translation file for each language. I had [info]genechildmewtwo and [info]shiguma translate all of the text entities over to Japanese for me. Well, anytime I would add a new item to the english language file, I would have to contact them in order to have them translate the phrase over to Japanese. Well, this new system I'm working on will help automate this process. Instead of having a static translation file, everything will be stored in a database, and then periotically combiled for each individual Metabase client server. There are multiple levels of translation over-rides as well, allowing each individual installation to provide their own specific translations and replacements over the ones provided by the "master server". This has already come into play in terms of what certain pages should be titled (ex: "photo gallery" vs "gallery" vs "image gallery" vs "photo stream")

Darkain.com is also going to go back to the older days of massive RSS propogation. I'm going to link it back in with my LJ account RSS feed, so that way my LJ posts become visible on that site again. I might also link it into more of my activities on Facebook as well, and become more active on this site. The idea of Darkain.com is to have a fully automated and yet non-static web site. This is the biggest, yet smallest project of them all for me.






Next up is the "little big project": Repost.Me

Yes, you read that correctly... Repost.Me is indeed a valid URL. Starting sometime this summer, Dot-ME docmains became available. Within the first 24 hours, my buddies and I rushed to find some good names before they got snached up. This is the domain I happened upon, and purchased. s00per-cow and myself are working together to create a site to rival tinyurl as well as some others (not mentioning here yet, due to things not currently implemented on ours). Go ahead, give our site a try!! Its small, its simple...






The time consumer: HagensAutoParts.com

This is my official "job" in the world right now. This is another site running off of Metabase. The database for this site is massive, and so is the amount of code customization required to keep the site afloat. This is the site thet lives on the bleeding edge of awesome. While not using every aspect of Metabase, it is always at least the most up-to-date installation publically available on the web. A lot of the new experimental stuff that I've been working on for my other sites (like menu navigation code) is being pushed live here first. Fully CSS menus, popups, etc are all working here now. A lot of the back-end administration code that isnt even finished yet is already live on this site.

Oh, and [info]xnolanx will love this one... I finally figured out some of the major problems with the site, and locked them down. Guess what? Mr. "Awesome" (not refering to myself this time) thought it would be a great idea to delete data, and re-upload it (generating new AUTO_INSERT IDs for the lines), when other data was still referencing the existing data... The entire data dependancy tree has been re-done now. Countless restrictions are in place. AND NOW ITEMS ARE UPDATED, rather than the need to delete, re-insert. I'm still unhappy with some of the dependancies within the system, such that there is duplicate data where there shouldnt be. But meh, oh well, there is too much legacy code envolved that I am doing my damnest to never ever thouch.

In the near future, quite a bit more of Metabase shall be "turned on" with this site, allowing for a lot more user interaction. By the end of the year, this is going to be quite an impressive management system for the wearhouses. I'm getting much MUCH closer to replacing all of the old legacy systems still in place today. (SCO UNIX TERMINALS, DO NOT WANT!!)






Because its cute, and I got her the domain for her b-day a while back: RynnCosplay.com

I was hosting her site on a sub-domain of my main site for a while. I thought I'd be nice and give her somethin a lil more unique. So, what do I do? I purchase her a domain, and move everything of hers over to it. She is still on my hosting space, so she pays nothing. Oh, and to clear up the confusion from before, she is the one managing the site, not I! She is the one doing all the coding and uploading. :) People last time I mentioned this got the impression that I built the site for her too... Nope nope nope, shes doing that awesome job on her own, and I'm just giving her a place to put it.






A community of expansion, GasuKan.

There is no site for this yet, but there is discussion between myself and [info]photoxpanda on the future of GasuKan, and how we do our online organization for it. For those of you that want to discuss things, head on over to #gasukan @ irc.rizon.net






AND NOW, THE BIG GUNS!!! CosplayMeetup.com

This site looks like shit. It feels like shit. It runs like shit. Why?? Well, when the version of Metabase that it runs off of was uploaded to the server at the begining of the year, I basically still considered it pre-production. It was not intended to be this heavily used quite yet, however I didn't want to continue to put cosplay photos on Darkain.com any longer. I pushed the site too soon, yes, yes I did. Also, where are all these updated I keep talking about? Heh, they are still in the works!!! Now that con season is over with, I'm focusing quite a bit more time into this site again. It has a brand new colour them (NO MORE GAYNESS PINK). It has a new feel (completely re-did the menu and navigation structure). It has a shitton of new features thanks to newer advancements in the Metabase software.

Some things, however, have been removed for the site. No more "blog" support. No more "forum" support. No more "groups" support. These features will be re-introduced sometime next year. In the mean time, the focus is on making the primary features work best, FIRST! There are some place holders on the site for some things that actually work in the current development build. Image Exif is one of these that I'm very happy to finally have working. I'm also happy that LR(2)-Mogrify also supports Exif data now. For those of you that do not know what this is, it is the included information embedded in images. It can contain things like a description, copyright name, as well as camera settings (make, model, lens, shutter speed, apreture, ISO, etc).

Another major advancement that I'm working on is the idea of previous/next image. This is an extremely complicated process, due to how the general idea of how the core system operates. Normally we think of something similar to the folder structure in windows. "Well, I have my gallery, inside of that I have a folder for my-home-con. That has 10 pictures, in order of upload date by me." This is a fairly logical and traditional system. However, it is not what I'm using. Images within the Metabase structure do not retain single ownership. Instead, each image may have multiple owners, and multiple "folder" ascociations. Think of it like tagging photos on MySpace or FaceBook, but that being the entire means of linking an image to a person. If you upload a photo into Metabase and tag a friend, that photo is now IN THEIR GALLERY as if they uploaded it. If someone leaves a comment on the photo, both people tagged in it will get notification, just as if each had uploaded it. "Uploader" has very little distiction within this system. The goal is to reduce the amount of duplicated content on the site. I as a photographer can easily take 3,000 pics a con. Why should any of those photos be re-uploaded by the individuals in the photos? Why not just link each individual photo to everyone envolved with it?

So, with that rant... I've worked out a basic system on how to navigate "previous" and "next" image to a certain extent within a system. The problem also lies within the higharchial aspect of the system. A photo will auto-ascociate with parent objects now as well. This way, looking at the "my-home-con 2008" gallery will also show images from "my-photo-shoot @ my-home-con 2008". This is being extended outwards quite a bit with all sorts of image searching functions on the site, including inheritable image tags. Now, in my system, "tags" mean what tags really mean. Tags are Metatags, similar to tagging a LJ post. Tags are simply key words/phrases that describe an object. Note that I describe it as an "object" and not an "image". Each photoshoot can have its own set of tags, which will automatically be applied to any image linked with it. Each "costume" can do the same as well for photos. But this is not the limit of what objects are. This entire metabase system is designed to be an object tree. in that idea, each image can potentially have child-objects. These are called "Credits" within Metabase. Why? Because well, it makes sense!! Its so you can "give credit" to someone within a photo. "Bob" is in my photo. Makes sense, no? Each credit can have its own set of tags and object links.

Next, brainstorming with [info]rai_kamishiro has come up with some amazingly interesting ideas for how to automatically build a group photoshoot listing for each convention. The basic idea is to pull "Costume" information from each individual who has RSVPed an event, and try to match like tag categories. Oh, I guess I forgot to mention. Tags have attributes within this system, unlike any other system I've seen to date. Back in the old Cosplay Metabase, I came up with the idea of categorizing metatags. An example: "Sailor Moon" tag would exist twice in the system, once as "Universe" and once as "Character". With this new implementation in Metabase, this idea has been extended out to support tag aliases as well. "Usagi" and "Sailor Moon" can then be aliases for one-another. Searching for one would return results for both. And back to the event system, simply search for all tags categorized as "Universe" by all current RSVPed members for a particular event. This can be further extended with the existing list of shoots scheduled on the system already to search for overlaps, or to provide suggestions to users for what to wear and when. Without getting into too much detail on this, lets just say that its fairly well thought out with how this will expand into the future as well... (INSTANT NOTIFICATIONS OMFG BUT HOW?)

When the next generation of the site goes live, not all of these features will be enabled at first. Due to how old the currently live system is, I want to get that thing replaced sooner rather than later. The new layout and theme will go up first, with a few features working. And then with the way things are designed within the current build, it allows me to make rapid modifications with minimal testing. This will ensure that things get updated as soon as possible in the future.

Oh yeah, and touching on an earlier topic... The whole translation system. When I get this up and running, would there be any multi-lingual people on my list interested in helping out with the translation project? While it was originally intended to use with CosplayMeetup specifically, I'm working on making it a more open and universal platform. I plan on opening up the translation project so that way any developer may use it free of charge. I want to start seeing more and more applications on the web go multi-lingual without the need for custom localization on each and every piece of software. I'm fairly sure that [info]genechildmewtwo and/or [info]shiguma are on-board for Japanese, and [info]sailor_asteroid for Russian. What about Spanish, French, or even British English? (needs maor UUUU!!! coloUr)... And what about canadian, eh?

Current Mood: productive
Current Music: The Slants
Tags:

(Report Bug)

Comments
 
[User Picture]
From:[info]ren_i_am
Date:October 10th, 2008 06:01 pm (UTC)
(Link)
SO MUCH NEWS. I only understood a good chunk of it but it sounds good! I look forward to seeing all the changes!

And I know I've said it before but thank you again for Rynncosplay.com - it was such a perfect gift and you are so, so great!
[User Picture]
From:[info]idolatrystudios
Date:October 10th, 2008 07:09 pm (UTC)
(Link)
Hey man, I'm looking for server space for 2 websites that I'm looking to build finally. How much would the going rate be if I went through you?
[User Picture]
From:[info]darkain
Date:October 10th, 2008 07:12 pm (UTC)
(Link)
message me online, and we'll chat :)
[User Picture]
From:[info]idolatrystudios
Date:October 10th, 2008 07:58 pm (UTC)
(Link)
Will do.
[User Picture]
From:[info]cpardo
Date:October 10th, 2008 07:54 pm (UTC)
(Link)
*head spinning* I dun get whatchoo sayin' all this computer jargon magic all da time...:)
[User Picture]
From:[info]punmasta
Date:October 10th, 2008 11:56 pm (UTC)
(Link)
TL;DR

Actually , I did read most of it, and it sounds pretty cool. I'll be very happy to have "previous" and "next" buttons, but I understand why they were so difficult to implement.
[User Picture]
From:[info]adsum_aeternum
Date:October 11th, 2008 03:41 am (UTC)
(Link)
I would offer my help for Japanese but it seems to me you have two very resourceful people already!

Sounds great though! Let me know if there's anything I can do to contribute.
[User Picture]
From:[info]sailor_asteroid
Date:October 11th, 2008 06:08 pm (UTC)
(Link)
It's kind of overwhelming to read all of what you're doing, but when I think about it, I somehow mentally keep up with all of it...? lol
Darkain.com, featuring RMX Automation Powered by LiveJournal.com