Geeky Bloopers

So part of the learning experience, as I as a newbie grow to learn more about coding and web development, is the collection of silly things I mistakenly do as I am trying to accomplish a task.  Rather than feel embarrassed about them, I want to learn from them and even have a good chuckle over them.  Once I do solve the problem, that is – it’s not as much fun when you still haven’t figured out where you made the mistake.

So here goes, some good geeky bloopers – and I welcome readers to submit their own in comments (preferably mistakes you made because you were inexperienced and that were easily fixed, once you found out how):

  •  php-ini – if anyone has had to install PHP on their machine, you will know what I’m talking about.  My problem was I would call up the php info document and it told me I was running a previous version than the one I had installed.  Took forever but we finally figured out I had a single outdated php.ini left over in my Apache folder which the web server was reading – I should have put the php.ini in my PHP folder, not my Apache folder.  Oops.
  • Capital letters – capital letters screw me up sometimes.  I had a jpeg image with the file extension in all caps, so the server couldn’t find the image.  I kept re-checking the spelling and finally it dawned on me the server was case-sensitive.  You don’t need to learn that one twice!
  • Uploading via FTP – had to figure out that the port number really does matter when I first started uploading files to my website via FTP

Then there are bloopers using software – way easier to think of these because they affect how I interact with others:

  • Operator 11 – spent 20 minutes talking to myself thinking I was live on the air because I didn’t realize I had to press the Netcast button
  • WordPress – sent out e-mails to a bunch of people to read a post I had written but had forgotten to publish – they kept getting Not Found errors trying to access the link I posted to the page
  • Skype – tried to host a video conference call with multiple people, it was kind of a disaster because I kept inadvertently putting people on hold, not realizing that Skype doesn’t allow multi-user video conference calls

These are just the few I can think of off the top of my head, but I’m sure there have been many more.  All part of the newbie experience 🙂

Geek Speak: Newbie Hurdle #1

Consider this Dilbert cartoon:


Now this actual chat transcript from 

(05:18) Geek #1 Thinking about trying a Mac out – is a Mac Mini good enough for web video, or do I need to spring for an iMac?

Geek #2 I wish the mini came with a 7200 rpm drive

(09:41) Newbie #1 theres a mac mini??
no Geek response
(09:44) Geek #3  When i got my new pc i spent 2 days getting vista off it and finding all the missing drivers i needed for xp
… and Newbie #1 has left the studio

So let’s talk about that barrier to entry for newbies, geek speak.  In the tech profession there’s jargon that the techies use that the newbies don’t get.  The sheer number of names for things is intimidating enough, and then on top of that there are all the ways of categorizing the names that just don’t make sense to newbies. 

Is this inevitable?  Is there any way to make it easier?  Where should a newbie start?  This issue was a problem for me when I first started.  I worked through it by sitting with my mentor at geeky gatherings and just writing on a notepad all the nouns I didn’t know.  I remember listing things like “WYSIWYG”, “Ajax”, “CMS”, “Framework”, to name a few.  And what exactly was the difference between Javascript and Java?  What did PHP stand for?  How were you supposed to pronounce SQL?  As geeks reading this might be able to guess, I was sitting in a meetup having to do with developing the back end of web sites.  Once the meetup was over, I took my extensive list of whats-its to my mentor and we went over the terms and concepts one by one.  Over the next few months, I grew much more familiar with the language of web design.  I still hadn’t worked very much with the various tools, but I could understand what geeks meant when they referred to them.

The problem is that when geeks get together, they start talking geek and leave the newbies behind.  To this day, I don’t understand everything they say, but I’m not as intimidated to ask because I do understand a majority of it.  What’s annoying to geeks is having to stop every other sentence (or in mid-sentence) and explain the basic concepts behind what they’re discussing.  What I like about my method of writing the terms down was that I didn’t interrupt the flow of the conversation or demand an immediate explanation.  I wouldn’t be able to ‘get’ the conversation like the geeks did, but at least they would provide a way for me to learn so maybe I would ‘get’ the next one.

Seven Things I’m Thankful For

I’m writing this because Adam Darowski, charitable man that he is, listed my name on his blog as one of the people tagged to write what they’re thankful for.

 So here goes:

  1. My cat – a little feline loving goes a long way
  2. Superman – Chris Reeve rocks, and Tom Welling is hot as hell
  3. Creed – can’t listen enough to their CD Greatest Hits
  4. The Internet / E-mail / Computers – all that communication, the challenges of programming, I actually enjoy it
  5. Cell phone – I can be reached by phone – yippee!
  6. Friends – having people to do fun activities with is the coolest thing ever
  7. Family – sisters, parents, extended family, nephew – need I say more?

And here comes the part where I tag people, hmm, who do I know that has absolutely no time to do anything and for that very reason should be thinking about what they’re grateful for:

  1.  Andrew Shearer
  2. Jack Templin
  3. CheriE Summer
  4. Meghan Schaub
  5. Tiffani Allen
  6. Ray Dillon
  7. Joshua Martin

Have fun!

Mistakes in Logic

In computer science and in life, there are a lot of ways you can screw up the program.  The way I want to talk about is the logic error, the one that has nothing to do with how I phrase the instructions, but rather that occurred because I didn’t create a successful algorithm.  This kind of error has nothing to do with knowledge, but with experience.  No matter how well I know a language, I can still make something silly happen with it. 

So how am I supposed to avoid logic errors?  Testing the algorithm helps, but there is only so much trial and error can do.  Eventually plain simple thought is what actually produces the answer.  Seems obvious right?  Well, if thought were a liquid running through the pipes of my mind, there would be a few ways to clear the way for freer flow. 

Sleep/Exercise – mind-body connection here, my body should be healthy in order for my mind to be

Dealing with Animal magnetism – a term from Christian Science, I use it to cover all the mental failings that don’t really seem to come from anywhere but can become a problem; note upon speaking with a Christian Science practitioner – according to Christian Science in order to defeat animal magnetism I have to pray to know that God is Mind
examples being – doubt of my own ability to succeed, depression, loneliness, etc.  Dealing with these issues is as simple as refusing to listen to any thought that tells me emotions are in control of my decisions instead of me.  I’m not arguing for a Spock-like repression of emotions – emotions are okay to feel, but reason and consistent decisions should be what lead me.

Willingness to make mistakes – Part of computer programming is the thrill of tackling new challenges.  It’s only a matter of time before I’ll know %80 of it, but there will always be that last remaining %20 that escapes me.  Without the courage to try things, I’ll be stuck trying the same old solutions when what is needed is radical new approaches. 

Listening to other people’s solutions – Letting someone else help me out can be a humbling experience.  The truth is I don’t have all the answers, and somebody out there probably has the one I’m looking for.  I have to be willing to admit my own weaknesses and failings and then, when the opportunity presents itself, take the time to hear what others have learned and are going through.

The one thing a computer isn’t going to do for me is think.  It takes effort, but it is a reward in and of itself.

The Mentor/Mentee Help Desk Mentality

Say I’m a freshly minted newbie, eager to tackle a challenge, such as debugging a program.  When the rubber meets the road and I find that every supposed fix I try seems to set off ten other bugs and I’m sure it’s something simple but I can’t quite get what that simple thing is, I call my geeky mentor.  The question is, at what level does the mentor-mentee relationship become a burden on the mentor and self-defeating for the mentee, in that the mentee isn’t learning anything, but rather using the mentor as a Help Desk?

When it comes to technical work with computers, there is a lot that goes on that I as a newbie would do better not to try right off the bat, like how to make my own CAT 5 computer cable or how to code an operating system.  However, I might need to debug a program that does require knowledge of these systems, and a mentor would understand that this was outside of the scope of my experience and pitch in.  On the other hand, if I as a newbie ask the mentor to debug my program and it is within my knowledge to do it myself then that is asking the mentor to take on the burden of thinking for me.  So the rule of thumb would be that a newbie should expect to have to analyze problems at least to the point of knowing whether he or she has the knowledge base required to fix it.  If the newbie can’t figure that out, the mentor will become a crutch and correspondingly less interested in helping the helpless.

Is there a Newbie vs Geek Distinction?

     So, I was a newbie, but now I’m not that new, I know stuff about web development, I follow blogs and podcasts and Twitter, and I don’t run screaming from code.   So how do I measure up to the larger community of geeks?  The thing is, computer science is such a broad field that it’s improbable that one person could know everything anyways.  How is it then that there even is such a categorization of people as newbies and geeks?
     Much of the distinction has to do with the fact that we are in the midst of a cultural revolution when it comes to web technology.  Not everyone gets the web yet – but they will, it’s only a matter of time.  Development of the web is making it increasingly easier to build communities and communicate.  Newbies are just the next wave of people who are integrating this type of technology into their lives.  
     Besides newbies being a cultural phenomenon, they also represent a phase of learning.  Once a person has understood the significance of technology, he/she has to grasp how to put it into practice.  My own experience learning about technology started with a pen and paper and an opportunity to listen to techie jargon.  I wrote down every proper noun at a PHP Meetup and asked my mentor to explain them to me.  It was important to me to get the concepts down first before starting to write code.  The next thing I did was pick a scripting language – PHP was my choice – and write programs in it.  Of course, not everyone wants to code, this was just for me, but the idea is you have to start somewhere.  A lot of my initial difficulty was simply in figuring out how to install things like a web server, a compiler, libraries, how a browser works, etc.  What was PHP-ini and why did I have to care??  The truth is, this process was made fun by the fact that I had a great mentor – and at this point let me give him credit, he’s the guy in the picture in my geek in the dictionary post, Andrew Shearer (and to be fair, I picked a really geeky picture of him, his glasses aren’t that prominent).  So, geeks can and do give back, and in fact I have found that most of them aren’t scornful of newbies, they are very welcoming and helpful – as long as the newbie doesn’t sit back and say, “I am an empty container – fill me with knowledge.”  Like anything, effort and motivation shine through, and will do a lot more for the successful newbie-to-geek conversion than any number of “Fill-in-the-Blank for Dummies” books ever could.

Newbies of the world, speak up!

I’m not trying to convert anyone who doesn’t want to engage in social media, but I am trying to connect to people who have been thinking about what’s possible in technology nowadays. I think the key concept here is “joining the conversation” – we need to make people who are unfamiliar to technology and what it can do for them feel welcome to make their voice heard about whatever they want to talk about. I’ve been taking a sort of informal poll of people I know who may be into media but don’t have a blog or aren’t on twitter and I find that they all have niches – one is into Myspace while another has a personal web page, then one is on Second Life, another on Skype. Then there are the people who are kind of mystified by technology but realize its potential – like the guy who runs a business but doesn’t have an e-mail address or a website but all of a sudden needs to get a digital photo to a guy in another state, or my mother who is working on a website and starting to join the social networks but is frustrated because she hasn’t found people who share her interests. The barriers to helping these folks come into the fold is (as @philcampbell and @loudmouthman helped me to understand on operator11’s the Gravity show) firstly the resistance and confusion that any sort of change can bring, and secondly the sheer number of different ways that one can participate. To reiterate Phil’s point, you can’t just pick one and say that’s the one I want for now, like buying a car. These people who have just started maintaining a presence on the web have so many avenues available to them that they figure what they’ve done already is enough. What I have come to understand and would like to preach from my little soapbox is that different social media gets different content from you and reaches different audiences, so it maximizes your output.

I hear more and more enthusiasm from techies who want to be mentors and who want to bring people into their community. The key is to get the word out to newbies that their individual voices are important and there are people out there who want to engage them in the conversation.

I refer to the operator 11 Gravity show – the url is

Getting on board with social media

Utterly crazy month since I posted last.  PodCamp Boston was a revelation to this newbie (I don’t feel as much a newbie anymore) as I now ‘get it’ about the power of networking via all these different vehicles.  How I would sum it up (and I will) is that various people I know can be found on various social media web hang-outs (Second Life, Myspace, Twitter).  So the first benefit is if I regularly visit and update on these websites, my friends will know what’s going on with me.  I like my friends, so this is a good thing.  The other benefit is the whole “web-presence” aspect.  I can increase my visibility to people who are web- and tech-savvy through regular posting of meaty content.  It’s part of the whole “personal branding” challenge (notice use of buzz words – picked them up at PodCamp) of choosing a public face and spreading it around.

   So, what do I have to offer?  Once I’ve attracted people’s attention via the social media network, why should they stick around?  My personal brand is that I’m eager to learn new things and develop as a person.  I see my work and myself as springing from the same source, and both help each other to grow. 

   It doesn’t hurt that all these social media sites are also fun.