I attended the local CloudCamp un-conference tonight. It was a good con, with an opening session, some lightning talks, and un-panel, and then some un-conference sessions.
It was also well attended, with somewhat more than 200 people at the con.
The most interesting aspect of the con: no one talked about programming languages. They talked about databases (MySQL, Oracle, etc.), cloud providers (Amazon, Google, Microsoft, etc.), public and private clouds, provisioning, and big data. But not about programming languages. Nor version control, or agile development, or requirements analysis, or user interface design. As if all of these things were givens.
Wednesday, March 9, 2011
Tuesday, March 1, 2011
CMAP and Mercurial
I attended the CMAP (Central Maryland Association of .NET Programmers) tonight, and heard a presentation on the 'Mercurial' distributed version control system (DVCS).
I'm glad that I went. I chatted with a bunch of folks and learned about DVCSs. (Actually, a few lights went on tonight, and I want to think a bit more about DVCSs.)
And today the US House of Representatives passed a two-week continuing resolution. The Senate will probably approve the bill, and I suspect that President Obama will sign it. Which means that we may be back to nail-biting in two weeks, on St. Patrick's Day.
I'm glad that I went. I chatted with a bunch of folks and learned about DVCSs. (Actually, a few lights went on tonight, and I want to think a bit more about DVCSs.)
And today the US House of Representatives passed a two-week continuing resolution. The Senate will probably approve the bill, and I suspect that President Obama will sign it. Which means that we may be back to nail-biting in two weeks, on St. Patrick's Day.
Monday, February 21, 2011
Virtual machines
This morning I planned to spend some time at the co-working site. After reviewing the work before me, I decided to stay at home. Some things are possible at the co-working site, and some tasks are better at the co-working site, but some are best (and some possible only) at my home systems. So pragmatism ruled!
I attempted to use Microsoft's Virtual PC. The package is interesting: it's not a Windows Application. Instead of installing as a regular application, it merges into Windows. There is no entry in the "Installed Programs" list for Virtual PC. Shades of the old "Internet Explorer is part of Windows and cannot be removed" argument.
Despite it's merging into Windows, installing the thing is not particularly easy. You have to find the download site, then specify the version of your operating system (Home, Pro, or Enterprise) and the word size (32-bit or 64-bit), and the language. And then you have to go through a little ActiveX dance to ensure your Windows is genuine. Only then can you install it. And after installation do you learn that Virtual PC is fussy about hardware and requires hardware support for virtualization. When I ran it, it did nothing but display a little dialog that says, effectively, "I won't run, because your hardware is lame". And then you learn that you cannot un-install the beast.
Oracle's Virtualbox, in contrast, was easy to install and as a bonus it actually works. While Microsoft's Virtual PC supports Windows guests and only Windows guests, Virtualbox lets you run just about anything as a guest. So my experiments with virtualization can start.
I had lunch with former co-worker Don today, at the local burrito place. It was a good lunch and we talked about several things. At the (old) office, things have changed little.
I attempted to use Microsoft's Virtual PC. The package is interesting: it's not a Windows Application. Instead of installing as a regular application, it merges into Windows. There is no entry in the "Installed Programs" list for Virtual PC. Shades of the old "Internet Explorer is part of Windows and cannot be removed" argument.
Despite it's merging into Windows, installing the thing is not particularly easy. You have to find the download site, then specify the version of your operating system (Home, Pro, or Enterprise) and the word size (32-bit or 64-bit), and the language. And then you have to go through a little ActiveX dance to ensure your Windows is genuine. Only then can you install it. And after installation do you learn that Virtual PC is fussy about hardware and requires hardware support for virtualization. When I ran it, it did nothing but display a little dialog that says, effectively, "I won't run, because your hardware is lame". And then you learn that you cannot un-install the beast.
Oracle's Virtualbox, in contrast, was easy to install and as a bonus it actually works. While Microsoft's Virtual PC supports Windows guests and only Windows guests, Virtualbox lets you run just about anything as a guest. So my experiments with virtualization can start.
I had lunch with former co-worker Don today, at the local burrito place. It was a good lunch and we talked about several things. At the (old) office, things have changed little.
Thursday, February 17, 2011
Cloud computing group
I attended the Capital Cloud Computing Group meeting tonight. It was a good session, with a presentation by World Wide Technology and their "server room in a box" solution: everything you need in a shipping container. It is an interesting idea, but one that has a limited life span.
One slide showed a typical rack with blade servers, network equipment, and a NAS. When I saw the diagram, I immediately thought of the old DEC PDP-8 and PDP-12 computers. They, too, were rack-mounted hardware with CPU, storage (disk or tape), and communications equipment. Yet in ten short years, they were replaced by the modern PC.
So I'm thinking that in ten years (maybe less) we will see a cloudframe (CPUs, storage, and communications) all in a current-day PC tower. And a few years after that, it will be in an Apple Mac Mini box. Eventually it will be the size of an HP calculator.
Is that a cloud in your pocket?
One slide showed a typical rack with blade servers, network equipment, and a NAS. When I saw the diagram, I immediately thought of the old DEC PDP-8 and PDP-12 computers. They, too, were rack-mounted hardware with CPU, storage (disk or tape), and communications equipment. Yet in ten short years, they were replaced by the modern PC.
So I'm thinking that in ten years (maybe less) we will see a cloudframe (CPUs, storage, and communications) all in a current-day PC tower. And a few years after that, it will be in an Apple Mac Mini box. Eventually it will be the size of an HP calculator.
Is that a cloud in your pocket?
Tuesday, February 15, 2011
Budget cuts
I attended the local Linux user group meeting tonight. There was no speaker, and the meeting transformed from a regular monthly meeting into a planning session. We discussed several good ideas, from sponsors to lightning talks.
In other news, the federal budget process is beginning, and things look a bit dark for my contract. The agency will be getting a reduced budget; how much is yet to be decided. I may be considered expendable. Such is the life of a contractor!
In other news, the federal budget process is beginning, and things look a bit dark for my contract. The agency will be getting a reduced budget; how much is yet to be decided. I may be considered expendable. Such is the life of a contractor!
Wednesday, February 9, 2011
Geek connections
I attended the CALUG (Columbia Area Linux User Group meeting tonight. The presentation was on RCU (Read-Copy-Update) synchronization techniques. Quite a geeky subject, yet it spurred a good conversation.
I arrived early and chatted with a few folks. The CALUG members are a diverse crowd, and each are well-versed in their own areas.
Sunday, February 6, 2011
Housekeeping
In programming, one trend is the removal of "housekeeping" tasks.
The transition from assembly language to high-level languages saw the elimination of register and stack frame management. This was a big change, but not the only change in housekeeping tasks. FORTRAN and COBOL eliminated a lot of housekeeping for files.
The C programming language (and the UNIX operating system) made file operations even easier, allowing the command shell to handle files for the "stdin" and "stdout" channels.
The introduction of Java saw the elimination of memory management. Prior languages (C, C++, and Pascal) forced the programmer to allocate, track, and release memory. (The early Pascal had a very clumsy "mark and release" model.) Every language introduced after Java has included memory management.
Eliminating housekeeping tasks is usually a good thing. There are some specialized applications that require the complete control of memory allocation, file operations, and even register allocation. But these applications are few. For the mainstream, less housekeeping is better. Housekeeping distracts us from the problem at hand.
Once eliminated, we don't re-introduce housekeeping tasks. We're not going to use (with any degree of popularity) a language that requires us to track and free memory, or jump through hoops to perform file operations, or to manually specify register usage. Future languages will keep the automatic transmissions that we have built.
Which means that the hard-won skills for housekeeping in languages -- even modern languages -- has limited usefulness. Memory allocation skills in C++ were not needed in Java or C#. (It may be useful to know them, to understand the actions occurring "under the hood", but it is not necessary.)
Housekeeping skills have limited life. Skills of longer duration are of lasting value. These include algorithm design, simplification of code, understanding business requirements, communicating with team members (technical, artistic, and management members), project management, cost estimating, and problem diagnosis.
So... what kind of skills do you have?
Subscribe to:
Posts (Atom)