We feel fine is an interesting Java Applet utilizing colors, shapes, and motion. It summarizes phrases from blogs on the Web based on emotion keywords, weather, age, sex, etc.
Check out the presentation that its creator, Jonathan Harris made during a TED conference:
Here is a quote from their mission page:
Since August 2005, We Feel Fine has been harvesting human feelings from a large number of weblogs. Every few minutes, the system searches the world’s newly posted blog entries for occurrences of the phrases “I feel” and “I am feeling”. When it finds such a phrase, it records the full sentence, up to the period, and identifies the “feeling” expressed in that sentence (e.g. sad, happy, depressed, etc.). Because blogs are structured in largely standard ways, the age, gender, and geographical location of the author can often be extracted and saved along with the sentence, as can the local weather conditions at the time the sentence was written. All of this information is saved.
At its core, We Feel Fine is an artwork authored by everyone. It will grow and change as we grow and change, reflecting what’s on our blogs, what’s in our hearts, what’s in our minds. We hope it makes the world seem a little smaller, and we hope it helps people see beauty in the everyday ups and downs of life.
Leverage your knowledge of the Web. Here’s a great opportunity to meet some really interesting people and help non-profits with their web presentation.
Sierra Bravo is a web design group in the Minneapolis-St. Paul area and they are putting together their 2nd annual Overnight Website Challenge.
The Challenge: Build ten teams of volunteer web pros to create free websites for ten nonprofits. Last time we dropped the F-word (free free free) we had more takers than we could take. Sierra Bravo fully expects that this kind of loose talk will again open the floodgates for non-profits seeking help and do-gooder types with mad programming chops. So, until there are no more good nonprofits with bad websites, let’s do it again.
Even if you aren’t a professional coder I’m sure the folks at Sierra Bravo would love to have you pouring coffee or making movies.
Be a part of the movement of using the Web to help change the world.
– Thanks Jesse for sending me this link!
Plan to attend? Post your experience as a comment to this blog entry.
Every semester I get frustrated emails from students containing the phrase, “I just spent ____ hours on this and couldn’t figure it out.” Here’s a short excerpt that I usually include with my reply:
I can sure understand how frustrating it is to do something without success for so many hours. But, next time something like this happens, and after the first half hour, stop and ask for help, do something different, or find another resource. It depends on the problem but, normally if you are spending more than a half hour trying to solve a problem than your problem-solving skills need some work.
Here’s a checklist that will help you build up your problem-solving skills and hopefully speed your way to solutions:
Stay focused. Don’t try to multi-task. Behavioral scientistists have proven that trying to do multiple things at once makes all of the tasks suffer.
Simplify the problem. Web page not changing? Try typing in some odd letters (XYZ) in the middle of the page to see if they display. If they don’t you might have been spending the last hour typing in one file and looking at another!
Keep track of what you have tried. Write it down so you aren’t repeating the same thing over and over and over. Be organized and consistent on how you look for a solution. Don’t just shotgun things over and over and over.
After each failure try something different. If one combination doesn’t work think of something different to do. (Use number keys instead of number pad, check caps lock, type out the password in a simple editor to see the results…)
Google is your friend Do a web search with the error message or a short phrase so you can see if others have had a similar problem.
Think about the problem differently. Maybe what is broken is something completely separate from what you are focused on! Think of what else might be causing the problem.
Go do something else or take a short nap After a set period of time, stop what you are doing and do something else. I usually give myself 1/2 hour to an hour depending on the problem.) Go take a shower, or sit down with a cup of tea, coffee, or pop and sit quietly, go take a 15 minute nap. Let other alternative solutions come to mind and then jot them down. Don’t force them, they will run away like minnows in a clear pool. Set a time limit for this activity. You should have 3 or 4 alternative things to do in 15 minutes of sitting quietly.
No, playing video games does not count here. That just focuses you on other problems that may be more interesting (at the moment) to solve.
Imagine what the solution or success looks like. If you don’t believe something will work, it probably won’t.
Photo from iStockPhoto.com. I tell my Java students that this is what the Java compiler looks like :-)
Matt Potochnik, the webmaster for the City of Mankato and a graduate of South Central College Computer Careers , has recommended Aptana . This is an excellent, open-source text editor that can be installed as a stand-alone editor or as a plug-in to Eclipse, the popular GUI programming environment that IBM wrote and later made open-source.
I’ve been using Aptana to edit my XHTML, CSS, and JavaScript files for several weeks now and really like it. It has an excellent debugger, plays well with FireFox, and allows me to code very quickly with its excellent syntax popups and DOM tree display. Errors are flagged immediately so I can fix things before things get all snarfled in a ball of goop.
Jesse Daniels , a software engineer from DayPort , and also a graduate from the Computer Careers program, pointed out how cool the DOM Display is. It allows a programmer to see the entire structure of the page and then jump to any specific element in the code window by simply clicking on the element in the DOM map.
I highly recommend this editor to anyone that spends time writing XHTML, JavaScript, PHP, or other scripting languages.
The cache (pronounced "cash") is a storage space on your hard drive that holds all the files that the browser receives from web servers. This includes html files as well as graphics, sounds clips, and movies.
In order to display things as fast as possible the browser checks the cache first and if it finds the pages you are requesting it uses the files on your hard drive instead of waiting for new ones to be downloaded from the Web.
If you are a web developer this can be trouble because the browser will keep showing you the old version and not the file with the changes you have just made.
A common trick is to hold down the CTRL key when requesting a new web page. This tells the browser to bypass the cache and to get the files once again from the source. This works with IE6, IE7, FireFox and other Mozilla-based browsers.
Using FireFox about:config settings
In FireFox you can disable the cache by using the about:config page. Type about:config in the address field of Firefox.
Do a search for browser.cache and set the line set browser.cache.disk.enable to false. Restart FireFox to apply this setting.
There are many other settings you can make to FireFox in the about:config page. Here is an excellent page that highlights some popular ones. Proceed with caution however. You can really ruin things if you mess around too much and don’t know what you are doing. Make one change at a time and test it. Also, I would recommend backing up the prefs.js file if you plan to do extensive configuration changes. On XP it is located in the C:\Documents and Settings\YOUR-USER-NAME\Application Data\Mozilla\Firefox\Profiles\YOUR-CONFIG-FOLDER.default. (If everything fails just delete the prefs.js file and FireFox will create a new one with default values.)
Here’s an excellent site that Andrew Maurer, our help desk aficionado, sent me. You can watch different sort algorithms in action by clicking on the sort data in each column. Notice how much faster some sorts are, especially when compared to the Bubble Sort.
What should I charge? This question comes up a lot.
Here’s are some pieces to the puzzle that might help determine what to charge a customer. Each one has to work with the others.
What is your time worth?
How fast are you?
Do you want the business relationship to be long term or short term?
What is the current market rate?
How much experience do you have?
What is your time worth?
A person out of high school working at a burger shop will put a lower price on his or her time than a professional manager that is making big bucks. Be careful not to undersell the value of your time.
How fast are you?
You have to realistically look at how fast your can create web pages or write a program. It takes a new student a much longer time to figure out a basic CSS design than a seasoned, five-year CSS expert. And, the expert will have several templates ready and waiting so he or she can create a basic site in minutes. Literally.
Even something as simple as typing speed plays into this figure. Let’s say you can only tap out 30 words per minute on a good day. And, that’s using English words. It might drop down to 15 words a minute when you start typing code…
Now compare your output to another person who is able to type code at 60 wpm or higher. Who will be the most productive? The 60 wpm will be able to generate four web pages or more for every one the 15 wpm typist can write. If you have your skill set down (CSS, XHTML, design, some JavaScript) and have a few web site templates in your personal library that you can build from you will be able to finish normal tasks much quicker than someone that doesn’t. The faster you are the more you can charge. Time is money for both you and your client.
Do you want the business relationship to be long term or short term?
This will help you determine how to charge. If you want this to develop into a long term relationship you may want to charge a flat rate for a set number of pages. Later additions and changes could be billed at an hourly rate. A common error though is to charge to little in order to “buy the business”. After awhile you will find yourself doing lots work and the first question, “What am I worth?” will be nagging at you. It’s always harder to raise rates later than to bill a little higher in the beginning.
Should you charge by the hour or by the project? A short job is usually best by the hour. Longer projects could be billed by a flat rate. Also, if you are newer to the business of web site programming and design you might want to charge a flat rate for a set number of pages.
What is the current market rate?
This is the question that most people are really asking. But, these numbers are only valuable if they seen in context with the other questions listed here. Most professional agencies charge between $100 – $200/hour. A complete, professional website normally runs $1,500 on up depending on how complex it is. The keyword here is professional. Also, keep in mind that these rates are what the agency charges, not what the web programmer gets paid. The agency or company has to pay salaries, utilities, and rent out of this money as well as show a profit.
I usually recommend to people just breaking into the market to charge between $15 – $50/hour depending on their skill level. Once they are established they can charge the higher rate. Established could be roughly defined as a person that has at least 10-15 working web sites that they maintain.
How much experience do you have?
As you continue to work in the field and learn more skills and techniques you will be able to charge more. Experienced people have built up a toolbox of code and techniques that allow them to build and maintain sites/programs quickly and easily. Also, a web developer/programmer that can build a shopping cart or a web page that can be maintained by the customer without needing a programmer is a lot more valuable than one that can only create static web pages that simply display information.
If you can think of better ways to do the routine things quicker and easier you will be even more valuable. For example, one of my students started work at a web design company and put together a framework of code that allowed him to created complex web sites very quickly. Each web site had the same basic structure, but by adding different graphics and modifying the CSS code he was able to create unique sites in an hour or so (once he had the framework built.) All the other employees took several weeks to accomplish the same amount of work.
Being a one-language programmer isn’t good enough any more. In today’s world you need to have the right “product mix” to stay in the job market. Here is a story from eWeek.com highlighting the ten most popular languages along with how many jobs are available for each based on the current jobs out on dice.com, one of the more popular tech job sites.
Java and C# rate the highest with a total of over 19,500 jobs. Keep in mind that C# is the “Java” as part of Microsoft Visual Studio. If you learnJava and you’ll be able to easily write code in either language. Another hot language to know right now is VB.NET with 2,090 jobs.
What the article doesn’t cover is the future… In the next 10 years 30-50% of the COBOL programmers in the USA are going to retire. When I first heard these numbers, several years ago, I thought that the mainframe companies would convert over to the languages that are now common on the PC platforms, but this is not proving to be the case. According to the IT people at Wells Fargo Bank, COBOL be around for a long time to come.
Chad Fowler, the author of “My Job Went to India – 52 Ways to Save Your Job” adds to this discussion. He points out that “Java and .NET programmers are a dime a dozen in India. As a .NET programmer, you may find yourself competing with tens of thousands of more people in the market than you would if you were, for example, a Python [or Ruby On Rails} programmer.” He points out that, “You don’t find mainstream Indian offshoring companies jumping on unconventional technologies. They aren’t first-movers. They generally don’t take chances.”
He recommends competing in the job market in which there is actually lower demand globally and focusing on niche technologies such as COBOL in the banking industry or Ruby-On-Rails, which is the cutting edge (right now) in web programming.
Does this mean you shouldn’t take Java or VB.NET? Not really. These languages are considered the base knowledge for today’s programmers. And, once you understand how Java and VB.NET works you can pick up other languages like Ruby On Rails much more quickly.
The key is not to focus on any particular language but to learn the concepts that are common to all programming languages. Once you have that base you can adapt quickly and easily to the changing needs of the job market, now, and in the future.
Last July, fifteen high school students participated in the first annual TechNow Programming Camp. For three days they learned how to program using a language called Alice- creating 3-D games and animated movies. Each day, during lunch, employees from the corporate sponsors, Wells Fargo Bank, James Tower, Inc., and Carlson Craft Business Solutions, joined the students and talked about career possibilities. The instructors during the summer camp were Peter Johnson, Tom Edwards from the Computer Careers department here at South Central College, North Mankato campus, and Jeff Seehafer, from GFW High School in Winthrop. The students represented several area high schools including Waseca, GFW, East, St. Clair, and Loyola.
An Application Programming Interface is a set of functions that let you “hook” into a system without having access to the source code or inside workings of that system. There’s an API for all the modern languages like Java, PHP, Ruby On Rails, and HTML. Sites such as Google, Amazon, and eBay all have an API allowing programmers to access information from their sites. Here’s a list of the APIs Google has available for many of its services including maps, adwords, and Blogger data. This lets a savvy programmer include all types of eBay or Amazon services on their web site by using what these sites have already created.
You can also think of an API as a dictionary. Just like an English dictionary displays words and their meanings, an API lists all the functions available in the API as well as what type of information each one is expecting and what type of information each function will return. Programmers use an API as a reference in using functions correctly.
Up until now a programmer had to keep a copy of each API on their computer or keep a list of bookmarks pointing to the APIs out on Web.
gotapi.com changes all of that. All the common language APIs are now available from a single link page. (Sorry, the application APIs such as Google, Amazon, and eBay aren’t listed yet.) As a programmer this means you can find information quickly as you are writing code.
Tip: With the gotapi.com page displaying, click and drag the icon in the Address field of your browser and drop it on upper part of your Start menu button. You’ll see a solid black line showing you were it will be positioned as you drag it into the Start list.
Anytime you need to look up a function, gotAPI.com is only a click or two away.
- Special thanks to Sean Washington for reminding me about this really great programming tool.
For just a minute imagine you are an employer deciding who to hire. Both candidates seem to be excellent programmers. They both interviewed well, making good eye contact and each had a nice strong handshake. The first candidate types 30 word per minute and the other types 90 words per minute. Let’s say the position pays $30/hour… One employee has the potential to produce over 3 times more than the other. Which would you hire? So, how do you become that 90 wpm person?
I strongly recommend using TuxType, an open-source typing tutor, that is available on SourceForge. You’ll not only improve your typing speed but you’ll have a grand time doing it.
Here’s some tips on increasing your typing speed in 10 minutes.
Cognitive scientists have found out that not all our memory is in our brains. Virtually every cell in our body “remembers” things. Athletes have demonstrated this for years.
You can use this to your advantage by practicing twice each day. First, practice intensely for 10 minutes every night before you go to sleep. 10 minutes. No more. No less. Your brain and muscles will continue processing the information as you sleep. Then when you wake up do the same practice for another 10 minutes. Intensely, with no distractions. This will reinforce what you learned the night before, telling your brain (and each muscle cell) that, “Hey, This is important!”.
Keep doing that seven days a week without fail and you’ll be typing a steady 90 wpm in no time.
Want to customize the practice words?
TuxType uses simple text files for its word list. Look in the folders to find these lists and then make up your own. I made a list of all the HTML tags and several special characters in order to help me increase my speed with the less than, >, and & keys.
Last week two representatives from Wells Fargo made a presentation to our programming students talking about the growing need for mainframe programmers and the great benefit package that Wells Fargo offers. (I’ll be posting some of the highlights of their presentation in a future entry.)
I also received an email from the IT manager at Precision Press, looking for interns. They have lots of IT specific tasks that they need help on, and the internship could turn into a permanent position.
And, that same week I got a call from a previous boss that I worked for. He’s now in charge of the R&D software section of Taylor Corporation (CC Business Solutions) and he’s looking for programmers that want to play with and explore new, disruptive technologies.
The only problem is we have so few students coming into Computer Careers. Over the last few years enrollment has dropped over 50%. Some of that is due to the dot.com bubble bursting as well as the media coverage about all the jobs outsourcing to India. There are more Information Technology (IT) jobs available now than before the dot.com bubble burst and companies like Wells-Fargo are hesitant to outsource, especially after September 11th. The security risks are just too great.
Two of our graduates are now working at Wells Fargo (they started this last month), two others have gotten jobs at James Tower Media Design (another Taylor Company). I referred another student to Precision Press, but he never followed up.
Now is the time to get into IT. Things are booming once again.
Explore what you are passionate about. Build a business using the power of the Web. Read these articles to find out tips and tricks on doing this successfully.
Have something to add? We are always interested in your ideas.