Slashdot Mirror


KernelTrap Interviews William Lee Irwin III

An Anonymous Coward writes: "KernelTrap has posted an interview with kernel hacker William Lee Irwin III (aka "wli"). He is one of the developers helping to implement a reverse mapping feature into the Linux kernel. (Rik van Riel, the lead of this effort, was interviewed by KernelTrap earlier.) From the interview: 'For regular kernel hacking, rewrites aren't going to get anywhere, those who wrote the originals will scream bloody murder and those who have to call the stuff are terrified they'll have to deal with new bugs in unfamiliar code. But as a crutch for getting around not quite being able to read things it's fine. Maybe someone will come after me for saying so as there are bound to be frivolous rewrites of all kinds of things after any kind of public statement like this, but if people get off their butts and stop duplicating everyone else's merges of $VM + O(1) + misc garbage to write some actual new code, it's worth the flames.'"

7 comments

  1. Slashdotted already! by Anonymous Coward · · Score: 0

    William Lee Irwin III, AKA "wli" on the #kernelnewbies IRC channel is one of the developers helping to implement a reverse mapping feature into the Linux kernel.

    Randy Hron: How long have you been working with operating systems? Unix? Linux?

    William Lee Irwin III: It depends on what you consider working with an operating system. Systems programming, i.e. writing code that runs in the kernel, I've only been doing since around the time I got hired by IBM.

    I've used Linux as a userland programming environment since 1996, and my first computing experience was on the Purdue ECN lab systems in 1993, which consisted of a number of Visual Graphics X-19 terminals and Sun IPC's used as terminals for a Sequent S-81. Before 2000 I had no involvement whatsoever with kernel programming. By and large Solaris was my primary programming environment before 2000 (of course back then I had nothing to do with its or any kernel), though there was a little IRIX in there, too.

    rwh: How long have you been with IBM? How has Linux' position with IBM changed over time?

    wli: I've worked for IBM since April of 2000. When I started, I worked for Sequent, which was being absorbed into IBM. IBM is a very large company, so at different sites, there are different areas of specialty and focus. I can't pretend to be very knowledgable regarding the scope or history of IBM's business plans, but at least for me, the progression was from DYNIX/ptx to AIX and then to Linux, while learning progressively more about systems programming.

    For a while, there was not much focus on-site for Linux, but at some point a decision was made that that would be our site's focus, and this seems to be working out well.

    rwh: How is Linux different than other projects you've been involved with?

    wli: Well, Linux has a much broader userbase and also much broader visibility. By and large the issues are similar. UNIX kernels are large programs everywhere, and the programming involved is both low-level and complex everywhere. Linux is no exception. Some other issues are largely superficial from the standpoint of how it feels to participate in a project. For instance, things like the raw numbers of people and lines of code don't seem to make much difference beyond orders of magnitude. Things like coding style, while they're very important, are also superficial: each project has a style standard, and you follow it. So as far as operating systems go, the distinguishing features of Linux don't really seem to have much impact on what it's like to program for it.

    There is probably one major difference that seem to come up, but it's not something that really affect day-to-day operation. It's that Linux is a competitive environment. Many other efforts don't seem to have multiple people presenting competing solutions for the same issue, yet in Linux this is common. The primary difference this appears to make is that people who disagree about how something should be implementated have working code to show that could displace yours.

    rwh: What do you enjoy most about programming/mathematics?

    wli: It's odd to admit it but I think that I've actually discovered more about the kind of programming I like to do and the kind of mathematics I enjoy doing now that I'm out of school than in it. Now that I have been under my own direction, the kinds of mathematics I've developed interest in have been more calculational, and the kind of programming I've developed interests in have been more side-effect-driven than what I thought I was interested in. Specifically, the mathematics I've become interested in are things like 19th-century material on elliptic functions, and the programming I've become interested in has been (of course) kernel programming. Essentially I've discovered that I actually like doing things with concretely observable results.

    I think the key to understanding what I like to do is to go out and do things on whims, and then in retrospect analyze what I've done to discern what I like, and allow myself to naturally gravitate to what I want to do. This is in opposition to doing things with a preconceived notion of whether I'll like it or not, which approach I believe resulted in some missed opportunities for fun and achievement earlier on for me. There are, of course, clear limits to how far this idea should be taken.

    Now, if I'm to analyze in retrospect what I like about mathematics and what I like about programming, it's hard to characterize in formal terms. With all apologies to Dijkstra, I'll have to resort to analogy. It's like I am a child in the realm of proofs and programs and syllogisms and hypotheses and lemmas and hash tables and binary search trees are my building blocks, and I play by assembling my tinkertoys into mighty mighty cathedrals, brick by brick, stone by stone. And perhaps one day after rebuilding the world within the machine sufficiently many times I'll get it right and live within a crystal palace, but I suspect that the iteration is not a finite process.

    rwh: It sounds like you have a background in computer science. Where did you take your education?

    wli: I have a bachelor of science degree from Purdue University, where I majored in mathematics and computer science.

    rwh: What do you enjoy doing when you aren't working?

    wli:Well, the trick is that programming is my main form of entertainment. So from one standpoint I get paid to goof off all day. =)

    I do do other things though. There is the usual assortment of nightclubs to visit and concerts to listen to now and then, and I do a number of ordinary things that aren't programming, like watch anime and read fiction and so on. They're fairly distant seconds, but they're there.

    There's also IRC, but that's more of a supplement (or maybe even replacement) for newsgroups and mailing lists calling people on the telephone, and a very effective one. Cutting and pasting code in realtime to people halfway around the world is extremely convenient, as is the ability to discuss algorithms and designs and so on.

    rwh: You have eclectic musical taste. What music appeals to you most?

    wli: I'm not sure what to say here. I'm not a particular expert in music. I do collect some and I collect what I like (of course). A list of the artists and albums would be too banal to bear stating.

    It's difficult to characterize the sorts of music I like entirely in terms of genre, but there is a distinct pattern. To me content of music is neither words nor musical notes, but the atmosphere it creates and the emotional response it triggers. Whether it's calculated or a coincidence, technically advanced or crude banging on instruments, the worth of the resulting sounds is judged only by the power of the effect.

    There appear to be several distinct themes that emerge from contemplating my own playlists. One is a grandiose hyperaggressive lunge toward empowerment. Another is a mournful grieving cry. And another is escapism through deliberate complexity. And of course, humor.

    rwh: Any tips for the aspiring kernel hacker?

    wli: Well, I believe I am still aspiring myself. =)

    Everyone says persistence is key, but it's not enough. One thing I've noticed is that because the kernel is responsible for maintaining the integrity of both data and the running system image, the cost of a failure (i.e. bugs, and as with any programming, they are numerous) is that data is lost and systems go down. A big fear to overcome is that of disrupting the proper operation of a system or losing data. When a kernel crashes it destroys data and the machine goes down, and you can't be afraid to see this happen if you're going to get anywhere. Programming is error-prone, and one must be prepared to commit errors. A stumbling block for me early on was that I was too careful and obsessed on repeatedly reviewing code to be sure the system wouldn't crash when I tried to run with it.

    This is ineffective. A more effective approach appears to be creating a sandbox where the data is disposable and the system nonessential and running the code and figuring out what went wrong when the system crashes. And it's not easy. Without much hardware assistance (requiring too much money to be practical) it's generally not possible to recover much of the system state after the event, so working around this by dumping state at the appropriate times or running within a simulator (fortunately, bochs is free as in beer) is required. Some infrastructures exist, e.g. kgdb and kdb. I'm already espousing perhaps heretical notions, but I don't care. And another thing is that reading code is harder than writing it (and debugging is harder than both but moving on) so a from-scratch rewrite of something will be easier than finding the small changes needed to fix real problems. For regular kernel hacking, rewrites aren't going to get anywhere, those who wrote the originals will scream bloody murder and those who have to call the stuff are terrified they'll have to deal with new bugs in unfamiliar code. But as a crutch for getting around not quite being able to read things it's fine. Maybe someone will come after me for saying so as there are bound to be frivolous rewrites of all kinds of things after any kind of public statement like this, but if people get off their butts and stop duplicating everyone else's merges of $VM + O(1) + misc garbage to write some actual new code, it's worth the flames.

    So I look at the above and it's somewhat wordy for the intent to be clear to everyone. Write something and don't stall yourself with excessive cautiousness, and then rapidly begin testing.

    Do something and do something new!

  2. Wider!!! by Anonymous Coward · · Score: 0

    .oh .mama .i .love .the .way .you .touch .my .leg .and .rub .me .up .and .down .the .train .and .caress .my .large .mouth .with .it .and .oh .mama .i .love .the .way .you .touch .my .leg .and .rub .me .oh .mama .i .love .the .way .you .touch .my .leg .and .rub .me .up .and .down .the .train .and .caress .my .large .mouth .with .it .and .oh .mama .i .love .the .way .you .touch .my .leg .and .rub .hehe .oh .mama .i .love .the .way .you .touch .my .leg .and .rub .me .up .and .down .the .train .and .caress .my .large .mouth .with .it .and .oh .mama .i .love .the .way .you .touch .my .leg .and .rub .me .oh .mama .i .love .the .way .you .touch .my .leg .and .rub .me .up .and .down .the .train .and .caress .my .large .mouth .with .it .and .oh .mama .i .love .the .way .you .touch .my .leg .and .rub .damn .oh .mama .i .love .the .way .you .touch .my .leg .and .rub .me .up .and .down .the .train .and .caress .my .large .mouth .with .it .and .oh .mama .i .love .the .way .you .touch .my .leg .and .rub .me .oh .mama .i .love .the .way .you .touch .my .leg .and .rub .me .up .and .down .the .train .and .caress .my .large .mouth .with .it .and .oh .mama .i .love .the .way .you .touch .my .leg .and .rub .hehe .oh .mama .i .love .the .way .you .touch .my .leg .and .rub .me .up .and .down .the .train .and .caress .my .large .mouth .with .it .and .oh .mama .i .love .the .way .you .touch .my .leg .and .rub .me .oh .mama .i .love .the .way .you .touch .my .leg .and .rub .me .up .and .down .the .train .and .caress .my .large .mouth .with .it .and .oh .mama .i .love .the .way .you .touch .my .leg .and .rub .love .the .way .you .touch .my .leg .and .rub

  3. Slashdot deleting accounts? by Anonymous Coward · · Score: 0

    I know slashdot prides itself on not censoring its users. It allows all kinds of accounts to be created, from the silly ones like "Brownie the Ass Clown", to more offensive ones, like "Ralph JewHater Nader". But has slashdot gotten to the point of deleting accounts?

    I'm afraid the answer is yes.

    ***

    The removal of "Horsecock" from the slashdot weblog

    I decided to test the tolerance of the slashdot editors on this site. I created a legitimate account with the handle "Horsecock". Yes, it is an offensive handle, but I wanted to see how far I could go with it. I posted legitmate, ontopic comments, and was moderated into positive karma. I neglected the account for about a month, and then, one day, I decided to log in, and it was gone, along with all my comments!

    Don't believe me? Well, try this little experiment: try to register the handle "horsecock". You can't - it's already been taken. Then try to find "horsecock's" personal page on slashdot - not there. All evidence of this account have been destroyed. And what's sad, this account never posted trolls, flamebait, or crapfloods - purely legitimate comments. I'm afraid that logical arguments and posting insightful, interesting posts on slashdot don't matter - it's the handle that does.

    This may be something that you want to think about before you shell out your hard earned money to pay for this weblog. Do you want to spend money on a site that arbeitrarily deletes accounts for no good reason? Not only that, do you want to pay for a site that official recognizes IE users as a "minority", and will not make efforts to fix page widening bugs, even when a patch has been handed to them?

    Slashdot needs to get it's priorities straight before they expect anyone to pay money for this site.

  4. Hard Rock Cafe Switches from Linux to Windows 2000 by Anonymous Coward · · Score: 0

    Published: May 2001

    Switching from Linux and Apache to Microsoft® Windows® 2000 enabled Hard Rock Cafe to easily build a sophisticated and full-featured intranet, which the company is using to facilitate all areas of its business. In the year since the switch, the powerful tools provided with the Microsoft platform have enabled the company to develop a wide range of useful applications with just two developers, resulting in lower internal costs and improving the company's ability to communicate with employees across its 50+ corporate-owned cafes. Every Hard Rock Café employee using the intranet now enjoys a customized start page, providing easy access to the relevant tools and information needed to do their jobs.

    Solution Overview

    Customer Profile
    Hard Rock Café International is a $400 million entertainment company and a wholly owned subsidiary of London-based Rank PLC.

    Business Situation
    The company's heterogeneous environment based on Sun Solaris, Oracle, WebObjects, Lotus Notes, and NetWare was difficult to maintain, and required the company to rely on expensive, hard to find external expertise. This was resulting in higher costs and the inability to keep its Web site up and running.

    Solution
    By switching to the Microsoft® platform, Hard Rock Café was able to reduce its total cost of ownership and increase its ability to deliver the new applications that will improve the company's efficiency.

    Software and Services
    Microsoft Windows® 2000 Advanced Server

    Microsoft Internet Information Services 5.0

    Microsoft SQL Server(TM) 7.0 Enterprise Edition

    Scenario
    Intranet

    Company Overview

    Founded in 1971, Hard Rock Cafe International has grown into a $400 million entertainment company that embodies the spirit of rock music through its signature cafes, hotels and casinos, collectible and fashion merchandise, live concerts and performance venues, and the Hard Rock Records music label. A wholly-owned subsidiary of London-based Rank PLC, Hard Rock Cafe International operates or franchises 104 signature Cafes in more than 36 countries, providing visitors around the world with a unique experience that combines food and merchandise with the largest collection of rock memorabilia on the planet.

    Situation

    Until recently, Hard Rock Cafe had a mixed IT environment consisting of Sun Solaris, Novell NetWare, and Lotus Notes, with the company's intranet consisting of an Intel-based server running Linux and Apache. Although the IT group had a large number of intranet applications it needed to develop, their Linux-based platform made this extremely difficult and time-consuming. "The Linux-based intranet consisted of a few simple applications that two developers had built--looking up a phone number, browsing imported POS logs, and paging a support technician--with everyone sharing the same password," said Rob Conti, manager of network services for Hard Rock Café. "We wanted to offer additional Web-based applications for accessing detailed financial data and communicating with our stores, but the lack of security and functionality in the Linux platform meant we would have to develop everything from scratch. That made these initiatives just too cost-prohibitive to pursue on the Linux platform."

    Solution

    In March 2000, Hard Rock Café standardized on the Microsoft platform to lower its total cost of ownership. This included converting the company's Internet site from Solaris to Windows 2000, migrating the company's mail and messaging solution from Lotus Notes to Exchange 2000, and consolidating the company's four NetWare-based file and print servers onto a single server running Windows 2000.

    Hard Rock Café also migrated its intranet server to Windows 2000. It still resides on a single Intel-based server, now running Windows 2000 Server with Internet Information Services 5.0 and SQL Server(TM) 7.0. In each restaurant, five or six PCs running Windows 2000 Professional and Microsoft Internet Explorer are used to access the intranet.

    "The Microsoft platform has enabled us to achieve far greater functionality than we ever dreamed, both for our public Web site and our corporate intranet. Since we migrated to Windows 2000, we've been able to rapidly deliver the tools and applications needed to support our business and reduce costs."

    Ron Ward
    Sr. Director, IT and Internet
    Hard Rock Café International

    Since migrating to the Microsoft platform, Hard Rock Cafe has enjoyed the ability to easily build and deploy new intranet applications that assist users throughout the company with doing their daily jobs. "The Microsoft platform has enabled us to achieve far greater functionality than we ever dreamed, both for our public Web site and our corporate intranet," said Ron Ward, senior director of IT and Internet for Hard Rock Café. "Since we migrated to Windows 2000, we've been able to rapidly deliver the tools and applications needed to reduce costs and streamline the way we do business."

    To create the extensive functionality now enjoyed across the company, Hard Rock Café developers used the Visual Studio® 6.0 development system. "The power of the integrated tools provided in the Microsoft platform was one of the key reasons we decided to use it as the foundation for our new corporate intranet," said Conti. "We've only had two developers working on our intranet--the same number we had working on the Linux platform--and the Microsoft platform has enabled them deliver upwards of 50 applications over the last year. We're definitely getting more results for our development dollars now. Not only have we been able to implement a great deal more functionality, but the Microsoft platform has been much easier to administer and maintain, requiring almost no effort at all. "

    Every user accessing the Hard Rock Café intranet now enjoys a personalized start page based on their role in the organization, and designed to help them do their jobs as efficiently as possible. "When a user logs in, they're now presented with a customized start page that provides links to all the functionality they're permitted to access," said Conti. "User profiles and permissions are managed using another intranet application we developed, and are stored in the SQL Server 7.0 database. This was much easier to develop on Windows 2000 than it would have been under Linux, again due to the extensive core functionality provided in the Microsoft platform."

    "Not only have we been able to implement a great deal more functionality, but the Microsoft platform has been much easier to administer and maintain, requiring almost no effort at all."

    Rob Conti
    Manager of Network Services
    Hard Rock Café International

    With the new platform, the company has been able to rapidly develop applications that improve the efficiency of the company's core business--food, entertainment and merchandising. "With the Microsoft platform, we've been able to build tools and applications to lower costs and assist with just about every part of our business," said Conti. "In the past, new menus required sending a large amount of materials to all our stores--recipes, food display guidelines, and so on. Now that we can do this via our intranet, we're saving upwards of $20,000 per year for just this one task. We've also developed a wealth of other applications, for everything ranging from gift certificate management to souvenir merchandise catalogs. We've even built a tool to control the functionality of our Cisco-based video playback system, which we're now running in some of our cafes."

    Migrating to the Microsoft platform has also enabled Hard Rock Café to take advantage of the wide range of third-party applications available for Windows 2000. "We deployed a solution from Business Intelligence Solution Group, called intelligentScorecard(TM), to provide business managers throughout the company with easy access to the information needed to run their area of the business," said Ward. "It consolidates information from systems across the company into a centralized data warehouse and gives us the ability to define and monitor key performance indicators on a real-time basis. Each café manager sees the relevant indicators directly on their personalized intranet start page, and can easily drill down to investigate the information behind the numbers. We never would have been able to deploy something like this with Linux."

    "We've only had two developers working on our intranet--the same number we had working on the Linux platform--and the Microsoft platform has enabled them deliver upwards of 50 applications over the last year. We're definitely getting more results for our development dollars now."

    Rob Conti
    Manager of Network Services
    Hard Rock Café International

    Moving Forward With Microsoft

    Now that Hard Rock Café has built an extensive intranet to service its 50+ corporate-owned cafes, the company is planning on deploying an extranet that will service its 50+ franchise locations. "We'll be able to communicate all the corporate standards for menu items and merchandise by basically cloning our existing Intranet server--just leaving out the financial reporting tools," said Conti. "This will allow our franchisees to enjoy all the benefits of the functionality we've developed for internal use, and will aid them in achieving the same high standards that we demand of our corporate-owned cafes."

    The .NET Enterprise Servers are Microsoft's comprehensive family of server applications for building, deploying and managing next generation integrated Web experiences that move beyond today's world of standalone Web sites. Designed with mission-critical performance in mind, .NET Enterprise Servers will provide fast time to market as well as scalability, reliability and manageability for the global, Web-enabled enterprise. They have been built from the ground up for interoperability using open Web standards such as XML. The .NET Enterprise Servers are a key part of Microsoft's broader .NET strategy, which will enable a distributed computing model for the Internet based on Internet protocols and standards in order to revolutionize the way computers talk to one another on our behalf.

  5. wli my man. by sinserve · · Score: 2

    This guy is just a plain genius. I have ran into him a while back, when I was
    learning lisp, and found him on #lisp (openprojects irc network.)

    We chatted for a while about everything I knew about computing (i never sat in a
    CS class, I am a business undergrad, but I am a linguistics and compiler construction
    fanatic.)

    This guy was one of the few people I spoke to in person (well, IRC) who knew about
    what they were talking about.
    The conversation is still blurry to me, but I am remember it went from symbolic computing->
    regular languages -> grammars -> regular expressions -> ... -> code generation -> chicks.

    WLI, if you are reading this, a BIG hi from a guy you spoke to, 1.5 years ago.

    P.S. I couldn't master mercury, I was side tracked by O'Caml ;-D

    1. Re:wli my man. by wli · · Score: 1

      Glad to be of service.

      Cheers,
      Bill