Orcmid's Lair |
status privacy about contact |
|
Welcome to Orcmid's Lair, the playground for family connections, pastimes, and scholarly vocation -- the collected professional and recreational work of Dennis E. Hamilton
Archives
Atom Feed Associated Blogs
Recent Items |
2006-03-10Friday Slap Your Head Day
I have a backlog of cat pictures for Fridays, but I’m always balking at the work to scan them in and make them web-presentable. So the cat pictures live on as just a good idea that I have from time to time. I’m not prepared to sign up to the squid (or hairy lobster) patrol, so I thought I’d propose something else: Slap-Your-Forehead moments when you finally caught on to something that was frustratingly elusive until that blinding moment. {tags: computer science education learning programming inspiration integrity failure orcmid} Slap Your Head DayHere’s the game. Think back to an event in your life, probably as a student, where you were completely frustrated and hopelessly blocked over some topic or concept. Was there a moment when suddenly you got it? Was it world altering for you from that moment on? Tell us about that. It might be about computer technology and concepts. It might be something else. It could be geometry class or skate-boarding or playing pool. Or asking the red-headed girl to dance and not dying. What was it? Still a Dunce All This Time?For the bonus round, where is there something that you are still frustrated with, it’s still a block for you, and you just don’t get it. What’s that? Too embarrassing? Find a safe one to test the waters. And Friday is almost over where I am so … join me next week? Tag I’m ItOh, let’s see, I have to play too. Oh my. When I was a teen-ager we were taught ballroom dancing in junior high school (years 7 through 9 at Stewart in Tacoma, Washington). The lessons were in the gym. All I remember was that I was a shrimp and the girls all seemed to be well-endowed amazons. But mostly I was conscious of awkwardness, not knowing where to look, embarrassed of how much my hands sweated, and praying that nothing physically obvious would happen to me. Despite all of that, the teacher singled me out as one of the ones invited to perform in a demonstration at the school. My mother sewed a sport coat for the event. When the day arrived I got cold feet and begged off. What I could barely carry out in gym, they wanted me to do in public. I cut and ran. I think I had mom lie for me. She was probably disappointed because she loved to dance while dad’s joke was “if you want to neck, go out in the car.” Later, in my brief hanging-around-a-campus years, I was invited to a dance by pretty Sandy, an acquaintance in a U of W sorority. She asked me if I danced, and I said yes, resolved to run out to Arthur Murray ASAP. Procrastinating away the Arthur Murray opportunity, I went to the dance anyhow. While I got lots of coaxing I felt like a complete nerd, which is pretty accurate now that I think of it. I never apologized to Sandy for lying about the dancing. Later on it became easier to dance because there was none of that coordinated physical contact to deal with and, well, I did survive puberty. We can all be expressive in the local band’s version of “Proud Mary” at last call. And close dancing was pretty much hugging and shuffling to the rhythm. When I ended up in Sunnyvale, California, I must have mentioned that I always wanted to take dancing lessons. Friend Nancy told me that there was a ballroom that had beginner’s dancing on Friday nights. She even looked it up for me. But she wouldn’t go with me. (Hold that thought.) A while later I was in a seminar group and I mentioned wanting to take dancing lessons. Helen, a widowed nurse in the group wanted to do that too, so she and I went to the Starlite one Friday night for a beginner’s lesson. They give starter lessons in three dances followed by open dancing until midnight. It’s a little like being at the roller rink, and very fun. There’s a mixer system so you don’t need a partner and you don’t have to ask anyone to dance first, until you learn to do that (perhaps the biggest dance lesson of all). Helen and I both loved it enough to take the free lesson and then we each signed for group and private lessons. I made it to Bronze Level 1 and participated in a celebration evening with my instructor, Shirli Delgado. Helen went farther more quickly than I, marrying a dance partner that she met at the Starlite. I had stopped ballroom dancing by the time I met Vicki. I was finishing college at the Stanford Summer Session (38 years after starting) and then my Fridays were occupied. Well, where’s the ah hah, you ask? It came one Friday night at the Starlite when I was dancing with a lesson partner and I realized that she was more timid about dancing than I was. I know, it was beginner’s night (duhh), but I always had it that women were natural dancers and guys were the dufuus. In fact, many of the young and some older women there were not all that confident. And I could be a trustworthy partner for them, in my slightly-advanced beginner-hood. Developing a little more as a dancer, I continued to return to dance on Fridays. I was there because I loved how owner Jim Morton was so respectful of the beginners. I also loved being able to dance well enough so my beginner partner might experience what’s like when the dancers’ frame is working and our bodies glide on the dance floor, magically connected in the physical communication of dance, me walking into her and she smoothly backing ahead. I now know that there are many women, like friend Nancy, who do not know how to ballroom or nightclub dance, and they are reluctant to get out on the public floor. Vicki did not dance ballroom (though she was a champion figure skater in her teens) and was delighted when we took a series of lessons in Bellevue, Washington. We abandoned that and have been preoccupied with other things since. I’ll suggest we start again. Still Clueless After All These YearsOK, the bonus round. Basically, I can’t make decent estimates and I don’t keep schedules. I can make plans, and even execute them if I don’t get distracted. But don’t ask me how long it will take. Anything I offer is a lie (and I’ve done that a lot). I knew I had to crack that for my M.Sc dissertation project, and I failed. Then I figured that the project I created, which I say I love, could be done on my own. But I’ve slacked off and my latest promises are all bogus. I obviously don’t do this everywhere, or all of the time, but around development projects it is really noticeable and predictable. People have put up with a lot from me. Now that I am basically working for myself and on my own as a nano-ISV, I figured that I could achieve my results for myself. It is not happening like that. There’s really not much more I can say. I’m pretty sure having a good coach or mentor would be valuable, but I don’t see how to arrange that. What could I trade? Is there an ah hah to be had, or is it something else? I’m emboldened by Alex Barnett having so much pleasure in my account of Tuesday’s weblogger MeetUp. It could be that I’m like the NASA engineer who tested the Mercury escape tower until it failed. Maybe not. Comments: Post a Comment 2006-03-09Looking for "Ahah!" -- When Did You Get Programming?
At Tuesday’s East Side Meetup, Alex Barnett asked me to give the OPML sketch of who I am and how I got here. After a 20-minute ramble (at least), I managed to spill out some version of my 47-year career in computing and my love for software development. That was fun to do and I must wrestle that into a narrative somewhere. It was also a natural segue into discussion of what people remember about the moment they suddenly got something important about how computers and programming languages work. {tags: What Programmers Know programming languages computer science education learning programming conceptual models orcmid} I have some recommendations for beginners who want to become Microsoft Windows programmers at the end of this article. My suggestions crystalized out of the conversation about programmer epiphanies at the webloggers meetup, and I’ll start there. [update 2006-03-15: I added three books to my list. I am using the opportunity to tweak some of my statements. It is now time to move my book recommendations and further details to a permanent web location and I’ll do that later.] [update 2006-03-10: I looked through some beginning C# books at Barnes & Noble today and have updated my observations about what’s available.] Ah Hah, Ah Hah, That’s How I Like It, Ah HahTommy Williams recounted how when he first started working in Basic as a youngster, he just didn’t understand it. He struggled with it and it didn’t make sense to him. He was apparently blocked for some time, and when he suddenly saw it differently (I think it was about understanding variables in programming languages), everything immediately fell into place and he got it. Alex said he wasn’t sure he ever had that kind of ahah moment, as if he’s uncertain whether he has gotten it yet. He had a different experience. He was an algebra wiz at an early age, but he didn’t see the point. For some of it, like simultaneous linear equations, I gathered he could go through the motions but it didn’t mean anything. When he started writing programs, out of having a computer do the manipulations he got the point of algebra! That would have made Ken Iverson’s heart sing. Alex gave up computing when he took up sport and becoming a professional athlete, later coming back to computing from the web side. I was thinking that I didn’t have a moment like Tommy’s but now I recall it. My first serious computer program (after early experiments with Fortran) was written in machine language because I couldn’t understand how the assembler worked and what it did that I would care about. Fortunately, the IBM 650 machine language was decimal, so I can’t tell stories about writing 2000 instructions in raw bits. But it took an ah hah to understand what the assembler did and how to take advantage of it. After that, I only wrote directly in computer code for something that had to be small and very low level. One of the software-tool projects I worked on next involved rewriting that assembler, in assembler, with two other computer-center hackers. I did a new loader for the assembled output — in direct machine language. I can think of other places where I simply didn’t get something (not just technically, of course), sometimes for years, and then the coin dropped and the bulb lit up. At the same time, there are technical problems that come to me as if I have always known the key. That’s where I am often surprised to see the difficulties of others. I think we all have subjects that we can just slide into while other areas of importance seem impenetrable until some critical insight erupts. From Sinking to Swimming, without DrowningIt seems, then, that the best training and education, especially the self-paced sort, gives avenues for individuals to discover what they need as they explore, experiment, fail, and build on the lessons of their experience. The process must be flexible enough to allow each of us to navigate our idiosyncratic speed bumps on the way to the level of mastery that we seek. The materials must be gentle enough that one can succeed at finding a place from which to move from discovery to discovery. I want to be able to offer guidance of that quality in making my software projects, like ODMdev, accessible to others. I’m always torn between being over-detailed and too regimented while also wanting to make sure that I don’t take away any important safety net too soon. In looking for a way to allow people to play along using only lightweight tools, I’ve been hand-wringing far too long in choosing the C/C++ compiler that I will require for all of my release builds. I’ve made my choice and I need to get on with it. Although it doesn’t apply for my immediate projects, I also learned something useful for beginners who want to make Microsoft Windows software. So You Want To Be a Windows ProgrammerIf you’re an absolute beginner and you want to build interactive graphical applications for Microsoft Windows, start with Visual C#. There are excellent beginner materials, you can begin experimenting with programs quickly, and you’ll be equipped to go beyond to ASP.NET and also related languages like Java. C# is also good preparation for digging into computer science topics later on. Perhaps better still, you’ll find yourself in the center of the action with .NET 2.0 development, WinFX, and Microsoft Windows Vista. (I recommend Jesse Liberty’s perspective on this too.) The ideal beginner kit for Microsoft Windows applications is the free Visual C# Express Edition. A perfect way to obtain it is to purchase Patrice Pelland’s Microsoft Visual C# 2005 Express Edition: Build a Program Now! The book lists for $16.99 and it includes the Express Edition on CD-ROM. The book starts out gradually, providing illustrated step-by-step instructions from installation all the way through the complete hands-on projects. I think newcomers to Visual Studio will find the leisurely, careful exploration of the Integrated Development Environment (IDE) and the construction process to be very helpful. It provides a great foundation for building Windows .NET 2.0 applications. The use of color printing is also extremely valuable, providing a great visual experience and ease in matching the text materials with Visual C# displays. I recommend checking around the MSDN Forums for the Express Editions before and during your use of the software too. There is also useful information at the Visual C# Express Edition page. To go further, there is John Sharp’s Microsoft Visual C# 2005 Step by Step. You should be able to use it along with VC# 2005 Express Edition after working through the Pelland book. The book is available at discount and was featured in a recent post-Webcast follow-on message I received from MSDN. It seems well-received so far. I also examined the Jesse Liberty and Brian MacDonald Learning C# 2005. Be careful to obtain the C# 2005 edition if you choose this book. Again, it is only the last two chapters that may require a commercial version of Visual Studio 2005. That makes 16 out of 18 that will cover the fundamental details of the language without getting too far off into exotic areas. There will be some differences in the first chapter for those using the VC# Express Edition instead of the VS 2005 in the book. That should also present no problem if you’ve started out with Pelland. I personally favor the gentle approach here, along with its greater attention to what is happening with the IDE and the command-line compiler. The playfulness is the kind that has me smile. It is clear that the authors are committed to newcomers having a great experience in their self-directed education. I just found F. Scott Barker’s Visual C# 2005 Express Edition Starter Kit. This book also includes a copy of the Visual C# 2005 Express Edition CD. It’s difficult to tell how well this book will work. It’s ambition is to apply for beginners, like Pelland’s Build a Program Now! It delve into more C# concepts intermingled with Visual C# and .NET topics. I’m nervous how this will work for beginners, yet its emphasis on practical examples and hands-on experiments is appealing. My concern is that the absence of color and the mingling of different-level concepts will make it easy for beginners to lose confidence and have to struggle finding a coherent conceptual model for themselves. So I’m hesitant to recommend this book over Pelland, despite its greater coverage. I will have to dig in and try out the beginning of all of these materials before offering sharper guidance. (I am looking for some beginner buddies that I can compare experiences with, too.) Finally, once you get your feet wet, Charles Petzold’s Programming Microsoft Windows Forms (2005 edition) will be a great resource. His older Programming Windows with C# is a comprehensive view of the .NET Framework and lightweight ways to use it that will provide much for the Visual C# 2005 Express Edition programmer. You don’t even need an IDE to use the older book, so the Express Edition makes it all easier and smoother to apply. These books assume that you are mastering the basics of the C# language (possibly in parallel) but you also want comprehensive and careful coverage of what you need to make .NET and Windows Forms applications. I often have more than one book on a programming language, because something one provides may clear up a topic that I don’t grasp in the others. For beginners, I recommend waiting for your second book until you’ve had enough initial experience with Pelland to know what the topics are about and where you want to go farther as well as deeper. Unless you use it already, I don’t recommend Visual Basic, although it has as much support, simply because it is a unique language essentially found only in Visual Studio. The peer support on MSDN does seem more considerate of beginners. I have been watching the discussion forums for the Visual C++ 2005 Express Edition and I don’t recommend that route for beginners either. The VC++ Express Edition is not backed up with much beginner material except for making .NET 2.0 applications (which the C# material outshine if you are focussed on programming for Windows). The VC++ drawback is that the compiler is too powerful and its usage too varied. VC++ is a multipurpose tool that can be used to develop applications using different (and incompatible) programming and deployment models. It’s like being handed a Swiss Army knife with all of the blades opened at once. That’s just not explained well at all and it is too easy to go astray by mixing incompatible constructs and not knowing how to extricate yourself. Learning to sort all of that out is not something I would subject beginners to. Get started with C# first. Establishing solid confidence with C# and the VC# 2005 Express Edition IDE will provide a solid foundation for exploring alternative programming models and languages, including C/C++ when you can’t resist the challenge (or you want to get into open-source development on non-Windows platforms). If you really don’t want to be developing applications that exploit the Graphical User Interfaces of the Windows .NET platform, I have different recommendations. I’ve taken Alex’s advice and added an “About” link to my blog template. Now I need to put something more organized on the destination page. I thought OPML might help me write it (and more), but I need to re-calibrate on that one. More about that in another post. Comments: Post a Comment California To Be Repaved
What is Arnold up to? Made me look too. It was the local weekly and I was crossing California Avenue when I noticed the headline in the newspaper box (what do they call those things with the coin-operated doors?). Had me for a moment. How about you? {tag: orcmid California West Seattle} Comments: Post a Comment 2006-03-08Instant Upgrades: A "That Changes Everything!" Moment
Ed Bott's Windows Expertise » Instant Windows Vista upgrades are on the way. Last night at the Seattle Eastside (aka the Bellevue-Redmond axis) Weblogger Meetup, I met a fellow who works on Microsoft’s own IT systems. We talked a little bit about what a big deal IT is for Microsoft, the global enterprise, and how it seemed to me that led Bill Gates to publish Business @ the Speed of Thought: Using a Digital Nervous System in 1999. He mentioned off-hand that he was working on systems that users (that is, Microsoft customers) engage with. I commented that I often forget to think of Microsoft as a consumer business, even though half (actually far more than half) of all my Microsoft software has come directly from Microsoft. He nodded and said they were now preparing their systems for Windows Vista. “Oh,” I said, “that’s right, you’ve got this new way for people to upgrade their systems” realizing that there will be substantial IT support for handling the new way to purchase license keys and turn on more features. {tags: Microsoft Windows Vista OEM software licensing orcmid} [update 2006-03-13: A minor refresh of Ed Bott’s post landed in my RSS subscriptions and I happened to read it again. What I missed the first time is Ed pointing out that upgrades go back through partner sites, and that would imply that upgrades could provide post-sale juice for OEMs. Interesting, and more interesting] Deer in the HeadlightsThat’s when I was given a deer-caught-in-the-headlights look: “I didn’t know that information was announced already.” I allowed as how the word is out, and we quickly moved on to other topics. The word is from those who are putting the Vista Community Technology Preview (CTP) builds through their paces, such as Ed Bott noticing new Control Panel features:
Sometime around 6:30 am this morning, when the cats were beginning to demand breakfast and I was keeping my eyes shut and resisting being awake, I had my system-architect moment: “Oh, this changes everything!” The Home-Premium-Ultimate levels are all part of a single distribution, as are the features for Tablet PC and Media Center configurations. It’s one big installation and configuration set. (Whether market segregation is being introduced in the Business configurations as is happening for the 2007 Office System is not clear. Although I didn’t think of that last night, I wouldn’t have put a Microsoft employee on the spot with questions like that anyhow. How businesses arrange purchase agreements with OEMs and Microsoft might shift too.) So What Changes?Think about the three-legged Microsoft-OEM-user stool and the problem of OEMs shipping selected configurations (XP Home, XP SP2, Media Center 2005, Tablet PC 2005, etc.). Now OEMs can ship the pre-installed Home Basic on everything, and the user can upgrade the license as desired. I have no idea how Vista will show up in OEM configurations, but smooth extension of the instant upgrade approach has got to be much on Microsoft’s mind. We’ve all heard that people mostly use the software that comes with the machine, along with other essentials that are usually run forever once installed the first time. I also foresee, but have less basis for [as of 03-13], Instant Upgrade having a great impact on the consistency of OEM platforms in terms of how OEM-specific drivers and motherboard capabilities are tied into the operating-system distribution. I expect that there will be some new ideas about after-market upgrades of OEM systems to future operating systems and suites as well. However It Plays Out, This Changes EverythingI don’t have the kind of sense that someone in the financial organization of a computer manufacturer has that makes them sit up and redo their spreadsheets in anticipation of this kind of change. But I’m sure that is happening and that it involves looking farther out than the end of this year. This reminds me of what I was told about some famous computer system architects, such as Paul D. King and Bill Lonergan on the Burroughs 5000 Project. If you told a 1960’s-era computer system architect that semi-conductor diodes were about to become 1% of their current price (but smaller and switching faster on less power), he’d start telling you how that changes everything and you could now start think about building X (and had better prepare to stop building Y real soon now). I am sure that there have been similar conversations around transistor size and speed, the shrinking footprint of integrated circuits, and packaging breakthroughs for circuit assemblies and what was once accomplished by wiring. I don’t have any grasp on the ripple effects of Instant Upgrade, other than to recognize it as a major tremor in packaging and distribution, possibly as big a deal as the Kodak Instamatic camera was for film and processing consumption. I also expect to see harmonization with web-based distribution and the desktop-web-mobile spectrum for hosting and deployment of applications as this all plays out. Comments: Post a Comment |
You are navigating Orcmid's Lair. |
template
created 2002-10-28-07:25 -0800 (pst)
by orcmid |