Renowned International Development Expert on ASP.NET and Microsoft
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
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
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
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
Q: Why did you start
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,
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
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
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
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
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
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.
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
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.