Throwing it away.

Thursday, March 18, 2010

by: toastman

My spare time will be dedicated to this. So you know, watch this space.

This site will basically become my stream of consciousness. Ooooh

Comments (0)

You Have No Rights On My Property

Tuesday, May 12, 2009

by: toastman

There's been a big dust up on Digg and Destructoid about an unauthorized Chrono Trigger sequel/Chrono Cross prequel that got shut down.

Boo hoo.

Not only is Square/Enix in its right to do what it did. It was practically compelled to do so. All events, names, stories, etc. concerning Chrono Trigger and Chrono Cross are property of Square/Enix. They get to decide what message it conveys, not you.

It is exactly why Piers Anthony is the only author who can contribute to the Xanth universe, and why authors need permission from Lucas to write novels set in the Star Wars universe.

You can write about it, you can deconstruct it, you can discuss its worth as art, you can even debate whether the author knows what he is doing. You cannot however, add to the corpus unless you have explicit permission. This is what copyright law is supposed to protect, the rights of creators to control their message.

It's what is fundamentally wrong with all fan creations, they can easily fall into a message that the creator does not wish. There is a reason that Kirk and Spock have never kissed/made out/had freaky nasty sex in any of the episodes, movies, or books that comprise the approved canon of Star Trek, because the creators didn't want them to. In the body of work that is the message of the creator, it never happened. So if any Kirk/Spock "slash-fic" were to be sent to literary agents, you would be sure that Paramount would descend upon it with the quickness. (In the realm of the Internet, it can remain as the work of a bunch of lonely, untalented, uncreative hacks.)

The author's message is a strong factor in creating the work in the first place. The author has decided that something needs to be said. Whether it's Goodkind's objectivist philosophy or Rowling's thinly disguised class warfare, only the creator gets to decide what their message is.

It would be like someone coming to your place and rearranging your furniture because it disturbs their chi. It's your place and your furniture, you get to decide how that all lays together, no one else. If you catch someone in the process of redecorating your house, you are fully within your rights to throw them out regardless if they are doing a good job, are almost done, are doing it for free, or any of the other of many excuses lobbed around. Yes, you do have the right to move furniture, yes you have the right to create games for free, yes you have the right to write and publish stories, but your rights end where mine begin. And I have a right of property over what I personally create.

Comments (0)

When Abstractions Break Down

Tuesday, April 28, 2009

by: toastman

SQLite is a very lightweight, zero-configuration database used mainly as a simple way to store structured local data. Think Excel-ish. More ish than Excel though. If you know what a database is and good for and how a lightweight, local one could help you, then you don't need the analogy. For those that do need the analogy, Excel is close enough to what it is that it makes no difference.

SQLite's biggest crime is that of being an almost perfect simulacrum of a database disguised as a file. And since it requires no upfront configuration and doesn't need a multi-thousand dollar software service to manage, it seems like a natural fit for anything that could require a cache of local data. Because developers love databases.

Especially databases that speak SQL.

But here lies the rub. For all of that ease of use and simplicity, you are sacrificing one of the most important things that database services provide: concurrency.

SQLite breaks down for anything that requires simultaneous insertion, or the illusion of it. You have to start worrying about things like lock states, and whether or not you can actually open a handle to the database or whether someone else has the good handle.

In other words, you have to start treating the database like a plain old file in many ways. There's no way around this either. The more you add to handle the complicated situations, the more you are just rebuilding a database service. The closer you become to an actual database service, the more configuration and setup you need to perform.

SQLite also defaults to storing things as strings. When in doubt, treat it as text. This makes it extremely lenient in what you can store in it, but forces the end application to be cautious in trusting data coming from it.

These cracks in the database abstraction cause SQLite to be treated as something not quite a file and not quite a database. This is the problem when abstractions break. But of course all abstractions will break eventually.

Comments (0)

Worst.Month.Ever

Wednesday, April 1, 2009

by: toastman

More like worst weekend ever, but I'll spread the love out some.

Short story: bad rain, lots of water. Two cars to shampoo. One to reupholster. Roughly 100sqft of carpet to rip out and replace. One air conditioner flooded and broken (well the condenser unit, but all the same). Lousy broken down old couch. Zero billing for the month because I'm working on an iPhone application that may or may not pay off.

And all I can do at this point is bitch and moan. My energy and drive seems to be driven out of me. I want to give up.

But screw it, when you want to give up is when you shouldn't. Think I'm going to retool the site soon. Ajax the shit out of it. Drop the Time For Plan B domain/moniker. Get my twitter feed on here and links to all of my places.

Get some URL rewriting, throw everything into a database. Something something something darkside something something complete.

Comments (0)

You Can Never Be Better Than Those You Need

Wednesday, October 22, 2008

by: toastman

This may come across as arrogant.
Oh well, it chaps my hide something raw so I'm going to vent under the guise of sage wisdom.

I recently learned how this guy (let's call him Harv) really felt about me and our working relationship. Now, Harv is young and overconfident. To a fault. A guy in love with his own swinging dick (to coin a phrase). I worked with him for about a year, probably a little less.

Now, he was more on a network/system administration kick, and I've always been more full bore software development. So, I figured this would be good, we'd each have our primary focus and be able to have the other as a back up. At least as soon as he was up to speed on our particular network configuration.

That day never really came. He always had some question or problem that could have been easily fixed by performing a little up front research.

After I left that job, I found myself working for the consultants we used whenever we had a job outside of my scope. I was working in a development capacity and we have really good people handling the networking side of the equation. This was a chance for Harv to step up to the plate. He had access to everything I had access to, plus a bit more documentation on the eccentricies of the software system we sold.

It originally did not take me long to grok the database schema and the particulars of the markup used in the documents. Eventually, I would go further and start inspecting undocumented file formats. I killed the manual provided and was able to immediately use and expand on the material soon after. I became competent with several pieces of software I had never heard of before. And I still found time to increase my knowledge base outside the realms of work.

While I worked there, he still did not understand the document markup and he didn't demonstrate even basic understanding of SQL. He relied a lot on copypasta and tweaking a few of the WHERE clauses.

However, now that I was gone, he could make my role his own and become knowledgeable enough to take on these simpler tasks.

That did not happen. Harv became the master of the telephone, and continuously called on us to fix various statements or network issues. He practically jumped at us because the backup wasn't running as it should, and he couldn't figure out the problem. The problem was that the tape drive drivers weren't installed and no backup jobs were set up. Basic stuff (if you know that SCSI devices aren't plug and play and need to be manually installed, which you do if you have SCSI devices, unless you never research it).

Now take all of that bitching. Digest it. Let it sit. Here's the punchline.

I recently discovered that he finally found a job at another company and before that there was some back and forth about him staying on and why he was leaving, etc. In this, he said that he "thrives on competition" and that I was a sort of evil obstacle in his path to greatness that motivated him to become better than me. Which he oh so would've done had there been enough time. Because he's determined, he's focused, and he's learning while I'm just a sloth content in my own pool of knowledge that will never expand.

Hello? WTF?!?

Since I started there up to now, I've learned Python, vastly improved upon my SQL knowledge (I'm definitely skilled, and working to become a master), learned ASP.Net, learned C#, Microsoft CRM customizations from both a webservices standpoint and from within, Access programming with VBA, the XNA framework, Active Directory from both an administrative standpoint and programming against it, administrating an Exchange server, I've poked around a MailFoundry, I've managed to configure port forwarding on a PIX without previous knowledge on how to do it or asking anyone how to accomplish this, I'm learning some neat development tools like NUnit and CruiseControl (which I was able to reconfigure to use our post-Gustav server), I've dusted off my Javascript and picked up some Ajax techniques, I've done troubleshooting (and I think fixing, I'd have to check) on a broken Symantec Endpoint deployment (but I repeat myself (that's a joke, Endpoint always seems to have some problem)).

And there's probably stuff there that I'm forgetting as well. Like making this auto-post, or SVG, or bringing my maths up to start doing some basic 3D.

People sometimes remark on my abilities. I've had a couple of people who I consider smart tell me that I was smarter than most people they know. That I absorb knowledge like a sponge. That I have a scary ability to figure things out. (I honestly don't know what to say at those times, because anything you say at that point sounds pompous.)

In the time that he's been working there, Harv hasn't learned the working of the system or rudimentary SQL. He's maybe learned a bit more about Windows administration, but probably not much.

He constantly needs people to help him complete his tasks. He constantly needed my help while I was there and after I left. As long as he uses as other people for a crutch to support his inadequate knowledge, he will never be better than anyone he depends on.

There's more to being determined than saying "I'm determined." You must commit. You must want to achieve regardless of outside assistance. If you say "Yeah, I was determined, but no one wanted to help me.", then you weren't determined to begin with. Determination never quits. It is what drives one to become a success.

There's more to focus than saying "I'm focused." If you are focused, then eventually you will alienate people. Focus is scary, it is impartial. When you are focused solely on a task, everything is a disruption, and you treat it as such despite good social graces. It is not personal. It is not even intentional. It's just that focus comes from intense passion, a passion that few people will feel in their lives.

There's more to learning than going to school and getting degrees and certifications. Learning is always. "Learn something new everyday." isn't a reminder to pick up a new fact everyday, it is a way of looking at life. Even if you spend the entire day in a sensory deprivation chamber, you have potentially learned something. Learning is an internal process, not an external one and not all lessons are obvious.

Outward competition is not productive. It is destructive in nature. There are two ways to surpass your betters: make yourself better than them or make them seem worse than you. Outward competition always leads to the the second. It is the easier path. The mediocre outwardly compete. They measure themselves against other people. They only care that they are better than other people, not that they are actually any good.

Good people inwardly compete. They want to be better than they were before. Their only metric is themselves. And since bringing yourself down is self-destructive and makes you worse than before, people who inwardly compete focus on ways to improve themselves.

Harv is an outward competitor. He used his time at the old company to make disparaging remarks about me behind my back to make me seem less than I was. He tried to either dismiss or share credit in my contributions and efforts because acknowledging them as mine would only make his own lack stand out. He spent his whole time so focused on how to look better than me, he forgot to actually become better.

I'm an inward competitor. I find it makes me more personable. I truly enjoy hearing of other another person's success. I am proud of them. I like it when someone performs some tricky feat or difficult maneuver. I can feel genuinely amazed at the accomplishment. I don't need to say "Yeah, but" when someone outperforms me in some metric. I don't care. I make enough money for my current purposes, and I'm working on both reducing my overall debt and increasing my income. So whether you make more or less than me doesn't affect me at all. I don't judge myself by your success or failure.

Comments (0)

I Have Problems With Bigotry

Monday, August 25, 2008

by: toastman

A bigoted joke.

It's supposed to demonstrate that engineers are practical problem solvers and computer scientists/java developers are architect astronauts who over-complicate issues.

Bullshit. Pure and simple.

If anything that story is backwards. Not in that engineers are the ones who over-complicate things, but that clients are the ones who do so. Software is very malleable, very nearly infinitely so. Hardware is less malleable. So, software becomes the target for change. A simple application that performs a necessary, desired function usually becomes popular. As popularity increases, someone will notice that it doesn't do everything that they want it to. So they request that a feature be added. That feature creates more popularity which then causes more feature requests until the application can read email.

Comments (0)

Don't Complain When You Get What You Asked For

Tuesday, August 5, 2008

by: toastman

I ran into an interesting situation recently. In the interest of protecting everyone (me), I'm going to change names and be vague.

I was recently commissioned to make some changes to a web application. This application needs to look at a remote database, determine if the submitted data exists in the remote location and if the person is who they say they are.

Searching is done based on two major fields, authorization is done based on a third field.

There are three basic options:
1) Successful search. Authorization good.
2) Successful search. Authorization bad.
3) Failed search.

The first and third option work the same, but the first updates a record and the third creates a new record. The second option causes an error to be thrown back to the user asking them to personally verify their identity at a physical location (with regards to the company, this is not a burden on the user).

We spent a good while coming up with these options based on several discussions. We decided, everything being how it is, this is the best way to go about it.

A couple of days ago, I get a message saying someone got an error (with a screen shot of the error). Looking at the error, I told them that that was the error for the second option, that person needs to personally verify.

I was told that that wouldn't do. It shouldn't work like that. I had to kindly inform them that that was what we had come up with as the best path. They are trying to think of a better way now. One that will probably involve telepathy.

Comments (0)

Super Awesome Consolidation

Monday, August 4, 2008

by: toastman

It's kind of weak, but it's working. So now I can post from my personal site and have it spread to my pages at MySpace and Facebook.

It's the reason I've been putting stuff off. I really should have done this a while ago. Actually I want to do a lot of things differently now. I've gotten a lot of experience and knowledge working on various things and this site is feeling kind of kludgey now.

I also need to add comments to this part of it. And probably do some domain rewriting to have everything be cool.

There's also a weird four part chain that can fire if I commit to the right Subversion repository. Basically, the commit will trigger a script that sends a post here. Posting here will then submit the post to MySpace and after that Facebook will pick it up from there.

So from here, I'll work on getting stuff back on here and sprucing up. And also work on our XBox Live Arcade game. And comment on things I think needs commenting on.

Comments (0)

Also, on the Touche Front

Thursday, September 6, 2007

by: toastman

In addition to the new domain, I'm going to try and do some site work this week(end) because I just had an awesome game concept.

It's not an original concept, but it hasn't been done electronically/online yet.

Comments (0)

New BadAss Domain

Thursday, September 6, 2007

by: toastman

Just registered a new domain name, because it kicks ass and was available. It's a short two words and will probably become the new branding for the site. I'll probably retire "Time for Plan B" and let the domain expire in a year (they only cost me $6/yr anyway).

Comments (0)

xhtml 1.0 | css
apache | php | mysql