Are you doing cool stuff? If so, you need to communicate how cool it is, with demo apps, exciting examples, articles, talks, and seminars. I love to bring the best new technologies into the public eye. I'm especially a fan of innovative programming tools and mobility software (Tablet PC, SmartPhone, and .NET Compact Framework). Contact me:
Code, industry analysis, and miscellaneous cross-links from Larry O'Brien, the former editor of Computer Language and Software Development magazines.
To receive an occasional announcement message regarding my seminars or publications, please subscribe to my mailing list.
Since "Thinking in C#" is now officially dead, I'm phasing out thinkingin.net, please resubscribe to my blog at http://www.knowing.net/rss.xml
Michael Flanakin reacted to of my SDTimes article on the (relative) failure of dynamic languages within .NET with an interesting proposal: Perhaps every namespace could have a default "utility" class that hides OO complexity. There's even a tiny bit of a precedent in that .NET attributes named SomeAttribute are exposed as Some (with the ...Attribute part of the name hidden away). Similarly, static methods within MyNamespaceUtil would be accessible within MyNamespace without requiring a type-reference.
Hmmm.... As a guy who likes not only object-orientation but strong-typing it's hard for me to assess the attractiveness of this suggestion to the power-users / sysadmins / hackers (in the good sense!) who find the BCL too much of a burden. My thoroughly subjective reaction is that I don't like naming conventions with semantic meanings (and, yes, that means I've never really liked "getX" and "setX"). Thoughts?
In a comment on a previous post, Alex Peake warns that in searching for what Jaron Lanier calls "biomimetic" programming metaphors, "we must be careful not to fall into the trap of early flight pioneers - that of trying to emulate birds (too closely) in order to build a flying machine. Flapping wings was NOT the algorithm. "
Point taken. The solution hardly lies in creating a two-stranded, base-4 genotype that's transcribed into an intermediate form, which in turn create self-assembling components from a small number of basic building blocks, etc....
What I'm much more interested in is finding powerful abstractions, and whether they disguise the fact that one is programming or not is, to me, irrelevant. Look at the spreadsheet as the great example: whether you label a spreadsheet as a programming language or not, it is one, an immensely powerful one that is better for many, many purposes than the text-based ones that are mostly associated with the word "programming language."
A programming tool / language for evolutionary computation would have built-in constructs for parallelizing runs of populations, monitoring the increase in fitness over time, monitoring the entropy of the genome, choosing among selection strategies, and would have tools for facilitating the encoding strategy (the key and decidedly non-trivial task).
Alex advocates sticking to a particular domain, and that may be wise. But on the other hand, surely most digital "tools for building tools" would do well to keep the door open to complete programmatic control?
Quick links for a dictionary of algorithms and data structures and a book on exact string matching algorithms. (via HotLinks) More bedtime reading ;-)... via [Curiosity is bliss]
Definitely a data-structure theme going on here lately...
In my continuing quest to install XP-64 on my Athlon laptop, I just tried Virtual PC 2004. I get the message "Attempting to load an X86-64 operating system, however this CPU is not compatible with X86-64 mode." which is misleading at best. There aren't any obvious settings I can change. Anyone know if there's some obscure command-line switch I'm supposed to use?
Meanwhile, I know that my old VMWare Workstation version doesn't support 64-bit OSs, so that's out, too.
As much as I love writing code, I realized long ago that it's really the act of bending my computer to my will that I really love. Programming's just the only way to really do that. After a few decades, you'd have thought we'd have come up with something better. Our industry's pioneers agree that programming is holding us back, but don't really know what we'll use to replace it. Ideas? via [Marquee de Sells: Chris's insight outlet]
Are you part of an ISV that's been thinking about creating a new product for the Tablet PC or enabling ink in your Tablet PC application? Then check this out. As WhatIsNew reports, Microsoft is launching today a new Tablet PC developer contest that goes beyond any of the other contests. We're talking real money here--$100,000 for the grand prize. via [Incremental Blogger]
Holy Inkstain! Okay, I entered my Outlook plug-in that gives you ink email without using Word in the previous $15K powertoy contest, but $100K for an ink-enabled application? That's worth serious time. Dang -- the contest is too short to win with a "Hey, kids, let's put on a show," application (too bad, I've got two viable apps that just need slicker implementation than I can afford to develop on my own). Anyone need an experienced ink programmer to put them over the top in winning the prize?
MapPoint Web Service Special Offer
MSDN® Universal, Enterprise, and Professional subscribers in North America, Europe, the Middle East, or Africa are eligible for a free subscription to MapPoint Web Service. This exclusive MSDN Developer account extends the standard 45-day free trial period and also includes limited use of the MapPoint Web Service production environment in addition to the MapPoint Web Service staging environment. This is a one-time offer available to eligible MSDN subscribers at no charge. Sign up today.
This is pretty sweet. One of the problems with the MapPoint Web Service has been no instant gratification (sign up and wait 2 days to get approved). This does a lot to solve that. via [Early Adopter Weblog]
I believe that mobile software (cell phones, TabletPC, PDAs) is this decade's great opportunity for entrepreneurs. Location awareness is an enormously important enabling technology. MapPoint Web Services, and MapPoint Location Server (announced today), are Microsoft's infrastructure push in this area. Sprint is the only carrier that's announced a partnership with MLS so far (in the U.S.: in Canada, Bell Mobility supports it), but if Microsoft can partner with several carriers and MLS becomes something that can "just be assumed" then it opens the floodgate.
I have a brand-new emachines M6805 laptop, perfectly stock, onto which I am trying to install Windows XP-64. I have spoken with colleagues who have the exact same model, exact same bios revision, for whom the install of the exact same build goes perfectly. For me, it freezes solid within a minute of GUI-mode setup (after the character-mode setup has copied the files to the hard-drive). Interestingly, I get identical behavior if I try to install any 64-bit Windows (Server 2K3, Longhorn 64): I suspect that the setup programs share common code at that point.
My guess is that this is a real bug, in the sense of the original moth-in-the-circuit erroneous hardware response. My guess is that some the code does some IRQ-level thing to get an offset, doesn't do a sanity check on the return, and BAM! A hard freeze that requires me to disconnect power. But it's been more than a decade since I've seen such a hardware bug (I had memory parity errors that nuked my system... maybe the first 386 I bought? Maybe even a 286!). I don't even know if I can get an RMA on the machine because all I can say is "The only reason I have this machine is to work with operating systems you don't support. Please give me another piece of hardware to try to do that."
Anyone know anything about what goes on in the early stages of Windows installation?
| March 2004 | ||||||
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 | |||
| Feb Apr | ||||||
Recent code:
Recent writing:
Review of Borland's C# Builder 1.0
Recommended .NET Programming Books
Programming Sabre with Java, C#, and XML
Best Practices for .NET Architecture
Windows Server 2003 as an Application Server
Toolroll:
Motion Computing M1200 Tablet PC
Visual Studio 2003 Enterprise Architect
Rational Rose Enterprise Edition 7
T Mobile Pocket PC Phone Edition