Interview With Blitz
QB Express Issue #1
Conducted by Seph
In July of 2003, a group of QB programmers at the QBasic News forums discussed ideas and made plans for a new QuickBasic magazine that never got off the ground. For that ill-fated magazine, Seph conducted this interview with Blitz, which has neve been published anywhere but in the original thread at QBasic News. Blitz is a member of the QB programming group Bad Logic, which is behind the revolutionary QB graphics library UGL. Since this magazine was partly inspired by that QBasic News thread, I have decided to include it in the first issue. This interview is presented in its unedited, original form, so you'll find quite a bit of off-topic (but interesting) banter.
Introduction by SephVery few libraries for QuickBASIC are still being worked on to this day. Fortunately, one of the best libraries around is an exception. UGL is a TLA standing for the very appropriately chosen words "Ultimate Gaming Library" and is written by 2 of the best programmers anyone has ever met in the whole world. I get paid 30 USD just to say that. I had the opportunity to talk to one of these brilliant men, and unlike many in my life, that is an opportunity I have taken.
Seph:
So how did you decide to start working on UGL?
Blitz:
Well, I was hanging in our IRC channel (as always) and was pretty bored. So I was thinking of stuff I might do to waste time. The idea came to me to do a graphics library for 320x200x16 which would have one thing in mind, and that being performance. And also have things other QB libs lacked, surfaces. So I asked v1ctor if he wanted to be part of it and he said yes. So you could say that we made UGl becuase we had nothing better to do. I'll kill your cat if you don't fix my damn spelling and grammar errors...
Seph:
Sure thing. About when did you begin work on this library?
Blitz:
Good question, the answer is way too long. But I think it was just about two years ago. Of course, we never planned working on it for so long.
Seph:
Was there any library in particular that inspired you to write this library to be the fastest of ALL TIME?
Blitz:
Me? Not really, but I think allegro inspired v1ctor in someways, but us both having done lots of non-QB coding. We had seen how the big APIs were designed and knew how a good lib should be.
Seph:
Ah. Were there any other people involved in this project besides both you and v1ctor? Not to mention, v1ctor's first name is not victor...
Blitz:
Well my first name isn't Blitz either.
Seph:
Indeed.
Blitz:
Any other people? Hmm, the only person that comes into mind right now is Eric Cowles aka 1000101. He helped out with lots of bugs. I'm sorry if I forgot anyone
Seph:
Did you ever think that it was possible this "Eric" character was planning on rewriting your very own library, and then killing you?
Blitz:
Nah, Eric was working on future library 2. But I think they gave up on that when UGL came out.
Seph:
Because UGL was so much better than anything Eric could ever do in his life, yes?
Blitz:
Oh, I just remember a person I definitly would not want to thank. Alan 'O Hagan known as CGI Joe/Generic. He was supposed to do lots of things for UGL. But he never did more then a few lines on anything. That lazy bastard.
Blitz:
No, Eric is one of the few programmers in the QB community I have respect for.
Seph:
Jerk, I have feelings too...
Blitz:
He could do a lib like UGL, no doubt.
Seph:
Are there any comments you would like to make to anyone making a library for QBasic?
Blitz:
I would like to say that coding style and code organization is very important. It's one of the top things differ from someone who can be called a pro-coder and someone who can't. I also would like to add that PureQB(tm) is pretty lame. Coding old demo effects from the 80s doesn't make you l33t, nor does it make you a good coder. On the contrary... You don't learn anything from PureQB coding but bad coding habbits which does not apply to anything when you start doing pro- programming in C/C++ or any other advanced language which has decent compilers. By trying to optimize code yourself when you have a good compiler you're actually crippling the compiler's ability to do good optimizations. And another thing that I have noticed is that QB coders are not willing to let go of their old coding habbits. They are not willing to try/learn new things. That's bad if you ever want to work as a programmer. A programmer always have to be ready to learn new things and solve new problems.
Seph:
Speaking of PureQB, what do you think of the concept?
Blitz:
I do not have the words to describe how stupid it is that people actually call it a concept. Good programming is about making fast programs that use as little cpu power as possible, not to convert your 3 ghz cpu to a 33 mhz 486. That's exactly what PureQB(tm) does. What makes you "l33t" is your ability to get your program to use as little cpu power as possible and still run smooth. It's perfectly ok to mix C or Assembly with your qb code.
Seph:
I see. And are there any programmers you would like to give a shout out to? Feel free to not exclude me...
Blitz:
Hmm, I have a feeling that I will forget lots of people. But here it comes in no specific order. v1ctor, Toonski, 1000101, CGI Joe/Generic, Lithium, Sephiroth, Nexarinius/Mr Moose, Smokey, Joakim A-R, Fling-master, Syn9, Marcade. And of course, to all the loyal UGL users. Can't think of any else right now, sorry if I forgot anyone.
Blitz:
Not really, but feel free to write some good things on UGL and don't forget to fix the gramar and spelling.
Seph:
Indeed.
Visit the badlogic (http://www.bad-logic.com/) for uGL, great tutorials and free cookies.