4 Weeks of Code

07.12.2015

For the better of the last month I've been working on 1 chunk of code at work. Normally work has 2-3 days chunks at best. Why is this such a big chunk? Basically because it took over 2 weeks for me to figure out what the hell I was doing.

Users have the option to create alerts and get notified when a matching deal occurs. Right now they type in a keyword and behind the scenes magic figures out if that keyword maps to a store, a brand, one of our categories, and/or other stuff. It's magic. It's great when it works (and when I've looked at it, it's worked more than it hasn't. When it doesn't work... well, it doesn't.

Along from their came my task. Remake the alert notification. There was a nice little mock up of what all it should have. Fields for category, store, brand, and some other stuff that's pretty straight forward. We've got tools so that if someone starts typing in the name of a store or brand the autocomplete kicks in and shows options. That was all great until i got to the Category.

Who is going to know the way our Categories are set up? My first pass had a list of all the categories and their path, so that if you wanted iPhone cases you would scroll down a list to:
     Electronics > Phones & Cell Phones > Apple iPhones > iPhone Accessories > iPhone Cases
Obviously that wasn't going to work.

The existing autocomplete functionality only matches at the beginning of what's typed. Typing "iPhone" gets no matches because nothing starts with "iPhone" (it's under "Electronics", and then down 4 more levels).

After more miss-starts than I want to count, I saw down with Keith and Matt (seperately) at work and made up something that might work. An old fashioned MicroSoft ComboBox. It's starts out as a drop down list with the top level of categories, and each selection re-populates the list with the next level underneath. Alternately, you can start typing in the field and anything that matches (not just at the beginning of the text) will populate the list. For both, as you select your category a little breadcrumb trail of the path you've made is shown so that you can back out or pick back up in the middle.

It sounded good. I liked the idea. I knew how to make about 20% of it.

The majority of the past 2 weeks has been writing JavaScript. My JavaScript is weak. People can do a whole lot more with JavaScript than I ever imagined. What I've bene writing HAD to be JavaScript due to how the framework is laid out. I started writing things from scratch. That didn't work - there were too many existing conflicts. I tried to hack the existing autocomplete function(s). That didn't work at first because I was trying to do everything at once. After a frustration-thon, I backed up and took baby steps.

Break this down into functional parts with dummy data, then fill it with the right data. That's how I used to make web pages, why did I stop?

From there I took baby steps. Lots and lots of baby steps. I started with the existing autocomplete field and functions, copied them to a new file, and then proceeded to rip everything out piece by piece, which forced me to learn how it worked (read: JavaScript). It took longer than I wanted, but I eventually got what I wanted. I ComboBox you can type in or instead make selections from. A breadcrumb trail of the categories selected is dynamically populated, and you can remove one if you want - and all the sub-categories the removed category are removed too.

I haven't worked on the alert redesign for a month. I've worked on a damn ComboBox for a month. If I knew what I was doing to start with, it should have taken about 3 days. I wish I could chalk it up to the new job learning curve, but I've been there 7 months now, and if I knew the JavaScript that you would think would come along with 20 years of web design I should have grasped what was going on faster. I'm still not finished - there's some cross browser testing to be done, and I'm sure once I open the code up to a second set of eyes some optimization tweaks will come forward. But I'm ready to be done with this one as it's whooped my butt. Hopefully the result will be good enough to make the whooping worthwhile.


programming/interweb

Russellmania 2015 - Finally

06.25.2015

After nearly 3 months of nothing going on, the new and improved Russellmania is now available with less content!

Why less content? The last version of the site had been live for almost 6 years. There was a lot of bloated content. I had made my own content management system. Over the course of those 6 years I both forgot a lot of what was going on in my head when I wrote that code - to the point it was a pain to add anything new - as well as learned better ways to write that old code. The problem there was the code was so twisted about to make the site properly work, I knew trying to tweak anything would probably break the whole site. For the past year I've been meaning to start over. So I did.

Instead of making everything from scratch I based the layout on a responsive template. For once, I'm using a white background - that freaks me out a little. I went back and had to tweak old blog entries to make them layout properly in HTML5. There will still be some weird styling issues with old posts, but everything should be readable. Old links may be broken (well, that's always the case). Internal links to gaming stuff won't work unless it's a Zombie Mall post. I'm not hand-writing HTML in my blog post entries anymore. Instead I'm using an editor that's smarter than I am and converts all of this plain text properly. No more fancy layouts in my blog posts! This also affects the old posts, as the pop up gallery viewer I was using is no more.

Enjoy the new Russellmania. Don't be surprised as little things change as I notice them, probably right after you, the public, get annoyed by something and have a deep desire to bring it to my attention.


programming/interweb

Is it too early for summer vacation?

03.29.2015

The past month has seen little activity here on the old 'Mania. I've got plenty of stuff going on, just nothing really noteworthy enough to plop down words to. I guess that means it's time to take another little blog break. Of course last time that happened I think I made 3 posts in the following week.

Maybe that'll happen again?


random

Jobz

03.10.2015

My good close personal friend Chas G. "Sugar" Pop-lin II is now in search of a job.

His job search comes on the heels of the conclusion of my job search, and such is the way of our intertwined lives. We can trace our history to September of 1984 and how our lives have been impacted by a fateful morning before 10th grade Health class. But this isn't about Jer. He has his own internet to spout forth what a wonderful employee he is and a boon to any employer. No, this is about random trivia that goes through my head.

Jerry has had 4 full-time jobs since I've known him. Maybe add in 2 more if you count summer jobs before he became a computer professional. After my birthday last week, it hit me that I got my first job at 16, which means I've been working now for 30 years. 30 years. That's a lot of working, but I've worked at a lot of places.

  1. My first job, the one when I was 16, was in the pharmacy at Humana Hospital.
  2. Next I went to work at the Brimingham-Southern Library as a work-study job, but I still maxed out the hours they would let me work. After 1 year at school, I returned to Humana for a year or two (it's funny but I can't really remember how long I was there).
  3. I next entered the realm of retail by working at Disc Connections, Alabama's first all-compact disc store.
  4. Wanting a change, I went to work for Coca-Cola. For 12 hours. Then I went back to selling cds.
  5. Eventually I made my way back to school, and was temporarily laid of from the cd store while something was going on with the lease. In the interim, I started working at All Star Movies (not Alabama's first all-videotape store), and didn't go back to the cd store. I managed to pick up a work study job at school to keep me busy between classes.
  6. Trying to get a little more money, I left the video store and went to BookStar where I shelved books. For a month. Then I was offered a raise to come back to the video store. So I did.
  7. With a year of school left, I got my first professional job at Sirsi.
  8. The job at Sirsi was pretty much "get a little experience and then go get a better job", and a little after a year and right before graduation I left to go to Sword Microsystems, which started my path of Web Development.
  9. I'm not really sure why, but I left Sirsi to go to ITC Deltacom and do ASP.net.
  10. I was ready to leave after a year and was trying to line up another job. I was posting my resume to jobs and hearing back from recruiters. One of those recruiters managed to get me a job at NetMechanic.
  11. After 3 days at NetMechanic I knew I was in over my head with their style of perl/cgi programming. I had been interviewing where Jerry worked, at Research Genetics, and finally got a call from them. Due to however the recruiter had set things p at NetMechanic, I had to finish out the week there before going to Research Genetics.
  12. Eventually Research Genetics is closed down and I get laid off. I get lucky and go work for my old boss at Open Biosystems as a contractor.
  13. 8 months into contracting it becomes evident I need a real job, with benefits! Jerry steps up again and finds a way to bring me over to Spiritus.
  14. Thanks to funding cuts, I get laid of from Spiritus. I interview anywhere for anything. Again a recruiter finds me a job, this time for a pharmaceutical/hardware company in Decatur. A week into the job I find out this one is way over my head after talking to the guy that had originally been hired to write the code. Do you see a pattern with me and recruiters?
  15. After the week in Decatur (I honestly can't remember the name of the company, the recruiter, anyone there....) I get a call from Corr Wireless. I was vastly overqualified for the position they were looking to fill, but at least it was a job I knew I could do.
  16. 3 months into the Corr Wireless job I get a call from Keith that there's an opening at Westar that I would be a good fit for. Turnover at Corr was horrible - the day after I turned in my notice they offered me the IT Director (my boss) job as the IT Director also turned in his notice. I turn them down and go to Westar. I stay at Westar until I get a call from Jim saying my old job at Spiritus is again available. I return to Spiritus while staying on part-time at Westar (for about 2 years).
  17. Once again the victim of funding cuts, I get laid off from Spiritus. The job search takes longer this time. Close to the 4-month mark I'm offered a job at Davidson Technologies. I take the job even though I'm not really sure what the job is for, and the few details I've heard I'm not sure I can do them.
  18. After a week at Davidson I finally hear back from Dealnews. I end up spending 2 weeks at Davidson (still not sure what I was supposed to be doing, something about mobile app and test plans) before going to Dealnews - where I know both what I'm supposed ot be doing and how to do it.

30 years. 18 employers. Four of them even hired me twice. There are places I can't remember the name of, and places I can't remember anyone that I worked with. I don't know if that's due to the number of places I've worked or the 30 year time span.

Jerry has a lot more job hopping if he wants to catch up with me. I hope he doesn't try. I'd like to not switch jobs again for a long, long time. Maybe ever.


random

Workshop Games Begone

02.10.2015

For some reason it's hard to let old websites die. Once you go through the impossible task of finding a domain name that isn't taken, but still close to a combination of words you want, there's a certain pride in ownership of that name. Plus, if I thought of a name it's only a matter of time before someone else thinks of it, and I hate being the person that thinks of a name after it's been taken.

I registered russellmania.com in August of 1999. Most of the search engine hits are looking for

When I've had a domain for 15+ years, the odds are good I'm going to hold on to it until I will it on to WWE Jason. Honestly, he asked for it.

In Feb 2013 I started another website on a lark. I had been working on my Zombie Mall boardgame and wondering where to host the files. Over on Board Game Geek a flame war (of sorts) had started thanks to Games Workshop trying to enforce their copyright of the term "Space Marine" against an author who was using the term in a way which had nothing to do with the Games Workshop universe. Games Workshop is universally hated among the hardcore board gaming sect that doesn't play Games Workshop games because they're quick to jump on anyone close to threatening, abusing, or using their intellectual property. Intellectual property is how they make money, so you can't really blame them - Steve Jackson does it all the time.

The smart ass in me was poking around and noticed the hyphen in the http://www.games-workshop.com/ domain. I wondered if "workshop-games" was taken. It wasn't! $15 later I had a new domain name with which to host my Zombie Mall files. I made sure that the website in no way resembled the Games Workshop site, not did it even mention them. Now I could wave my finger in the face of he British gaming jugernaut when they claimed I was infringing on their name.

They never showed their face. Poopheads.

In the interim I played around with some more up-to-date design methods than I had been using at work (or even on this site). I added a download tracker so I could see what files were be downloaded, and to what countries!

Over time, the site became more of a chore and infringed on the fun I was having putting together my boardgame rules and pieces. After enough time, I got to the point where I didn't really want to make more game rules. It was becoming a chore I didn't even want to do.

When the domain came up for renewal in 2015 I decided to let it lapse. I moved the files to Dropbox where anyone interested could still download the files, the files I hand't touched in almost a year. I updated links on Board Game Geek to point to the new locations. And now I've no longer got a domain to worry about keeping up to date or hogging up loads of bandwidth.

But it's not easy to just let it go. Even though I've left it alone for a year. Maybe this is what it's like when the kids move out?


programming/interweb

Blog Archive

As always, correct spelling is optional in any blog entry. Keep in mind that any links more than a year old may not be active, especially the ones pointing back to Russellmania (I like to move things around!).

Tags have been added to posts back to 2005. There may be an occasional old blog that gets added to the tag list, but in reality what could be noteworthy from that far back?

Blog Tags

3D Printer (26)
4ground (32)
4ground-mall (40)
action figures/toys (10)
airbrush (7)
Aliens (1)
Amazon (12)
antenocitisworkshop (11)
Atlas O Gauge (2)
Batman Miniature Game (2)
Battletech (1)
belt sander (12)
Blood Bowl (4)
boardgames (77)
books/comics (19)
computers hate me (5)
conveyances (15)
diet (53)
dreams (7)
fallout (1)
Foundry (3)
Gale Force Nine (1)
game dev (22)
gaming miniatures (227)
gaslands (10)
gastric sleeve (34)
Green Stuff World (2)
Hasslefree (9)
Hero Forge (1)
hobbies (101)
Jailbirds Minis (1)
kevin smith (1)
Knight Models (2)
malifaux (2)
Marvel Crisis Protocol (2)
mckays (1)
models (9)
mom (32)
moon light (5)
movies/tv/dvd (60)
ninja division (1)
Pathfinder Deepcuts (1)
pilonidal cyst (5)
plastcraft (2)
programming/interweb (41)
rambling (60)
random (365)
random maintenance (3)
Reaper Bones (3)
reaper chronoscape (32)
renovation/remodelling (24)
road trip (26)
salesforce (1)
sarissa precission (2)
scenery (16)
studio miniatures (3)
ttcombat (12)
video games (51)
walking dead (36)
wargame foundry (3)
work (6)
wrestling (45)
zombicide (1)
Zombicide Invader (19)
zombie mall (23)