CIPS CONNECTIONSINTERVIEWS by STEPHEN IBARAKI, I.S.P.
Renowned International Development Expert on ASP.NET and Microsoft Technologies
This week, Stephen Ibaraki, I.S.P., has an exclusive interview with renowned development expert, professional trainer and consultant, and widely regarded author/writer/speaker, Scott Mitchell.
Scott is the founder,editor, primary contributor to 4GuysFromRolla.com, one of the largest ASP resource sites. He actively speaks and writes on ASP (hundreds of “essential reading” papers/articles) for such outlets as: 4GuysFromRolla.com, asp.net PRO magazine, MSDN, WebMonkey, 15Seconds.com, San Diego .NET User Group, Seattle ASP User Group, and the .NET Developer Conference & Expo.
In addition, Scott actively teaches .NET for such organizations as the University of California, EXYM Corporation, Method 9 Design, MeridiaSystems, and iArchitex.
Amongst his best-selling book credits are these reader favorites: “Teach Yourself ASP.NET in 24 Hours”; “ASP.NET Data Web Controls Kick Start”; “ASP.NET: Tips, Tutorials, and Code; Designing Active Server Pages”; “Teach Yourself Active Server Pages 3.0 in 21 Days”.
Q: Scott, we have been following your development and writing work for some time. Thank you for doing this interview and sharing your many insights.
A: You’re welcome, Stephen, thank you for your interest and kind words.
Q: Describe your journey into computers and the lessons learned along the way?
A: My first experience with a computer was back in the late 1980s when I was in fifth grade. My dad had decided it was time the family entered the computer age, so we trekked down to the local Sears and picked ourselves out a Packard Bell Legend IV. At the time it was quite cutting edge – the CPU could handle 12 million operations per second, it boasted whole megabyte of RAM, and 40 MB of hard drive space. Included with the MS-DOS operating system was an antiquated programming language – GW-BASIC. Since my dad had done a spat of programming back in his college days, he showed me how, with a little reading, a bit of typing, and a whole lot of patience and fortitude, one could spend the better half of a Saturday afternoon and have a program where colored squares raced one another across the screen to show for it. After seeing this, I was hooked.
Through junior high I continued to spend too much time in front of the computer working on my two passions: writing and programming. My computer time was pretty evenly split between writing fiction and programming with GW-BASIC. (Even as a kid, I was never that interested in computer games, although I did become addicted to Sid Meier’s Civilization for a while.)
Have you ever wondered why children seem the most acclimated to technology? Give a kid a new gizmo, and he can likely figure out how to make it work before an adult. I think the main reason for this is because children have yet to been programmed that there is a right and a wrong way. They haven’t been taught to feel shamed if they do the wrong thing, or embarrassed if they make a mistake. So they just start trying different things. They don’t worry if pushing these buttons will cause an error message to appear, they just try it and see what happens.
I’ve always believed that the best way to learn is by doing, and that’s the philosophy I’ve had when learning about computers and programming myself. I learned programming, in large part, by building applications. I’d pester my dad, asking him what programs he needed, and then I’d set off to create them. Through junior high and high school, I wrote programs for friends, for my dad’s business, and for other small businesses in the area. I didn’t always know how to solve a problem when I sat down at the keyboard, but I think that’s what attracted me to computer science – the problem-solving aspect of it.
So one important lesson I’ve learned is simply “do.” Another important lesson I’ve learned is that you don’t always know the answer to a problem, but don’t let that stop you. Answers aren’t intrinsically known, they’re discovered. These are two philosophies I’ve tried to carry from my personal experiences into the books and articles I’ve authored, especially those writings intended for beginning programmers. Beginners, understandably, are apt to feel overwhelmed when learning a new programming language or technology. There’s so many things to learn, so many ways to do something, and so many ways to do something wrong!
Poor authors can easily make a beginner feel overwhelmed; the sign of a good author is his ability to distract the reader from his innate concerns of the technology’s difficulty and complexity. This is done by showing the reader how to do something, anything. My dad, when teaching my GW-BASIC, wrote a program from start to finish, as I watched. Afterwards we discussed how the program worked, what the syntax meant, and so on. This approach not only held my interest, but allowed me to pick up the language quicker because I was able to put its syntax and semantics into context. Contrast this with an approach too many technical authors take: instead of creating a program, my dad could have sat me down and started enumerating the build-in functions, the many control-flow constructs, the concept of data types, and other technically valid, yet overwhelming pieces of information. Thankfully my dad did not choose this approach, as it would have likely killed my interest in computer programming altogether.
Q: Why did you start 4GuysFromRolla.com?
A: In 1997 I was a sophomore at the University of Missouri – Rolla (UMR). UMR had a “cooperative learning program” which involved having students take a semester off from school to go work in their field. In January of 1998 through August I worked for Empower Trainers and Consultants, a Microsoft Solution Provider based in Kansas City, Missouri. (Empower, unfortunately, has since gone out of business.)
Working at Empower was a real eye-opener. Prior to my co-op, my programming experience had been limited to BASIC, Pascal, and C/C++. In high school I had created applications for friends and businesses, but these were all inventory programs that helped video stores manage their rentals, or resorts keeping track of their year’s vacancies. The applications were desktop-based, and used flat files for storing the data. At Empower I learned about relational databases and SQL. I studied how to use Microsoft’s relatively new Active Server Pages technology to create data-driven Web pages.
I became quite enamored with Active Server Pages (ASP). It was so easy to create dynamic Web pages, something I had always imagined was a difficult task. At the time, I learned ASP through online sites. The big ones, at the time, were:
Upon returning to Rolla in August of that year, I decided I wanted to create my own ASP-resource site, as I thought it would be a great outlet for my interest in writing, as well as a means to help other developers who were learning Active Server Pages.
So, in September of 1998, myself and three college buddies started 4GuysFromRolla.
Q: Describe your current projects.
A: I’m involved in a hodgepodge of projects. I maintain 4Guys, writing new articles every week and editing reader contributions. I also am working on my sixth book, one geared toward computer novices that shows them how fun and easy it is to create a Web site. I also write numerous articles for Microsoft’s MSDN Web site. Along with writing, I do consulting and training as well. I teach two classes a quarter at the University of San Diego – California University Extension, usually on Web-related topics, like ASP.NET, Web Services, and XML. I have a number of local clients I meet with on a one-on-one basis to provide private tutoring, and also occasionally travel to companies to provide group training.
Q: What future books, columns, and articles can we expect from you?
A: I have an upcoming book geared toward people like my grandfather, who use a computer regularly, send email, surf the Internet, write letters, and send pictures, but are far from being computer savvy. This book intends to show these everyday folks how to quickly and easily create their own Web pages using Mozilla Composer, which is a free WYSIWYG Web page publishing application.
Since there are only 24 hours in the day, I find it useful to try to find a harmony between the training and consulting projects I tackle and the articles I author. That is, when I’m teaching a Web services class, you’ll find a number of articles appearing on 4Guys about Web services. If, in a consulting project, I find myself facing occurring issues, I’ll write about these concerns and what workarounds I found useful. Writing about what challenges I’m facing, and what topics I’m currently teaching, has numerous advantages. It saves me time, since I can focus on one topic rather than coming home from teaching a Web services class to have to write an article about a totally different technology. I learn the technology better. By having to both teach the material in person, and then write about it, the concepts are hammered home into my brain not once, but twice. In addition, different parts of the brain are involved in crafting and presenting a lesson plan versus articulating that lesson plan in an article format. I think that doing both saturates my brain with the understanding of the technology more thoroughly.
It helps me become both a better writer and teacher. Having to convert a presentation into an article improves my writing skills. Having to transform an article into a lesson, improves my teaching skills.
It’s not all about me – the articles are a great resource to point students to. Not all of my students are auditory learners. For those that learn by reading, as opposed to listening, the articles present a finer-tuned medium for learning for them.
I’ve also really been interested in “article series” as of late. These are a collection of related articles that span several months and focus on a hefty topic. These article series are, in a way, like movie serials from the early days of film, where each week a new installment comes out. I started my first article series on the DataGrid, which is a commonly used – and often misunderstood – server control for displaying data in an ASP.NET Web page. Titled “An Extensive Examination of the DataGrid Web Control,” (http://aspnet.4guysfromrolla.com/articles/040502-1.aspx), this article series currently has 15 installments. Over the lifespan of this article series, I got so much great feedback that I decided to write a book entirely about the ASP.NET data Web controls, of which the DataGrid is one. (The book was published in February of 2003, and is titled “ASP.NET Data Web Controls Kick Start”.)
My current ongoing article series on 4Guys is “An Extensive Examination of Web Services,” (http://aspnet.4guysfromrolla.com/articles/100803-1.aspx) and as the time of this interview is at its 6th installment. I’m also mid-way through another articles series for Microsoft’s MSDN Web site – “An Extensive Examination of Data Structures” (http://msdn.microsoft.com/vcsharp/default.aspx?pull=/library/en-us/dv_vstechart/html/datastructures_guide.asp).
Q: What prompted you to start writing?
A: I’ve always had a passion for writing. In elementary school I would fill notebooks upon notebooks with stories. Once my family got a computer, I stopped writing longhand and wrote all my stories on the computer. Sadly, I don’t find myself interested in writing fiction anymore. In fact, the last piece of fiction I wrote was back in high school; now I write just technical books and articles. (I have often wondered why my interest in fiction waned, and if it was attributed to my increased interest in programming or just getting older. For those interested, you can read this blog entry - http://scottonwriting.com/sowblog/posts/167.aspx - for more ramblings on fiction and technology.)
When I started 4Guys, I used to write at least one article per day. Every day. Sunday through Saturday. This lasted for about six months before I got burnt out and reduced it to two to three articles per week. Almost a full year after starting 4Guys, I was contacted by Sams Publishing – they were looking for someone to write Teach Yourself Active Server Pages 3.0 in 21 Days, and they were impressed with my writings on 4Guys. Being 20 I didn’t give it a second thought – “Sure,” I said, “sign me up.” I started on my second book, “Designing Active Server Pages”, a month after finishing “Teach Yourself ASP 3.0 in 21 Days”. I was hooked.
Q: What’s in the future for Microsoft? What are your thoughts on Longhorn and Yukon?
A: For years pundits have been saying that Microsoft’s dream is to make software a service, that rather than purchasing the latest software title, users will “subscribe” to software, paying a recurring fee of some sort. The technology revealed at the PDC conference in October of 2003 showed that Microsoft is getting closer to making software as a service a true reality.
Longhorn, the codename for Microsoft’s next generation operating system, will use a rendering technology not unlike the one used in ASP.NET today. ASP.NET Web pages are marked up using a mix of static HTML along with Web controls. Web controls offer an HTML-like syntax but are programmatically accessible regions of the user interface. At the end of the day, this mix of HTML and Web controls are rendered into just HTML, which is what is sent to the requesting Web browser. Interestingly, the actual HTML markup generated depends upon the device requesting the content. That is, the HTML generated when Internet Explorer 6.0 visits the page differs from the HTML rendered when a Netscape 4.0 browser visits the same page. More profoundly, the HTML rendered differs if a Web browser visits the page versus as cell phone or PDA.
Longhorn will use a similar two-pass rendering technology. The user interface for future Windows applications can be specified by developers in an HTML-like syntax, which can, in theory, be rendered differently for different devices. Migration to this technology makes software as a service more of a reality, because it allows the user interface to be transmitted from a server to a client as HTML-like markup, which can then be rendered appropriately on the client.
Q: Your comments on Linux, Java, J2EE and the Open Source movement.
A: There are a lot of people who have a zealous opinion about Linux or Microsoft or Macs. I don’t share in their zeal. I am more familiar with Microsoft technologies, and find creating powerful applications with Microsoft developer tools to be a lot quicker and easier than with Java, but then again, my experience lies in the MS-world. I’ve got a computer at home running Linux. I used UNIX systems and Linux systems extensively in both my undergraduate and graduate schooling. Both Linux and Microsoft have their advantages and disadvantages.
My experience has been that the money’s with Microsoft. I say this from an entrepreneur’s standpoint, from a consultant’s standpoint, from a developer’s standpoint, and from a trainer’s standpoint. There are more people using Microsoft technologies so there is more money, more students, more customers, and more end users.
Q: Where do you see yourself in five years?
A: The dream, of course, is to be sipping pina coladas on the front-yard beach of one of my many mansions around the world.
More realistically, though, I see myself continuing to use, teach, and write about interesting technologies, like ASP.NET 4.0, or wherever we’ll be in five years time. I expect my work will be interrupted every now and then with the sounds of scampering feet of a child or two. (No kiddies yet, but I am getting married in June 2004.) I currently live in San Diego and hope to still be here in five years, as I’ve fallen in love with this city.
Q: What kind of computer setup do you have?
A: Since I do development, teaching, and writing, I need to have the computer configured with the latest Microsoft operating system and developer tools. My laptop – which I use for demos in classes and develop with on the road – runs Windows 2003 Server. It has a half gig of memory and is a 1.4 GHz processor with 40 some-odd gigs of hard drive space. My desktop, which is my primary computer, runs Windows 2000 and has similar specs to the laptop. I use Visual Studio .NET 2003 as my primary development tool.
I have RedHat Linux on an antiquated 333 MHz box, and used it extensively when attending graduate school. (It’s main use was in programming assignments and using tex/latex for documentation preparation.) Since getting my Master’s degree, though, the Linux box has been rarely used. What I like about Linux, though, or any *Nix-based OS, is how its applications are designed with fellow programmers in mind, whereas Windows applications are typically designed with the end user in mind. This divide is what makes Linux attractive to programmers, and what keeps Windows securely in place as the home user’s OS of choice.
Q: Scott, thank you again for your time, and consideration in doing this interview.
A: You’re welcome, Stephen. Thanks for the interview, hope it’s been interesting.