Thursday, June 5, 2014

Net Neutrality... again!

Ok, this is getting ridiculous people.  I blogged about Net Neutrality before because it was hype and fad and I thought I'd be too late to do it later as the new FCC attempt would be quickly quashed.

Well, I was wrong.

Let's recap quickly about what this really is.  Net Neutrality really is the concept that all data is to be treated equally.  Think the "Immortal Declaration" for digital information.   And no, I'm not talking about highlander, it's the Declaration of Independence, and we can debate if there can be only one later.

No, this is too important to cover in jokes though.  Basically this new stance would allow Comcast to have two speeds of data brought to your home, one which they're calling "Regular" and one that's called "Fast Lane" which companies like Netflix or Amazon could pay a premium to be using.

Come on, do you really, actually think that you're not going to get shafted in this?  That site you read, the one about video games that some guy publishes a really awesome review every week?  Forget it, you'll be waiting for a week to load the page.  Or that awesome recipe site you love cooking from.  Or any other of a plethora of locations that can't even pretend to be able to afford what Comcast thinks is "premium" fees.

The cable company is trying to say that they won't slow down data, they'll just speed up other data.  Really, people, just think about that.  That's like saying that before 1776, black people weren't slaves, it's just that white people were free.  And no, before you're getting all huffy and thinking I'm comparing internet speeds to slavery, I'm just trying to show that you can't talk about the good side and pretend there isn't a bad one.

This means that startup companies will never be able to compete with others, no matter how good they are, because their top-notch services will be downgraded to molasses in january by Comcast.  They could have speeds a fucking googolplex times faster than anyone else but they'll reach you as fast as a one-winged carrier pidgeon because they won't pay "Big Cable's" protection fees.

Yes, that's what this is.  This is Guido telling you that it'd be a real shame if something happened to your internet speeds... wouldn't want those customers to think your service was slow or something.  No no, I'm not threatening you, but things happen, and it's better to be safe, right?

Come on!

So now I'm not ranting, I'm pleading.  Go to www.fcc.gov/comments.  Really, go there, they're accepting public comments on the idea of Net Neutrality.  Don't let this happen, don't think "everyone else will write so I won't."  It's not a letter, you don't even need to mail it.  Take 15 minutes, write down your thoughts, and don't let the FCC turn their back on this just because the head of the FCC is a former lobbyist.  I'm not one to quote often, but I think this says it best:
"The President has appointed a lobbyist to regulate lobbyists who lobbied on behalf of the corporations that he lobbied on behalf of."  - Former FCC Commissioner Nicholas Jonhnson
Is that really the best person to make these choices?  Don't just assume the right answer will happen, I did, and now it's getting worse not better.  Go to www.fcc.gov/comments!  Make your comments, tell them what you think about Net Neutrality, tell them you can't just ignore it, it's one of the main founding concepts of the internet.  Tell them that every idiot has the same right to have their drivel shared at the same speed as anyone else's!

Go!  Now!  I'm done!  get out of here and do it!

See you next time!

Tuesday, May 20, 2014

I havn't played ... in years

I'm learning now that the game is never as good as you remembered it.  Games you loved years ago always seem even better now, because you forgot the crappy parts you couldn't stand.  Games you hated years ago got worse since then, because the few things you actually enjoyed were likely forgotten too.

So the point of the note today?  Give it a try again.  Reread that core book again, turn on your PS2 again, tug out that old board game and get some friends who all remember it to try a game again.  It's not what you remember, and frankly you're not who you were either.

Without an eidetic memory, nothing is how you remember it, really, and the more years that have passed, the more that changes, it's like playing whisper down the lane with yourself.  So get going, play it again, Sam, and see if it's really as bad, or as good, as you remember.

Monday, May 19, 2014

It starts with saying hi...

So I was driving home and passed this guy on the street, selling flowers.  He actually looked a little silly, and perhaps a bit unstable, as he was waving like a friend, nodding hellos to everyone that drove by, in both directions, including me.

Then as I drove by another day, and he was doing the same thing, and another and another, I realized that the man was a customer service genius, not crazy.

Before long I was waving back and smiling as I drove by.  If you treat people like your friend every time you encounter them, eventually they FEEL like a friend, and, in his case, are more and more likely to buy something from him one of these days.

So remember that next time you're talking to your clients.  Think of ways to make them feel like they're not just a paycheck to you, make them your friends, and you'll keep a better relationship with them than you ever thought you could have.

Friday, May 2, 2014

Be Helpful

Today's post is pretty simple.  No matter how new you are at development, someone's newer. No matter how little you know, someone knows less.

So what do you do?  Do you gloat, and snicker at how pathetic they are?  Well, maybe, but you shouldn't.  How about you help them.  How, you ask?  Forums.  Face to face, chatrooms.  There are lots of places you can find those that need your help.

You're a gifted developer, you're skilled at SQL, you're amazing at hardware design.. whatever your strength, take 5 minutes every now and then to share it and see who might need a hand.

Tuesday, April 29, 2014

Net Neutrality.. say what?

Ok, so if you've been watching tech news at all in the last few days you're probably heard the phrase "Net Neutrality" thrown all around, and you've probably heard the name Thomas Wheeler (The Chairman of the FCC) tossed around with it, and likely a couple dozen words you wouldn't let your daughter hear.  But here's the real question, what is Net Neutrality, and why should I care?

"What is it?"

Net Neutrality is basically the "Immortal Declaration" of data, that all data is created equal.  Different software or services use different protocols, different ports, styles of transmission, etc.  Basically Net Neutrality says that it doesn't matter either way, data is data and it's all treated the same way, none getting higher priority or faster speeds than the other.

"Why do I care?"

Because if Comcast is allowed to charge for one company to get "faster conduits to users" then the smaller companies out there that can't afford those kinds of things are going to be slower.  Let's clarify this a little more with a very simple example.  If you've got a line that can carry 1000 megabits per second, and two companies are equal over it, they each transfer at 500 megabits per second.  Now company number one pays a premium, so they get 700 megabits per second instead.  The other client didn't pay anything, but they're now being punished by getting lowered to 300 megabits, because that's all that's left.

"But why do I care about that?"

Well, you care because this means smaller companies will be facing bandwidth handicaps, which will cause service issues they can't hope to resolve.  You care because the truest nature of the internet, the fact that it's unbiased, unmoderated, pure data is now gone and you're only getting passable service from the few that are paying the most, while the rest are lost in the crossroads.  You care because the "small guy" trying to start his business with an amazing idea will fail because he's being forced out by big companies, not because the idea was bad.

"No, really, why do I care?"

Jeez, you're really a jerk... ok, you care because your own experience of the internet will be defined not by creativity, or new ideas or passion, it will be defined by who paid more to get it in front of you while the rest of the servers in the world time out.

Am I saying to protest, or get frantic, or start writing letters?  No, I'm saying to know what's going on, be aware, and alert, and then make your own choice on what to do.  Now you know the basics, go read the news and do your research, or don't, and leave knowing just a little more than you did yesterday.

Later!

Monday, April 28, 2014

Meaningful Variables People!

So this one is aimed at the programmers out there, with a little pet peeve of mine.  I wrote the code standard at my company, with the help of the other developers here, but I really have to say that it's just common sense that you don't use variable "integer" to represent an integer unless it's just a counter used in a loop.

In other words, be just a LITTLE bit creative people.  If you're counting inventory, how about "ammtLeft."  If you're working on capacity, "seatsRemaining."  Hell, I don't care if you use "placesForAsses" just put something there that is meaningful!  "Count" doesn't really cut it, nor does "total" in any cases where it might be ambiguous what you're using it to total.

So unless you're like me and you're naming your strings "int" and your floats "string", then please just try to give it 15 seconds of thought and make it just that much easier to let someone else help solve problems without deciphering what you wrote line by line.  Thanks!

Friday, April 18, 2014

The Room Two

So today I'm just going to make a quick note about a pair of games that have absolutely blown me away, but I don't want to make this a novel so hold tight for your quick look at The Room and The Room Two, from Fireproof Games.

Both games are basically the same concept.  If you know what a room escape game is, you can safely skip over the rest of this paragraph, just watch out for the spikey pit at the end.  A room escape game is a game that has the player searching through items, cabinets, drawers, or whatever else is around, so that they can unlock the next puzzle and eventually the next door to leave to the next room.  Wash, rinse, repeat.  If you don't like puzzles, logical or optical, then this kind of game probably isn't for you.

Welcome back skippers.  Now The Room, if you ask me, is the game that ruined all other room escape games for me.  It's got fantastic graphics, excellent intuitive controls, clever puzzles, and is easily the most fun I've ever had in that kind of puzzle.  The ambiance of the hauntingly perfect music just finishes the deal, and that combined with the top notch graphics give a really immersive experience that's only problem is the chance of losing your whole afternoon before you realize it.

The Room did feel a touch short once I was finished, but never once did I regret the purchase because it was so clever and fun.  The Room Two I've not finished yet, but it carries everything I said above, except it seems notably longer, with more puzzles, and just as much fun.  I find myself looking for time where I'm waiting for something to open so I can arrive early and play while I wait.

So my final thoughts, you really should try these games.  The Room is available for $1 on the google play store, and The Room Two is $3, though at the time I'm writing it, The Room Two is also available on Humble Bundle as well, so go check it out somewhere.  You won't regret it!

Thursday, April 17, 2014

K.I.S.S. - No, not the band...

You've probably heard KISS before.  Some say "Keep it Simple and Straightforward" or "Keep it Sweet and Simple."  There are a surprising number of variants to this simple acronym, but the point remains the same.

As a developer I struggle with this often.  It's hard to resist the urge to add complex functions, intricate testing, and twisting logic behind the scenes to give every nuance it's chance to be handled in the perfect and expected way.  The problem is that the more complex you make something, the easier it is for a simple mistake to slip in and the more layers you have to debug it.  Sometimes it's worth the hour to plan out a simpler solution, then execute that one, so long as it meets your requirements.

The moral of this story is this, whenever you can, Keep it Simple, Stupid.

Wednesday, April 16, 2014

Hey Coders - They're ALL your customers!

So last week I posted about how to treat customers, now I want to make a point or two aimed at developers, coders, and the like.  In case you didn't realize it, everyone, everywhere is your customer.  Let me explain with a retail example.

Let's say a company makes a widget, they then distribute that widget through wholesale distributors, who then sell the widgets to stores who then sell to customers.  When a customer buys something and it's broken, they take it back to the store.  The store then tells the distributor, who in most cases will exchange it and send the bad one back to the manufacturer.  Guess what, that means that every link in that chain is, directly or indirectly, a customer of the manufacturer.

Well for developers it's even worse.  Everyone in your own company is your customer.  The salesmen showing off your product can't have it break or fail.  Your manager is basically your distributor, and other departments count on your code working for their livelihood as well.  Then the clients you're selling your program too are obviously your customers, but anyone logging into that software, like your client's clients, are also your clients indirectly.

You, as a developer, need to remember to try your best to consider your code from the perspective of every one of those link in the chain.  Your job, like anyone else, is to make your customers happy (if possible) and functional, so don't forget to look down that chain every now and then, if you can ask how they like it, but especially remember to not shrug them off because they're approval is even more relevant than your manager's.

Friday, April 11, 2014

OH NO, Heartbleed! What do I do?

Right now everyone in the IT community is buzzing about Heartbleed, and talking techie talk about it which likely leaves many people wondering things like "What can I do?"

While I'm not a security expert, being an IT/Developer person there are some basics that are simple to do that most people should be doing.

  • Change your passwords regularly (if you're using your high school locker combo and you're not in high school, WARNING)
  • Keep an eye on your CC statements, don't just pay them blindly (What?  I didn't order 45 Nickel-plated muskrat picklers!)
  • Make sure the url you're at isn't weird. (I wanted to go to www.yahoo.com, not www.igotyourpassword.yahoodler.com)

There are more practices, but those are some of the basics.  Now, what is heartbleed?  Heartbleed, in the simplest sense, is a way for people to peek at what you're typing into some of those secure sites (the https sites that have a little lock next to them in the URL bar).  Normally that lock means that you're secure, but heartbleed got past that security level.  What's worse, it's a server-side problem, so you can't really fix it, just work around it until they fix it.

Now the question everyone's asking... What do I do now?!

Well my advice is this:
  • Change your passwords
  • Keep an eye on your CC statements for fraudulent charges
Sound familiar?  Good, you ARE awake!  Yay, here's a cookie (don't worry, google already gave it to you).  So the part about being server side adds a little hiccup here.  Since the problem is server-side you need to be careful and change your passwords regularly now, even more often than you used to and especially once again when a site confirms that they're now heartbleed free.  The reason?  Because someone might have your password now, so you should change it, but since heartbleed isn't fixed everywhere yet, that means that your new password is vulnerable too.

There's a very good chance that you're safe, and no one has your information...  but isn't it better to be safe rather than sorry if someone got it?

So that's it for today, post your comments, questions, and rants below so I can equally ignore you all, and see you next week!

Thursday, April 10, 2014

The customer is always right...

This is a basic one, folks, from way back when.  Let's take a quick look at what it means.

It means that you go out of your way to help the customer.  It means that when possible you give them the answers and services they seek.  It means you always treat them with the utmost respect and never in an inappropriate way.

It does not mean you let them take advantage of you or your company, or to gain access or credit where it's unwarranted.  Use your head, but don't ever forget your duty to show respect and manners to that customer.

And when possible, PLEASE don't make us sit through 30 minutes of hold music or annoying button pressing just to be hung up on.

Just sayin'...

Wednesday, April 9, 2014

Tell someone your plans...

This is just a quick bit of advice.  Lots of times I have plans, and want to do things, then just get sidetracked, or lose interest.  Next time you really wanna see how a side project goes, tell a friend that you're going to try doing it.  That makes it more real, it's not an idea, or a random thought, now it's a plan, and that makes it easier to keep yourself on track for it.

Tuesday, April 8, 2014

KEEP your schedule...

So I post my first late blog since I started with a simple warning.  When you take precautions and you're careful, and well-organized and doing things well, don't assume you're doing things well so you can stop being cautious..

Let's see a real life example that probably happens more than anyone would care to admit.  Person has chronic pain for some reason or another.  They start taking medication (with a doctor's permission) on a regular regimen.  Low and behold, the pain which was chronic is now gone.  This does NOT mean you can stop the medication.  Modify maybe, explore other options perhaps, but if you just stop the medication, the odds are you'll be right back where you were.

When you take steps to make something work well, and it works well, that does not mean the steps aren't required.  So make yourself a schedule, or pattern of work, and keep to it.

Test, Code, Test, Debug, Test, Release.

When you get 5 releases that are all flawless, that does not mean you skip a test cycle people!  So don't just make your schedule, KEEP it!

Monday, April 7, 2014

Get thee to a Con...

Today I'm just going to say you should go to a Con.  And if you don't know, by Con I mean Convention.  Why? Because they're fun, and social, and they're a wonderful resource to make friends, business contacts, and just kick back for a few days.

And I don't want to hear "but I don't like star trek" or whatever else you're thinking.  There are so many Cons on so many topics I couldn't even hope to list them all.  Whether you like Firearms, Video Games, My Little Ponies, Cross-stitch, Painting, Driving, Sports, Business Logic, or just about anything else you could imagine, there's a Con somewhere that is all about your favorite passion or hobby.

And I just want to say, if your favorite hobby is "Business Logic" I think you really need to re-read the oxford definition of "Hobby."

Seriously though, folks, get out there and have fun!   They're a great way to see what's trending, learn new details, meet people with the same passions, and purchase related products usually cheaper than general stores.

So find your hobby, find their convention, and I'll see you at the Con!

Friday, April 4, 2014

Bait and Switch... Come on people!

Ok people, today is apparently rant day, so please bear with me.

I understand that you want to sell your software and to do so you want to give out free trials.  This makes perfect sense to me, as a developer.  What I don't accept is how you do so with deceit and trickery.  Come on people.  When you offer a limited function version, you need to say that right away.

In the last 48 hours, I installed three short-cut game developer packages.  You know, those apps that say "Use us to make mobile apps and we'll make all the cross-platform junk for you!"  Yes, I'm actually a developer, but I was really curious to see these bundlers in action, and also because I was curious if point and drag development could make something as full-featured and fun as standard.

Yeah well instead of seeing either of those things, and being able to make a happy little review on them next week, I'm going to have some fun lambasting them here, by name.  I want to preface this by stating that all three of these packages advertised that they were free and gave you the ability to cross-develop, and all included iOS, Android, HTML5, and more.  Seems they all had one thing in common, trickery.

Let's start with GameMaker Studio from YoYo Games.  It looks very promising, with the ability to start developing right away with what appeared to be rather intuitive options, though it did take me a few minutes to figure out how to zoom in/out on my canvas.  Then I noticed that it was set to HTML5 in the type, and I wanted to set it to Android, the environment I wanted to test.  I click android and get a "oh no, you need to download that plugin" kind of alert, with a link on it.  Fine.  Well I follow the link and see the pricing page.  Full version software (Which I assume is needed to install the plugins) was $99, and that's not counting the plugins.  iOS was $199 and Android was $199... that's five hundred dollars just to do what they told me I could do for free before I started!

Now let's talk about Construct 2 from Scirra.  Once again, the interface was clean, though it was a bit confusing as the "Browse examples" button opened explorer showing me lots of examples that doubleclicking didn't open, I had to try dragging it off the explorer window onto the canvas which loaded it, but then I got a jQuery error when I tried to run it.  So the software was a little buggy, it happens.  But again, I went into more detail to try and export into Android and sure enough, please buy the full version.  Small print later told me about the fact that I had to upgrade to "Personal" for $120, or "Business" for $400 to export to mobile devices, which was the whole sales pitch of the product in the first place.

Finally GameSalad.  This one I heard about long ago but remembered in the back of my mind so I thought I'd check them out after being let down twice.  This time I was more careful and just perused the website.  Go ahead, look at it.  Right of the front page, on the left:  Create Games Rapidly, Drag & Drop, no Code - Download Creator for Free - Develop and publish on all major platforms, then it showed icons for Windows, Mac, iOS, Android.. the usual suspects.  Did you hear "try our free version" anywhere in there? Did you get the idea that the download it's offering you can't actually publish on most of those listed platforms?  No, in the top right corner of the page, there's a tiny little icon that says "go pro" and that takes you to the page that tells you that the pro version is $300 a year. (This one DID allow iOS dev on the free version, to be fair)

There you go, three examples of why I'm pissed off this morning.  Yes, I looked back at the steam pages for the first two and after scrolling past all the descriptions, right above the comments I saw the small print that mentioned that the version that was free didn't actually do anything but these other versions that cost money did, but I am very frustrated that I needed to look down to the small print to see the "All important advertised features not available in this version" note.

So yeah, people, please.  I'm not asking you to stop making trimmed down versions of your software, just be honest in what someone's spending their time getting.

Thursday, April 3, 2014

Set your gambling limit...

Most people know that before you go gambling at a casino you should decide what your cut-off is.  Me, I usually take fifty dollars.  If I lose it all, then it's gone, and I do something else with my time.  If I win then I can on the fly decide how much to re-gamble, up to that original fifty so that I never end up in a hole I can't dig out of.

Well I did some thinking on this and I think the same principal applies, in some ways, to any development project even though we don't always think about it.  Every project manager has to weigh the risks of starting a new project against the risks of enhancing existing ones.

Now I'm not saying that employing software developers is a gamble, but rather that you need to have in mind how much you're willing to put into a project before your investment (the gamble) outweighs the possible return (the winnings).

As a developer, sometimes it's hard to accept that there are times when a really good idea just isn't worth doing because of the time/personnel investment.  So just keep in mind your resources, your goals, and how much you can "risk" to get where you want to be, and you'll be able to plan out reasonable steps that get larger as you go, and who knows where you'll end up!

Wednesday, April 2, 2014

Humble Bundle - Get your game charity on!

This is really just a quick promotion to a site I really have been a long-time supporter of.  www.HumbleBundle.com is a fantastic site that sells game bundles, not only at an amazing price, but for charity.

Every two weeks, usually, there's a new bundle of games.  You can pay any amount you want ($1 or higher) to get some of the games, or pay more than the average to unlock every game in the bundle.  Today's bundle, at the moment I'm writing this, is about 3.80 average, so paying $4 unlocks every game in the bundle.  And you even get to pick how much of your payment goes to charity, the developers, or the site itself for upkeep and costs.

Check out their site today, most times  they offer games on windows and mac, but the current bundle is for Android too!

Friday, March 28, 2014

Check your code 6 months later...

When you make something for a living, whether it's wood carvings, SQL reports, digital art, software, or anything else, you get better every day you do it, even if you don't know it.  Have you ever looked at someone else's work and rolled your eyes at a simple mistake they made, or how they did something useless or, worse, counterproductive in part of their work?

Well, that's you today.  You can pick mistakes that less experienced people can make.  Well you used to be less experienced, so why don't you look over some of your own code from six months ago, a year ago, or longer?  You can use all those months and years of experience to make that older code better, more efficient, and smoother.  Just try not to pick on yourself too much for making those terrible mistakes.

Thursday, March 27, 2014

You are your own worst tester...

Today's a quick thought is rather simple.  You wrote some amazing code and you test it over and over and over, and you're confident it's great.  Guess what, unless you're the 1%, you missed something.  I don't know what it is, and you certainly don't know what it is, but go find someone else, either a friend, or a coworker or boss, or Alpha/Beta testers.

If you didn't think of something in your code and in your design, then you're not going to think of it in your testing so get someone with fresh eyes to look at it and find all those use cases you never thought of.

You're the first and last tester, but probably not the most important one, so get that other pair of eyes looking!

Wednesday, March 26, 2014

Crowdsourcing...

Kickstarter is one of the most popular sites for a major internet sensation called Crowdfunding, but I'm more personally interested in crowdsourcing.  What's the difference you might ask?  Well crowdfunding is a concept where you have multiple people donating money to a cause or project.  This can include donations because of generosity, preorders, or other vested interest in the project that is being done.

Crowdsourcing is where one person has a project or product but rather than asking for funds, they're asking for support in the way of advice, suggestions, testing, and things like that.  This concept here is that it's a sharing of ideas and the hope is that if you don't know how to tackle a certain problem, someone else will.

Then you have some that are really the best of both worlds.  Most Kickstarter campaigns employ an aspect of both.  First they ask for funds, but then they take the users that have donated funding, which means they have a vested interest, and invite them to forums, play/beta testing, and more.  This lets the first customers also assist in the development of the project and makes them deeply involved in it, and thus they are more likely to release a better product.

So check out kickstarter, find something you like, and get involved even if it's just for one dollar.  You might be surprised at what you find, and the right projects means you didn't just buy something, you got involved in a community and you're building something pretty amazing!

Tuesday, March 25, 2014

Networking, not just a wire anymore

Just a quick something to think about.  For years Networking meant one thing to an IT person and something completely different to the rest of the world.  Well here's the problem, IT professionals need Networking as much as everyone else, and I don't mean the electronic kind.

Meet people, go to events, both business social and conventions or expos when you can.  Hand out your card, and make contacts.  Those people could save your job in a pinch if you need resources you don't have, or, worst case scenario, they can get you a new one if you're in the market.

So be friendly, practice your handshake, and get out there!  It's like dating, only less emotional and easier on the wallet.

Monday, March 24, 2014

There is such a thing as too much of a good thing.

Sometimes a simple product is loved because it does something simple quickly and efficiently.  Very few features, not a lot of variations, and basic tools that are wrapped around one or a few simple use cases.

As a developer, it's hard to not say "but it could also..." and start building more onto it, and more functions, and a prettier interface, and so on.  The problem is that more features means more complex.  More complex means more load times and more options, and more options means more clicks and menus just to get back to what I used to do fine before.

Evernote is a perfect example of this.  I used to just take notes in text documents and save them to my desktop.  This worked fine for a while but before long I had way too many notes and most of them were called "note" or something useless because I was in a rush while saving.

Evernote was a simple program to take notes, organize them, put them in folders, and open/edit/save as quick if not quicker than my usual text editor.  Well Evernote went through an overhaul and now takes 30+ seconds to load.  When I'm just jotting down a phone number, I don't want to wait 40 seconds to type for 5, so now I'm looking for another software package that does what I want without the extra features.

The point I'm making is that you should consider what the primary use of your software is, and keep that in the forefront of your development efforts.  If you want lightweight, then stop adding features, for one.

I'm not saying Evernote is a bad software now, but it's not what it was, and that means it's no longer for me.

Friday, March 21, 2014

NoSleep - Close your macbook lid if you wanna

It may be a simple thing, but I've had issues with the idea that windows based laptops have an option to close the lid and not go into standby, but OSX clearly doesn't.  What does this mean?  Well if you're doing a long download, or running a vent server, or doing anything that doesn't require your attention to be on your laptop, you still can't close the lid and put it away somewhere.

No, this doesn't mean to close your laptop while it's 3d rendering some amazing animation while it's buried under a pile of blankets, but it is useful to take off the desk, put next to you, or just generally get it out of the way.

Enter NoSleep, a wonderful, free OSX app that adds a cute little icon to the bar at the top of your screen.  Click it to turn it on or off, on, and your lid will darken when closed but not go into standby/sleep mode.  Turn it off, and then lid closing is just like it used to be.

My review for this app is that it's lightweight, and works.  There aren't a lot of features, but there don't have to be.  It's easy to toggle, it's free, and in everything except OSX Lion it worked perfectly.

If you miss the windows ability to close your laptop, then hurry up over to NoSleep and catch your ZZs!

Thursday, March 20, 2014

Don't Forget the R!

In many companies, the development team is referred to as the R&D team, Research and Development.  Sometimes as a developer I feel bad when I end up either starting, or debugging, a project and get caught up in "Research" mode.

Here's the key, don't feel bad.  If you're a trained, skilled developer then you're likely researching faster about your chosen field than someone else could, so you're still doing your job, and still "earning your keep" even though the research time doesn't usually bear visible results.

So don't mess around, but if don't undervalue the importance of Research in trying to solve a problem or create a solution where there wasn't one before...

Wednesday, March 19, 2014

The Value of Walking Away

I can't tell you the number of times I've solved a problem by ignoring it, briefly.

No I don't mean you need to pretend it's not there until it goes away, that doesn't work, and if you're at your place of employment, usually you'll go away before it does.  What I mean is that in most cases staring at a problem for endless hours won't help anything either.

On a multi-person team, if you've stared at an issue for more than an hour, and you're not making any progress and there are no leads left to follow, then run it past someone else.  Sometimes you can use the rubber duck debugging I mentioned before, other times just ask someone for help, but sometimes the answer is to stop thinking about it.

Walk away, get lunch.  If it's late, call it a night and start fresh in the morning.  If you're missing a minor detail, then staring at it for hours on end will just reinforce the fact that you're not seeing it, it won't help you find it.  You need a fresh perspective, or at least a break to think about something else then start over again.

I promise a well timed break can save hours of work sometimes!

Tuesday, March 18, 2014

PC part picker

This is just a note for all of you PC builders out there.  Last week I discussed the build vs buy debate, so I thought I'd make a short note today and just share a site I recently started using.

PC Part Picker is an amazing resource (www.pcpartpicker.com) that is an ideal starting point if you want to go the build route.  You can start with any part you like, though I'd suggest picking your CPU first, and then it will show you motherboards that fit that chipset.  Then you can progress through the process, comparing prices, brands, and reviews as it narrows down what parts will work together automagically.  It also shows you a historical graph of the cost of the pieces you've picked, bundles that include them at various online vendors, and more.

If you're looking to build something economical, outrageous, or just for fun this is a great site for you.  If you have a login, which is free, you can even save your builds and share them with friends (or G+) for advice or comments.

So go check out www.pcPartPicker.com today and build your perfect machine, whether it's the under $300 special or the $10,000 monster machine!  Have fun!

Monday, March 17, 2014

Rubber Ducky, You're the One...

Rubber duck debugging is honestly one of the most useful and, at the same time, easy to do debugging methods I've ever used.  The name is inspired by a story from a book, The Pragmatic Programmer, in which a developer is mentioned to carry around a rubber duck.  He would explain his code, line by line, to the duck whenever he was stuck solving a problem.

In my life I don't carry a duck but I do have my boss, a highly organized non-programmer who politely nods his head as I explain my code and more often than not during the process of telling him where I'm stuck, I tell myself what I've been missing.

Just remember, you're not dumber than the problem you're trying to solve, you most likely keep overlooking it, and when you go line by line to yourself, you skip it again and again.  If you have a patient boss or coworker, run it past him, if not, go to a private room and tell the pencil you're holding everything about the code, line by line.  Will it always solve your problems?  No, of course not.  Will you look absolutely ridiculous?  Of course!  But if it works even some of the time, isn't that the start to not making the same mistake again next time?

Friday, March 14, 2014

Don't be afraid to ask why

As a developer I'm often brought solutions, rather than problems.  What I mean is that someone will come to me and ask how to do something, often times something that's not simple or even recommended.  For an extreme example, one might ask me how to make a car drive over water.

This is when, as a developer, it's ok to ask that person, even if it's your boss, why he wants to do that.  The answer often times offers a much better solution.  Bosses are excellent at coming up with the big picture, but sometimes forget to leave the solution finders the chance to find the best solutions.  In my earlier example, the problem was simply that they wanted to leave New Jersey, and the answer they really needed was just to use a bridge.

So next time you're brought a really odd question, don't just answer it, ask them what they're going to do with that solution, ask them why they needed it in the first place, and you might just make everyone happier in the process.

Thursday, March 13, 2014

Hire people smarter than you!

This is a message for you bosses out there.  Hire people smarter than you!

Now I don't mean to give everyone an IQ test and only hire those over your number, that's just silly and rather arbitrary anyway.  What I'm getting at is that people have chosen careers for a reason.  I'm pretty sure that I'm a better coder than my boss is.  That said, I know he's much better at prioritizing resources, organizing personnel, risk assessment, and a host of other things that I'm just practiced at.

I was hired because I can code.  If you're hiring someone who sculpts ice, more than likely you're hiring someone better at sculpting ice than you are.  That should apply to every aspect of employment.  Find the best person for the job and hire him.  Odds are he's better at that job than you would be and that's exactly why you want him doing it: so you can have time to focus more on your own job and get a better product than you could have made on your own at the same time.

Last thought:  Remember why you hired that person.  Don't micromanage him.  If you got the right guy (or girl), then let them go, just point them in the right direction and get out of their way.  Sometimes they might need a reminder not to stray a bit, but in general the more freedom you give a good employee, the better the results.

Wednesday, March 12, 2014

Build or Buy - The Epic New PC Problem

There are many arguments for both camps, whether it's more cost effective to piecemeal buy and assemble your new PC yourself, or to have a manufacturer do it for you.  I'll offer my thoughts here, but for you really impatient readers, jump down after the bullets and just read what I say there, it's really the important part.

Some Build Pros:

  • Most home built machines are easier to upgrade later, and there's no pesky warranty to break by cutting a little strip of plastic over the case
  • With research, you can determine your exact needs, plus a little future-proofing, and then assemble exactly what you need rather than getting the one closest to your requirements
  • For higher end machines the sums of the costs of the pieces are not usually as high as the prebuilt total would cost
  • You can buy pieces one at a time as you have money or see them on sale for an even steeper improvement on cost
  • Most techie geeks like me actually think it's FUN to build these things
Some Buy Pros:
  • No chance of forgetting a key part you needed, like a wireless card
  • No chance of buying the wrong motherboard/chip/ram/etc
  • No chance of one bad piece shorting out several others and causing a cascade of warranty phone calls
  • One Warranty covers everything, just buy it, plug it in, and go
  • All the pieces work together, no worries about surprise hardware conflicts, things fitting in the case together right, etc
  • OS is usually included
Final Thoughts:
First I want to remind everyone that I'm a hobbyist, my real job is software, but I enjoy building machines when I have the time or funds to build one.  That said, I'm sure there are lots of points I'm not mentioning, so feel free to leave them in the comments below, but these are my hit-list of points that I wanted to make sure I mentioned.  That said, the most common rule of thumb to keep in mind is that the more specialized the computer use (Gaming, Cad design, etc) the larger the gap in price between build and buy.  If you're looking for a top of the line gaming machine, then the prebuilt ones are nice, and powerful, but tend to cost a lot more than the sum of the parts.  If you're looking for a generic work machine, to use office, maybe an editor or two, Quicken, and basic programs like that then the difference in price you'd save buy building it likely wouldn't be worth your time.

To put the finest nail on the topic, if you need a high end machine, most likely you'll save money building it yourself.  If you just want a basic machine to use facebook, youtube, and email, then you'll probably do better buying it.

Oh, and if you don't know how to build one yourself, don't ASSUME your techie friend wants to do it for you... for free... at 2 AM... on a weeknight...

Really people, come on!  Techies are people too, have a heart!

Tuesday, March 11, 2014

One smart-ass launcher!

So anyone who knows me knows that I am always trying out new launchers, especially trying to make my phone do things I could never do when I owned an iPhone.  Well I'm getting past that urge, now I want only a few things out of my launcher:

  • Easy to use
  • Quick to use
  • Lightweight
So I tried "Smart Launcher."  I really would suggest this to anyone who's tired of all the unnecessary frills that just slow your phone down.  This launcher installs quickly, asks you which apps you want behind the standard icons, and lets you go.

I used the free version for at least a few weeks, maybe a month before buying the pay version.  I'll make my personal pros/cons list and you decide which you want. (It's by no means all-inclusive)

Pros:
  • Simple to configure the standard icons to the apps you want, so the huge collection of themes will look perfect out-of-the-box
  • Lightweight and doesn't seem to tax the phone as much as some more "flashy" launchers do
  • Operates in Landscape or Portrait mode
  • Easy to configure little extras that I like, like hiding the status bar
  • Optional plugin that shows "unread" counter on icons (calls, txts, etc)
  • Supports adding folders, icons, or shortcuts to the display
Cons:
  • Widgits can only be used in the Pay version
  • Changing from free to pay versions basically restarts your setup
  • Layout is pretty much pre-set: Circular or rows beneath a clock
Final Thoughts:
If you're looking for a minimalistic launcher that's reliable, stable, and easy to setup and use with the ability to change your theme on whim without needing hours of photo editing or tinkering with layouts, this is an excellent choice for you.  If you want the nuance of making icons the exact width hand position you want down to the half pixel, then you should stay with a gridless like Lightning Launcher. 

Either way, don't be afraid to give this one a shot, it's free and surprisingly durable and functional.

Monday, March 10, 2014

How about some common curtesy please?

With the advent of the internet's plethora of chat mediums, from IRC, to AIM, Yahoo Messenger, ICQ (remember that one?), and all kinds of other texting communications I think we're starting to lose touch with our manners.  Let me give you an example.

A coworker of mine whom I have quite a bit of respect for always starts his IMs with a "hi".. usually followed by "how are you" before he even starts talking about work, or his question, or reason for making the contact.

It's worse than just chat though, remember a long time ago, people used to say hello on the phone, ask how the other person was, what was going on, THEN get to the reason that you called?  It was called proper manners.  Now it's "Hi, I need..." and I'm as guilty of it as anyone else is.

Here's the thought... next time you IM someone, say hello first.  Ask how they are, and let them answer too!  Instant gratification and massive increases in communication speed might just have a bigger cost than we realize at first...

Friday, February 28, 2014

Why the hell am I doing this?

Three Simple Questions...

Why do I blog? Why do I write? and Who is the blog for?

I was asked these questions by a co-worker nearly a year ago, and I didn't give it much thought (Sorry Jeff), but I think I'll share it with my "friends" on G+ now, and the answers I just came up with.

Let's start with Why do I write, that's the easy one.  I write because I love it.  I have a game I'm in the process of creating, I enjoy telling, and documenting RPGs and stories, and I just love looking back on something I wrote years later, and tweaking (not twerking) it, laughing at it, and what not.  I've even learned to not be entirely humiliated by a writing my fiancĂ© found that I made in 3rd grade or somewhere around there.  I love to write, that's why.

Who is it for.  This is relatively easy to explain.  It's for me, more than anything else.  I write because I enjoy to write, and blogging will give me a spot to write in regularly.  Yes, I hope someday that people will come to read my blog, maybe even learn about something that interests them, learned a little lesson I might share, or even walk away smiling because I shared a funny story.  Yes, I hope to touch readers in some way, no matter how small, but if I'm really going to be honest, my blog is not going to make a monumental change in the world, or raise the country's expected lifestyle.  The blog is for me first.

Why do I blog?  That's pretty easy too, I blog because it's a way to get tidbits out of my mind, thoughts I want to share, and honestly as I said, I hope that someday I'll have some people that regularly check my blog to see what insights, thoughts, complaints, or just whimsical RPG story lines I might propose.  Perhaps it's a little vanity, or pride, that I hope people come to enjoy my reading enough to look for it again.  But my blog is not to make money, it's not to be rich, etc.  Sure, I probably will always have google ad-words in the corner, it's free and every 500 trillion viewers I get earns me enough to play a round of Galaga, but that's not revenue, and the blog isn't a revenue stream.  It's fun for me.

That's the problem I've had.  I made two blogs, categorized them, set up a schedule, worked hard to find topics that kept tightly to the established themes, and the thing became a job.  And worse yet, a job without pay.  So my Geek Personified blogs (Gaming and Technology) will be closed.  I'm leaving the links up, and please, feel free to look through them, there are a number of postings that I'm really proud of in both.  According to google I've gotten around 1000 views on my gaming blog, and nearly 2800 on my tech one, so I'm very proud of that.  You can find those blogs linked from my Google+ About page.

Now it's time for something new.  I would humbly ask you all, when I post it sometime this week, to check my new blog out.  Thoughts from a Script Monkey (JustAScriptMonkey.blogspot.com).  I'll try to post every weekday, but I won't even guess about the topic.  Might be about gaming, or technology, or business etiquette.  Maybe I'll post about changes to my code standard, who knows.

If you're a programmer that likes gaming, then the odds are you will at least relate, if not enjoy, every post.  If you've only got part of that, then you'll like part of my blog.  If you don't program, don't play games, and just hate fun, then screw you and don't bother reading it. :)

See you all soon!

P.S. General Warning: I invite you all to read my blogs if you like.  My blogging is not hate based, there will be no racial slurs, or anything else that I personally deem to be offensive.  That said, I don't often censor myself as this is my "personal time" blog.  This means that I may or may not curse, use innuendo, or make casual references to "15 gold-plated hookers."  In other words, I don't go out of my way to be crude or vulgar, and I try my best to have a deliberate, clean and moral point, but sometimes I get there through the circular route.