is software engineering uncool

Posted by rmoore on November 28th, 2006 in General

nine times out of ten the following screnario plays out when my wife and i go to a friend's party:

we show up and start to mingle and introduce ourselves or get introduced around by the host. we end up standing with a few people and the typical chit chat/small talk begins:

———- 

"Hi, I am <so and so>. What's your name?"

"I am <such and such>. Nice to meet you."

"How do you know <fill in host's name>?"

"We know them through [blah blah blah]."

"What do you do?"

My wife responds, "I am a school counselor at a high school."

"Oh that must be interesting."

<short conversation about schools and kids today, etc.>

<focus turns to me>

"And what do you do?"

"I write computer software."

"Oh, okay." <insert pause with confused, uncomfortable looks on faces> <focus shifts back to the people involved in the conversation immediately before focus shifted to me.>

"So, <fill in person's occupation>, that must be really interesting. My <fill in relative or best friend's name> is also a <occupation>".

<conversations continue and the topic of computers or programming never comes back up>

————- 

so, is it just me or does the rest of the world think computer programming/software engineering is uncool, boring, etc.? am i not selling myself and my career enough at parties to make anyone interested in talking about it or what i do? is the topic of computers or programming intimidating in some way that people don't want to talk about? do people outside of the software industry not understand what "programming" is, so they don't feel comfortable carrying on a conversation about it? the few people that actually acknowledge the field of computers usually respond with "Oh yah, I have done some HTML programming before." at least that is some sort of acknowledgement and understanding of "programming". maybe it is the  type of software that is not that exciting. but the conversation never gets far enough to bring up the type of software being developed. maybe i should start out by saying, "I write 3D video games like Quake, or Halo, etc.", or "I wrote Google maps.". maybe that would stir some interest because people would know the end result of the work that you do and have some immediate familiarity, even if they could care less how those products are developed.

has anyone else been in this situation? if so, what do you do? do you just let the focus drift to another topic of interest to the group and participate in the conversation? do you try to interject your career topic back into the conversation to see if it will gain traction? do you walk away and try to find another group that will be more open to discussion? does talking about your career at parties and having people even give it a passing glance even matter, really? maybe next time i am in that situation i will just say that i am a doctor, or work part-time at a coffee shop, or work at REI, or something else to see if i get the same response. or maybe i will follow the example set by george costanza and say that i am an architect. i always wanted to pretend to be an architect. i could tell people i designed the new addition to the guggenheim

 

Bookmark: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg
  • Reddit
1 comment [Trackback URI]

Arduino Open Source Hardware

Posted by Landon Cox on November 27th, 2006 in Devices, Open Source

As a career software guy, it might be surprising to learn that I started out in Electrical Engineering, a mostly analog discipline then (slightly after the ice age thaw) before falling in love with computers and software. When I graduated from college there was maybe one hardware job for every 100 software jobs – and it's probably another several orders of magnitude farther apart today. It was pretty obvious where I should be. Still, getting my hands on the physical computer system has always had a certain intrigue. I soldered together my first computer, a Heathkit H8, when I was a senior in high-school and to this day, I kind of like the smell of the heavy-metal, lead-laden smoke coming off a soldering iron. (I can hear the chorus of wise-cracks coming from the OpenLogic Engineering agile-mosh-pit: "that explains a lot".) I really liked my computer architecture courses where we finally built up from and boiled down to microcode and gates. It seems so crude now, but on the other hand, necessary to have a deep understanding of the bits and bytes of a computer. One of my favorite books and the one that really compelled me to change my major to computing was Tracy Kidder's Soul of a New Machine. Being this far removed from the early days of BYTE magazine, it can be kind of hard to get back down to the metal. In the last 10 years of computing it has been the computing equivalent of our father's laments of not being able to pop the hood and work on their cars anymore. In light of this, I think it's extraordinarily nice to find open source hardware making its debut. I've come across some interesting open source hardware projects that can speak to the laments of abstract hardware. There's an open source hardware spec, Wiring, and an attendant programming language, Processing, that are an attempt to bring some simple microcontroller hardware to the masses. These two projects are essentially specifications, though there is real hardware you can cheaply buy which implement these specs. One such device is the Arduino which implements the Wiring spec and has an open source IDE that makes it easy to write your first microcontroller programs and download it into device. For under $35 you can get an Arduino board which is based on an Atmel AVR RISC processor and start reading sensors and pushing signals to outputs like LEDs and LCDs – even the venerable, never extinct serial port. An Arduino The reason the Arduino speaks to the "father's lament" is that 1) You can get a cheap platform for learning programming and 2) it's an easy, manageable platform for learning some hardware and digital electronics concepts. Open source AVR cross-compilers are readily available and are quite mature – target the device and write code in C or assembly. If you use the Arduinio IDE, it's a C-like language that uses a simple function and object model to control ports on the device. So, the test was: Can my 8 year old son, Nakoa, learn some hardware and programming concepts by using this approach? I bought an Arduino board from a local company in Boulder, SparkFun, which is a US distributor for Arduino and got him going. I bought him a small breadboard, a bunch of LEDs and some current limiting resistors, a $6 digital multimeter and we started from the start: What's a volt? With a little help and guidance, he went from measuring battery voltages, to creating simple circuits that lit up an LED, to using the Arduino to create a flashing arrow sign with LEDs not unlike a merge left sign you'd see on the highway. In essence, he started learning hardware patterns "When you need to light an LED, you have to put the cathode on that side, anode on that, add a current limiting resistor to ground, and apply +5V." I think it was as much a visual pattern he could recognize and duplicate, but it was a launching point to a whole lot more. To make sure he was getting it, I would ask him to explain a circuit by describing how the electron would flow around it starting from the + terminal of the battery. HPIM3984.JPG Nakoa breadboarding with the Arduino The next conquest was to hook up a simple LCD display and stuff some text out to it. Success. After that, we wrote some loops to count and put the count out to the LCD. Our next forays together will be integrating a temperature sensor and creating a digital thermometer. I'm trying to use these real-world, hands-on experiments to help him learn the abstract notions of loops and functions. So far, so good. After he gets all that, we'll start on our first small motorized vehicle experiments – something along the lines of an RF controlled R/C car, and that's where the real fun (and damage) will start. Point is, with a $35 open source hardware platform and some open source compilers, a whole new world can open up to a whole new generation. And that, I think, is cool.

Bookmark: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg
  • Reddit
1 comment [Trackback URI]

Travel in Your Pijamas

Posted by Stormy on November 21st, 2006 in General

This lady travels in her pijamas: If You Can Shoot an Elephant in Your PJ’s, You Can Fly in Them – New York Times.  I think that's a great idea!  On long flights I try to be as comfortable as possible so I usually end up wearing a sweatsuit.  The closest I came to wearing pijamas was on a trip home from Europe.  I sprinted, literally sprinted, across the London airport and then again across the Chicago airport.  In both cases I arrived at the gate just in the nick of time (I was the last person on in both cases) and sweating (if you've ever been in those airports, you know that a run could be a couple of miles, plus I was towing my rollaboard and lugging my briefcase.)  Since I didn't want to sit in sweaty clothes, in both cases I changed into clean, dry clothes.  On the last flight I was down to my workout clothes – I was sitting in running shorts and a tank top in the middle of a bunch of guys wearing suits in business class!  

Speaking of wearing pijamas, our kids have pijama day once a month at school.  Not only do the kids wear pijamas but all the teachers wear pijamas too.  I always wonder if they change at school or if they actually get in the car like that!  

Bookmark: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg
  • Reddit
Comments Off [Trackback URI]

Aostach – Domestic Skills

Posted by Sean on November 16th, 2006 in Parenting

This is the second in a series of posts about a modern right of passage. This post is about the first section of the Aostach; Domestic Skills. I’ve trimmed each of the sections to keep the length down, but it is still fairly long; my apologies.

Domestic skills are those required to properly manage and maintain day to day life in the home. These skills range from sewing on a button to planning and cooking nutritious meals. The intent here is to prepare the individual for the time when s/he will be leaving the home, either for college or out on their own. These are basic skills that every person should have learned as they grew up, but we’ve heard from many that say they were forced to learn them on their own the hard way or many that never learned them at all who feel forced to pay others to perform the simplest domestic tasks such as mending or gutter cleaning.

Basic Nutritional Knowledge

This is basic knowledge of what makes up a balanced diet and healthy nutrition. A good diet with consistently healthy choices is not all that difficult when analyzed and broken out into simple clear advice. We explain to our kids that the general concept to keep in mind when planning for a healthy diet is simply concentrating on whole, natural, unprocessed, unsalted and un-sugared foods (foods that don’t usually come in a can, box or package.)

This area also covers vitamins and what we have to augment in our modern diet to have proper vitamin intake.

Balanced Menu

As follow-on to basic nutrition, the individual should be able to plan a week’s balanced menu; explain the various nutritional elements and why they are important. This task should assure everyone that the individual is capable of planning a healthy and varied menu designed to maintain health, energy and proper weight. Over 2/3 of Americans are overweight with over 1/3 of those clinically obese, (a category defined as being 20% higher than normal weight and the most dangerous of categories to be in), thus we believe this knowledge is incredibly vital to pass on to today’s teens. A discussion of portion control is also a vital part of this training section because modern adult America’s, and consequently most teen’s ideas of what actually constitutes an appropriate serving, are so out of proportion.

The individual has to actually produce a plan for an entire week meals (including snacks in between). S/he doesn’t have to shop for or produce the meals, just plan them.

Meal Preparation and Cleanup

The individual should be able to do all the tasks it takes to plan, buy ingredients, cook, and clean up a meal. This particular task is not about a balanced diet or nutrition, but about the mechanics of planning for and preparing a meal. This should include a discussion of comparison shopping, coupons and the possibilities in saving money when done correctly. This is especially useful to people leaving home for the first time that may be limited in available money.

In this case the individual actually has to perform all of this – do the shopping, preparation, serving and cleanup. It is fascinating to see a teenager realize just how much work mom or dad goes through for each meal.

Clothing Maintenance

Clothing is a fairly simple one that includes basic hemming, perhaps some small clothing repairs like unraveled seams, and the sewing on of a button. It also includes the basics of ironing and how to iron without burning a hole in the clothing. We actually call it the “I word” because we all hate it so much. It is one of those (luckily few) things that both my wife and I can’t stand to do. But, everyone should know the basics and how to do a reasonable job of it for those occasions they will actually need it.

Pet care

Most animals need shelter from the elements, food, water, regularly cleaned litter or an appropriate place to toilet, vaccinations and examinations from a qualified veterinarian, spay or neuter (we firmly discuss pet overpopulation, neglect and condition of overflowing animal shelters in the U.S. with all of our kids and why birth control is the most responsible, loving thing one can do for animals in general).

Choose and Wrap Gifts

This is easy and fun, but most kids when they start out have a tendency to choose gifts that they themselves would like to get. We like to discuss how to pick gifts for other people, taking care not to let one’s personal preferences figure in too strongly.

Other than that, this is a fairly simple task that includes how to wrap tasteful, age and station appropriate presents that look like you care and how to wrap them quickly when needed (e.g. via a gift bag). We also mention bringing small but thoughtful “thank you” gifts to hosts & hostesses.

On a related topic, we teach to always send a thank-you card for gifts. We make it fun and let them create and decorate their own, but we always make sure it gets done.

Being a “good guest”

Ideally all children would be taught from a young age that being a polite, thoughtful guest is important. It garners admiration (and a return invitation!) But it also helps to oil the wheels of life, which can be somewhat squeaky and uncomfortable without a bit of graciousness along the way. In our observation modern children may not always understand other people’s viewpoints and may simply forget to practice niceties such as offering to set the table, asking if everyone has had enough before taking last servings, clearing their dirty dishes after the meal, keeping their personal areas neat and clean, wiping muddy feet or removing shoes, saying “thank you for having me, I enjoyed myself”, etc

Home Maintenance

This is a huge topic and very few people know all of it let alone actually do what is supposed to be done for home maintenance every year. There are various lists of home maintenance tasks available on the Internet. Some are incredibly complete and others very superficial.

This topic covers indoor periodic/seasonal maintenance like checking the smoke alarms and air filters to outdoor maintenance like preparation for winter in cold climates.

Shop Skills

Finally we cover basic shop skills including the use of various tools and the potential dangers.

The individual is expected to be able to cut lumber and build a small project. We also explain basic electrical and plumbing maintenance and what should and shouldn’t be done by the individual. In our house, I so almost all home maintenance and am building a cabin on some property we have, so we make sure to tell them that this isn’t how it has to be and that they can hire professionals to do some of the more complex work.

 

Next post, when I get to it, will be about Financial Skills.

 

 

 

Bookmark: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg
  • Reddit
Comments Off [Trackback URI]

Welcome to Confabb: The Conference Community

Posted by Stormy on November 14th, 2006 in Conferences, Open Source

A while back I posted about the open source calendar I created.   Well, today I found another cool and useful site.  Confabb will let you search a huge database of conferences by keyword.  It includes details about the conferences and links to their websites.  I searched on "open source" and found a whole list: Welcome to Confabb: The Conference Community.  In the future I could imagine them enhancing this with RSS feeds – I could just subscribe to "open source" and get emailed about any new open source conferences.  And how about adding dates for paper submissions with a reminder feature?

 I also did a couple of fun searches and found out there is a conference for just about any topic including space (as in outer space) and military history.

Bookmark: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg
  • Reddit
Comments Off [Trackback URI]

FacesTrace: Introspection for JSF Applications

Posted by Fred Jean on November 13th, 2006 in General

Do yourself a favor if you are developing JSF applications. Have a look at FacesTrace. I certainly wish that I looked at it earlier.

FacesTrace is a JSF component that allows developers to have visibility into the JSF request lifecycle. It also provides some timing information as well as the ability to view the information stored at the different JSF scope levels. Here is a screenshot (among others) from the project's web site:

 Img83 6052 Ft11If

Thanks to FacesTrace, I was able to track down the root cause of a problem I worked on for the better part of last week. It was a simple matter of tweaking some code once FacesTrace identified what phase was failing and what it was failing on.

You will need to add the following tag library definition to your application (and it's web.xml) if you are using Facelets:

<?xml version="1.0"?>

<!DOCTYPE facelet-taglib PUBLIC "-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN"
"facelet-taglib_1_0.dtd">

<facelet-taglib>

<namespace>http://sourceforge.net/projects/facestrace

<tag>

    <tag-name>trace

    <component>

        <component-type>net.sf.facestrace.component.Trace

    </component>

</tag>

</facelet-taglib>

Once it is in place, you can add the namespace to the root element of your facelets document and add an <ft:trace /> tag somewhere on the page.

Bookmark: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg
  • Reddit
1 comment [Trackback URI]

Microsoft and Novell – Dogs and Cats living together

Posted by Eric on November 10th, 2006 in Business Models, General, Open Source

Cheesy movies are so quotable. The "landmark" news that Microsoft and Novell are going to be collaborating reminds me of a scene from Ghostbusters.

Dr. Peter Venkman: This city is headed for a disaster of biblical proportions.
Mayor: What do you mean, "biblical"?
Dr Ray Stantz: What he means is Old Testament, Mr. Mayor, real wrath-of-God type stuff.
Dr. Peter Venkman: Exactly.
Dr Ray Stantz: Fire and brimstone coming down from the skies. Rivers and seas boiling.
Dr. Egon Spengler: Forty years of darkness. Earthquakes, volcanoes…
Winston Zeddemore: The dead rising from the grave.
Dr. Peter Venkman: Human sacrifice, dogs and cats living together – mass hysteria.

After the initial shock wore off and I started thinking about what this announcement really meant, one thing really came to the forefront. Virtualization. There are a couple of things that make me think that virtualization is a driving force here.

1) Many customers and companies I talk to, install at, etc. are diving deep into virtualization technologies. Most of them are using VMware (use it, love it, wish the support pages didn't give me the run around) but I know Novell has been putting a lot of weight behind Xen (haven't used it, want to).

2) For many years I've seen large companies reluctancant to deploy Windows servers in their data centers. I'm sure info from Microsoft would state the contrary and I have no stats to back that up. I just have my experiences with both ISV's and large companies. One ISV I was working with was switching their entire product from .Net to Java specifically because their target audience wouldn't use a Windows server in their production environment.

Given these two observations, I think Microsoft is evaluating all Virtualization offerings and figuring out how to make sure that they maximize their potential, especially if companies are more inclined to run their virtualization hosts on *nix OS's (VMware Infrastructure 3 is Linux based). If Windows works great with Xen, then there is still a chance that they can keep virtualized user desktops running MS software. A virtualized Windows 2003 server is probably easier to manage as well (if it dies, bring up the snapshot) so they may be able to open up new opportunities there as well.

From Novell's perspective, they need ways to catch up to VMware and hopping in bed with the juggernaut that is Microsoft gives them extra clout in pursuing their own objectives. I think the legal benefits that are a part of the agreement are really just a nice sales/marketing tool given the current legal landscape. Stormy has a very insightful post on that topic.

Only time will tell what really comes from this relationship. Now if only we could get more native Linux support for PC gaming.

Bookmark: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg
  • Reddit
Comments Off [Trackback URI]

Good or bad for open source? Is Oracle forking RedHat Linux?

Posted by Stormy on November 7th, 2006 in Business Models, Open Source

To continue my "Good or bad for open source?" post I'd like to talk about Oracle's news, Oracle Announces The Same Enterprise Class Support For Linux. Oracle announced that they are supporting RedHat Linux, minus the logos, plus additional bugfixes and bugs ported back to previous versions. From my experience, I bet it's that last feature that attracts customers. One of the problems customers have with open source is that to get their bugs fixed, they have to be willing to move to the latest version. Moving to the latest version in the middle of their development life cycle is often more difficult for them than living with the bug. That's why OpenLogic supports "older" versions of the 180+ open source software packages we support – including fixing bugs in the older versions.

However, while backporting bugs to previous versions of (not)RedHat may be what attracts Linux customers to Oracle, the hardest thing for Oracle will be not forking when fixing bugs on the latest version. Backporting bugs won't cause a fork. But what if an Oracle customer calls up with a new showstopper bug in the current version of Linux (that may or may not bother anybody else) and Oracle fixes it … and three months later RedHat either decides NOT to fix it, removes that feature altogether or fixes the problem in a totally incompatible way. Does Oracle Linux fork? Or do they maintain a forked version for that one customer? Or do they force the customer to migrate from the earlier fix to the sanctioned RedHat fixed version?

At OpenLogic we work with the community and the open source software projects to get any bugs fixed in the latest version and accepted "upstream." Oracle will not be able to do the same as I doubt RedHat is going to be too open to working with Oracle. Not when Oracle just announced that they are taking RedHat's product in order to try to win over RedHat's customers.

Bookmark: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg
  • Reddit
Comments Off [Trackback URI]

Rice University and open source textbooks

Posted by Stormy on November 7th, 2006 in Open Source

Dana Blankenhorn just posted about Rice University's Connexxions project, an open source publishing platform.  I've been following it for a while but I missed the latest news – they are going to be publishing the text of community college textbooks online for free and offering print versions for $30.  That should help defray costs immensely for students, and along with the creative commons license that allows for reuse, help create quick, up-to-date and cheap textbooks.  

 This system will be a far cry from the last time I took a class at my local community college.  Since I was working full time, I decided to call the college bookstore and ask for the list of required textbooks and their ISBN numbers.  (They weren't online.)  I was told they didn't have time, so I trudged down to the bookstore over lunch, wrote down the ISBN numbers and the prices of the textbooks and then bought them online for half price (including shipping) from Amazon UK.  (I found the cheapest source using AddALL.)

Now not only will online textbooks be cheaper, but they'll be more accessible (instantly) and allow for searching and electronic bookmarks!  Wow!  Not to mention you won't have to lug those 20 pound doorstops around anymore. 

Stormy
Hanszen, Rice University, '96

Bookmark: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg
  • Reddit
Comments Off [Trackback URI]

Finally, a humanist organization I can get behind

Posted by Sean on November 7th, 2006 in General

I finally found a humanist organization I want to participate in. Too many humanist organizations I have seen are radicals; they spend all their time complaining about the current politics and religions and not enough time promoting humanism.

Humanist organizations need to concentrate on making humanism more visible and more viable to the general population. This should include things like public speaking, books, articles, etc. as well as promoting ideas that replace some of the valuable aspects of religion (rites, traditions, social interaction, etc.)

The Boulder International Humanist Institute seems to be much more geared to teaching and evangelizing humanism than whining. They have a great speaker series (recently they hosted Sam Harris, author of “The End of Faith”, which was a great success).

I met with the founder (Gordon Gamm) last week and was very impressed.

Of course their web site is really crude, but that is something I can help with…

Sean

Bookmark: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg
  • Reddit
Comments Off [Trackback URI]