The Sex and Cash Theory for Programmers

Obtaining Line Numbers When Viewing a StackTrace With ClickOnce Deployment

19. March 2012 16:49 by Scott in WPF  //  Tags:   //   Comments (0)

When publishing a WPF application.  I used the Click Once method as it seems to be the best and quickest way to auto update desktop applications.

Its like auto updating apps these days on phones and tablets, but this time its on a windows desktop.

So, I had implemented it and we have had users download our beta piece of software for it.  The first problem I saw when errors started arriving was the line numbers weren’t being taken.  So I knew it first, we weren’t publishing the .PDB files when we published via ClickOnce.

So we went searching and its sort of hidden away.  But Right click on the Project –> Properties –> Publish Tab –> Application Files Button then Click Show All Files.  You can then require that the PDBs get published with the app.  It will show line numbers now in Errors and it will be much easier to see problems.

Can You Teach Me to Code-Program?

31. March 2009 03:05 by Scott in   //  Tags: , , ,   //   Comments (0)

Training the un-wanting is just plain hard.

Can you teach me to program/code?  I get this question a lot in my day to day life.  I have fallen for it almost 100% of the time and in total, about 10 times in the past two years. Friends ask me if I can teach them how to program.  Other Friends want to create nifty little applications and need to know how to start.  Then there are those that wish they knew, but don't know where to start.  Every time I tell people I am a full time developer, I tend to get the question.  The problem here is not that I get the question, its that 99% of the time I say yes.  I actually don't really remember the last time I said no.

The United States along with other countries such as South Korea, India, Parts of China, Australia and Parts of England are now fast becoming post industrial countries.  They are losing their manufacturing expertise and moving to more of an intellectual work environment.  In this work environment, most people sit on their butts all day in front of a computer and get something done.  In a work where the computer rules the office space, people want to manipulate their computers more and more.  They want to figure out how to change information and manipulate the way things work. So because of this post industrial revolution, people want to learn how to program.  Take for example, MySpace.  You have to know how to develop for the web in order for you to make your page more personal.  Its becoming more and more mainstream to hack a bit at code.  It used to be the things that nerds do and now every kid on has coded a little bit.


Photo by Wonderlane


I have one friend who wanted to create a small application for user management of their organization (I ended up doing most of their work).  I have another friend who wanted to learn how to create online games for Myspace.  I sat down with him for a couple of hours and banged out some code.  For the next week, he experimented a lot.  Then he just fell off and I no longer heard him talk about code.  I just had another friend who knew a bit of C and C++ in which she asked me if I can teach her to code.  I said yes for the plain fact that its hard to say no.  I learned to say no a while back and people tend to confuse me with someone as selfish or self absorbed.  I usually let it go as that for the short answer.  The long answer for those closer to me is I almost always said yes to things and became overwhelmed with things to do.  It happens to everyone that says yes too much, so I had to learn to be a bit more selfish or people would just step all over you.

So, how do I make sure that the people I teach are actually going to continue doing it?  This is a question I ask my self a lot and still don't have an answer for.  For every person I taught; I have tried to seduce them to being my partner in crime but it just doesn't seem to happen.  I still don't know how to keep these people working on code.  To keep developing, to keep moving and firing.  The point is, I need to start saying no to these folks as well or I need to bind them to a contract that says we are going to build this together and this will be how you learn to code.  By helping me build this application, I will teach you how to code.

Thanks for listening.

If you liked this post, please be sure to subscribe to my RSS Feed.

Will the First Hacker in The Room Please Turn the Lights Back On?

16. March 2009 03:53 by Scott in   //  Tags: , , , , , , ,   //   Comments (3)

Before I go into detail I must define a few things:

Hacker - is a person who heavily modifies the software or hardware of their computer system. It includes building, rebuilding, modifying and creating software (software cracking, demo scene) and electronic hardware (hardware hacking, modding) either to make it better, faster, give added features or to make it do something it was never intended to do. Hobby hacking originated around the MITS Altair.

Computer Hobbyist - A person who tinkered with computers and built new hardware, operating systems and even word processors.

What ever happened to the Computer Hobbyist?

Computer Hobbyists are still around, but they are now called Hackers. In the 60's, 70's, 80's and even in the 90's there a group of people who lived on IRC and bulletin boards.  Apple was started by them and they had an anti-IBM sentiment.  Years later most of the "old school" computer hobbyist gave up their pursuits and they complained about the big companies and big business revolution that has taken over.  The hobby was getting too expensive to keep tinkering with computers.  Things were changing every 18 months or so and that was just too rapid for most.  This was in the period of about 1985 through 1992 when you needed to buy another desktop computer every 18 months.  Most hobbyist bailed out during that time just because it was too expensive.  The reason they havn't returned to the scene was that programming was turning into a nightmare.  It would now take a full time commitment and most programming languages needed schooling as well.  So they left the scene back around 1992.  Sad time, but times; they are changing. Programming is getting easier.  Code is getting easier to write and now hackers are making modifications to hardware.  Instead of creating it, they are now modding it.


Hackers have now taken up the slack as the computer hobbyists have fallen off.  Its the changing of the guard.  Computer Hobbyist seemed to have turn out the lights in the room and now the lights are back on and in full swing. PC Magazine has fallen off the shelves.  They should be reinventing them selves for the new hacker sub culture thats coming into play. Hackers these days can be found deep in their cave working on the next software modification.  They work on software and on hardware.  They are thriving and making up for lost time.  These days, hackers are known to create new startups.  These start ups will be the Apple of tomorrow. Apple was once started as a hobby and now there are many companies forming around software and hardware innovation.  Hackers are now the innovators of software and hardware.  Look them up.  A large portion of them can be found on a site like Hacker News.

Photo by Yodel Anecdotal

So if your wondering where the last computer hobbyist went.  You don't have to look very far.  They are the new guard and will hopefully make the old Computer Hobbyists proud.

Posted in response to Will the last Computer Hobbyist Please turn out the lights?

If you liked this post, please be sure to subscribe to my RSS Feed.

If I was a programmer still in college, I would...

3. December 2008 15:32 by Scott in   //  Tags: , , , , , , , , ,   //   Comments (16)

I was mentoring some kids the other day about being in college as a programmer.  Heck they could even had been kids in high school.  The ideas stated here still apply.

  • still worry about grades - Grades get you the job, but they don't keep your job.  Learn new things and relax off the grades a little.  You don't have to always get that A in class.  Unless you're going for a masters or PHD right after your bachelors, relax and have a little more fun.
  • put down the video games - There is much more to life than video games and chatting with people online you have no idea about.  The biggest thing that got me to put down a controller were the questions that "If I disappear tomorrow in the gaming world, will I be missed?  If I disappear tomorrow in the real world, will I be missed?"  There is a big line in spending a bit more personal time with your real friends compared to just some people on the other side of the world.
  • go out a few more times - I am two years out of college and I sure do miss it sometimes.  The interaction with all the people.  The not having to worry about bills and not waking up to a 9-5 job would be amazing again.  On a side note: I do think I have grown out of the parties a bit.
  • have thought of a GREAT IDEA and gone with it - It was the perfect time to focus less on college studies and more time on a great business/web 2.0 idea.  I had plenty of time where I got bored, I should have focused it towards a great idea and making it happen.  Now a day, I get home at 6pm and only have about 3 hours to work on my ideas at home.  I don't have much time left in the day to actually get my business ideas up and running.
  • join a Fraternity - It is a known fact that more than 75% of CEO's have been in a college fraternity.  It is a known fact that you get resources and jobs just through your fraternal world.  You get connections beyond your belief and you get a better social life in college.  Instead of playing those video games by your self, you could be enjoying a great time with friends that you have a close bond with.  Sure you might think of it as paying for friends, but I thought of it as networking and a social life.  I did join a Fraternity and got much more than I expected out of what I put in.  For a college job making $7.50 and hour and only working 10 hours a week, I was able to pay for my fraternity and social life.  It was a great bargain!
  • have thought of a GREAT IDEA and gone with it! - I know it is a repeat, but I fear it was one of my biggest mistakes in college.
  • have learned a real programming language - Java and C++ are no longer really used these days outside of academia.  Some people will even argue that java has become too academic.  I know Ill get some flack for this, but I consider it to be true.  Did you know that Microsoft uses 98% C# in its work environment?  I wouldn't learn PHP now seeing that Microsoft gives out its IDE and workspace extremely cheap these days to students.  Java and C++ are a good free language.  Even if you don't pick up two languanges, at least pick up one.  Learn one programming language and build something with it!
  • not let my teacher hold me back - teachers can sometimes not care too much about students.  Don't let them hold you back.  There is a BIG saying at most big universities which is hard to get away from.  "Publish or die" Teachers are required to publish at universities.  Unless they really like teaching, they are required by the university to publish or leave. They don't care much about the students. Don't let the teachers hold you back.
  • try to find a mentor - You can never have too many mentors.  I wish I would have found one to guide me along the programmers trail.
  • have run with my great idea! - I know I said it once and twice, but this is the biggest thing I look back on and think I should have done that!
  • not own a credit card - Spring break is fun for a week, but bad credit last for 7 years or more.  Don't own a credit card and repeat mistakes of others.
  • Last but not least, Be controversial! - Don't be hated, but be controversial. Make sure you get your point of view heard.

This is only a short list and I imagine there are many other things in that period of time I wish I would have done, but this list will not die and will keep growing.

These thoughts are more of advice than a memory.  You can do what you wish with them. 

  • "Be careful whose advice you buy, but, be patient with those who supply it. Advice is a form of nostalgia, dispensing it is a way of fishing the past from the disposal, wiping it off, painting over the ugly parts and recycling it for more than it’s worth." - Baz Luhrmann
If you liked this post, please be sure to subscribe to my RSS Feed.

In programming, clever != smart.

10. November 2008 19:52 by Scott in   //  Tags: , , , , ,   //   Comments (37)

You ever have one of those days where you think you are the smartest man in the world and the best programmer at your place of work?  Then some clever kid comes along and does something that speeds up your code by a few seconds/minutes?  Ease your self.  Just because that person just solved your problem, doesn't mean they are smart.

"In programming, clever != smart." - anonymous

You work all day on a certain project, take a step back and look at it.  Its some of the beautiful code you just created, but you are hung up on this little issue.  Along comes some programmer and they solve it for you. When I was in high school or middle school and I was getting off the bus.  One day I heard one of my bus drivers say to a girl.

"You might be book smart, but your not street smart" - anonymous 

I tend to think that I am about in the middle of this quote.  I tend to think I am both book and street smart.  I imagine most people do.  Book smart programmers tend to be better at writing code then their street smart counter part.

The book smart programmer (smart):

  1. tended to focus more in school on classes including algorithms.
  2. tended to have less of a social life due to studying more or less depending on how fast they got solutions to projects.
  3. tended to be either inside playing video games or working on a cool project that could solve the way USB drives communicated to computers.
  4. tended to have soda cans and candy around while staying up late around his computer.
  5. tended to get better grades.

The street smart programmer (clever):

  1. tended to focus a bit more on going out and socializing.
  2. tended to focus a bit more on girls.
  3. tended to copy and paste code.
  4. tended to join a social organization.
  5. tended to have a bit more fun in the activities they thought up.
  6. tended to get a little lower grades.

This reminds me of the movie "Real Genius". Where Chris seems to have both of these types of people tackled.  He sees Mitch and he sees the old him.  The book smart programmer(laser tech).  Mitch is stuck with trying to do the best in college that he can. Then one day, Chris gives Mitch a little lesson. He lets Mitch know that college and life can't just be all books.  It has to be books and fun.  It has to be smart and clever. Sure clever != smart, but wouldn't it be good to be both? Wouldn't it be satisfying to be Chris and let Mitch slack off a bit.  They are both geniuses.

I went to college for four years, I did my fair share of partying and I didn't graduate with the best GPA.  For a Computer Engineer, it is a pretty shameful GPA.  Though I got a real job before even graduating.  I had done some work on the side while still in school.  I got an intern with my college Fraternity. This advanced my ability to show my future employer I can have a real job and keep it.  I am not saying stop all your studies now, but live life.

Programmers need to both be smart and clever. Not just smart and not just clever.  If you want to tackle the real issues, you can't keep writing code all day and every day.  You need to just step out and have some fun.

"Don't let Life pass you by..." - Scott

I am not trying to be a philosopher, but what I am saying is find your true happiness in life.  Be smart and clever.  Don't get stuck on always trying to be the best or smartest, but make sure you Get the Job Done at the same time.

P.S. I always tend to start on one subject and completely finish with another by the end of the post.  This one is no different. hah.

kick it on

If you liked this post, please be sure to subscribe to my RSS Feed.