Dan Ingalls Video on OO Programming
Some of the old-timers I know in the programming business complain about Object Orientation (OO). They say it's hard to make heads or tails of OO because terms like "Object" and "Class" are used in circular definitions. The good old-timers dive right in, get a feel for how you do things in OO languages and come out with a good understanding based on experience. The younger programmers I've met don't have the same issues; many of them used Java in their first programming courses. But a lot of them don't know the context into which OO languages were introduced and without this context, it's hard for them to understand why Smalltalk, Lisp, Ruby and Python programmers look down on Java and C#. Of course I wouldn't look down on anyone's language choice,
all languages express the Tao (but do not program in COBOL if you can avoid it.)So I recently found this video at the
internet archive. It's Dan Ingalls of Xerox PARC fame giving a talk about OO. It's from way back in 1989, so it's aimed at professional developers of the time. If you've been avoiding OO or you want to understand what the old timers were thinking when they created OO languages, this might be a good view.
Dan Ingalls: Object-Oriented Programming (1989)
Jim Alfred on Mobile Security
Okay... a bit of fair disclosure... I used to work for
Certicom and I have a little bit of Certicom stock left in my portfolio, so I'll be the first to admit I'm not completely unbiased.
However... I think there's widespread agreement in the crypto world that Elliptic Curve Crypto is a pretty valueable addition to your aresenal of information security weapons. In an article recently published by Dr. Dobb's (
Ensuring Strong Security for Mobile Transactions) author Jim Alfred provides a nutshell view of mobile security. Jim is, of course, a current Certicom employee, so you might not be surprised to discover that ECC factors into his view of "good security." But it's good to see Certicom, which seems to make most of it's money licensing low-level crypto algorithms talking about the complete device security chain, from bottom to top.
One of the drawbacks of ECC is, however, that is't not nearly as easy to explain as RSA or Diffie-Hellman. So any time I talk about ECC, I also like to point to certicom's
Elliptic Curve Tutorial. If you don't know anything about ECC, this is a good place to start.
Tags:
crypto,
Certicom,
mobile
Why I Don't Care About Your Damn'd Boxed Types
Peter Siebel recently gave a TechTalk at the Google-drome about the Sapir-Whorf Hypothesis and Programming Languages. It basically describes why programmers have issues understanding the usefulness of language features that aren't found in their language of choice. My language of choice is, of course, Smalltalk. This explains why I don't understand when people go ga-ga over C#. This is a great talk, even though it almost implies that Lisp is the "one, true programming language." Everyone knows that God programs in FORTH. Or rather... knows everyone god FORTH is-relationship? true.
Fortunately for us, the good people at Google uploaded a copy of this video to their gigantic server in the sky...
Practical Common Lisp
Good Mobile Blogs : VisionMobile and Software Everywhere
So everyone knows about
Phone Scoop and
Howard Forums. But there are a couple of other blogs I've been reading lately that are "must-reads" for people building wireless solutions:
VisionMobile Forums and
Pikesoft's Software Everywhere.
VisionMobile Forums is a part of Andreas Constantinou's venue for disseminating his views of the mobile industry. Andreas has, IMHO, a pretty good grip on what's going on out there. And... it's not just Andreas producing content; he's been able to attract a few other contributors. So it's not just the "Andreas Constantinou Show," it really is a bit more like a think-tank for mobile-strategists.
David Beers runs
PikeSoft, a software house specalizing in mobile software development. In his copious spare time he writes the Software Everywhere blog which focuses on ubiquitous mobile software. Cool Stuff.
The Structure and Interpretation of Computer Programs
Way back in the olden days before microcomputers were programmed in languages like Java, C# and C++, there were a thousand languages, each
expressing an aspect of the Tao. But one language, LISP, has a special place in the history and development of software. LISP was a mind-bendingly flexible tool, allowing developers great flexibility in representing problems. Somewhere in the early 1980's software started becoming less about solving problems and more about looking good for consumers. The ability to elegantly represent data relationships took a back seat to how quickly it could be used to crank out the next version of QuatroPro or Unix.
But LISP remains the "programming language of the Gods." If you understand what's going on inside a LISP interpreter and how the language is used to solve problems, then you're well on your way to understanding the representation of data and process flow in the most abstract way. If you can grok LISP, there's very little that should confuse you about Java and C#.
Fortunately for us mortals, the good people at MIT have made the video of that university's intro programming course available on the web. So if you're interested in learning LISP, there are few better resources online than MIT's
Structure and Interpretation of Computer Programs lecture series featuring Hal Abelson and Gerald Jay Sussman. They have also made the accompanying text available for free download as well ( at
http://mitpress.mit.edu/sicp/full-text/book/book.html. )
Bill Joy on SPARC
Here's another hit from the
Internet Archive. It's Bill Joy talking about Open Systems and Sun's (then) new SPARC architecture. I'm including it on my list of "must-see geek videos" because when most people these days hear about Bill Joy, about the only thing they hear is "The Future Doesn't Need Us" and "Java." To be sure, Bill has a lot of interesting things to say about both topics, but what may get lost in the shuffle is that Bill was one of Sun's Co-Founders and served as chief scientist there until 2003.
Plus, there's lots of 1980's style big-hair.
Bill Joy: The Open System Imperative (1987)