Some 75% of the world's businesses data is still processed in Cobol, and about 90% of all financial transactions are in Cobol, according to Arunn Ramadoss, head of the academic connections program at Micro Focus International PLC...
21 February 2008
[Obligatory Mark Twain reference]
Maybe there will still be work for me when I'm ready to move into semi-retirement. Tam Harbert reports on demand and supply for COBOL programmers (for Computerworld, naturally).
15 February 2008
DotNetNuke: Early returns
We did our first code drop to QA last week on our first project that employed DotNetNuke. DotNetNuke is gaining popularity because it allows developers and administrators to take a Chinese menu approach to web site design. It's a framework for developing apps within ASP.NET: developers code modules of functionality (traditionally in VB.NET, but C# works just fine) which can be rearranged on web site pages without recoding.
Typically, a module is written as three user controls: a View, an Edit, and a configuration Settings combination view/edit. The View control might present a grid or list of entities (blog posts, say), and then the Edit control would be used to edit one existing entity or create a new one. Or the View module might just be a widget that encapsulates content from another source, like a stock ticker or a Google map, and there would be no Edit module.
DotNetNuke (ugly name, that) is open source, and the weak API documentation reflects this fact. The search engine is often overloaded, so I've taken to using Google to search within the site. And it's usually the case that a method or property just isn't described in sufficient detail. Sometimes the only hits are someone's unanswered question in a forum: "Does anybody know how this thing works?" There is a book from Wrox of middling quality, Professional DotNetNuke 4.
One of the services that the DotNetNuke framework provides is caching of module content. If your module is serving semi-static text (like a Welcome box) or slowly-changing data like automobile traffic reports, you probably don't need the content to be refreshed second-to-second, and the admin can configure an appropriate cache timeout. But if your module provides any interactivity and validation (for instance, a new user registration control that collects name and address), you really don't want anything to be cached. When you, the developer, prepare a module for deployment, you can specify a default cache timeout of 0 seconds. But you can't count on that value being used in all deployments. I predict that a lot of our support calls will center on caching issues.
We've also noticed some problems, not well-described, with ASP.NET validator controls running client-side, and so we've specified
Typically, a module is written as three user controls: a View, an Edit, and a configuration Settings combination view/edit. The View control might present a grid or list of entities (blog posts, say), and then the Edit control would be used to edit one existing entity or create a new one. Or the View module might just be a widget that encapsulates content from another source, like a stock ticker or a Google map, and there would be no Edit module.
DotNetNuke (ugly name, that) is open source, and the weak API documentation reflects this fact. The search engine is often overloaded, so I've taken to using Google to search within the site. And it's usually the case that a method or property just isn't described in sufficient detail. Sometimes the only hits are someone's unanswered question in a forum: "Does anybody know how this thing works?" There is a book from Wrox of middling quality, Professional DotNetNuke 4.
One of the services that the DotNetNuke framework provides is caching of module content. If your module is serving semi-static text (like a Welcome box) or slowly-changing data like automobile traffic reports, you probably don't need the content to be refreshed second-to-second, and the admin can configure an appropriate cache timeout. But if your module provides any interactivity and validation (for instance, a new user registration control that collects name and address), you really don't want anything to be cached. When you, the developer, prepare a module for deployment, you can specify a default cache timeout of 0 seconds. But you can't count on that value being used in all deployments. I predict that a lot of our support calls will center on caching issues.
We've also noticed some problems, not well-described, with ASP.NET validator controls running client-side, and so we've specified
EnableClientScript="false" for everything.
04 February 2008
Screening
Jeff Atwood of Coding Horror annotates Steve Yegge's Five Essential Phone-Screen Questions, orginally posted in 2004. The kernel of Yegge's post is that the phone interview should actually do some screening:
Yegge's five questions, or rather categories of questions, are:
Yegge's example coding questions use C++ and Java, and would be appropriate for C# and JavaScript. For our own purposes, I'd be inclined to include some questions that called for HTML and perhaps some SQL.
Please understand: what I'm looking for here is a total vacuum in one of these areas. It's OK if they struggle a little and then figure it out. It's OK if they need some minor hints or prompting. I don't mind if they're rusty or slow. What you're looking for is candidates who are utterly clueless, or horribly confused, about the area in question.
Yegge's five questions, or rather categories of questions, are:
- Coding
- Object-oriented Programming
- Scripting and Regular Expressions
- Data Structures
- Bits and Bytes
Yegge's example coding questions use C++ and Java, and would be appropriate for C# and JavaScript. For our own purposes, I'd be inclined to include some questions that called for HTML and perhaps some SQL.
11 January 2008
A/K/A timesharing
The Economist brings its customary skeptical perspective to the software-as-a-service market:
The article includes some forecasts (courtesy of Gartner) for the size of the SaaS market through 2011.
The biggest doubt is whether you can make much money selling software this way. Vendors of conventional enterprise software made a killing by requiring customers to pay a high licensing fee upfront and then charging them for maintenance. Web-based firms, by contrast, have to make do with subscription fees. This means they are not able to grow as quickly: both NetSuite and Salesforce have been around for almost a decade. They have had to invest a lot in attracting customers and building data centres to supply their services. As a result, NetSuite has never posted a profit; at the end of September, its accumulated deficit amounted to nearly $242m. Salesforce is barely profitable and boasts an otherworldly price-to-earnings ratio of around 660.
The article includes some forecasts (courtesy of Gartner) for the size of the SaaS market through 2011.
29 December 2007
Exam prep: 1
I'm taking the opprtunity of the holiday slack time to restart my exam preparation for certification as an MCPD: Windows Developer. I currently hold an MCAD, so I need take only one exam to bump up to the next cert. I had been studying in August and September, but I let myself get distracted, so it's almost like I'm starting over. I've set myself a new goal of passing exam 70-552 by April 30.
I'm reading selected chapters of Jeffery Richter's CLR via C#, largely for background and a refresher on concepts like boxing and unboxing. The heavy-lifting prep is working through Microsoft's self-paced training books MCTS 70-536, MCTS 70-526, and MCPD 70-548. Fortunately, all of these are available through Safari, albeit at two slots a piece. I'm not looking forward to the long units on crypto and security, because, try as I might, it's an area I find it hard to get excited about.
I'm reading selected chapters of Jeffery Richter's CLR via C#, largely for background and a refresher on concepts like boxing and unboxing. The heavy-lifting prep is working through Microsoft's self-paced training books MCTS 70-536, MCTS 70-526, and MCPD 70-548. Fortunately, all of these are available through Safari, albeit at two slots a piece. I'm not looking forward to the long units on crypto and security, because, try as I might, it's an area I find it hard to get excited about.
Subscribe to:
Posts (Atom)