Michael Lee's Train of Thought

Wednesday, April 09, 2008

Lock-in

Garrick van Buren's thoughts about how Free & Open Is Its Own Lock-in triggered some of my own thoughts about lock-in that have been going in my head for a while about lock-in.

The simple fact is, we always are locked in to some extent -- we learn a tool set, or a technology, and we want to continue to use it. And we don't want to throw away an investment of years.

I've primarily been developing on the Microsoft platform for most of my post-collegiate career. And we're locked into Microsoft technology all the time -- C#, VB.Net, Microsoft Office, or SQL Server. There are downsides to that, as well as positive sides.

It is tempting to go and say that there would be no lock in if you were in the Linux utopia and then not be sharecropping. And that may be true from a developer perspective -- but the final end user, in most cases, won't be a person with a software development background. And they're really going to be more "locked in" to what their software providers give them in any case.

So unless you're constantly willing to develop and maintain all of the software yourself as an individual --- and very few organizations are willing or able to do that. You're going to outsource pieces of your IT infrastructure. From Operating Systems, to office productivity tools, to database management systems, to enterprise applications like ERP, CRM, Financial Software, or whatever -- organizations are going to have someone else built those pieces. And they should. And as most people aren't devloping software for themselves, but they're devloping it for other people, they're dependent on other people for their work. And you can always have the land whipped out from under you.

It is the investment of energy and effort learning how a tool works, understanding the quirks that any system has -- that's the real lock-in. So perhaps one thing is to focus on the pieces that make something unique -- how can you get to a solution for your unique problem as quickly as possible? It might need to go away eventually -- and so can you built what you need as high on the stack as possible? You want to find ways to be as agile as possible, to use the buzzword in the general sense -- how can you get to a result quickly?




In a related observation, I realized what much of this conversation reminded me of. It's like the work-for-hire debates that I've seen in the comic book industry, especially from people like Dave Sim or the founders of Image Comics. It's perhaps especially relevant as we look at what happens with the the rights related to Superman. I think some of the issues related to lock-in here are similar to the decisions to self-publish or do work-for-hire work in comics. Work-for-hire is really what we're talking about here -- but it is also what most of us are going to end up doing, most of the time, and is frequently what you want to do. To use the comics comparison, if you want to work on an established character, you're not going to have complete control over the situation.

Labels: , , ,

Sunday, January 13, 2008

Computer Science and Engineering

An interesting article from Coding Horror about how we should teach Computer Science.

As most of the comments mention, part of the confusion is mixing Computer Science and Software Engineering. They're not the same, and while there is certainly some overlap -- and a software professional outside of academia is going to need some of each -- confusing the two shortchanges both.

One of the problems with any sort of computer education is that the computer industry changes a great deal -- the programming languages that you learn today aren't likely to be the ones that you will use in ten years. And it is more diverse than ever, as computers enter every part of our lives. A solid education needs to be a solid foundation for a variety of different educational paths

One comparison is how people expect that software developers are also the best systems administrators or help desk support. But they're all different skill sets -- and recognizing that is the most important part of an education.

Labels:

Sunday, December 30, 2007

You Can't Rent Bits

I've been thinking about how iTunes is now looking at providing movie rentals. And really, you can only "rent" a movie if you've got some sort of DRM that means you don't truly control your device -- because otherwise you can copy the bits to some other location and see it again.

Of course, that's one of the challenges of distributing data electronically. Most movies and television shows you only watch once. Others, you may watch many times. And really -- no matter how much space you have, video takes up a lot of room -- and there are many things I wouldn't worry about keeping if I knew that I could easily get them again later. It's why I like Netflix, even though I've been watching fewer DVDs from them as my life has been busier lately.

So the challenge is -- from a business standpoint, yes, I really want to "rent" video. But as someone who does not like DRM -- I'm well aware that it's really impossible to do that digitally if you want to control your device.

Labels: , , ,

Friday, October 26, 2007

OMG. Best Programming Language Ever

I can't believe that there is a real programming language based on Cat Macro (LOLCat) speak.

Can you imagine someone listing this on their resume? Or writing something in production? Since they've got a CLR Microsoft implementation, it's got to be a fairly complete language.

My favorite bit that I've seen so far is their IZ-YARLY-NOWAI-KTHX
construct. But it's all out there.

Labels: ,

Friday, September 14, 2007

Use The Force

Considering George Lucas is going to be speaking at next week's Dreamforce conference, the title was inevitable for a post about what Salesforce.com has going on.

I'm of course very interested in seeing more about how Salesforce Enters Custom Application Market With Force.com -- I've been using Salesforce.com as part of my job for a while, and I've generally been a fan of the tool, and a believer that they can replace things that might live in a Microsoft Access database today, and many of the small little databases and applications that exist in most organizations.

Obviously, a big question is the total cost of ownership -- people are used to buying software once, and then maybe upgrading every few years. And with the rise of more and more open source software, much software can also be done for free.

There's always a bit of a lock-in -- but there's always a degree of "lock-in" for a lifecycle of a process, and converting from an old system to a new system is hard -- and every new system will become an old system in time. Even something like an open-source system like Linux will lock you into regularly having a Linux expert around.

I'm especially intrigued to see that in some of the promotional materials that have already started to leak out about force.com that we're seeing the "not-ready-for-the-Enterprise" iPhone used as an input device. That may be attaching itself to a technology sexy device -- but part of me would expect to see a BlackBerry as a more logical front end.

And I suspect the same tools that they're demonstrating will also work with the BlackBerry -- perhaps taking over their existing Mobile applications, in the same way that I expect that Google Gears could replace the offline edition as well.

Labels: , ,

Tuesday, July 24, 2007

The Internet Is Closed

It's impressive how much a power outage issue in SF impacts the whole internet...

Labels: ,

Sunday, June 24, 2007

But don't you like computers?

There's one thing I really don't like doing with computers -- I'm not enthused about installing operating systems, reformatting and rebuilding computers. It's not really *doing* anything with a computer -- it's just something that needs to be done in order to do anything with them.

It's one of the reasons why despite my liking Linux and the like in theory, I've never really bothered to install it and tinker with it -- for me what's interesting and exciting is what you can *do* with computers and technology. Certainly I'm interested in applications -- and getting things done. And I'm interested in all of the computer science parts of how operating systems, networks, and databases work -- that's what I went to school for.

One of the frustrating things that you can get in life is that if you love computers (and have an IT related career) -- that this is the sort of thing that you like. The "fix my computer" sort of thing -- and it is something I don't really like to do with my own computer. It might be like the person in construction who doesn't repair their own home...but yeah, I hate those sorts of repairs on my own computers.

Labels:

Monday, April 23, 2007

Problems of Printing from a Mac to a Windows machine

I finally fixed my problems with printing to a printer attached to my Windows machine from a Mac. The instructions listed on Apple's site certainly helped -- in the end, I needed to include the full ip address, user name, domain, and password in order to get everything to print properly. But once it was set up, all looks to be well.

Labels: , ,

Thursday, April 05, 2007

Mac Fever

Scoble recently got a mac as well and is making more suggestions. So that's all good.

I also recently downloaded the trial version of Parallels -- I haven't invested a lot of my time in it yet, because I haven't purchased it yet -- only a trial version to see how well it worked, but I did quick install Vista on that as well as Ubuntu inside of it. I haven't really fine tuned Ubuntu, so it doesn't seem to recognize the full width of my monitor when I send it full screen, but Vista worked just fine.

I think that since I'm running the newest version of Boot Camp Parallels wasn't able to recognize it -- but I haven't looked that hard at it. It'd be my dream situation, and as I think Parallels was able to do that with earlier versions, it'll eventually be able to do that. I think there will be some times that you'll want to run Vista directly on the Hardware -- especially as that'll get you a really solid Vista experience -- and other times running it alongside Mac OS will be the approach that you want.

I've downloaded Quicksilver, but it's one of those utilities that it clearly takes some time to "get", and I'm not quite sure I've got it yet.

I haven't downloaded a chat client yet, but it looks like Adium is recommended so I'm looking at that. Though I haven't really done much chatting in years. But it's there.

I downloaded Twitterrific to work with my twitter account, as something more to play with as well.

Labels: ,

Tuesday, April 03, 2007

What I Want

I was interested in reading comments that Paul Thurrott and the Ubuntu blog make about what sorts of computers people want to have as opposed to what they have to have.

It was certainly a pragmatic decision when I switched to Windows back in the mid-1990s; my job was for a company that wrote Windows software, and as such that was what I needed to have for work. The jobs were available on the Windows side, and that was where it was at. I suppose I "wanted" Windows at that point for the simple reason that I wanted to have a greater variety of professional choices available to me.

When I develop software these days, I'm still primarily doing Windows development, but even then I'm also working with technologies that aren't at all OS depended like Salesforce.com. And I've always been a bit more of a generalist more than a specialist when it comes to software and development.

The "default choice" is Windows -- if you go into most general stores that sell computer hardware, you're going to see them pushing Windows. When Apple said "Think Different", they were talking about thinking different from Windows users. In most work environments, unless they're in a specialized industry, all of the work computers except a few in marketing are going to be running Windows. I'm wondering if that is changing as we see Apple stores appearing in more and more shopping malls -- if I was go average user in a major metro area, it is easier for me to find and talk to an employee of Apple than it is to talk to an employee of Microsoft.

Now days, with Intels being the core of almost all new personal computers you've got some options -- my Mac isn't just a good machine to run OS X on, but it's also a good machine to run Vista on (and I'm tempted to be uber-geek and install Ubuntu as well). But I'm not a normal computer user -- it's been a hobby, my education, and my career since I was a teenager. I wanted a Mac partially because I could have one piece of hardware running multiple operating systems.

Most people don't really want to think about their computer that much. They don't really "want" a computer at all -- not in the sense that I do or the way other IT professionals do. So they get whatever is most convenient -- perhaps because of the games that they play, or they want a computer that's easy to use, or whatever. I'm sure that means that Linux has some adoption challenges -- even if it is user friendly enough that real people can use it without having hardcore IT skills and turning into Tron Guy.

Labels:

Sunday, April 01, 2007

10 Favorite Things About My Mac

Now that I've had a Mac again for a couple of days, I've been discovering all of the things that I like about the new system. There's definitely no buyers regret here. But I thought it might be worth listing a few of the things that either surprised me or especially please me as I switched back to a Macintosh for the first time in a decade.

My first computer was an Apple -- an Apple ][ -- and even though my professional life made it such that I didn't really feel that an Apple fit into it, with the latest batch of Intel based Macintoshes and the direction of the computer industry I'm able to go back to the brand that first got me into computing when I was a very young kid.

10. It Runs Windows.

That may strike the Mac purist as silly, but it's the reason why I was able to switch back. For a variety of reasons, it's important for me to have access to a Windows machine. I need to be able to access Access databases, for example, and professionally I work in a Windows world. And while I haven't pushed the Windows side yet, it runs it at as well as other machines.

9. A hidden UNIX

I've never had the patience to go ahead and install Linux -- it's perhaps so customizable that it's more than I really want to deal with. I like the software, I like computers, and I'm a programmer, but I'm less interested in infrastructure and more interested in getting things done at a higher level. And with the UNIX underlying it I'll get all of the power of a UNIX system when I want it, but without the hassles that you have to go about if you're dealing with the bazillion Linux distributions and the like. And besides, if I ever really wanted to go that route, I still could.

8. Easy access my other Windows machines and files

Moving files between the various machines -- both Windows and Mac -- was easier than I thought it would be. The networking was as straight forward as if I had added another windows machine. I had figured that it might be a challenge -- but the networking was just done. Like reason #10, it just further justified one of the things that I think we're seeing -- for many reasons, operating systems matter far less than they used to.

7. Two fingered scrolling

It's a shiny, beautifully machine -- but one of the things that I had gotten used to on the Windows side was a multiple-button mouse with the scroll-wheel. My fingers haven't quite natively learned the habits yet, but one of the things that I was thrilled to discover was that the touchpad was able to recognize multiple fingers on it -- and pulling two fingers was equivalent to the scroll wheel of old. Except it could work in all three directions. And having multiple fingers on the pad also meant that I had the equivalent to the right mouse button as well. Some of this will take some adjustment time -- but it's not adjusting to something because it is better or worse, but just that it's different.

6. Auto-adjusting screen brightening

I didn't even notice this at first -- until I realized that the screen got lighter or darker if the room light when on. It's not just a matter of controlling the brightness if I needed to -- it's that it'll do it for me, which most of the time will work just fine.

5. Keys that glow when you need and want them to

This is related to the previous item -- but not quite the same thing. If you're like me, there will be times that you work with your computer mainly in the dark. Late at night, or perhaps in front of a TV, or whatever. I know my keyboarding skills fairly well, but every computer keyboard is a little bit different, and the Mac's keyboard is different from a Windows keyboard so there are times where it is useful to have a second check.

4. Migrating iTunes

I've been a Windows iTunes user for several years, and I've been happy with my iPods. And while I'm not a fan of DRM, and I'm celebrating the idea some elements of the recording industry is recognizing that DRM creates more problems than it solves, I was thrilled that it wasn't that difficult to copy over my iTunes library from one computer to another. And I was even more impressed that if I copied over my iTunes library files -- iTunes Library.itl and iTunes Music Library.xml -- it would remember not only all of my playlists and ratings, but also my last play time and number of play counts, two things I use in many of my smart playlists.

I suspect that there's a way that I can take advantage of this and regularly sychronize the two libraries a bit more -- but the basic was certanly a good start.


3. The Dashboard

The Dashboard was one of those things that I had seen when I had looked at Macs at the Apple store and thought was pretty cool. I've seen similar sorts of things on other systems -- you get these tiny applications or widgets on things like customized google front pages, or in various sidebar applications. But having it something that I can access by a key press -- or even better, by customizing it so I can run my mouse to a corner, is very nice. And it is useful to gather all sorts of things -- weather, system performance, my mailbox.

2. Expose

Now this, unlike the Dashboard, I hadn't seen in any of my Mac demonstrations. I hadn't seen the description on Apple's website. I'm certainly someone that can easily fill my screen with multiple windows. And with a little bit of customization I can make it so I can easily shoot my mouse to a corner, and then quickly pick out the application and window that I want to go to next. And it's a far more efficient mechanism than Microsoft Vista's Flip 3d -- which might be showy, but Expose looks to be a whole lot more efficient for switching from one application to another.

1. Magnetic attaching power cord

My biggest complaint with my last two laptops was that I was having problems with my power cord. It had even be the cause of many of my (rare) repair calls. The MagSafe connector is one of those things that I wish every electronic device that was in a setting where you had to frequently plug and unplug -- or ran the risk of tripping over -- had. The power adapter has nothing to do with any operating system -- but it's enough right there even if you only used your Mac as a Windows machine.

Labels: ,

Wednesday, March 28, 2007

Best of Both Worlds

Well, I got my new computer today.

If you've seen any of my previous thoughts about it, you shouldn't be surprised that yes, I got myself a Mac, and since today Apple has released a version of Boot Camp that easily supports Vista, I'm in the midst of trying that out as well.

I grew up with Apple computers, and my move to PCs and Windows was always a pragmatic choice driven by the jobs that I had at the time. But it was a decision made by my head and not my heart. But there are some things I'm fine with Windows, and Windows has progressed far over the years as well. I'm very comfortable with Visual Studio, VB, C#, ASP.NET, and SQL Server from a developer side. The range of applications is very vast.

I'm sure it'll be an interesting experience to get reacquainted with everything on the Macintosh side -- as well as having something solid on the PC side as well.

Labels:

Sunday, March 04, 2007

Computer Shopping

I was at the Apple Store today. I'm still thinking about my next computer, and I had a chance to ask around a little bit more about Boot Camp -- I suspect that may actually be a better fit than Parallels, especially given the license restrictions of Vista on virtual machines.

I really like the look of a Mac Book Pro. I'll probably wait until the next version of the operating system comes out -- but I haven't made up my mind for sure. Of course, I haven't even decided for sure if that's the route I'm going to go -- a Mac is going to end up as a more expensive purchase than any PC, and I suspect that I'd have some issues switching between the two, and supporting multiple environments.

At the same time, I suspect that there will be some more value in expanding my skills to include some of the things on a Mac -- and it's my belief that we're seeing operating systems mean less and less, as you look towards more web-based applications. And the types of things that I'm currently interested in would make it very useful to have multiple environments.

But I haven't made up my mind quite yet...

Labels:

Saturday, February 24, 2007

The Next Computer

I'm starting to think about what sort of laptop I should get next. I've been a Windows user for the last ten years, after being an Apple fan throughout my educational career.

Professionally, most of what I've done has been on the Microsoft platform. And because of that, I felt it was best to work with the same platform at home. But I'm most interested in web-based technologies where the desktop platform is increasingly less relevant, and I'm very tempted by the design of the Apple laptops, and the Macintosh OS seems to generally be superior to Vista. And considering my biggest complain about my current laptop is the power cord connection, the Mac's magnetic-connection cord is a huge, huge win for me.

The idea of a Mac running Vista -- either through Boot Camp or Parallels -- is very appealing to me as well. I'm not sure if it is something that I find worth the greater expense of buying the license -- especially considering the licensing hassles of running Vista in Parallels.

A Mac will probably be more expensive than any Windows laptop that I'd likely purchase. I've been relatively happy with my HP purchases, and would almost certainly go that route with any future Windows purchases.

I'm not quite forgetting Ubuntu -- but I'm not really sure that the Linux route is something that I want to spend my life on, and I'll admit it, I've invested enough time on iTunes that I'm sort of locked into platforms that support it. So my pragmatism really rules that out at the moment. Sometime I'd like to find a spare box or virtual pc image to throw it on, but I've said that about Linux since it first came around and I've never really gotten around to it.

I'm still several months away from any final decision. And I'm going to wait a bit until Vista stabilizes a little and the next version of the Mac OS comes out. But there is more to an operating system choice than just picking the best tool, even though I believe that the operating system is going to be less and less important in the future.

Labels: