Tag Archives: programming

Which Programming Language Do You Prefer?


Add to iTunes | Add to YouTube | Add to Google | RSS Feed

Someone on our Lockergnome site recently asked which full programming language is “the best.” That is a good question – but impossible to answer, really.

Each language was developed for a specific purpose. What works for one type of application may not work for another. Therefore, you can’t really chose “the best.” It would be better to ask which was the best for what you are trying to DO at any given time.

Everything from WordPress to moveable type uses something different. It’s impossible, therefore, to try and figure out any one language to name as the be-all and end-all of language types. The most useful programming language, ultimately, is the one that will best serve your needs.

No one language will or can do everything. If you want to be a general programmer, you’re going to have to learn many different types. If you want to be specialized, then sure – focus on one or two that you will need in your career or hobby.

What do you think? I’m sure you have your favorite language… but do you truly believe any one is better or more important than everything else out there?

Deploy – A New Seattle Conference for Developers

I’m launching a new conference with the folks over at Seattle 2.0 called Deploy – Today’s Technology for Tomorrow’s Apps. It will be held Monday, November 8th from 9AM – 5PM at the Bell Harbor Conference Center. Deploy is a conference for technology builders and geeks. New languages, frameworks, storage systems, methodologies and devices are creating entirely new opportunities. Deploy 2010 is a “Show and Tell” conference where speakers will discuss hot new topics and show what can be done – and how. Topics will include NoSQL, Mobile and Tablet, Game Mechanics, Open Source, Location and more.

We have a great lineup of speakers including:

  • Doug Cutting, creator of Hadoop, Lucene and Nutch
  • Andre Charland, creator of PhoneGap – the open source cross-platform mobile technology
  • Brian Fling, founder of Pinch/Zoom and creator of the NY Times iPad app
  • Poornima Vijayashanker, first engineering lead at Mint and bizeebee creator
  • Bob Walsh, author of “MicroISV: From Vision to Reality and the Web Startup Success Guide

Deploy 2010 will be a technology conference focused on software development. It’s perfect for developers of all backgrounds, whether you are still in college or are an industry veteran . It’s also valuable to managers and executives who have technologists in their organizations.

As an added bonus, we are reserving eight spots for show and tell. For three minutes, up to 8 lucky winners, will be able to get up on stage and either speak about or demonstrate their technology. During the morning session, we’ll collect entries from attendees who want to present their technology during the Tech Demo segment. At 1:30 PM, after the lunch break, we’ll draw the entries from a hat. The lucky winner has three minutes to get up on stage and present his or her technology.

If you are a developer or hard-core tech enthusiast, I hope you will join us for join us for Deploy.

Gnomedex 2010 Open Government Hackathon

If you have a passion for coding and will be in Seattle on August 20 – 21st, you will want to attend this event. The Gnomedex10 Open Government Hackathon will be held at the Edgewater Hotel – adjacent to the Bell Harbor Conference Center. The event is slated to begin as our Gnomedex conference winds down, and the cost of attending is absolutely free.

Ruby, Python, PHP, web developers, coders and anyone who has a passion to code, hack or kluge applications that will free (or otherwise enhance) the accessibility and usefulness of government-shared data are encouraged to participate. You can enter as an individual or a team, and don’t have to be attending our conference in order to take part in this amazing opportunity. At the end of the 24 hour period, each app will be evaluated by the Hackathon partners to determine the best apps – which can earn you a prize or two!

The nature of this event will be free-form. Hackathon partners will have organizers on-site to help you get the ball rolling initially. Even though it won’t cost you anything to take part in this day of hacking and fun, you are asked to please register so they know how many people to expect.

I know several of you out there in the Seattle community (and many attending Gnomedex from other far-away places) are hard-core programmers. Let your creativity soar while having a great time winding down your weekend during the Open Government Hackathon.

Do Computer Majors Mean Anything Anymore?


Add to iTunes | Add to YouTube | Add to Google | RSS Feed

The job market is always changing. Computer program majors often find themselves having a tough time after graduation. It may sound insane due to the number of computer-related fields that are are there. Much of it depends on where you live, and what your exact area of focus is.

You cannot possibly try to get a “general” computer degree anymore. Pick a specific area that you are good at or interested and focus on that. If you’re a developer, go develop! If you’re more of a networking whiz, you know what you need to do. There are SO MANY hundreds of possibilities. Don’t cut off your nose to spite your face by choosing too broad of a major.

A consulting route isn’t a bad idea, but you honestly have to be REALLY good at what you’re trying to do. However, becoming a developer is where it’s at right now in MY mind. The other areas won’t disappear any time soon, no. But look at all of the dev opportunities out there right now. That’s the hottest and most in-demand area.

Network like crazy every chance you get. I say that about pretty much any type of career, but it holds even more true of us Geeks. Social connections enable you to find the path before the path is eliminated.

Most importantly, love what you do. Don’t choose an area of study just because you think you’ll make good money. Sure, that’s an important consideration. You have to support yourself. But if you hate what you do, you’re not going to do it for long. Know where your passions lie, and choose your path based off of them.

Want to embed this video on your own site, blog, or forum? Use this code or download the video:

Tips for Programming and PHP

Community member “a_v58” sent me a short list of PHP tips. These days, people are rabid in their thirst to learn more about PHP. If you want to become a programmer, you should know what you’re doing when it comes to PHP. The following tips were sent in to me by Andrew. They are solid tips, so I wanted to pass them along to all of you.

  • Don’t be tempted to use packets such as WAMP or XAMPP that install and configure Apache, PHP, MySQL for you automatically. You’ll learn more by installing them one-by-one and configuring them manually. After a quick Google search, you’ll find a list of recommended configurations for PHP and/or Apache – depending whether your machine is a server or a development machine. I recommend installing in this order: MySQL, Apache, PHP.
      A small suggestion to check if all 3 were installed and configured correctly: place a small PHP script in the .htdocs directory of Apache in which you call the phpinfo function, as well as one function from every extension (MySQL, cURL, Java, etc.). If there are no warnings or errors, everything should be fine.
      For fewer headaches and happier programming, I also strongly recommend using an IDE such as EclipsePHP (which can be found at eclipse.org) or Zend. You might also look into xDebug.
  • Remember to sanitize your database inputs. To avoid this, understand what this is and how this works. Google or read on Wikipedia for “SQL injection.” Use functions such as ‘addslashes’ and ‘get_magic_quotes_gpc.’
  • When you think you did everything right and you don’t understand why something isn’t working, look at your code carefully, debug it, and possibly run a ‘var_dump’ on all the variables to see whether something is faulty. If you still can’t figure it out, take a break and get some fresh air. Come back to the problem with a clear mind.
  • Don’t be afraid to ask on forums or the community questions. Remember: there are no stupid questions. However, if for every little mistake you ask, and you don’t figure a couple of questions on your own… no offense: programming may not be right for you.
  • Why choose PHP? It has a syntax similar to C/C++ (which are some of the used frequently for desktop applications. PHP.net has almost everything you might need to know – including examples and user-contributed notes (which may contain exactly what you need).
  • When somebody asks you a question, don’t be afraid to answer. You’ll either help that person by teaching him or her something new (or be corrected by someone with more experience – in which case, you’ll learn something new).

Sure, it’s a starter list of tips – extremely rudimentary for some. That’s where you have the opportunity to suggest your own PHP starter tips in the comments stream below. 🙂

How to Organize Text and Programming Code


Add to iTunes | Add to YouTube | Add to Google | RSS Feed

Managing text in a single text file is a bit of a kluge. Let’s say that text happens to be code, such as PHP or CSS. You may want color highlighting, so that if you make a mistake you’ll be able to detect it easier. You want to have a text management tool at your disposal, no matter what operating system you happen to be using.

The free Snippely is just what you’re looking for. It’s an Adobe AIR app, made by the folks at Google Code. Snippely is a basic text and code organizational tool. Instead of storing bits of code, quick notes, and memos in text files all over your hard drive, this application will let you save and organize “snippets” in one convenient location. A snippet is a collection of one or more pieces of code and notes. Snippets are stored in groups for organization and quick retrieval.

You set up groups, and you have sub-groups within those. You can add notes and colors to different parts of your group areas. It’s really easy to do, just drag-and-drop things where you need them to be. You can even choose to make the notes appear in plain text!

Whether you’re managing plain-text snippets, or code snippets, Snippely is going to work great for you.

Want to embed this video on your own site, blog, or forum? Use this code or download the video:

How To Teach Programming To Kids

Geek!This is R. L. Shanker’s submission for the HP Magic Giveaway. Feel free to leave comments for this article as you see fit – your feedback is certainly welcomed! If you’d like to submit your own how-to, what-is, or top-five list, you can send it to me. Views and opinions of this writer are not necessarily my own:

You probably know a kid who is bitten by the computer bug – could be your son or your nephew or your friend’s kid. Since you are the resident uber-geek, you have been given the responsibility of initiating him into the wonderful world of computers. One fine day, you gather the kid, roll up your sleeves and sit down in front of the computer. And then it hits you: What do you teach him – Java? C++? VB.NET? The guy has a concentration span of exactly ninety-six seconds. You start scratching your head. If this sounds familiar, this tutorial is for you.

In this how-to, I review two tools that have been tested successfully in homes/schools across the world. Like any other discussion on “which software to use”, there are unlimited options and fanatic supporters for each one of them. So, kindly use this tutorial as a starting point and do your own research; there are a lot of pointers that I have included for your reference. Before getting down to details, let me clarify one thing: while none of us would want to force programming as a career choice on our kids, all of us would agree on the importance of making kids comfortable with what is unarguably the most powerful tool at our disposal. There, done. Now, let us move on to the details.

Age 6-9 years

Scratch: A product of the Lifelong Kindergarten Group at MIT, Scratch provides kids with an exciting environment to create and share computer applications. Applications in Scratch are built around what are referred to as Sprites; these could be animals, objects, people etc. Using simple drag-and-drop programming, students can control their actions and interactions. In the process, they are subtly exposed to basic programming concepts such as conditional statements, iteration, variables, and event triggers. It is easy to be misled by the overt simplicity of the application; however, the scope of Scratch is not restricted to just creating dummy games. One look at the online Scratch gallery is sufficient to dispel all such notions. I even came across an application that illustrates wave harmonics in the most intuitive way.

This brings me to the other great feature about Scratch – it has a terrific online presence. Currently, more than 200,000 applications are shared online. Your kid can get immediate feedback from his peers and they can even work on a collaborative project. Scratch’s online presence, combined with its highly accessible interface, puts it way ahead of its competitors such as Logo, Squeak, Alice , Toontalk, and Gamemaker.

Age: 10-14 years

Phrogram. The most frustrating aspect about dealing with kids is the pace at which they outgrow their interests. As a mentor, it is imperative that you find ways of keeping their passion alive. Enter KPL, Kids Programming Language. KPL was launched in 2005 as a freeware programming language and has since been replaced by its commercial successor, Phrogram. While the focus of Scratch is on designing applications, the focus of Phrogram is on programming applications – a logical next-step. Phrogram supports object-oriented programming and provides an excellent stepping stone for “serious programming”. In order to make the task more appealing, Phrogram provides a range of in-built libraries. You can find details about a course offered in Ohio State University that uses Phrogram exclusively here. Wait, it keeps getting better – you can even write XBOX applications on Phrogram. Talk about getting a kid excited – his own application on XBOX!

The only downside is that Phrogram is not a freeware. However, the basic version is pretty cheap; it is actually cheaper than most popular video games. If cost is still a concern, you can check out Greenfoot. Greenfoot is based on Java and is equally accessible to kids in this age-group. Here, a parent provides a lively account of a game-building exercise he did with his 9-year old daughter using Greenfoot.

Age: 15+ years

The kid is now ready for the big league; it is time to respect his intellect and let him take the deep plunge. We are talking Python, C, C++, Java, etc. Since the questions are going to come thick and fast, I would recommend that you pick a language that you are comfortable with. For instance, I have been working with C++ for a very long time and it would be my natural choice.

Final thoughts

Engage, engage and engage.

The actual choice of software or platform is a subjective one – it depends on the student and the tutor. Whichever software you choose, for the endeavour to be successful, the kid must be actively engaged. What excites you as an adult doesn’t have to (and in all likelihood, will not) excite the young mind. Put yourself in his shoes. Fit in.

Be the inspiration.

The final onus is on you to convince the kid that there is no end to this wonderful experience. You need to tease him, tantalize him, and then cut him loose. Let him experiment. Support him if he fails. Challenge him if he succeeds.

Have You Ever Wanted to be a 3D Game Developer?


Add to iTunes | Add to YouTube | Add to Google | RSS Feed

When I was a kid, we had a Commodore 64 computer. It had a program that would allow you to create little games. It was kind of cool, but they were nothing like what you can create and play today. The tools for game creation today are just so advanced and complex, right? Not necessarily, no. Alex sent me an email with a link to the Alice project. Alice is educational software that allows you to learn programming in a 3D environment.

Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Alice is a freely available teaching tool designed to be a student’s first exposure to object-oriented programming. It allows students to learn fundamental programming concepts in the context of creating animated movies and simple video games. In Alice, 3-D objects (e.g., people, animals, and vehicles) populate a virtual world and students create a program to animate the objects.

In Alice’s interactive interface, students drag and drop graphic tiles to create a program, where the instructions correspond to standard statements in a production oriented programming language, such as Java, C++, and C#. Alice allows students to immediately see how their animation programs run, enabling them to easily understand the relationship between the programming statements and the behavior of objects in their animation. By manipulating the objects in their virtual world, students gain experience with all the programming constructs typically taught in an introductory programming course.

The software is about as easy as it can be, in terms of giving you control over what you’re doing, while still being accessible. It doesn’t matter how old you are, you can still use Alice. You’re never too old to learn something new. I believe a fair amount of people who follow me online would want to do something like this. Alice may be the way that you can become more than you are today. Learning to create a game could lead to an awesome future for you in that career field.

This is a great, free opportunity, no matter what your background is… and no matter what operating system you’re running on. Maybe this will be your first time messing with attempting to create a game. Heck, I still remember my first time with it, and that was a couple of years ago. This is just so much better than what I had to work with. This tool won’t transform your entire life. But it is worth a shot. If you’re a teacher, or a student, or just someone wanting to dabble… it doesn’t matter. The Alice tools could help you jumpstart something very cool.

[rsslist:http://shop.tagjag.com/products/gaming]

Want to embed this video on your own site, blog, or forum? Use this code or download the video:

Would You Like to be a Hacker, Like in the Movies?


Add to iTunes | Add to YouTube | Add to Google | RSS Feed

I have a feeling life would be much easier if I could program. Sadly, I don’t sit on that side of the Geek fence. I have to rely on others to create things for me. Are you a beginning programmer, or someone who wants to try? Recently, I was doing a video on another type of programming tool when my neighbor sent me an IM. He asked me if I had ever heard of the website HacketyHack. No, I hadn’t. So of course, I set out to learn… and learn, I did!

In the 1980s, a language called BASIC swept the countryside. It was a language beginners could use to make their computer speak, play music. You could easily draw a big smiley face or a panda or whatever you like! But not just BASIC. Other languages like: LOGO and Pascal were right there on many computers. One of Hackety Hack’s sincere pledges is to make the most common code very easy and short. Downloading an MP3 should be one line of code. A blog should be very few.

Presently, Ruby is the only language taught by Hackety Hack. And it’s a great one to start with. Ruby was born in Japan, but has found a wealth of friends across the world. As you can see above, Ruby is a combination of simple words and punctuation.

All of this, the whole of it, is totally free to you. My wish is to spread infectious hacking smarts all over the world. And so Hackety Hack is yours forever at no cost: give it away, take it apart, learn-learn-learn without a 2nd thought.

At this point in time, HacketyHack is only available for Windows. However, they’re working on both a Mac and Linux version. Programming has gotten overwhelming to many people, myself included. It’s just gotten so complicated and involved. The beauty of HacketyHack is that it takes the difficulty out, and makes coding simple and fun again. Anyone age 13 and up will be able to quickly grasp the basics, and be off and coding in no time.

If you’re thinking of getting into programming – or if you’ve always been too scared to try before now – download HacketyHack and give it a try.

[rsslist:http://shop.tagjag.com/products/programming]

Want to embed this video on your own site, blog, or forum? Use this code or download the video:

What Advice do you Give to Young Programmers?

Add to iTunes | Add to YouTube | Add to Google | RSS Feed

Programming is an excellent field to go into, and good Programmers are a hot commodity. That reminds me… if anyone out there is above excellent at working with Drupal, shoot me an email to [email protected] Thanks to Grant for sending in this list of tips for young people looking to learn Programming.

  • Read. If you do not like spending a lot of time reading… you should not program. When you are learning a computer language, you must be willing to spend hours reading books, websites, and magazine articles.
  • Take your time finding the language that is right for you. Think about what you want to accomplish when programming a computer. Remember, once you learn one computer language… it is easy to learn another.
  • ThinkWhen you start to make a program, really spend some time thinking about what you want it to do. I cannot tell you how many times I just jumped into a project, only to realize it was useless.
  • Use flow charts. Flow charting allows you to organize your code, and make it efficient.
  • Back everything up! When you start to program, there is a good chance that you might mess something up, and fry your computer. Give yourself a safety net, and back everything up. Also make sure to frequently backup your code itself! This makes it easier to undo when you make a mistake.
  • Comment your code! If you leave a project, only to come back later… you will probably have forgotten how it worked. Commenting your code will help you. With comments, you do not have to read through the whole thing. Instead, you can look at your comments and get an idea of what’s going on.
  • Don’t be afraid to ask for help. Microsoft has a great website and databases for programmers. Also check out their blog, and ask questions. There is always someone who is willing to help.
  • Get a book. Your local or school library will most likely have books on Programming. Check them out, read them over and over, and learn from them.
  • Testing! When you have a good start on your programs, let other people try them out. You could ask people to evaluate them, or you could give them out as freeware. Start a website and let people download them if you want. The feedback will be an invaluable learning tool for you.

[rsslist:http://shop.tagjag.com/products/programming]

Want to embed this video on your own site, blog, or forum? Use this code or download the video: