in cooperation with


Present this exclusive two and a half hour interview with

Ruud van Velsen

Famous KiXtart Developer


© 2000 CompTrends Corporation, USA.

February 2001



The scene is the early 1990s. Novell is the king of networking. Though Microsoft controls the desktop market, they are nowhere near being the Redmond, WA behemoth that they are now. Time and time again the Novell camp would tout that Windows NT could not manage user logins anywhere close to Novell's capabilities. Then, the crowds were silenced as one man with one product raised his hand and said "Now it does". Such is the birth of KiXtart and the folk-hero, Ruud van Velsen. Is it possible that the introduction of KiXtart was the first of many nails in the coffin for Novell and it's NetWare product?

This is a text version of the 2.5 hour chat session Steve Ognibene and I had with Ruud. We hope that through this interview you not only become more familiar with KiXtart, but also the man behind the curtain.
Larry A. Duncan
CEO, CompTrends





Larry:
Good afternoon, Ruud.
Ruud:
Good afternoon!
Larry:
Before we begin, I'd like to thank you for taking the time to meet with us to discuss the KiXtart scripting language. We hope this interview will help the user community better understand the product, its features and its background/future.
Ruud:
No problem, I'm happy to participate
Larry:
Wonderful.
Larry:
As you may already know, my name is Larry A Duncan and I am the Chief Executive Officer for CompTrends Corporation, USA. We’re a small, but successful firm specializing in software management. Obviously you can see how a company with such a focus can find great interest in KiXtart.
Ruud:
Yep. I'm interested to hear what you've done/are doing with KiX.
Larry:
In attendance with us is Steve Ognibene, CompTrends KiXtart Site Manager. Steve is responsible for all KiXtart related material on the website and is also co-authoring a book on the subject with me.
Larry:
(And an all around good guy!)
Steve:
Hi Ruud!
Ruud:
Hi Steve!
Larry:
For our website visitors that will be reading this interview online, would you mind introducing yourself Ruud and perhaps a few words about your role at Microsoft Corporation?
Ruud:
Sure. My name is Ruud van Velsen (you knew that, but it's miss-spelled so often.
Ruud:
I work at MCS as a principal consultant.

I started at Microsoft 10 years ago as a support engineer for LAN Manager.

I moved to MCS some 5 years ago.

I am mostly an "infrastructure" consultant, but with a 'dev' background.
Steve:
Hello again Ruud.. I'm going to be asking you a few general questions about KiXtart, and then pass it back to Larry.
Ruud:
Ok, fire away.
Steve:
First, can you explain the background of the name 'KiXtart'?
Ruud:
Ah, yes. I tried for a name that was sort of snazzy, and sort of related to the logon process.

KickStart was too long (for an 8-char MS-DOS exe), so it became KiXtart...
Larry:
Smart thinking...
Steve:
Why is the X capitalized?
Ruud:
As for the caps 'X': just an attempt at making it clear that the name is not KixTart.
Steve:
Ha ha. Yes, although plenty of people still call it that in the public forums...
Do you write all of the documentation?
Ruud:
Yep. However, builds that make it into the Resource Kit are reviewed/edited by editors of the ResKit team.
Steve:
Understood. How long does the documentation take you to write vs. the actual coding?
Ruud:
Hmmm, I don't have an exact figure, but it's not a major part of the whole process. Testing takes way more time.
Larry:
Ruud, what made you decide to create KiXtart?
Ruud:
Well, it seemed like a good way to get to know the LAN Manager development environment, and I got tired of the requests for a 'Novell-like' logon script feature.

This was back in the days when LAN Manager was just released, and we were competing heavily with Novell...
Steve:
Circa 1990?
Ruud:
Yes, thereabout. LAN Manager 2.0 had just been released, SQL Server 1.0, Windows 3.0, etc.

As a support engineer for LAN Manager, I guess I heard requests for logon scripting functionality at least once a day.

It was supposed to be added to LAN Manager 2.1, but things took a bit longer, which is why KiXtart got a chance to grow, and grow, and grow.
Larry:
Is some of the original code still in today's KiXtart?
Ruud:
Hmm, depends on what you call original code I guess. Some of the structure is still there. But most of the actual code disappeared when I moved it to Win32.
Larry:
That makes sense.
Ruud:
Well, come to think of it, I think some of the old stuff, such as 'COLOR' and 'BIG' are probably still original code.
Larry:
Looking back, would you say that the 1.x release was a weak competitor to your latest versions?
Ruud:
Ah, well, it's no comparison.
Larry:
Kind of like grade school pictures of yourself, saying "That can't be me!"?
Ruud:
Yes, "That can't be me" sounds familiar. "Wow, that can be done in a zillion less lines..."

It's of course not a fair comparison either: it had to run in very low memory conditions, with an OS, that was, mm, not as 'feature-rich'.
Larry:
Very politically correct...
Steve:
What were the original reactions of your peers and the first users of KiXtart?
Ruud:
People were very enthusiastic, which I guess is really why the thing still exists today.

I got lots of feedback, suggestions, etc., and it was really exciting to see the product actually being used in (large) environments.
Steve:
What was the largest environment with KiXtart that you had seen in those days?
Ruud:
Well, I can't remember exactly when certain customers picked it up, but some environments were quite large with 10's of thousands of clients.
Steve:
Some of the best features in the recent versions of KiXtart are Registry editing, OLE functions, text editing, INGROUP() network functions, etc.
Steve:
What were the killer features in 1.0?
Ruud:
Being able to do 'smart' network redirection (USE) and add stuff to the (master-DOS) environment. Remember that the competition was a plain batch file...
Steve:
Do you still have a copy? I'd love to check it out.
Ruud:
Sadly, my old code server died a few months ago (an age-old 486 PS/2). I should have a copy on disk somewhere, but haven't found it yet.
Larry:
Ruud, this may seem like a silly question, but do you still find yourself using KiXtart or have you become the guardian of it?
Ruud:
Well, as I'm not a network admin, I've never used it extensively myself. I do use it for the odd script here an there, but that's about it.
Larry:
How prolific is KiXtart within Microsoft as a whole?
Ruud:
Our internal IT department used to use it for logon scripts, but they don't do so anymore. Other than that, I know it's used by server admins here and there.
Larry:
Are we permitted to ask what they've replaced it with?
Ruud:
As for the replacement: as far as I know, most of it is standard batch files and various specific executables. And of course, a lot of configuration is being moved to Windows 2000 Group Policies.
Larry:
A wise choice for that environment (group policies that is...)
Ruud:
Of course, consultants and SE's use it for customers, but that's a different story.
Larry:
Ruud, along these lines... Why should somebody choose to write a script using KiXtart as opposed to ADSI/WSH/VBScript/PERL, etc?
Ruud:
Hmm, good question. One that's been (and still is) discussed within MS on many occasions.
Ruud:
I guess the main thing about KiXtart is that it is very simple. Even simpler than VBS.

I guess some smaller companies choose it because they don't have the resources to do 'heavy' scripting/development in-house.

Within large companies, the issue may be that the network administrators aren't allowed to do 'real' development (VBS and COM stuff), but they can get away with doing a simple script.
Steve:
What are some of the upcoming features to look forward to in KiXtart 200x?
Ruud:
The top-3 are User Defined Functions, real COM automation support and more Windows 2000 support (nested groups, universal groups, etc).
Larry:
UDF = Big Plus!
Long time coming.
Most probably didn't even realize how useful such a thing can be.
Ruud:
Yeah, I think so as well. Good news is that UDF's are done. COM support is what I'm finishing up now.
Steve:
Great.
Ruud:
Ah, forgot one: console-less mode. Haven't seen a lot of feedback on this yet, but it was high up on the to do-list, so I guess some people out there will like it.

As for COM support: The idea is to do pretty much what VBS does. Sort of strange maybe, but my idea is that it provides more 'power' to people that will continue to use KiXtart, and also provides a way for people to gradually move to VBS if they so desire.
Steve:
Currently, there is an issue with running KiXtart using the scheduler service. Will this be resolved by using the console-less mode?
Ruud:
What issue are you thinking about?
Steve:
This application log event is generated:

Source: KIXTART
Category: None
Event ID: 1312
Type: Error

Description: The description for Event ID (1312) in Source (KIXTART) cannot be found, The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer.

The following information is part of the event: WkstaUserGetInfo failed Error: A specified logon session does not exist. It may already have been terminated. (0x520/1312).

Generally, you get this if KiXtart is called in the background, via the scheduler service or otherwise. The script will work properly, however.
Ruud:
Ah, yes, that makes sense. Console-less mode won't fix this. The issue is that the process is running in a local security context (SYSTEM / LocalSystem). KiXtart tries to retrieve some of the user info for the current user, and of course fails.
Larry:
(Basically, I think Ruud is saying don't use LocalSystem, use a domain account.)
Ruud:
Yes, using a domain account would solve this. I'll also look at somehow catching this particular situation in the next version.
Larry:
Thanks Ruud.
Steve:
I will definitely try that solution.

When do you expect to release KiXtart 2000? Will you rename it to KiXtart 2001?
Ruud:
As for KiXtart 200x... Not sure on the name actually. I'm calling it 2001 right now, and probably will stick with that.
Larry:
Do you expect a public release soon?
Ruud:
Well, it is certainly my intention. If all goes well, I should be able to release a beta in a couple of weeks.
Larry:
Will you have an official *public* beta program? If so, how can our readers join?
Ruud:
That depends on the definition of 'official' I guess. But, yes, it will be public, and it will be 'complete' (with updated doc and scripts). In other words not just a binary as with the alpha builds.
Larry:
How does KiXtart 2001 tie in with AD?
Ruud:
You'll be able to access (query, edit) AD through COM automation. And KiXtart itself uses AD to retrieve information on the user, including nested groups, universal groups, etc.
Larry:
And the upcoming .NET product line?
Ruud:
I'm looking into the options there. For now, I'm concentrating on 2001. Once that's done, I'll see what to do next.
Larry:
Last question in the line of integration: Will we see any WMI functions in KiXtart 2001? It would certainly be useful to be able to control the logic of our scripts based on hardware level information.
Ruud:
As for WMI: This is one of the things you get with COM automation.
Steve:
Good. Ruud, as the versions progress, how important is script backwards-compatibility to you?
Ruud:
Backwards compatibility is very important to me. This is why I still support some of the quirky language things of the past.
Steve:
By quirky do you mean this:

"Hello $YourName, How are you?"
Ruud:
Yes, yes, indeed. Do you think I could get away with dropping that kind of stuff? I'd love to...
Steve:
Well, one thing that you can't eliminate is this:

$SUM = 1 + 1

$TextSum = "$SUM"

To convert an Integer to a string. Unless you wrote a function...
Ruud:
Mmm. I'll think about the options.
Steve:
Do you ever intend to incorporate floating-point math?
Ruud:
Floating point: I could do it, but it would be quite an investment, and I'm not sure it would get a lot of use. What would you use it for?
Steve:
Well, it's something that I have been asked about in the past...

It would be more for the people who are using KiXtart as a general scripting language as opposed to a logon processor.
Ruud:
OK. It's on the to do-list, so who knows.
Larry:
Ruud, I'm sure everyone would like to know if you ever plan on developing a compiler for KiXtart scripts?
Ruud:
That's definitely on the to do-list. But not high up, I'm afraid. For now, there's so much functionality stuff that still needs to be added... Also, considering .NET, we may take it into a different direction.
Larry:
Hmmm... Interesting response. Seems all MS development is leaning in that direction.
Ruud:
Absolutely!
Larry:
Moving into some of the customer support items, Ruud... Do you like getting suggestions and feedback?
Ruud:
Yes, certainly.
Larry:
How does the suggestion box work from "rkinput@microsoft.com"?
Ruud:
Any issues the Resource Kit team can't deal with directly are escalated to me.
Larry:
How often do you (they) get feature requests for features that are already in the product?
Ruud:
Or more in general: how often do I get questions that are answered in the manual ? ... Quite often, I'm afraid.
Larry:
That was my next question...
Ruud:
If it weren't for the various support forums on KiXtart, I wouldn't have survived
Larry:
Glad to help. How often do you get genuinely good suggestions?
Ruud:
Well, I get a lot of 'repeat' requests, but every now and then I get a really interesting suggestion.
Larry:
Through
rkinput@microsoft.com ?
Ruud:
Yes, via rkinput, but also of course via direct email, via the forums, or from people like yourselves!
Larry:
What was the best suggestion that you have ever received?
Ruud:
Best suggestion: Mmm, there've been so many suggestions over the years. I guess @RAS was pretty good, and someone triggered me to move most information retrieval stuff to runtime (which greatly reduced startup time).
Larry:
How long does it take for suggestions to make it into a finished product? (min/max)
Ruud:
Anywhere between less than a day (well, a private build anyway), until years I guess (I had wanted to do the COM automation stuff long, long ago).
Steve:
Is there any possibility of the TITLE command sneaking into KiXtart 2001? To change the console title?
Ruud:
There is now.
Larry:
I like this guy!
Steve:
What language is KiXtart written in?
Ruud:
Mostly C, C++ (for the COM stuff), and a bit of assembler (for the thunk code on Windows 9x).
Larry:
Old school.
Steve:
What compiler do you use?
Ruud:
Compiler: Visual C, what else?
Steve:
Shouldn't have even asked, eh?
Assuming that KiXtart is an interpreted language, how does KiXtart read the script and process it internally before executing the first instruction?
Ruud:
Every script is pre-processed to pick up any labels, and UDF's.
Steve:
And is there a big difference between the interpreters of 3.6x and 2001?
Ruud:
Well, not a lot, apart from the UDF stuff.
Steve:
So the script is read all at once and then processed only within RAM?
Ruud:
Yes, that's pretty much it. This is part of what makes it quick.
Steve:
Do you have any tips that will help admins write more efficient code?
Ruud:
Mmm, let me think on that for a second.

Adding proper error handling to scripts.

(Most scripts I get to see are, Mmm, very 'optimistic' about the actions in them).
Larry:
LOL, I love that term: optimistic.

It's not poor coding, it's "optimistic".
Ruud:
Getting rid of ? "Hello $UserName..." would be very nice...
Steve:
If that feature were removed, would that speed up the compiler's execution?
Ruud:
Removing variables-inside-strings would add some speed, and would certainly allow me to get rid of some ugly coding.
Steve:
So that would also decrease the EXE size?
Ruud:
Yes, a bit. Well, a few bits really. But is that an issue?
Steve:
Not on a LAN. But of course, in a RAS environment, every KB helps.
Ruud:
RAS, I see.

Note that 2001 has much better memory management (at the expense of a few cycles). But it should make [KiXtart's] in-memory image smaller (a lot, depending on the number of variables used).
Larry:
Ruud, were moving into our last section and it's where we get to know the man behind the curtain.
First off, for those non-European readers, could you tell us how Ruud is pronounced (as best possible in this environment).
Ruud:
Ok....how exactly does one explain pronunciation on a keyboard...
Ruud:
Well, it's not Rudd, it's not Reed, It's not Ruit, it's not Ruid, it's not Ruth, it's not...
Larry:
Is the U pronounced the same as Ruth, though?
Ruud:
It's like the German U-umlaut. I guess 'Rude' is as close as we're going to get
Larry:
LOL... moving on... Where did you go to school?
Ruud:
In the Netherlands, in Leiden and the Hague.
Larry:
What types of other training do you have?
Ruud:
When I started at Philips (in the dark ages, yes, yes), I was trained as a systems software engineer.

Over the years, I've attended lots of training, initially most aimed at development, later on most on networking.
Larry:
How did you begin working for Microsoft?
Ruud:
I applied for a job as a software support engineer back in '90 ('91?)

As I had a lot of experience with COBOL and FORTRAN development, I initially got to do a lot of language support as well.
Larry:
Are you an MCSD?
Ruud:
As I moved more and more to the infrastructure side of things, MCSE made more sense. Have to do some upgrades though... Maybe once [KiXtart] 2001 is done.
Larry:
Is KiXtart your only project?
Ruud:
It's certainly not my (only) job, but it is my 'main' project. Apart from it, I do all sorts of system-level utilities when and where needed.
Steve:
Anything we might have seen or used?
Ruud:
Could be: PWAGE, LockLog (old stuff), XNET (of course), Sid2Name, Name2Sid, Scanreg, Compreg, etc.
Larry:
It must be nice to have a change of scenery from time to time. What (if any) are your favorite reference books?
Ruud:
Reference as in dev-reference? : MSDN.
Steve:
Have you written any Q notes or MSDN articles?
Ruud:
I used to, back when I was at Product Support. I haven't done so in a long time though.
Larry:
Ruud, what are your favorite reference websites?
Ruud:
Well, I like to browse the forums if I get a chance (BrainBuzz, KiXtart.org, etc). Of course, as an infra-consultant, there are lots of other interesting sites out there.
Steve:
What are your interests outside of programming?
Ruud:
Outside of programming?
Larry:
There is such a thing, Ruud.
Ruud:
Seriously: I like to play snooker and my girlfriend likes to take me do dangerous stuff: (rock-climbing, ice-climbing, etc.)
Steve:
Great! Sounds like fun. Did you try skydiving yet?
Ruud:
No, not yet, but don't tell her, or I'm done for...
Larry:
What's her email address???

LOL
Steve:
Do you subscribe to the CompTrends KiXtart mailing list?
Ruud:
No, haven't done so yet. Is there a lot of traffic on it?
Larry:
We have about 405 current subscribers with a 10% monthly growth cycle. You should check it out: http://www.comptrends.com/mailserver.asp
Ruud:
Ok, will do.
Larry:
We also host a general scripting mail list that gets a lot of traffic and several KiX related questions.
Larry:
Either list has excellent content and good users.
Ruud:
Sounds good.
Larry:
Have you seen the CompTrends KiXtart Site?
Ruud:
Yes, it's nice. As I said before: this site (and its 'competition') helps keep me alive.
Larry:
Steve has worked very hard building the content. I'm proud of his accomplishments.
Steve:
Ruud, would you mind entertaining a few off-the-cuff questions?
Ruud:
Try me.
Steve:
What will be KiXtart's role as a scripting language 5 years from now?
Ruud:
Hard one. I 'suspect' it will still be around, in its 'niche' as a very simple (logon) script thing.
Larry:
Agreed.
Ruud:
Of course, if we take it to .Net, who knows...
Steve:
I also agree. Can you comment on its compatibility with the upcoming Windows XP / Whistler Server?
Ruud:
It will certainly be tested on/against Windows XP, and if anything is found to be broken, it will be fixed.
Ruud:
As for 64bit (which I guess to be the next question): I don't know. Well have to see if it makes sense.
Steve:
Amazing... a Psychic too.
Larry:
Ruud, in closing do you have any questions for us?
Ruud:
Well, just a simple one then: where would you like KiXtart to go?
Larry:
Wow... broad question.
Steve:
Yeah.. Not a simple one at all.
Larry:
I think all of us want a one-stop solution to all of our scripting needs.
So far, not a single product has delivered that.
Ruud:
Yes, I'm just teasing. Still, if you have any ideas: let me know.

[For Example,] would you prefer to migrate painlessly to VBS?
Larry:
Ruud, we're behind KiX as much as you are. It has its place in the corporate IT environment. However, VBS does as well. Again, no single product is the alpha and omega. Not yet, at least.
Steve:
There's a good question, though...

Are you ever going to try to make KiXtart part of WSH, as opposed to making it easier for people to move to VBScript? JScript is already, and I think there's a movement to get PERL in there too...
Ruud:
Well, by now (with the .NET CLR), it may make more sense to invest in .NET. [Editor's Note: CLR = "Common Language Runtime"]

Hopefully, .NET will provide a better environment to mix and match scripts.
Larry:
That'd be nice...

Ruud, do you have any suggestions for us?
Ruud:
Absolutely. Keep doing what you're doing. Look into the new COM stuff if you get a chance (provided I get it properly done).
Steve:
I can't wait for that.

The old OLE functions were amazing, but the COM demo in the KiXtart 2000 alpha was even better from a coding perspective.
Ruud:
By the way (on the OLE stuff and backwards-compatibility): Would it be a major hassle if I dropped the OLE functions?
Steve:
If it were replaced by the new functionality, no.

I think that people would be VERY happy to migrate their OLE scripts to a more VB-like COM in order to use KiXtart 2001's extra functionality.
Ruud:
Cool.
Larry:
Great! Well, I certainly want to say thank you for your time. You've been a wonderful person to talk with and I really think the users will come to appreciate this as well. Thank you so much...
Ruud:
And thanks to you as well. It was fun!





In closing, I would like to express my sincere thanks to Ruud for not only spending the time with us to conduct this interview, but also for creating the scripting language that has made our careers so much easier -- time and time again.

Additionally, I would like to thank ScriptLogic corporation for their sponsorship of this interview. Please be sure to visit their website (
http://www.scriptlogic.com/comptrends ) and download a copy of ScriptLogic Professional Edition -- the world's best selling graphical logon script based on KiXtart.

You can also send us feedback on this interview by clicking
here

Larry A. Duncan
CEO, CompTrends Corp., USA

Download KiXtart 3.63 (32-Bit)
Download KiXtart 2.33 (16-Bit)
KiXtart Help System
Join the KiXtart Mail List
 


Site Meter