Friday, July 29, 2011

Why I'm Not a Graphic Design Major

I've been playing around with different looks, and this is the coolest one I've done.

The best one being a monocolor-ish piece of crap. Coding I can do any day. Art, not so much.

Monday, July 25, 2011

Website Visual Makeover

Well, the schedule creator has been put on hold again. I've started looking at doing an entire website makeover. And I've come up with two prototype pages:

One and Two

I want the site to be professional and easy to use. Block letters are easy to read, but maybe childish? I don't know. Thoughts? Comments? You can in fact leave comments in the box below, even though no one ever does.

Wednesday, July 20, 2011

Schedule Creator Revisited

I finished the visual aspects of my schedule creator tool earlier this summer. I never got around to actually making it work though, since that would require PHP. Instead I went and learned PHP and then created my dynamic data table.

Since that is finished, I'm turning my sites back to the schedule creator. I pulled up my color bed test page, dusted it off, and added a submit button.

The end goal is to have the user click the submit link, which will lead to a "results" PHP file, which will appear as a plain HTML file to the user. The user will save the file as their schedule file to be placed directly into their schedule folder of their ICS webspace template. The PHP file will be reusable, it'll just re-write itself for everyone, but never actually change itself.

Breaking this down, there are three problems which have to be overcome. One, create an array in which every color cell is accounted for, with their background colors. Two, send that array to the PHP document. Three, write out the table using that array.

Part one is now done, it took me about an hour, because I had to figure a couple things out. I ended up keeping the ID constant for all color blocks, and then gave each an individual class. This is backwards of normal web development, but it's easier to get a class using jQuery than it is to get an ID. One other problem is that you can't start an ID or a class with a number. So each one got a class of "block#". Then I parsed that string to get just the number, and placed it in the array each time a color block was clicked.

Part two is what I'm looking at now, and that will be the most difficult part I think. Once I have the array in PHP, displaying it will be simple.

Steampunk Immersion Computer

A co-worker told me about submersion/immersion computers, which are desktop computers taken out of the cases and placed in waterproof tanks, which are then filled with cooling liquid. It's cheaper to run because there is no need for a fan, but it's large and more difficult to move around. I looked up a few examples and this is the coolest one I found. Not only has the guy remade it as an immersion computer, he took time to make the outside as sexy as the inside. Take a look:

It's not something I'll ever have time to emulate, but I can certainly appreciate it.

Monday, July 18, 2011

Using an Iframe for Navagation Bar

On my website I have a set of drop down menus running below the header. It looks nice and it works. One problem I have with it though, is the difficulty in editing. It's basically the same code on every webpage, but I have to edit it on every webpage if I want to make changes. There are programs that will edit multiple text files at once, but I can't install them on lab computers.

I'd thought of making a single body container page, and loading content in an iframe. The problem with that is that we have only a single URL in that case. We lose the back button, we lose the ability to book mark, and all we gain is ease of editing. Ease of editing for the web designer shouldn't come at a cost to the end user, so that method is out.

Then today I started thinking about the opposite. What about having an iframe in each page that would load just the menu? I'd have to use javascript, because a link clicked in an iframe normally only loads in that iframe as opposed to the container document. However, a quick google search brought me to someone who had the same problem. And the solution was given! And it doesn't require javascript! Meaning it can't be disabled.

Javascript is almost ubiquitous, but some people do have it disabled, so using it to make the basics of a website is dangerous. But simply changing the target on a link will let it reload the parent document. No javascript, no chance at being easily broken.

Edit (12:51 pm):
Several problems were run into. First, IE doesn't allow iframes to have transparent backgrounds unless you put in a proprietary attribute of allowtransparency="true". And I ended up having to use javascript to change the height of the iframe when you hover your mouse. This keeps links under the extrended height clickable when the drop down menus are hidden, but lets you drop them down in the first place.

However, each problem has been fixed, and success have occurred! To test this, I removed the Virtual Career Fair project from the navigation menu. Removed it just once, and it's gone entirely. Amazing how much easier that is than removing it from all 30ish pages.

Friday, July 15, 2011

The Mushroom Treatment

So I'm playing EDF the other day. In the game, you are given orders and objectives by OPs (Operations), who happens to be a very nice lady who seems to care if we live or die. Sometimes she patches in Intel, who's a guy, sort of an asshole. (The entire Earth Defense Force is comprised of probably 15 people it seems).

So at the beginning of one mission, OPs is talking to Intel.

OPs: Going to actually start telling them what's going on? I doubt they appreciate being given the mushroom treatment.

Intel: Uh, I'm not familiar with that phrase, what is the mushroom treatment?"

OPs: The Mushroom Treatment, being kept in the dark and fed a steady diet of shit.

I love EDF.

Thursday, July 14, 2011


Today I spent 4 hours re-writing my input validation script. 4 hours, all of which had zero effect on what the user sees. Why do it then? Because the process flows more logically, and the entire script is only 2/3s as long as it was before. Which is good! What's even better is that it's more flexible now, it'll be easier to change.

I changed the way that the checkmarks appear, from images to background images. This gives me the ability to change the question mark to a slightly blue one when hovered over. Which is a nice change.

But that doesn't change the fact that I spent 4 hours to make zero changes to what is finally seen. It gives me a feeling of futility.

Small but Useful Improvements

With my Datatable project finished, I've been looking around for things to do. I decided to go back to my main site and just, look it over to see if I could find anywhere that could use .. improvement.

One things I found the left side navigation panel. When I first set it up as a dynamic expanding tree, I was just barely started to learn jQuery. I was also still struggling with some aspects of html, such as more advanced positioning methods. To get it to work, I made some compromises.

For example, the arrows that I use to indicate if a submenu is closed or not were created using an empty container with the background set as that image. But if a container is empty, it just doesn't appear. The easiest way to fix that is to put a space character in. It's invisible and the background image is then displayed. But if you drag select across the screen, you can see it. And, you need enough in a row to set the correct width for the container. This is what I had before: (  is the space character.)

<font class="inactive">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font>

I can fix this though, by changing the font tag to a general purpose div tag. By setting the div to display:block, I set it to display even if there is no content inside it. No spaces. The reason I didn't do this originally is that left to itself, anything that is displayed block pushes everything after it down a line. And the image of the arrow needs to be directly left of the text for that option. Enter float:left. If you set something to float, then the item that appears directly after it will not be below, but instead appear to the left or right. So using those two, I was able to change the above to:

<div class="inactive"></div>

Less code, plus the benefit of looking better to the user. Amazing what 4 months of learning can do.

Wednesday, July 13, 2011

Pornography, Wrong Because?

I was recently reading an article about Pornography. In AlJazeera no less! I won't get into talking about the article itself, it had some points, as well as a lot if internal contradictions, you can read it if you want. I was struck though by some of the comments. One in particular:
Your moral standards hit Bikini Bottom.
Pornography is wrong because it uses woman for the entertainment of others.
It's wrong because you wouldn't like your child to watch it.
It's wrong because you feel guilty after you watch those kind of things.
I'd just like to take a second to analyze this. The first line is simply ad hominem, so we can ignore it.

The second boils down to two things. 1, we are using women for the entertainment. 2, that is morally wrong. Both of these are incorrect. Pornography does use women, that is true. But is is misleading, because pornography also uses men. We use PEOPLE, not women, for entertainment. The second part is the statement that using them is wrong. But using people for entertainment isn't wrong. Movies, Television, Music, all use other people to entertain us. The content might be wrong, but the fact that other people are entertaining us isn't inherently bad.

The third line says that you shouldn't let your child watch it, and so it's morally wrong. The problem here is the author makes no differentiation between children and adults. There are many things that I wouldn't let my child do that I don't think are morally wrong. Join the military, getting married and have sex, skydiving. None of these are morally wrong. They do however, require maturity and the ability to reason, which children don't have yet. I wouldn't want my child to look at pornography. That doesn't mean it's morally wrong for an adult though.

Finally the fourth line says that it is wrong because we feel guilty after watching. Well, I don't feel guilty, and it's hardly my problem is the author does. Whether an action is ethically wrong or right cannot be dependent on feelings of guilt because feelings of guilt aren't universal. A skilled psychologist could condition someone to feel massive feelings of guilt at watching porn. That psychologist could also condition that person to feel zero guilt. Do those changeable feelings dictate that porn is morally wrong or not? No, they don't, because ethics isn't based on perception. Reality isn't based on belief. The majority at one point believed the Earth was flat, which didn't change the fact that the Earth is round. I can feel guilty after looking at porn because I believe it's morally wrong, which doesn't change the fact that porn isn't morally wrong.

Tuesday, July 12, 2011

Post 100!

This year has been pretty intense for this blog. In 2009, it received only 12 posts from your's truely. In 2010, I upped that to 18 posts, making a grand total of 30.

2011 though, has seen my flighty forget-about-you-for-months attitude towards this blog change into one of lets-actually-post-regularly. The changes are pretty self evident, as this post you are now reading is number 70 for the year. (and we're only halfway through!)

100 posts, read 'em and weep. Been a long while, and while I doubt I'll break 200 any time soon, I can say with certainty it won't take the 2 and a half years that 100 took. Thanks for readin', folks, we've got a long way to go.

Musings of a Sleep Deprived Mind

As I move into the second half of my 22nd year, I find myself pondering age. Until we reach 21, birthdays are one of the most important days of the year. Sweet 16, you can date! 18, you're legally an adult! 21, drinkin'! And then ... aging becomes bad. Suddenly you are 30, and then 50, and your life is gone.

Time speeds up as one ages. Maybe it's because we are busier, maybe it's because we are more used to it, having been around longer. But it's a rare day now that seems to be going too slow. That's one reason I enjoy my job, I have so little to do this summer that the time crawls. But while they might seem unpleasant, it's still better to be here than to be dead.

I should be working on username validation at the moment, but the past two nights in a row I got about 4 hours sleep. I can do that for one night and go through the day just fine. Two nights stretches it though, and at this point I'm just trying to get through the first part of my shift so I can go take a nap.

Speaking of naps, I wonder, is it really us waking up when we go to bed? Stargate SG1 was based around the Stargate, a device which transported people to other planets. But one we didn't mention is that to do that, it killed the person walking in, sent a record to the other stargate, and then the other stargate compiled a new person. The person never knew the difference, because they seemed to be walking in and then out. But what if the initial gate malfunctioned and didn't kill the person walking in. There would be two? Which would be the real one? With sleep, is the personality and consciousness that is ME, disappearing when I go to sleep? Does something new awake each time, inheriting my memories?

Sunday, July 10, 2011


So it's been a few days since I've written anything, and there's pretty good explanation for that. Earth Defense Force.

While Insect Armageddon is actually the 4th EDF game to be released, it's only the second to be released on the US, and so it is for all intents and purposes the sequel to EDF 2017. And it continues the legacy quite well. Bad translations, semi-okay graphics, and more huge killer bugs than you can shake a fist at. It's wonderful, and I've probably spent a good 6 hours a day on it for the past few days.

Unlike 2017, Insert Armageddon has a full list of achievements spanning the entire range of gameplay, so thousanding it out is going to be a worthy task. Kill 10,000 ants, 10,000 spiders, 5,000 ticks ... the worst will be 10,000 gunships. But it won't be too bad, I think. I've already got 330 points, and I'm close on another 65 points. The rest will just take time.

Friday, July 8, 2011

Data Table Finished

Well, finally finished with the data table entirely. For now at least. It's been added to the projects section of my website, complete with description and even links to test pages for different aspects.

Project Hub

Next week I'm going to be looking into user accounts and how that works, and I might eventually use the data table as a base to build onto with user accounts letting users not only add themselves, but also go back in and edit themselves as well. Well see how that goes next week.

I've also gotten my backups up to date, the last I'd made before the site went offline last weekend was from early May, so it's good to know that I'm protected if it happens again.

Wednesday, July 6, 2011

Transformers 3

Transformers 1 was great. The story was a bit weak, but it was consistent. The acting and special effects were great. Transformers 2 had great special effects, decent acting, and no story ... at all. It was confusing at the time, until someone told me about an interview with Michael Bay in which he admitted they were in such a rush to put out a 2nd movie that they skimped on the storyline.

So going into Transformers 3, my expectations were sort of mid level. I knew that I'd have plenty of eye candy; Michael Bay never skimps on the explosions. I wasn't sure though if it would have any sort of decent plot to go along with them though. I was quite pleasantly surprised. The plot made sense internally, and made sense with the previous movies. It was a bit trite at times, with things seemingly thrown in just to move things along, but overall it worked.

It started out slowly, and I admit I quickly grew tired of Sam's bitching about his poor life. He has plenty of money, a super hot girlfriend, and have saved the world twice. I also thought this new girl was a bit hard to buy. Where is Megan Fox? They pay a few sentences to her, allude briefly to a breakup, but we don't get anything in the way of closure, which puts a dent in the integrity of the story in my opinion. But it's a small dent, and I eventually forgot about it. Another complaint I had with her though, stayed and got worse throughout the movie. She's a wimp. Fox was hot, AND a badass. The new girl was a damsel in distress. She made up for it a little bit at the end by doing something which I won't spoil, but overall, the writers really could have upped her badass levels a bit.

My favorite scene in the entire movie is right before the final battle between the 2 primes. Optimus finally arrives and in a matter of 30 seconds kills 6 or 7 decepticons. Boom, boom, boom, without breaking a sweat. There's a character who isn't lacking in badass-ness.

Overall, much better than number 2, debatably better than number 1. The change in girls hurts it, but the better plot really helps, and the special effects are great as always. I'd recommend seeing it, but don't pay 14 bucks to see it in the IMAX.

4th of July Weekend - Recap

So as I mentioned in my last post, when I got home on Friday evening, my website decided to disappear. When I called tech support, a very nice lady on the phone told me that sucks, but too bad, everyone is gone for the 4th.

Saturday rolled around, website still down. Good news though, Earth Defense Force decided to release itself 3 days early! I spent 2 hours playing with a friend before he had to leave for work, then went home and took a nap before hanging out with the parents.

Sunday rolled around, I was planning on spending the entire day with my friend playing EDF. However, he decided just to cancel without letting me know, which was sort of annoying. I spent some time trying to figure out why my website wasn't working, couldn't do anything. Depressing day.

Monday was better, I went to several Independence Day parties/cookouts and saw several people that I'd gone to high school with. I ended up even playing some Halo Reach with some of them, before finally returning home and going to see the Fireworks.

Tuesday rolled around, I had to get up early to go to lunch with yet another high school friend that I hadn't seen since we graduated. Then straight from lunch to a hair cut appointment, and finally to a dentist appointment. The dentist was depressing because even though I've been working harder than normal on brushing, I still have 2 cavities. At least though both are small, I couldn't feel any pain when the little metal thing pushed down. Should be a pretty quick drilling session. Then went home, ate dinner, and played some EDF over Xbox live.

Today rolled around and it's been relaxing. I got up, worked on some CESAC issues, none of which actually got solved because people didn't seem interested in returning my calls. Hopefully tomorrow will be more productive on that end. In about an hour, I'm going to try a second time to see Transformers. I tried on Saturday night, but it sold out before we could get tickets ... after we had driven a half hour to the IMAX.

Tomorrow I'm heading back to Purdue. I work Monday, Tuesday, Thursday, and Friday. Monday was canceled due to Independence Day, and Thursday I don't work until the afternoon. So I was able to call off one day of work and get a 5 day mini-vacation, which has been decent overall. Even productive.

Sunday, July 3, 2011

Well Crap ...

So interesting story, my Purdue website is gone. All I get upon trying to access is a 404 error. Interesting enough, it's not just my website / www folder. It's my entire friggin' H drive. It's just not accessible.

I'm on hold with Customer Service, so we'll see if we can't fix it. The problem is what while I back up every time I update the website, everything I've been working on recently with the datatable hasn't affected the website, and I haven't ever had an outage now in 2 years, so I didn't get around to making my own backup. Purdue should have backups, but we'll have to wait and see.

Friday, July 1, 2011

Form Validation Update

I have my form validation working entirely in a mock up page. The problem is, when I move it into the real submission page, it just, doesn't work. It's like it can't see the javascript at all, whether I put it in a distinct file or put it in the page itself. I'm trying to figure out what on the page could be interfering.

It's 11:31 am now, I've got until 5 pm to finish. Updates to follow.

Update (12:13 pm): I found out the problem that was killing my validation script, which is good news. There is bad news as well though. FancyBoxes, the script I'm using the make my radio buttons look pretty, uses the prototype javascript library. It's similar to jQuery, and I just linked to it as well. The problem is even inducing just the library kills me script. I suppose I could dig into prototype and learn it. Or I could just go find a jQuery script that will do the same thing without being breaking my own code.

Update (2:51 pm): I did end up giving up on Fancy Boxes. I think it was worth it, because I'm really happy with the way my error validation turned out. One thing that caused quite a few problems was the type of html I was using. I was using strict, and so when the checkbox came into view, it increased the vertical height of the box it was in. I changed the doc type to html traditional, and removed that problem. That caused me 2 hours of re-writing. At the same time, I opened in IE, and had to redo quite a bit of css just for it, to make it all look the same. But it's done now, and works everywhere.