Programming

Funny video from Reddit about programming professionally

I saw this on Redit, but the poster ripped it from youtube, so no back link… But its funny and kind of true.

If people tried to pay for other services and goods like they try to pay for programming service:

Tuesday, December 14th, 2010 Programming No Comments

Galaxy Tab emulator available.

A user wrote in to tell me that private browser sucks on the Galaxy Tab.  I would love a Galaxy Tab, but unfortnalty I can’t afford it right now.  Luckly Samsung has an emulator available for free.  Check out this link.

-James

Monday, December 6th, 2010 Android, Android, Programming No Comments

Bug with Eclipse and SDK Tools 8.

If your like me you already had the Android SDK Tools 7 pack installed.  Today Gingerbread was released (2.3) and a new version of the android SDK tools, version 8.  After installing the sdk tools version 8 and downloading 2.3 I couldn’t get eclipse to work with any android projects, it kept complaining that the location of the sdk wasn’t set in the prefrences.  If I tried to setup the location of the sdk, eclipse would complain that the toolsadb.exe file couldn’t be found.

Long story short, I still had the eclipse addon for SDK tools 7 installed.  To update to version 8 all you need to do is go to help, check for updates in eclipse.  After that everything should work fine.

-James

Monday, December 6th, 2010 Android, Android, Programming No Comments

Recovering A SourceSafe Password

So I started a new job at The Greensheet.  Long story short, they couldn’t get in to their source safe database (don’t fret, we are moving to svn!) Long story short, source safe is crazzy unsecure and c6 software made a nice tool to reset the admin source safe password .

-James

Tuesday, November 16th, 2010 Programming No Comments

Quick update on how to get started on android

I saw a new book on Amazon called Learn Java for Android Development.  It claims to to teach you java while learning the Android SDK.  Might be a good place to start. But, I haven’t read the book and there isn’t a preview, so I’m not sure how good it really is.

-James

Thursday, September 30th, 2010 Android, Android, Programming No Comments

Visual layout editor for Android!

I found a really cool app called DroidDraw that lets you grafficly layout a layout xml file.  Much easier to use then the built in eclipse editor!

-James

Tuesday, September 28th, 2010 Android, Android, Programming No Comments

How to get started programming Android.

So you want to start programming apps for Android but your not sure where to start?  I have gotten this question a few times so I thought I would answer it here.

Google has created a graffical programing environement called App Inventor.  I haven’t used App Inventor, but the idea is not new.  Most of the time tools like App Inventor are limited and are a good intro, but don’t have the power and flexablity you need long term.  But, I haven’t used it, so this may be perfect for you, at least to get started.

Android apps are normally constructed in Java, so thats what I’m going to recommend.  Java isn’t the easiest language to start with, but there are a ton of resources available.  One highly recommended book is Head First Java.  I wouldn’t bother learning AWT, SWING or any of the other windows libraries as they won’t help you write Android apps, because android has its own UI library.  Its important to note that learning to program can only be done by programming.  I would write a lot of small programs, such as the towers of hanio, a coin filper, print a chirstmas tree, etc.  These tasks should teach you about loops, libraries and such.  Its like learning to play guitar, practice practice practice. Hack a day also had a series called Android development 101 which might be of intrest.

Once you have some basic Java experance you can start writting Android applications.  I have used several books, but the best and most complete in my option is Professional Android 2 Application Development.  Its not perfect, but it dose a good job of sampling just about every thing in the Android library.  I have encountered a few bugs, but nothing that 5 minutes didn’t fix.  The Android SDK Dev Guide documentation is ok, but it was hard for me to start from (note that the tutorials are missing…).

A few things.  You don’t actually need an Android phone to develop android apps, the android development kit comes with a emulator that works pretty well, but there are a few bugs and its much slower than modern devices.  I would try and get a device as soon as possible.  I would also use Eclipse as your development environment because of the tight intergration with the android development tools.

Good luck and let me know how it goes!

-James

Tags:

Tuesday, September 28th, 2010 Android, Programming 2 Comments

How do you know when your a Senior Programmer?

I’m a software architect at Hearst Digital News.  Android is just a hobby that I do on the train rides to and from work.  It’s nice to have hobbies that make money!

Anyway, in the last few months I have interviewed 100′s of programmers for both junior developer and senior developer roles.  I have made a few observations:

  • Most programmers over state there ability
  • Most programmers inflate their experience/resume
  • Pre-employment tests do a good job of filtering candidates
  • Pre-employment tests aren’t perfect and people cheat
  • People who have the skills may not have the attitude/desire/will to make it work.
  • People who don’t relocate haven’t worked out well

So how do you know if you’re a junior programmer, mid-level programmer or a senior programmer?  Here is how I would define the groups:

A junior programmer knows how to write programs in at least one language.  They have limited experience to software libraries.  They tend to use debugging print statements instead of a debugger.  Their code tends to be strictly focused on functional requirements and rarely looks at  non-functional issues like testability, maintainability, performance, scalability, etc.  They tend to not use advanced features of the programming language they are using.  They also tend to believe what even a guru of their language says, even if it’s obvious that the comment doesn’t apply to their situation.  Junior programmers tend to play it safe during development, have over and under estimates and deliver untested code.  Common types of junior programmers I have seen:

  • Fresh out of school with a CS degree, but no experience
  • Worked in IT for years doing support, did a little programming on the side as need
  • Self-taught, but no mentor and limited contexts of problems
  • About 90% of programmers I have interviewed (But it is a PHP position :P )
  • Most think of themselves as mid-level  programmers

A mid-level programmer knows several languages with at least one fluently, including its libraries.  They prefer using a debugger and unit testing.  They are excited to try new techniques.  They have several professional projects on the side.  They are aware of non-functional issues and try to code for them, but at times forget they or don’t implement it well.  Mid-level programmers will actively try to use new tools and features of their primary language.  They will also avoid pitfalls of their language.  If asked they can describe how any library functions internally, at least at a high level.   Often times if they design a solution it uses only one system.  For example they may code a loop to look at objects in code where if they did a better select on the database they could have avoided the loop. They tend to have one mentor that they stay in touch with regardless of employment.  Mid-level programmers tend to have trouble talking to business users.  They feel they can do any task assigned in their primary language.  They also rarely over estimate but tend to underestimate by quite a bit.  They also understand at a high level how every component in a computer works.  They also know about the history of computing.   They are competent to work on a task they understand alone for weeks on end.

Common type of mid-level programmers:

  • CS Degree with a year of professional experience
  • Self-taught with 4-5 years of varied experience
  • Master/PhD degree in CS, but no real professional experience

A senior programmer is the rarest of programmers.  A senior programmer has mastered several different languages and has worked in a verity of environments.  They have several mentors.  They actively seek out ways to lower the cost of development by finding better tools, code to reuse, and better processes.  Senior programmers tend to spend a good part of their day mentoring other developers.  Senior developers tend to be active in the development community, such as going to conferences, writing, user groups, and so on.  Senior developers have uses a verity of exotic tools, such as profilers, in circuit emulators and decompiles.  They find and report bugs in the tools they are using.  At times their code is admired for its elegance.  They have also played with exotic techniques outside of their normal problem domains, such as AI, graphics, machine vision, etc.  Often they tend to code for fun, not because they have to.

Common type of senior level programmers:

  • First off they aren’t common
  • CS Degree with 10 years’ experience
  • Self-taught with 20+ years’ experience
  • Master degree with 5 years’ experience
  • PhD degree with 4 years’ experience

Most senior level programmers are highly valued but they are often quickly pushed in one of two directions by the business.  If management doesn’t understand the project or if the organization is made up of mostly technical people senior programmers become team leads or project managers.  Most senior level programmers at this point get burned out or realize they are in a new field and get an mba.  On the other hand if the organization is having fundamental problems building software a senior developer will become an architect.  They will spend their days trying to figure out how to refactor a beast of a project and how to make new additions less ugly.  They will code rarely and if they don’t code on the side they will quickly loose their development chops.  I guess you could call this the programmer life cycle.

-James

Monday, September 27th, 2010 Programming 2 Comments

Android Opengl Transparent Textures Issues

So I have been working a little opengl app.  For days I couldn’t get transparent textures to work. Turns out that the emulator and most phones require textures to sized as powers of two.  For example a 254×400 texture wouldn’t work, but a 256×256 texture would.  If the texture is the wrong size it will just be white!  Took me days to figure what was going on.

-James

Wednesday, July 28th, 2010 Android, OpenGL, Programming No Comments
Sorry, there are no polls available at the moment.