DrDobbs Portal Blog /blog/portal/ Copyright 2008 Thu, 15 May 2008 14:34:11 -0500 http://www.movabletype.org/?v=3.14 http://blogs.law.harvard.edu/tech/rss Women, Men. Who Cares? A Role Model for Us All
IT in general, and software development in particular, are male-dominated professions. According to some studies, only 1 in 5 IT workers worldwide are females, and the future doesn't look that good. A recent Research In Motion survey found that 90 percent of young people of both genders between the ages of 11 and 16 think using technology is cool, but only 28 percent of girls have considered a career in technology, compared to 52 percent of boys. Research firm Gartner concurs, citing that the percentage of women in IT dropped from 42 percent in 1996 to 32.4 percent in 2004 worldwide. In the U.S. it's below 30 percent.

A big part of the problem is, at least according to World Wide Web inventor Tim Berners-Lee, the "stupid" male geek culture that disregards the ability and efforts of female engineers. Berners-Lee says that a culture that avoids alienating women could attract more female programmers, thereby leading to greater harmony of systems design. "If there were more women involved we could move towards interoperability," he says. Hmm, I don't know about that, but then Sir Tim is a lot smarter than me. That said, I do agree when he says "we have to change at every level."

Another reason for the gender discrepancies in IT might have to do with wages. According to the U.S. Bureau of Labor Statistics, women earned about 80 percent of what men were paid in 2007. The good news, at least in terms of IT, isn't very good at all. Female software engineers fared a little better, with median weekly earnings that were 87 percent of men's median weekly earnings. Female computer and information systems managers' median weekly amounted to about 85 percent of that of men in the same position earned. The biggest pay gap between men and women was in the network systems and data communications analyst position, where the median weekly earnings for women amounted to just 72 percent of men's median weekly earnings. But no matter how you slice it, 87 percent means that women are still earning less than men for doing the same job. That's not right.

One thing we hear from time to time is that there aren't enough positive IT role models for young girls. Okay, that's fair, so I'd like to nominate--and congratulate--a woman who is a great role model not just for women, but men, too. Julianne Gale, the valedictorian for the class of 2008 at the University of Southern California, is a computer science major with a 3.99 GPA. Not only that, but she's a speech coach and prize-winning orator with more than 150 trophies, and she studies Mandarin Chinese and C++. She speaks Spanish and is a filmmaker and performance artist. Plus she's worked for three years in tech support for USC housing. Whew! Makes me tired just reading about all she does.

So congratulations Julianne Gale, and thanks for being an inspiration to programmers everywhere.

-- Jonathan Erickson
jerickson@ddj.com

]]>
/blog/portal/archives/2008/05/women_men_who_c.html /blog/portal/archives/2008/05/women_men_who_c.html Newsletter Ednote Thu, 15 May 2008 14:34:11 -0500
There Must be Contest? Okay, Maybe So
Not a day goes by that another competition pops up. Which is no surprise if you read Michael Swaine's article There Must be Contest. (Okay, the title threw me at first too, but luckily Michael included the Edward Gibbon quote that put it in perspective.)

The big annual competition that just kicked off, of course, is the Intel International Science and Engineering Fair, where more than 1,500 students from 51 countries are competing for nearly $4 million at the world's largest pre-college science fair. Finalists are selected annually from more than 550 International Science and Engineering Fair-affiliated fairs around the world, and projects are evaluated by more than 1,200 judges from nearly every scientific discipline. The top three winners will each be awarded a $50,000 scholarship by the Intel Foundation.

Then there is the Hydra Versus Dragon Coding Competition, sponsored by N-Brain. Kicking off on June 23, the contest offers Java programmers a chance to win more than $7,000 in prizes. What's interesting is that the point of the competition is to scientifically measure the effects of real-time collaborative software development (Hydra) using N-Brain's UNA tool, against the more traditional (Dragon) approach where each team works by communicating through e-mail, and using a shared version-control repository. Contestants will compete in teams of two, and viewers can track the progress of teams in online video episodes delivered daily. The episodes will feature actual coding sessions, as developers race against the clock to solve fiendishly difficult problems. Viewers can rate teams, and play a part in determining the winner. All this sounds very interesting, so be sure to check it out here.

And I'd be remiss in not mentioning Dr. Dobb's Challenge. The winner of the initital prize--The Dr. Dobb's First Month Challenge--of $1,000 was won by Punkle for the Dobb's Derby, the best game entered within a month of the contest opening. There's still lots of prize money there for the taking. All you have to do is code and enter--or enter and code, as the case may be.

Good luck, and happy coding.
-- Jonathan Erickson
jerickson@ddj.com

]]>
/blog/portal/archives/2008/05/there_must_be_c.html /blog/portal/archives/2008/05/there_must_be_c.html Newsletter Ednote Tue, 13 May 2008 18:53:48 -0500
Fortress: A Fortran Killer?
Of all the cool stuff at Sun's recent JavaOne conference, Fortress has to be near the top. Not that Fortress is brand new; it was announced by Sun Labs more than a year ago and Guy Steele Jr. mentioned it in a Dr. Dobb's interview before that. But this was Fortress's official coming-out party, with the first reference implementation of a Fortress interpreter shipping just last month and a compiler due out before long.

So what is Fortress? It's a programming language for high-performance computing (HPC) that features implicit parallelism, transactions, mathematical syntax, and static checking. Guy Steele has said that Fortress represented the "future of extreme parallelism," something that's more relevant today than ever before. Steele also said--and this was echoed at JavaOne--that "Fortress is doing for Fortran what Java did for C/C++."

In addition to its support for multi-core processors and parallelism, Fortress has a number of interesting features. For instance, it lets you program directly in mathematical notation. Because it incorporates a mathematical syntax, math operations look the same in code as in a math text. Units of measurements are types and it supports functional programming. Fortress also supports Eiffel-like contracts, multiple inheritance, and--did I mention?--parallelization and multi-core platforms.

All in all, Fortress seems like the right tool emerging at the right time.

-- Jonathan Erickson
jerickson@ddj.com

]]>
/blog/portal/archives/2008/05/fortress_a_fort.html /blog/portal/archives/2008/05/fortress_a_fort.html Newsletter Ednote Mon, 12 May 2008 16:34:10 -0500
Computer Programming: An Art, Science, or Both?
If the question is "Is programming an art or science?", then the follow up question is "Are programmers artists or scientists?" Off the top of my head, I can think of lots of people who fit both bills--musicians like Al Stevens, Herb Schildt, and Charlie Cocchiaro, and artists like Erik Demaine all come to mind.

Rather than fret over the question, however, Carnegie Mellon University is embracing it by offering next fall a new Bachelor of Computer Science and Arts (BCSA) interdisciplinary "integrated double major" program that will let students explore the connections between computation and the arts. Students enrolled in the program will work toward degrees that combine coursework in the School of Computer Science with complementary studies in the College of Fine Arts--Art, Architecture, Design, Drama, and Music.

Eight Carnegie Mellon students are scheduled to transfer into the BCSA degree program this spring, with first-year students in the fall, including the likes of Alyssa Reuter who points out that "Computer science and art are already fused in fields like character animation, game design, electronic music, interactive graphics, and information visualization and robotics. Meanwhile, new tools like rapid prototyping, motion capture, and broadband Internet are spawning revolutions in architectural design, live performance and participatory culture. And computer science itself is increasingly oriented towards personal, expressive media."

Good. And maybe we can put the old "science or art" question to rest--it's both (or is it?)

-- Jonathan Erickson
jerickson@ddj.com

]]>
/blog/portal/archives/2008/05/is_programming.html /blog/portal/archives/2008/05/is_programming.html Newsletter Ednote Fri, 09 May 2008 10:02:43 -0500
New Kind of Supercomputer Proposed
Researchers at the Lawrence Berkeley National Lab have proposed a new model for supercomputers. The proposed model would use low-power embedded microprocessors, an approach that would overcome limitations posed by today's conventional supercomputers.

Supercomputers capable of tasks such as modeling clouds at the 1- kilometer scale are usually built by increasing the number of microprocessors at a cost of about $1 billion--plus they require about 200 megawatts of electricity to operate.

The approach proposed by Michael Wehner, Lenny Olike, and John Shalf in Towards Ultra-High Resolution models of Climate and Weather would use about 20 million embedded microprocessors at a cost of $75 million to build, require less than 4 megawatts of power, and operate at a peak performance of 200 petaflops.

To move this into reality, the Lab has signed an agreement with Tensilica to explore new design concepts for energy-efficient, high-performance scientific computer systems. The effort focuses on novel processor and systems architectures using large numbers of small processor cores, connected with optimized links, and tuned to the requirements of highly parallel applications such as climate modeling. Under the agreement, the research team will use Tensilica's Xtensa LX extensible processor cores as the basic building blocks in a massively parallel system design. Each processor will dissipate a few hundred milliwatts of power, yet deliver billions of floating-point operations per second and be programmable using conventional programming languages and tools.

-- Jonathan Erickson
jerickson@ddj.com

]]>
/blog/portal/archives/2008/05/new_kind_of_sup.html /blog/portal/archives/2008/05/new_kind_of_sup.html Newsletter Ednote Wed, 07 May 2008 11:32:39 -0500
Checking In on Self-Checkout
Call me "anti-social" (my mother does), but interpersonal interaction is overrated--from both sides of the equation. And in today's world of self-service banks, grocery stores, gas stations, airline check-ins, and the like, I don't have to deal with sometimes-surly attendents and they don't have to deal with me.

I'm not alone in this love of self-checkout. According to an IHL Group 2007 market study, 98 percent of respondents had used self checkout, with almost 50 percent having used it more than five times in the previous years, and 72 percent having readily accepted it. Count me as part of the 72 percent. The study also reported that for 2008, consumers will spend more than $230.7 billion on self-checkout transactions at retail stores, up 28 percent over 2007.

And now IBM has cranked up self-checkout a notch or two with what the company claims is the first-of-a-kind self-checkout technology that lets you shop for and check out purchases practically anywhere in a store. In short, the IBM AnyPlace Checkout system extends the capability of when and where retailers can offer self-service transactions.

On the hardware side, the new system is implemented as a small footprint (15-inch) kiosk, making it attractive to retailers that have limited floor space. IBM has also updated its IBM Checkout Environment for Consumer-Service (CHEC) self-checkout software. The systems are cashless, supporting only credit or debit cards, thereby speeding transactions.

The system runs on AMD 1.8-GHz dual-core processors with 80- or 160-GB hard disk, 512 MB to 4 GB of RAM, and a VIA Chrome9 Integrated Graphics Processor. On the software side, the system can run on Linux, Windows XP Professional, Windows Embedded for Point of Service, and Vista Business. Supported drivers include Windows OPOS and JavaPOS 6.

-- Jonathan Erickson
jerickson@ddj.com

]]>
/blog/portal/archives/2008/05/selfcheckout_lo.html /blog/portal/archives/2008/05/selfcheckout_lo.html Newsletter Ednote Tue, 06 May 2008 12:43:23 -0500
Oh No! Ono
How can you not like a program named after John Lennon's wife. No, not "Yoko" but "Ono." In truth, Ono wasn't named after Yoko, but instead from the Hawaiian word for "delicious." And what's delicious about Ono is the Internet bandwidth it saves.

The problem is this: Peer-to-peer (P2P) file-sharing services, which connect individual users for simultaneous uploads/downloads directly rather than through a central server, account for as much as 70 percent of Internet traffic worldwide. That level of use has led ISPs to forcefully reduce P2P traffic. And being able to communicate with computers that are in close proximity to each other can save bandwidth and lighten the load, so to speak.

"Finding nearby computers for transferring data may seem like a simple thing to do," says Choffnes, "but the problem is that the Internet doesn't have a Google Map. Every computer may have an address, but it doesn't tell you whether the machine is close to you."

Which is where Ono comes in. Ono is a plug-in for a design to improve download speeds for your BitTorrent client by efficiently identifying nearby P2P clients. The freely available software, which was developed by Northwestern University's Fabian Bustamante and Ph.D. student David Choffnes, helps ISPs reduce costly cross-network traffic without sacrificing performance. In fact, when ISPs configure their networks properly, Ono significantly improves transfer speeds--by as much as 207 percent on average.

Ono is different from other software applications that address the conflict between ISPs and P2P traffic because it requires no cooperation or trust between ISPs and P2P users. Ono, which is written in Java and runs on Windows and Linux, is open source and does not demand the deployment of additional infrastructure.

-- Jonathan Erickson
jerickson@ddj.com

]]>
/blog/portal/archives/2008/05/oh_no_ono.html /blog/portal/archives/2008/05/oh_no_ono.html Newsletter Ednote Fri, 02 May 2008 16:36:55 -0500
Parallelism: It's Everywhere, It's Everywhere

Parallel computing is everywhere these days. You might even say that it's "pervasive." Hmmm...pervasive parallelism. Has a nice ring, eh? Well, apparently the folks at Stanford University thought enough of the alliteration that they used it to name the Pervasive Parallelism Lab (PPL).

The goal of the Lab, which is led by Professor Kunle A. Olukotun of the Stanford Electrical Engineering and Computer Science department, is two-fold: Make parallel programming accessible to the average programmer, and develop algorithms, environments, and runtime systems that scale to thousands of hardware threads. To bridge the gap between where parallelism is today and where PPL hopes it might be a few years from now, PPL team members are focusing on: Education (moving parallelism into a mainstream computer science curriculum), programming paradigms (domain-specific languages and high-level abstractions), architectures (hardware support for new paradigms), and applications (in business, games, embedded, and the like).

Joining Stanford in this venture are companies such as NVIDIA, AMD, Hewlett Packard, IBM, Intel, and Sun Microsystems. While the involvement of processor companies like Intel and AMD rings familiar, the role of companies such as NVIDIA is less so. But NVIDIA has gone a long way in solving computationally intensive problems with its GPUs and software, specifically the CUDA programming environment that gives developers access to the GPU's massively parallel architecture via a familiar C-language environment. (It's worth noting that Dr. Dobb's recently launched the article series "CUDA, Supercomputing for the Masses"; see Part I here and Part II here.)

So is all the buzz about parallelism the real deal or is it just more PR? Well, Bill Dally, chair of the computer science department at Stanford, thinks it's the real deal: "Parallel programming is perhaps the largest problem in computer science today and is the major obstacle to the continued scaling of computing performance that has fueled the computing industry, and several related industries, for the last 40 years." Sounds real to me, too.

-- Jonathan Erickson
jerickson@ddj.com

]]>
/blog/portal/archives/2008/04/parallelism_per.html /blog/portal/archives/2008/04/parallelism_per.html Newsletter Ednote Wed, 30 Apr 2008 15:35:35 -0500
Mars Express, or AI to the Rescue
Mars Express has never received the kind of media attention as Mars Rover. Probably because a mobile robot like Mars Rover is a lot more exciting than something that hangs around collecting scientific data, which is Mars Express' job. But for several years now, Mars Express has been studying the atmosphere, surface, and subsurface of the planet Mars, divining for water and forms of life.

As you might expect, all this involves huge amounts of data that needs to be downloaded to Earth on a scheduled basis. And if not sent at the right time and in the right sequence, that data can be lost forever. To now, engineers managed a tedious, error-prone downloading process using software to generate command sequences sent to Mars Express, instructing it what to do with what and when. According to Alessandro Donati of the Advanced Mission Concepts and Technologies Office at the European Space Agency, part of the problem involves multiple, constantly changing variables--spacecraft orientation, ground-station availability, space-ground communication bandwidth, on-board storage availability, and the like. A scheduling and optimization nightmare, in other words.

Addressing scheduling and optimization problems such as these, researchers at Italy's Institute for Cognitive Science and Technology (ISTC-CNR) have developed an AI tool called MEXAR2 (short for "Mars Express AI Tool"). MEXAR2--which is written in Java and runs on Unix, Linux, Windows, and Mac OS X--works by considering the variables that affect data downloading, then intelligently projecting which on-board data packets might be later lost due to memory conflicts. The program then optimizes the download schedule and generates the commands needed to implement the download.

According to engineers who use it, MEXAR2 has reduced the mission planning team's workload by 50 percent. Moreover, the optimized bandwidth has freed up expensive ground station time for other missions, according to Michel Denis, Mars Express Spacecraft Operations Manager.

-- Jonathan Erickson
jerickson@ddj.com

]]>
/blog/portal/archives/2008/04/mars_express_or.html /blog/portal/archives/2008/04/mars_express_or.html Newsletter Ednote Tue, 29 Apr 2008 16:57:33 -0500
Robo Champs, or Having Fun With Simulated Robots
Robots are like puppy dogs and other people's babies--how can you not like them? Of course, if the robot is something out of Robot Wars with chainsaw-like appendages--well, you might be just glad that it is someone else's baby.

But that kind of robot isn't what Microsoft has in mind with Robo Champs. No, Microsoft has a kinder, gentler robot in mind. One that rescues kittens from trees and saves lives when earthquakes occur. And how can you not like robots like that?

Robo Champs is a league in which you build simulated robots that operate in simulated environments and face a variety of challenges. The "league" part is that you compete with other simulated robots to earn points (chopping off appendages probably deducts points). The competitions range from navigating mazes or collecting data on Mars to driving cars in urban settings or rescuing those in danger when natural disasters occur.

All you need is the software--Microsoft Robotics Developer Studio 2008--which is freely available for non-commercial use. (Okay you'll also need stuff like Visual Studio 2008/Express, as well as other development tools.) Once you have the software set up, you pick an avatar and start coding.

"Simulation" is the key point here. One of the biggest barriers to robot development historically is (expensive) hardware, along with soldering irons, wirewraps, and gears. With Robo Champs, you don't have to deal with all that because you're "simulating" the robot. Then at the end of the formal competition phase, the top four point-getters in the league will be invited to PDC 2008 where they'll download their simulations into real robots and compete for real in championship rounds.

To get a feel for what's what, take a look at this short YouTube video or go to the official site. If you're into robots, you're in for some fun. And if you're not into robots--well, it's still fun.

-- Jonathan Erickson
jerickson@ddj.com

]]>
/blog/portal/archives/2008/04/robo_champs_or.html /blog/portal/archives/2008/04/robo_champs_or.html Newsletter Ednote Fri, 25 Apr 2008 18:51:11 -0500
Dr. Dobb's Developer Diaries, or Your Smilin' Face

One of the more popular features in Dr. Dobb's is Developer Diaries where we present "profiles of programmers [and] descriptions of developers." Okay, so we ripped off the concept from the now-famous Dewar's Profiles. But wasn't it Mr. Dewar himself who said something about imitation being the sincerest form of flattery?

In any event, what I'd like to do is share with you the opportunity to participate in the fun. Okay, it probably isn't much like seeing your "Smilin' face/On the cover of the Rolling Stone", but it is fun nonetheless.

So here's all you have to do:

  1. Briefly answer the following six questions:
    1. Where do you work?
    2. What's your job there?
    3. What do you like about your job?
    4. What do you find challenging about your job?
    5. What have you found that makes your job easier?
    6. What's your hobby?
  2. Get a digital photo of yourself.
  3. ZIP the answers to the questions and your photo into an archive.
  4. Email the ZIP archive to me at Developer Diaries (or directly to me at jerickson@ddj.com).

That's it. I'll try to ack receipt of each profile (thanks in advance, by the way) and will let you know if we have any questions. No, you don't have to drink Dewar's scotch, Czech beer, or Z's coffee to participate. Just be willing to have a little fun and see your picture (not) on the cover of Dr. Dobb's.

-- Jonathan Erickson
jerickson@ddj.com

]]>
/blog/portal/archives/2008/04/dr_dobbs_develo.html /blog/portal/archives/2008/04/dr_dobbs_develo.html Newsletter Ednote Wed, 23 Apr 2008 16:01:19 -0500
Building the Digital Data Vault

Leave it to Michael Swaine to work the "Svalbard Global Seed Vault" into an article that's supposed to be about computer programming. And leave it to me to let him do it. That's what happens when an article comes in late, and a distressed editor doesn't have time to demand relevance. But when you get down to it, I guess Michael's recent Gates and the Doomsday Seed Vault did have some relevance, thanks to a reference to a scruffy-looking penguin smoking a cigar.

In many ways, the problem Svalbard Global Seed Vault researchers are trying to solve ("to provide a safety net against accidental loss of diversity in traditional genebanks") is akin to the one researchers at the University of California-Santa Cruz have tackled. But at UCSC, scientists are trying to save digital data, rather than seeds.

"The problem is how to build a large-scale data storage system to last 50 to 100 years," explains Ethan Miller. Most large-scale data storage these days involves tape, but digital tape has problems. Which is why Miller, along with grad students Mark Storer and Kevin Greenan and researcher Kaladhar Voruganti, developed Pergamum, which uses hard disk drives to provide energy-efficient, cost-effective storage.

For reliability, Pergamum uses two levels of redundancy--within and between disks--to protect from both disk failures and latent sector errors when writing data to a disk. The system doesn't care what the actual storage medium is, as long as the device can implement a simple protocol that lets it function as part of the network. Each unit is essentially a self-contained box with a network connection. Flash memory provides low-power and persistent storage so that many operations can be performed without activating the hard drive.

While I'm sure Michael will have full technical details real soon now, I'd suggest seeing their paper instead of waiting.

-- Jonathan Erickson
jerickson@ddj.com

]]>
/blog/portal/archives/2008/04/building_the_di.html /blog/portal/archives/2008/04/building_the_di.html Newsletter Ednote Mon, 21 Apr 2008 18:27:59 -0500
Flou'ing the Coop, Or Music Meets Science

In years past, I pushed a lot of piano teachers to the brink. Mrs. Hoettelting had her husband put up a heavy-metal gate that was conveniently locked when I was due for a lesson. Miss Cedarcraft joined a convent. Considering all of the suffering I caused with a piano back then, its mind boggling as to the pain I could cause these days.

Just think, for instance, what I could do with Flou (pronounced "flew"). Developed by Jason Freeman, Mark Godfry, and Andrew Beck, Flou is--well, I'm not sure what it is, but it sounds very cool. The best I can tell it is a musical game that lets you use the sound to navigate through 3D worlds, zoom through objects in space, add loops, and apply effects to an evolving musical mix. You can also design worlds and share them with other Flou users. Freeman is an assistant professor at Georgia Tech's Music Technology Group, where he focuses on algorithmic composition, networked music systems, and audience-participative musical environments. Godfrey and Beck are grad students who work with Freeman.

The goal of the Music Technology Group is to push the boundaries of musical expression and creativity through technology, focusing on creating novel musical instruments and applications--stuff like new interfaces for musical expression, algorithmic composition, music information retrieval, audio visual communication, musical networks, digital signal processing, machine and robotic musicianship, and sonification. And they seem to be doing a bang-up job at all this.

In a more familiar world, Freeman created iTunes Signature Maker, which analyzes music collections and creates a short audio signature to represent who you are and what you listen to. Freeman also developed N.A.G., a "Network Auralization for Gnutella." Also referred to as "sonification" or "audification," auralization is the representation of data through sound. With N.A.G., you can type in one or more search keywords, and N.A.G. looks for matches on the Gnutella peer-to-peer file-sharing network. The software then downloads MP3 files that match keywords and remixes them in real time based on the structure of the Gnutella network.

But Freeman and crew aren't the only ones investigating auralization. It has been a research area for Andrea Polli for a number of years. Her Atmospherics/Weather Works project, for instance, is a distributed software project for the sonification of storms and other meteorological events, including Hurricane Bob. And it sounds really weird.

Music technology indeed. Will someone please pass Mrs. Hoettelting the aspirin?

-- Jonathan Erickson
jerickson@ddj.com

]]>
/blog/portal/archives/2008/04/flouing_the_coo.html /blog/portal/archives/2008/04/flouing_the_coo.html Newsletter Ednote Fri, 18 Apr 2008 15:10:47 -0500
Beer, Coffee, and Multi-Core Processors

Putting aside beer, coffee, and multi-core (not necessarily in that order, of course), I did learn a few things this past week in and about the Czech Republic, as I'll shortly be trying to explain to the boss. In all likelihood, she will want to talk about irrelevant issues, such as how a tour of the Strahov Monastic Brewery ended up on my expense report. What can I say? I was interested in brewery IT infrastructure, or at least that's my story and I'm sticking to it. I'm still working on answers to sure-to-come questions about the Svijansky Rytir Jireckova brewery tour, and what the heck does Joe's Garage Beer have to do with C++.

As quickly as possible, I need to get her focused on all of the software development shops in and about Prague. Shops like those of Microsoft, Skype, Deutsche Borse, Accenture, HP, CA, RedHat, Sun Microsystems, LogicaCMG, Infosys, and Monster Technologies. And that's just the short list of companies that have set up shop here. There are dozens if not hundreds of home-grown development centers, like Grisoft and Kerio. An umbrella organization that ties many of these development centers together is the Czech ICT Alliance, which works under auspices of CzechTrade, a government trade promotion organization.

From what I learned, there are about 129,000 people working in the Czech IT sector, although this figure probably doesn't include programmers and other IT workers in industries such as finance and the like. According to some studies, senior programmers in the Czech Republic earn about 16,000 Euros per year, while junior programmers earn about 11,000 Euros annually. Likewise, senior software engineers earn about 22,000 Euros a year, while junior software engineers earn about 16,000 Euros. Wage affordability for employers is one reason why the Czech Republic is so attractive to employers. To illustrate, a systems analyst in, say, Great Britain will command a salary of more than 40,000 Euros annually, while the same job in the Czech Republic is about half that.

Of particular note to a lot of software developers I know is that the Czech Republic has between 65 and 70 golf courses, compared to, say, just seven in Hungary. This is important, as I'll try to explain to the boss, although I luckily don't have to explain any golf-related expenses this time around.

As I previously mentioned, education is a big deal in the Czech Republic, with about 60 universities and colleges in the country. Of the 50,000 annual graduates, about one-third leave school with a degree in a technical or scientific discipline. In terms of IT, there are about 24,000 students in this arena, with about 3,000 graduating annually.

Thanks to reader John Ferguson who sent me a note to "nevermind the coffee, try the beer." Now John, can you can put in a good word for me with the boss? Also, thanks to Rob Demmer of Sun's NetBean team in Prague who took time to share his perspective of software development in the region. Finally, it really hit home in the Intel multi-core/multi-threaded sessions I attended that "Parallelize or Perish" is the real deal. So start tuning up on those concurrency skills now.

-- Jonathan Erickson
jerickson@ddj.com

]]>
/blog/portal/archives/2008/04/putting_aside_b.html /blog/portal/archives/2008/04/putting_aside_b.html Newsletter Ednote Thu, 17 Apr 2008 02:34:41 -0500
Just Czechin' In

Much to the delight of the boss, I made it to Prague Czech Republic where I've been emersed in multi-core/multi-threading (mc/mt) and Rohozec, Chodovar, and Pernstejn beer. Come on...I knew the boss would buy that bit about hanging out at coffeehouses and attending lectures, but you know me better than that. Purely educational research, of course.

Still, I did catch a couple of sessions on mc/mt. When it comes down to it, the key issues regarding mc/mt implementation as we move from the GHz era into the multi-core era are:

  • Scalability
  • Predictability/Determinism
  • Maintainability

From what I can tell, no one of these issues is any more important than the other. Scalability, for instance, is critical as we move from multi- to many-core (the difference being from a processor that has, say 4 or 8 cores, versus one that has a whole bunch more). If you don't keep scalability in mind when writing multi-core apps, then you may have to do a lot of re-architecting and re-coding when you jump up to 40 or 60 or 80 cores on a processor. Of course, if the program you're writing doesn't do what you expect (i.e., predictability), then it doesn't matter how many cores it has. And finally, you (or more likely another developer) have to be able to understand the program enough to make changes when (not "if") required.

Here's something else I learned, maybe because I'd never given it any thought. The upcoming class of many-core processors will likely have cores of different sizes. Big cores for big jobs (database activity or server stuff), and little cores for quick-and-dirty jobs. Makes perfect sense, but like I said, I'd just never thought about it. Which is why, of course, I go to conferences like this in the first place.

What?!? You thought it was the beer?

-- Jonathan Erickson
jerickson@ddj.com

]]>
/blog/portal/archives/2008/04/just_czechin_in.html /blog/portal/archives/2008/04/just_czechin_in.html Newsletter Ednote Tue, 15 Apr 2008 18:01:50 -0500