StyleCop was just released!

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 myspace.com 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.

The Hackers Manifesto

13. January 2009 04:29 by Scott in   //  Tags: ,   //   Comments (11)

A few days ago, I wound up opening up old memories.  Viewing old things I bookmarked such a long time ago.  I found many things that I meant to come back to and read more thoroughly, but never did.  These days time is of the essence in most peoples mind.  People find it hard to stop and smell the roses as the saying goes.  I find it the same way with me as well.  I have to slow down and smell the roses.  When I looked over my bookmarks from so long ago, I ran into an old article.  A very old article that has graced the pages of thousands of websites and still holds true today.  The culture has changed a bit and the life style of a hacker is a bit different, but why not bring something out of the closet that has created such a huge movement.  Most developers or hackers under the age of 22 have never seen this article and hopefully it is still out in the mainstream.  I sometimes thought it should be required reading in computer classes around the world.


taken by Joi

 

The Hackers Manifesto.  I want to ask my readers who actually read this way back in the day to throw a comment down or even if your seeing this for the first time if you enjoyed this article and it just excited you.  You see, for Gen X this article has been seen by millions and confirmed by millions.  For Gen Y, this article has been seen so few times that it is sometimes irritating.  The article subscribed to me why I first got into programming, why I first got into jumping on a computer and hacking.  I once considered my self a hacker.  I was expelled from HighSchool for hacking and was restricted to ever touching a computer again in my HighSchool.  I had my hay days and the younger generation will have theirs. 

The manifesto greatly sums up the conscience of a hacker.  They are smarter than most and have an ability to excel in their work.  They don't do manual labor, they do intellectual labor.  They use their mind instead of their body.  They are the ones who are curious.  They are the ones who strive to push forward.  To push above and beyond their current status.  They are the hackers of today and yesterday. The term hacker has literally changed from days of the passed.  Today a hacker means both the hackers of the passed and a new generation of 9-5ers or college kids striving to make their mark on this world.  They want to launch an application in 5 minutes flat and have it go viral in another 5 minutes.  Hackers today are a different culture, but this manifesto still applies.  Maybe making a manifesto #2 is needed to describe the new hacking culture...

I do ask that you contribute in the comments to know if you have ever seen this publication before. 

Here I present to you a publication that has been read by millions.

==Phrack Inc.==

Volume One, Issue 7, Phile 3 of 10

The following was written shortly after my arrest...

\/\The Conscience of a Hacker/\/
by  +++The Mentor+++

Written on January 8, 1986

Another one got caught today, it's all over the papers.  "Teenager Arrested in Computer Crime Scandal", "Hacker Arrested after Bank Tampering"... Damn kids.  They're all alike.

But did you, in your three-piece psychology and 1950's technobrain, ever take a look behind the eyes of the hacker?  Did you ever wonder what made him tick, what forces shaped him, what may have molded him? I am a hacker, enter my world...
 
Mine is a world that begins with school... I'm smarter than most of the other kids, this crap they teach us bores me... Damn underachiever.  They're all alike.

I'm in junior high or high school.  I've listened to teachers explain for the fifteenth time how to reduce a fraction.  I understand it.  "No, Ms. Smith, I didn't show my work.  I did it in my head..."  Damn kid.  Probably copied it. They're all alike.

I made a discovery today.  I found a computer.  Wait a second, this is cool.  It does what I want it to.  If it makes a mistake, it's because I screwed it up.  Not because it doesn't like me... Or feels threatened by me... Or thinks I'm a smart ass... Or doesn't like teaching and shouldn't be here... Damn kid.  All he does is play games.  They're all alike.

And then it happened... a door opened to a world... rushing through the phone line like heroin through an addict's veins, an electronic pulse is sent out, a refuge from the day-to-day incompetencies is sought... a board is found. "This is it... this is where I belong..." I know everyone here... even if I've never met them, never talked to them, may never hear from them again... I know you all... Damn kid.  Tying up the phone line again.  They're all alike...

You bet your ass we're all alike... we've been spoon-fed baby food at school when we hungered for steak... the bits of meat that you did let slip through were pre-chewed and tasteless.  We've been dominated by sadists, or ignored by the apathetic.  The few that had something to teach found us will-ing pupils, but those few are like drops of water in the desert.

This is our world now... the world of the electron and the switch, the beauty of the baud.  We make use of a service already existing without paying for what could be dirt-cheap if it wasn't run by profiteering gluttons, and you call us criminals.  We explore... and you call us criminals.  We seek after knowledge... and you call us criminals.  We exist without skin color, without nationality, without religious bias... and you call us criminals. You build atomic bombs, you wage wars, you murder, cheat, and lie to us and try to make us believe it's for our own good, yet we're the criminals.

Yes, I am a criminal.  My crime is that of curiosity.  My crime is that of judging people by what they say and think, not what they look like. My crime is that of outsmarting you, something that you will never forgive me for.

I am a hacker, and this is my manifesto.  You may stop this individual, but you can't stop us all... after all, we're all alike.

+++The Mentor+++


taken by BvdL 

kick it on DotNetKicks.com

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

Life is like Code, you never know what you will create next

10. December 2008 02:21 by Scott in   //  Tags: , ,   //   Comments (62)

Appreciate the Beauty – Code can be amazingly beautiful.  It can be written in five lines to express what could also be written in 20 lines.  When I write beautiful code, I will often take a moment to step back and realize what I have just done.  You need to do this in life as well.  When you complete something that took a long time, step back and appreciate your time spent.

Be In the Now – I have always enjoyed coding. I could "get in a zone" and wouldn’t miss a bracket or a semi-colon.  In software development, you need to be in the now.  You need to hack away at the code until you get it just right. In life, you need to also figure out how to be in the “now”.  You need to live in the present.

Be Honest – Don’t mess around, be truthful to those you work for.  Coding is an art, be honest in how you code and what you code.  Take shortcuts, but don’t infringe on patents.  You will lead a much more satisfying life if you were just an honest person.

Plan ahead – Good programmers don’t just start coding.  Think about what you do before you do it.  Good coders make sure they have a game plan before they start writing.  Even if you’re an extreme programmer, think about what you do, before you do it.  In life, you need to ask, "Are the actions your taking now going to work well in the future?"

hello 
Picture taken by Amagill

Narrow Your Focus – Code is completed in functions.  Something goes into the box and something different comes out of the box.  You need to narrow your focus so you write the best functions possible to make you code complete the first time around on that particular function.  You need to apply that same level of attention and narrowness of focus to your everyday activities. You could get a lot more done if you jumped into one task or function a time and got that function done and then moved on.

Keep Your Eye On the Ball – To make great code, you have to know what’s at the end of the code.  You need to make sure it works well with everything.  If you’re an extreme programmer, make sure your correct in all your goals for the next release. It’s the same in life.  If I find that I’m not making the progress I want toward my goals, it is usually because I’ve let myself get "busy".

Mind Your Manners – Coders will tolerate a lot from a newbie.  They will help him along and make sure he doesn’t screw up, but most coders really don’t appreciate poor etiquette.  You should approach everyone in the world that way.  Peace on earth is easy if you just gave a bit more common courtesy.

The More You Do It, The Better You’ll Be- "Practice makes perfect" is the mantra every coder should follow.  Keep working and you will write better code than before.  I look back on old code I wrote and see a vast improvement than what I was doing 2 years ago.  How much richer would you be if you practiced better communication, compassion, and empathy?

Leave the Code Better then You Found It – I learned this in Boy scouts very early on.  It’s the same with code.  If you do a refactor, leave it in better condition than you made it.  Write better code than the lines you wrote before.  Make it do greater things.  You would be a much better friend and person if you made a concentrated effort to leave everything and everyone better than you found them.

kick it on DotNetKicks.com

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

Why get bored, when you could be coding!

23. November 2008 18:01 by Scott in   //  Tags: , , , , , ,   //   Comments (34)

There are many times in life when you have nothing to do.  As a member of the civilized world, we as a people are becoming bored every day. We are a world that watches more movies everyday.  I bet if the movie industry came out, we would see the statistics of movie goers have increased over the last 20 years.  We are a world that technology has allowed to do many things that have taken us hours or even days to do before.  Our world is speeding up and everyone wants more.  They want to get done faster, finish things better and move on to the next project.  People get bored easily these days because production levels have gone through the roof with the help of technology which allows us to become lazier.  Life in it self is full of its bored moments.  People in general have less and less to do because technology has sped up our daily tasks.  I think that is one reason why more and more movies are being watched.  People want more out of life and movies give you that little action and adventure that your looking for. Movies give you the ability to stop boredom.  To some people, movies are a way of life. 

My life is no different, technology has made my life so much easier than people that have come before me.  My solution of boredom?  People need to find a hobby.  They need to find something that will keep their attention.  If they don't they will inevitably become a YouTuber.

YouTuber -A person that watches excessive amounts of YouTube to pass the time.  Not only applied to YouTube, but a person that does an excessive amount of anything to which they do just to pass the time.  This isn't a hobby, but a time waster.  

People that watch and enjoy YouTube to me are either doing it because that is their hobby or they are doing it to pass the time.  I personally code as my hobby or down time.  I not only do it as a hobby, but to make my life and everyone else's life a bit easier and a bit better.  I am like every other programmer or hacker the does it. I chip away at making life better.  I don't think I will ever be as rich as Bill Gates, but I hope to have helped as many people in my life as he has.  This is where coding/hacking comes in. When I get bored I code; when I want to do something, I code.  Due to technology, I get to do a lot of my hobby. 

If this is your first time reading, then you wouldn't know that I usually try to have around 2-4 projects going on at once.  My projects are all for making life a bit easier for me and everyone that has access to a computer and internet.  I have about 15 ideas that could be implemented currently and boredom brings my code to life.  Like I said before, I don't get bored, I code.  Right now I am even sitting with friends and watching some football.  I can keep a conversation, watch football and blog all at once.  When I get bored, I code (so I am not coding, but being productive).  

The point I was trying to get across: Stop being bored, be productive.  Find a hobby, find something.  Carpe Diem (Seize the day).  Learn something, do something and retain it. When I get bored, I code.  Life is not about being bored.  Life is about doing something.  Its about achieving something better than your self.  My something better right now in my life is coding and my great girlfriend. 

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

A LINQ lesson

2. October 2008 12:18 by Scott in   //  Tags:   //   Comments (47)

I needed to get a query completed like this in LINQ.

Select max(uid) as uid, Serial_Number from Table Group BY Serial_Number
I thought about it for a while but didn't get anywhere.  I kept testing until I asked another person and they came up with:
 
        using (DataContext dc = new DataContext())
        {
            var q = from t in dc.TableTests
                    group t by t.SerialNumber
                        into g
                        select new
                        {
                            SerialNumber = g.Key,
                            uid = (from t2 in g select t2.uid).Max()
                        };
        }
 
This code is very nice and sweet.  It allows you to select the all MAX Rows of a table with a grouped table column. 
Hope you enjoyed this little lesson.  I decided to save this syntact because it is something I will most likely come accross again.
Scott
If you liked this post, please be sure to subscribe to my RSS Feed.

FizzBuzz => BizzBuzz. Can you actually code?

6. May 2008 16:46 by Scott in   //  Tags: , , ,   //   Comments (50)

42-16920498

Have you ever been in an interview where they asked you to write code in front of them?  Well I haven't, being so young and so fresh in the developer world.  My Interview went along the lines of:

  1. Have you ever worked on CSS, HTML, ASP.NET and SQL?
    1. Yes I have, as of 2008 I have over 9 years experience with this stuff except for only 1.5 years with ASP.NET.
  2. What are your favorite hobbies.
    1. Fun, Fraternity, my Girlfriend and of course all my software projects that I have going on.
  3. Having them critique me if I will actually fit in with the group.

I have never been asked if I can FizzBuzz.

FizzBuzz - To write a program that prints numbers 1-100.  For multiples of 3, print Fizz, for multiples of 5, print Buzz.  For numbers which are multiples of 3 and 5, print FizzBuzz.

It deals with Modules, hope I spelled that right.  Can you do it?  Leave your code in the comments section, I would like to see your answers to this little problem.

FizzBuzz, the phrase is over used all over the Internet.  It is used by multiple programmers and made popular by www.codinghorror.com which covered the FizzBuzz Dilemma here.

Why am I writing this?  I want to start a movement that doesn't use the word FizzBuzz anymore.  I want to use the phrase BizzBuzz. In my college life, I was a pretty big drinker and well we did play a few games that involved a table a die.  It was called Beer Die.  I suggest you look it up and think on it.  It is pretty fun for those people at the main table, but boring to the people that stand around the table. It was a fantastic game.  Like every drinking game, there were key words that couldn't be said. The words are Bizz and Buzz.  Bizz stood for 5 and Buzz stood for 7.  If you said either of these words, you finished a beer.  So lets start this movement!

BizzBuzz - To write a program that prints numbers 1-100.  But unlike FizzBuzz, For multiples of 5, print bizz.  For multiples of 7, print buzz. For multiples of 5 and 7, print BizzBuzz.

Why? well because FizzBuzz has become to popular and BizzBuzz has some history to it.  So lets start a cult following for BizzBuzz just like the following Beer has.

Thanks for listening. kick it on DotNetKicks.com


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

Books to Read as a Programmer/Developer

1. May 2008 17:11 by scott in   //  Tags: ,   //   Comments (0)

I think just about every programmer has a list of books they wish to read and since I am a programmer, I am no different.  Below will be my ever growing list of books that I suggest to read or want to read.  These books are things that will change the way I think on things in life and that's why I choose to read them.  No fairy tale novels or romance books here.  Its all books I can learn from.

Currently Reading

The Bible - All about Christian ideals. Okay, I know this book is slightly out of context, but it is something that teaches a lot of things for the regular person.

Books I have Read

  1. ASP.NET Unleashed - This book is an in depth study of everything ASP.NET.  It talks about all controls and the deep code it takes to build web sites and winforms.


Want to Read

  1. Code Complete - Steve McConnell - I first heard about this book on a weekly radio show I listen to called dotnetrocks.  I have not currently read this book, but it is supposed to cover the entire scope of Computer Science and coding.
    71RFXHMCBVL._SL500_AA240_.gif
  2. Don't Make Me Think - Steve Krug - I forget where I read this book, probably from the same dotnetrocks interview that I heard for Code Complete.  This book details all items of usability.  How to make the best user interface that a person can create for the user.
    51W8l2Zy3WL._SL500_AA240_
  3. Mythical Man Month - Frederick P. Brooks - It is another book that I want to read about the human elements of software engineering.  If you write code, this book should be on your shelf from what I hear even though I have not gotten it yet.
    51esG7-GjbL._SL500_BO2,204,203,200_PIlitb-dp-500-arrow,TopRight,45,-64_OU01_AA240_SH20_
  4. The Visual Display of Quantitative Information - Edward Tufte - By some this author is called a genius in all user experiences and just making life an easy flow of data.  This is a must for any programmer from what I understand.
    4134W2FTSYL._SS500_
  5. Visual Explanations - Edward Tufte - Another book by Tufte in which this one and The Visual Display of Quantitative Information are supposed to required reading for any person that develops Great UI's.
    41NXBJXXW6L._SS500_
  6. Envisioning Information - Edward Tufte - The last and final book that is another must read for Tufte.  People say that it is not required to read all three, but highly recommended.
    719P4NWTPCL._SS500_.gif
  7. Introduction to Algorithms - Something I need to read since I am way behind on the curve of programming real stuff.  I was a Computer Engineer in college and got hired up as a Computer Programmer! 
      41WDWECWVCL._SL500_AA240_
  8. Design Patterns: Elements of Reusable Object-Oriented Software - Supposed to go in depth of why and when to use Object oriented programming and this is another book because I missed my core CS classes while in college.
     sdf
  9. The Elements of Typographic Style - Lets see how to write and display text better in this world.  This book comes recommended from the highest sources and will not pass it up.
     sadf

After I finish reading these books, I will move them to the "have read" section and make sure I give a good explanation of each of them.

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