better living through python

An adventure in programming and recovery.

It's a sad, sad song

May 24, 2011

 

It’s amazing how sadness can make me want to write these days.  Granted, sometimes I feel like that’s all I post about.  But that’s what this is for.  If I make myself post each day, I will (hopefully) slowly process these emotions.  I will slowly heal.  

Some days I just feel...worthless.  

Some people hum when they’re content.  Some people sing.  

I do that sometimes.  I still don’t hum or sing very often unless it’s a sad song.  A sad, sad song.  




 

Efficiency in Coding

May 23, 2011

 

This has been a discussion that Robey (partner), and I have been discussing for a while.  Learning how to make the most efficient code, in particular what makes it efficient.  From my understanding a program is more efficient the fewer iterations (times it must run through a process) it incurs.  So, if you’re using a program and it takes a long time, most often it will be because it must run processes multiple times.  One of the simplest ways to work on making your program more efficient would be to lessen the amount of times a program must run in order to find a result.  An example of how this works in programming is in the idea of the ‘range’.

Using ‘range’ in python has you run through a range of (for example), numbers.  You could compare information through a certain range, until you get to the answer you want.  Therefore you must go through a range of numbers before you come up with your solution and subsequently check each one.  If your answer doesn’t show up until one of the last numbers in the range is reviewed, it could take a while to find a solution.  

‘Lists’ are another example.  Sometimes lists (list=collection of information you could be querying, a list), can take a while to go through as some things go through your list in a linear fashion.  Just like the range discussed above, it doesn’t come upon your solution for a while if your solution is at the end of the ‘List’.  

There are many other aspects that affect efficiency in coding, but those are some of the main ones I understand right now.  If what I discussed above makes sense to you, think about it when interacting with any program you use.  Many times it can help to explain lagging in various programs.  Inkscape especially has taught me that lag can also occur because you don’t understand the way the program works.  That seems to be one of the fundamental reasons why open source programs are generally thought of to be lower quality.  They are as high a quality as many of the programs to be bought on the market, however they just require that the user have more base knowledge of programming in order to use them effectively.  Understanding some of the basics of programming can make the simplest things regarding computers make more sense.  Keep that in mind next time you’re banging your head when working on something and you think it’s the computer’s fault.  It could be the computers fault or it could be you!  

 

For my missing Friday Post

May 22, 2011

Many apologies about Friday.  I had been having an okay week, but learned on Friday that my unemployment was denied.  I'll be posting more of a response soon to come, but I wanted to make sure you all knew that I'm still here, just having a rough time of deciding whether or not I want to contest the decision.

How much is too much?  And how do you know when to stop?

So, in order to allow myself time and space, I've been trying to do a lot of reading to help myself recover.  I just finished the new Jean Auel book, and I've already finished season 3 of Saving Grace.

Back to work tomorrow morning.

Round and Round We Go

May 19, 2011
Part of voluntarily leaving a position, and then applying for unemployment, includes explaining why you think you qualify.  I left my last position because I felt that after everything that happened, I no longer had an option to stay.  I felt that the relationships and my work environment had degraded to a point that my emotional and mental well being were in jeopardy if I remained.   Therefore, I resigned.  I’ve been told that if you can prove that you didn’t have any other option, then you can qualify for unemployment.  So I was interviewed and asked questions to determine if I was eligible.  
 
Now, after that conversation, I don’t care if I get unemployment anymore.  I’m so sick of having to be reminded of what happened to me.  I don’t care that I started crying while talking to him on the phone.  I don’t like the fact that I admitted to him that I’m scared of going back to work because I’m afraid of being made to feel that way again.
 
So no, I didn’t go seek a counselor or psychologist because of what was going on at work.  No, I didn’t go and tell someone I didn’t approve of their ruling on what happened.  No, I didn’t try after the initial “accusation of harassment”, because I felt that it wasn’t worth it.  I did my best to let them know what was going on, and to state my case.  They said there was no evidence to support my claims, therefore I decided it was in my best interest to leave the organization.  Even for the people I would have had to work with, that would have been a painful experience.  What would you have done?  
 
I find it so funny, because after going to take my tests and setting up my ‘I’m an unemployed person’ account, one of the workers there who reviewed it said, “It’s obvious you want to work.  Normally I don’t suggest this but you should make sure to look at the County and City government positions as they come up.”  

*Smacks Head*

On another similar note, it’s so great *note extreme sarcasm* that when a person becomes unemployed, when they really might need the help to talk to a counselor, that’s exactly when your benefits run out and you can no longer get the help you need.  Counselors for unemployment regarding being unemployed, now that might be a good way to help people.  Start a collection of positions that are there to aid people in getting over being unemployed.  How is a person supposed to get the anger and emotional exhaustion out from being fired/laid off/voluntary quit in bad work environment, when they have no one to help them with it?  Instead we drain our loved ones of their emotional well being, just increasing the turn of the cycle of poverty...   
Also, check out the new logo for FlamingLunchbox!!

 

Facebook vs Google

May 18, 2011

 

Spent most of the morning spamming everyone on facebook because I was creating all of my pages for the business.  It was a helpful reminder that facebook needs options when it comes to cross posting pages I may not want others to view yet.  I may have missed something, but I don’t think I did.  All the things I added, as I was creating pages, continued to post more and more stuff on my personal page.  I feel bad for all those people who watch my feed, because now they are going to be overwhelmed with (for many), things they already know about.

On a side note, I’m really rather sad about the whole facebook vs google war.  I really like Google (for the most part), and I like Facebook, or did.  I’m just never a fan of smear campaigns.  I’ve heard some info regarding both sides, and at this point all I know is that they are starting to compete.  I think most of the rest of the details are unknown (aka why and for what reason...).  Considering some of the ‘programming culture’ described in “The Cathedral and the Bazaar” I noticed that most people tended not to smear others.  Even if their product or whatever was of inferior quality they would simply provide feedback/or none, or simply say good job keep it up.  No one would nay say someone (at least for the most part).  As with many rich minds out there you see the mentality of, “You never know where the good ideas come from”.  If that were to be kept into consideration then certainly 4chan and other such things may not exist, or at least, they might exist in a different nature.  It has its place, however I’m all for supporting rather than putting down.  

For some more reading on the Facebook vs Google war check out these articles:

CNN
New York Times
PCMagazine
WIRED
Huffington Post
PCWorld

You can also check out my AWESOME depiction of the whole thing below:
No seriously, it's AWESOME.

 

Now for a short discussion on Twitter Analytics

May 17, 2011

 

In my effort to learn more about social media I found this awesome service provided by
TwitSprout.  They are currently in beta (as are we for Offti.me Cribbage), and quite honestly I’m really excited about what they have to offer.  They sent me this link today to my Twitter Account Report, feel free to check out it.

I really love the layout and color choices.  It makes the report easy on the eyes and easy to digest, upon review .  However beautiful the page, it didn’t detract from my poor statistics, which were entirely NOT the fault of this awesome service.  So starting from the upper left corner I’ll be checking and reviewing things in a normal western left to right style.  

It’s nice to know about their custom branded dashboards and other jazz, and I like how they made it less intrusive but still available.  Kudos to TwitSprout for promoting without detracting from their services.  

I LOVE that the information is exportable.  That is fantastic.  Allowing easy access to tweet about it and make comments about possible errors is also great.  The only thing I might mention is the positioning.  Some of the spacing seems a bit off.  Also, having the Twitter ‘Tweet’ button in between both is a little detracting.  I might suggest moving that line to the top, and then ‘Excel file’, then the ‘Something looks strange?’ positioned at the very bottom.

The main header is great, but the @ symbol is rather distracting (despite it being a twitter name).  Perhaps sizing it down a bit?  Another thought would be to include the Twitter Icon for your account on that page, next to your username.  It’s something I would enjoy seeing, mainly because I love my little Android in a dress. :)  The next section is useful and is located well on the page.  The ‘Follower Growth/Day’ graph is set up nicely, but doesn’t provide much information for those just starting out with low follower totals.   

The next section including growth rate, percentage declining, follower to friend ratio and influence indicator are all interesting and well set up.  It might be nice to have a link to your description (or something else, a float over with an information pop up window perhaps), for those unfamiliar with how you assess it.  I was able to easily find it on your blog but I have this image of someone adding your report to their report for their boss.  I can see their boss wanting to know where the information came from and having easy access to that would be a great addition I think.

Historical Account Growth: now this information will be awesome to check out as time goes on.  Some of the positioning on my page seems a bit off, more specifically that the borders and spacing seem a bit cramped.  It would be nice to have the original view of this data show from original sign up date to current day.  Making this data adjustable would also be great, however I hear that custom date ranges are perhaps in the works already and thus it should be available sometime in the future.  

I really like seeing how my follower rates change based on the hour in the day.  Currently the graph provided is a little difficult to follow at first.  I understand the information it’s providing, but with the days listed and color coded it makes reading a little more complicated than it should be.  That is especially in consideration with the way the rest of the information is displayed.  Reformatting into a different graph context, or something else entirely?  Separating the information might help with this.  Perhaps list the increase/decrease of followers dependent upon time of day in one graph and then list overall trends per day in a separate section/graph.  I find the hourly twitter follower conversions to be really interesting but still find the color coding of the days to be distracting.  Lastly, the daily tweets, works great and looks great.  Nothing else to be said there.

Having two different links to the same page at the bottom of the screen seems a little like overkill but I understand what’s being done.  They’re making sure users connect to one of the common statements shown, and still get to the one page used for such feedback.  However it might be better to combine it by listing at the bottom, “Love our fresh approach to Twitter metrics? Write a review, or tell us what you think at oneforty.  What are you waiting for?”.  

If TwitSprout decides to provide a manipulable overview like Google Analytics later one, I think they should  offer the option of weekly (daily or even monthly) report generation.  It’s something businesses would be willing to pay for, and a valuable option to have when reviewing data sets.

A question asked by TwitSprout in one of their blogs was: Would you like to see Klout score in your growth report?  Why yes, yes I would.  I think it might also be interesting to gather data regarding the amount of mentions you make (interactions within the community), as well as the amount of your tweets that are retweeted.  I think both of those stats would be really interesting to watch so one could track their influence on follower counts, etc.  

I wish that Google Analytics offered an overview as easy to digest as the one provided by TwitSprout.  It’s set up in such a great manner that it makes reviewing the data just easy.  I look forward to seeing future updates from these guys and I look forward to seeing them grow.  Best of luck to TwitSprout from FlamingLunchbox!      

       

 

Job Search Woes

May 16, 2011

 

I think about getting a job a lot lately.  I sit and stare at Craigslist ads and realize I’ve kind of forgotten how to do it.  Where to go, what to do.  Most of it’s intentional.  I hate the idea of another company with total control over me, regulating my every word, with every second thought being full of fear that I am simply not capable or creative enough to be self sustaining.  It’s a complicated and full world.  

What have I to offer?

Then my brain-void fills with thoughts of self loathing and ineptitude.  “I’m stupid” is everywhere I look, in everything I do.  

I start to think about looking for jobs again.  I start to think about getting simple jobs because, perhaps, I just need to make ends meet for a little while.  Then I think about running into the people who hurt me so much at my last job, and I become afraid again.  I don’t live in the biggest of towns, so running into them is bound to happen.  However, it’s more likely if I were to work in a field of service, something more basic where the public sees you more.  

I’ve just started laughing again, laughing at full force.  As I am in love with my own happiness, the idea of having to return to something that would stifle this is horrifying.  However in all honesty it’s not there everyday, this free laughter.  It’s there some days, and then gone others, but it’s still there sometimes.  I see it, and can feel it and experience it again.  The idea of giving that up...

Then I start reworking things that happened and I have trouble sleeping again.  I can’t fall asleep because all I do is play reruns of all the things I regret in my own head.  I want to be able to push pass this and be able to live life again without regret.  How do you learn to live without regret, ever?  How do you learn to live and not fall asleep every night in angst and pain because you can’t help but relive it all over again as you crash?

   

 

Friday Poetry Corner

May 13, 2011

 

More grey skies
 
ever foreboding
ever eager
ever lingering

Like eyes that bore
a scratchy throat and red rimmed sockets
Mimicking and harassing my coffee cup
I want to punch out their lights
Sorry, only short stuff today. See you next week!

 

Why it's difficult learning to program

May 12, 2011

 

I've found that one of the hardest problems I've come up against in the learning process regarding programming is the embarrassment I feel when I don't understand something when it's being explained to me. It can be totally debilitating. Once it starts, sometimes it’s hard to stop myself from going completely downhill. From then on I feel as if for every additional thing explained, the more I crawl into a hole. Then the more I shut down and the more difficult it becomes to take anything in.
Then I start to think, “How many times is it going to take him re-explaining it to me, for it to make sense and click?  I don’t want to waste his time.” This happens each time he asks, “What don't you understand?”, which he only asks when he's trying to understand how to help me better. With each time it making it subsequently even worse. I don't KNOW what I don't understand, I just don't. At least as far as I can tell at that moment. Then with the additional embarrassment I dig in real deep, look like an insolent child, and sit there doing my best to not be a child and I try to listen to what he has to say.

What makes learning to program easier for me? I know what makes it more difficult, perhaps from there I can figure out what makes it better.

What makes it worse:
  • Feeling like I have to have everything explained to me over and over again, because I still don't understand it.
  • When I can tell someone is racking their brains trying to figure out how to dumb it down for me.
  • When I feel like I'm getting nowhere.
  • When I've done all the readings and re-reviewed the lectures and still have trouble putting things together.
So, what would make it better?
  • Once in a while having things explained to me once, and being able to understand it.
  • Feeling like things don't have to be dumbed down for me to understand them.
  • Feeling like I'm getting somewhere.
  • When I can do all the readings and re-reviewed the lectures and can put things together.

Yeah, so that was just rehashing things.  I don't know if that really helped to solidify it for me, but it did help me come up with other things that I think make more sense, and I know have helped me.

What makes it better:
  • Allowing myself to learn in increments that are appropriate for me.
  • Letting myself put realistic expectations on my learning. Letting myself be okay with not understanding it the first, or the hundredth time. Allowing myself to know that I just have to keep trying and I will know, eventually.
  • Doing more basic exercises, but reworking in other problems. I've found that the readings and lectures definitely help, but without having more problems I'm finding my progress to be stunted. But this isn't just basic exercises that I come up with myself. I think what would truly help the individual learner would be to have a list of exercises for one to do. Simple ones, so you can practice the syntax and practice how little things work so you can slowly incorporate them together. That way you’re doing and seeing how everything works. You’re writing and creating them all. Thus you would create a progression that would makes the programming concepts easier to soak in. As in learning another language you can't just read and memorize, you must write practice sentences until your eyes bleed. Then the combinations and way things work are more inherent, and less alien.

Which, this whole exercise helped me to come up with a great idea to help myself. I'm going to start collecting all the little questions that come up in the MIT Intro to Computer Science course. I'll make a list, and then start thinking up other questions to go along with it, that help expand on these items, and help the information soak in that much more: an addition for the individual Python learner.

 

DeviantART

May 11, 2011

I updated my deviantART profile today.  Within about 10 to 15 minutes I had several favorites and comments.  Woo!  It’s exciting knowing that my graphic art connects with some people out there.  Connecting is exciting! (alright, a little over the top I’ll agree).

 
It’s been really beautiful outside so it’s been hard sitting inside seeing the computer screen reflect the sunlight.  However lately I haven’t had nearly the same issues I used to have with my depression.  I think I’m doing a ton better.  I met up with some old coworkers recently who chatted with me a bit.  They mentioned how great they felt my work ethic and ability was.  Which was just another reminder that I’m not crazy.  Knowing you’re not crazy = A O K.  
 
It’s amazing how much I reflect upon that idea.  Depression/manic depression runs in my family.  I think it’s the one thing that I worry about the most: whether or not I’m going crazy.  I’m already a bit off my rocker, but in a positive way I’m sure.  :)
Oh yeah, you can check out my deviantART profile up above. It's listed right next to my Twitter link on the far right.  

 

Links