December 8, 2005 Chat with Carl

Janet enters this room

[Alyce] Hi Janet!

[Janet] Hi, Alyce. I can't stay more than 10 - 15 minutes.

[Alyce] I havent' downloaded your newest flowchart yet

[Janet] Have you done a lot with the newest Assist?

[Alyce] I can't wait to see it. The previous versions were

[Alyce] I've been using Assist quite a bit, how about you?

[Janet] Flowchart: It's still buggy, but at least now the bugs
can be singled out.

[Janet] I've used it a lot, but only with the same types of
things. (Assist)

[Janet] This means I haven't found any problems (and I do like it),
but I haven't pushed it either.

[Alyce] Yes, I think we each do out own "thing" with it.

[Janet] What do you think about FreeForm? Do you think your entry
will win?

[Alyce] I don't use the code formatter, for instance.

[Janet] I would say 'hands down', but Dan's looked pretty good as well.

[Alyce] Gosh, I don't know about Freeform. I thought all of the entries
had great features.

[Janet] Assist: I really like the code formatter, but I tend to write
in outline form anyway. I find myself adapting to the Assist style quite well.

[Alyce] Do you use the performance profiler in the debugger?

[Janet] Assist: The versioning is by far the best feature.

[Janet] I used it just to test it out, but not as a regular feature.

[Alyce] I used it with the rendering routines, but my computer is fast,
so I couldn't see much difference.

[Alyce] Yes, the versioning rocks!

[Alyce] I love looking at the difference browser, too.

[Janet] Tomorrow I'm going to just go through every feature one by one
and make notes on them.

[Alyce] I used to have two windows open next to one another to search
out the differences between files. This is so much easier.

[Janet] I told Carl I'd have something by the end of the weekend for a
review for you both to preview.

[Alyce] That's great!

[Janet] Side by side windows? Yeah!! And do you make sure they're lined up
perfectly so just by a single scroll, you can spot a difference? LOL

[Alyce] Carl was here in the chatroom, and we just missed him by a few minutes. Darn.

[Janet] That's what is so great about the versioning.

[Alyce] Yes, I did line them up! The difference browser is so cool,
with the different colors. The differences just jump out at you.

[Janet] Carl will probably come back. He was still logged into
the forum when I got here. You did say 3pm our time.

Bwebmaster enters this room

[Janet] Hi, Bwebmaster!

[Alyce] We can copy the chat and archive it, if anything interesting
is said.

[Alyce] Hello B.

[Janet] I just think there have been so many new and wonderful things
these last 3 or 4 months that it's just so hard to find the time to play
with them all.

[Alyce] Have you tried John's FTP program? I haven't had a chance, yet.

[Janet] I definitely need to work with your browser more. That .gif
display was lots of fun to write.

[Bwebmaster] What exactly is assist?

[Alyce] That was cool. I never envisioned some of the things people
do with the browser.

[Alyce] Assist is an enhancement of the LB IDE>

[Alyce] Janet is writing a review that we hope to publish.

[Bwebmaster] From what I've heard, it has versioning features that make
it easier to modify code.

[Janet] John's FTP: But, I did download a picture from my site (soon to be
announced site) and that worked just fine. OKay, back to Assist.

[Alyce] B, that's right.

[Janet] Assist: Bwebmaster, you are going to love the versioning.

[Alyce] You have a project, and you commit versions as you go along.

[Bwebmaster] Sounds great. Are they any other eye-popers?

[Alyce] When you make substantial changes, commit to a new version.

[Janet] Assist: and, I'll be you'll be intrigued by the performance
profiler as well in the debugger. It tells you how much time the code
is spending in any one event.

[Alyce] All are stored for you, along with comments that you enter
when you commit.

[Alyce] Scroll up and see what we were saying about the difference browser.

[Bwebmaster] Wow, that is great stuff!

[Alyce] It is really neat.

[Janet] It formats your code with auto nested indenting. It's just
really cool.

[Alyce] There's a program deployment tool that's more full-featured
than the Create Application.

[Alyce] I haven't used it much.

[Alyce] You can specify additional files, and an icon, and a
deployment path.

[Bwebmaster] Hmm... deployment.... sounds like VB .NET Express's
deploy application feature

[Alyce] Janet, I can't wait to see your site!

[Janet] The deployment tool works really well, but it was a little
hard for me to get the hang of it the first time. It will be
interesting to see how easy it is to follow the directions in
Carl's new help file.

Carl enters this room

[Alyce] If you deply, you still have to zip your files, or use an
installer program.

[Alyce] Hi Carl.

[Bwebmaster] Hi, Carl

[Janet] It's very simple right now, Alyce. I'm just trying to find
the time to add some links before I announce it.

[Janet] Hi, Carl.

[Janet] So far you haven't missed any negative things about Assist,
just good remarks.

[Carl] Hi all!

[Alyce] Janet, I agree about the deployment tool being a little tricky.

[Bwebmaster] Well, I have to say that Deploy App would cut out most
of the use I currently have for ResHacker

[Alyce] I bugged Carl, er, I mean made suggestions and it's a little
easier now.

[Janet] I think you'll really like it. Once I got the hang of it,
it worked really well.

[Carl] Of course I am interested in making Assist easier to use,
but right now I'm just trying to get a first release out.

[Janet] And my learning curve does seem to be a little longer than most.

[Bwebmaster] Does it make an installer program?

[Alyce] One thing I've found... make lots of programmers
comments when you commit a version.

[Alyce] B, no, that's what I was saying. There's no installer,
but all of your files are gathered together, so it's easy to
use one of the free installers with them.

[Carl] Assist doesn't make an installer. That'd be a whole new
product by itself.

[Janet] I really like the Help File, Carl. The pictures really
help a lot. I didn't realize I was becoming a very visual learner.....

[Alyce] Yes, the step-by-step pictures are great.

[Bwebmaster] OK, guess I shouldn't throw out my setup maker just yet.

[Carl] I figured that the easiest way to explain Assist would
be with a walkthrough with lots of images.

[Alyce] Carl, the help is terrific.

[Bwebmaster] Carl, how much will Assist cost?

[Janet] Alyce, Can I quote you on that in the review:
"make lots of programmers comments...."

[Alyce] Sure, Janet.

[Alyce] Carl, generally, a helpfile should be more of a reference,
but with Assist, the tutorial is really needed to understand how
to use it well.

[Carl] I guess if there is a popular setup creator that could be
driven by a file, that a mechanism for launching another program
at the end of deployment would be helpful. Thoughts?

[Bwebmaster] Huh?

[Alyce] I don't know much about setup makers. I use Setup2Go

[Alyce] I don't know if any will run by a command line or
script file.

[Janet] program launcher - and that (the choice of a program)
could be customized by the user?

[Carl] You know, like a way to script some external actions at
the end of deploying. That way it could be used with your
favorite setup creator.

[Bwebmaster] Oh, now I get it. The only 'modular'

[Bwebmaster] Ignore that last one.

[Alyce] Carl, Bwebmaster asked about the price. Is it set yet?

[Janet] I'm just playing with the colors. Am I green now?

[Carl] Assist will cost $49.95 and requires that the user have
a GOLD license.

[Janet] Ohhh.,.. scratch that color

[Carl] scratch that one too, please?

[Alyce] LOL

[Janet] Sorry, this chat thing is a bit new to me. Going
back to black now.

[Alyce] Janet is traveling incognito!

[Carl] Yeah, enough itchy colors. ;-)

[Bwebmaster] That is very reasonable, compared to $400+ for
Visual Studio .NET

[Carl] I'm glad you think so.

[Alyce] LB is so much easier to use, that you can't
really compare them.

[Carl] I know some people will think that an add-on should
cost less than the thing you're adding it onto.

[Janet] How is the testing going for LB4.3? There doesn't
seem to be any major glitches at first run.

[Bwebmaster] Yes, I got the free VB.NET thing MS is doing,
so far it has hogged memory and looked ugly

[Bwebmaster] The menus are blue! That

JohnD enters this room

[Carl] Well, there have been a handful of bug reports, but nothing
major. On the other hand I'm not sure how many people are really
trying it out. I should actively solicit some response.

[Alyce] John! Yo!

[Bwebmaster] Hey, John

[Janet] Hi, John!

[Carl] Hi John!

[Bwebmaster] As far as scripting the deploy application, I would use it.

[Alyce] Carl, what about the null terminator thing that Mike just
posted about?

[JohnD] Hi Carl

[Carl] Noted.

[Janet] I remember when 4.01 was tested. Immediately there were problems
with dll's. So this silence could be a good tihng.

[Carl] Not sure I know what null terminator thing you mean?

[Bwebmaster] Dunno if anyone's familiar with Inno, but you
write out scripts that it 'compiles' into a setup program

[Alyce] Unfortunately, a lot of folks prefer to wait for an
official release.

[Alyce] Are null terminators necessary to pass strings byref
into api calls?

[Alyce] It seems they are no longer needed.

[Alyce] Inno takes scripts and runs from the command line?

[Carl] Since v4.03 is almost exclusively fixes, this will
hopefully help prevent too many issues from arising. But you
never know.

[Bwebmaster] Basically, I could use such a feature to automate
the entire depolyment process

[Alyce] Carl, why would we use the mainwin on debug feature?

[Carl] So you're looking to fix that information in the docs?
Let me get back to you on that.

[Alyce] Right...

[Janet] I have to leave now. I'm really sorry I can't stay longer.
I'll look for the archive later to see if I've missed anything.

[Alyce] Bye Janet. Take care.

[Bwebmaster] I use it to make sure varaiables are what they should be

[Bwebmaster] And then firgure out what went wrong

[JohnD] By Janet

[Bwebmaster] which would be much easier with what assist is offering

[Carl] That new feature was inspired by Wilf Hey, who is a
columnist for PC Plus magazine. He wanted to be able to put
debug strings in his code, and then be able to look at those
strings without having to comment out the nomainwin statement
and then uncomment it.

[Janet] Bye, all!

[Alyce] VB has a debug.print command and it prints stuff to the
immediate window in the IDE. I guess the 'open mainwin on debug'
would do the same thing.

Janet exits from this room

[Carl] By Janet.

[Bwebmaster] Alyce, what version of VB do you use?

[Alyce] I guess I either use the debugger, or print info to
the mainwin. I'll have to try them in tandem.

[Carl] Aside from Assist, that feature is the only new thing i
n v4.03, unless I'm forgetting something. :-/

[Carl] And the bugfixes of course.

[Alyce] I think that's all.

[Carl] Some people love to pepper their programs with debug strings.

[Bwebmaster] Well, that's pretty good

[Alyce] John, what do you like best about Assist.

[Bwebmaster] Will this be the last 4x LB release?

[Alyce] Carl, that gives me an idea...

[Alyce] If we could have a debug.print type command, it
needn't be compiled into the TKN.

[Alyce] As it is, we need to remove those debug strings
before tokenizing to reduce the size.

[Bwebmaster] Hey, that sounds nice!

[Carl] I'm not sure if this will be the last v4.x. There
will probably be another release of Assist for LB4 if
nothing else.

[Carl] Yeah, that's a good idea for LB v4.04. :-)


[Carl] LB5 won't even have TKN files.

[Bwebmaster] Well, if this is the last 4x, then LB5 would be
priority, which is fine by me

[Alyce] Ooo, tell us more!

[Bwebmaster] Just how does that work?

[Alyce] Will you bind the code to the runtime engine?

[Bwebmaster] Will it be embedded inside a runtime as a custom resource?

[Bwebmaster] The TKN, that is

[Carl] LB5 will embed its programs into the runtime engine.

[Alyce] That sounds great. Is Scott working on LB5 with you?

[Bwebmaster] Will this affect speed for the better?

[Carl] But not as a TKN file treated as a resource. There will be no
intermediate format at all. The compiled objects will live in the runtime
engine as native Smalltalk objects, just like everything else in the
runtime engine.

[Carl] Yes, Scott is working on this with me.

[Bwebmaster] Cool! That sounds like it would speed up execution

[Alyce] This sounds really exciting!

[Carl] Liberty BASIC 5 will blow LB4 away in terms of speed.
Some of you may know that I quoted a 5x factor before.

[Bwebmaster] Sounds like real-time 3D will be possible

[Alyce] Are you considering a feature that allows us to create
graphics in memory?

[Bwebmaster] Which would be great, because I've been begged to
make a 3D game

[Alyce] (I'm still in "Freeform mode!"

[Carl] I really want to do that Alyce. Right now I'm just busy
trying to get all the basics working. We're getting ther.

[Carl] there.

[JohnD] I'm trying to join in, but I'm playing with kids too.

[Alyce] Gee, John, you'd rather play with the kids? Me, too!
Can I come over?


[Alyce] Carl, do you have an eta for alpha or beta testing of LB5

[Carl] I'm not quite sure yet, but it looks like we may be able to
do even better than a 5x speedup.

[Bwebmaster] Good question

[Alyce] More than 5x as fast sounds very impressive.

[Carl] Well, we're shooting to demo what we have in a couple of months,
so perhaps we will have an alpha release in the Spring.

[Bwebmaster] That would make 3D more than possible

[Carl] That will be for Windows, Mac OS X and Linux simultaneously.

[Alyce] Will the alpha release be cross-platform, do you think?

[Carl] More or less simultaneously.

[Bwebmaster] Can you give us a scoop on what features you plan to add?

[Carl] Yes.

[Alyce] Um, gee, I shoulda waited a minute.. you answered me before
I asked!

[Carl] Hmm. I didn't really come prepared to answer that question.

[Alyce] I have an old laptop with Linux installed. I guess I need to
get a mac mini to test the mac version!

[Bwebmaster] Well, how about what would be do-able

[Carl] Certainly the alpha version will be quite limited.

[Alyce] Hey, cross-platform and a big increase in speed... those features
sound great all by themselves.

[Bwebmaster] That's true,Alyce

[Carl] One cool thing I would really like to so with LB5 is make the
IDE as scriptable as possible.

[Alyce] Would it be kind of like Brent's vivifire?

[Bwebmaster] So I could add menus and stuff using LB scripts?

[Carl] Yeah, some hooks would be there so you could add your
own utilities to LB.

[Alyce] Macros, maybe?

[Carl] Some commands would be added (yet to be determined)
which would give you access to information about the IDE,
and ways to interface with it.

[Bwebmaster] So for instance, I could replace the existing icon
editor with Alyce's?

[Carl] Hehe.

[Carl] Sure.

[Alyce] B, you can add TKNs to the run menu right now.

[Bwebmaster] well, it be great to just outright replace it

[Bwebmaster] No offense Carl

[Carl] In fact it would be sort of holy grail if we could actually
write the LB editor in LB, right?

[Alyce] That would be quite interesting, Carl.

[Bwebmaster] Sounds like somthing in one of the

[Bwebmaster] 'not in this issue' part of the newsletter

[Carl] No, I'm not kidding.

[Bwebmaster] It was something like 'Carl to write new version of
smalltalk in LB, and then write LB 5 in it'

[Carl] But I'm not sure we're going to do it either. Still...

[Alyce] You know, the lesson browser is way under-used.

[Carl] The first prototype of Smalltalk was actually written
in BASIC. Really.

[Carl] That's an interesting point Alyce.

[Bwebmaster] Talk about irony...

[Bwebmaster] Hey, I actually use it for versioning

[Carl] What do you use for versioning?

[Alyce] You use the lesson browser for versioning?

[Bwebmaster] the lesson browser

[Carl] Oh. That's a fun idea.

[Bwebmaster] Yup, but LBA will replace it

[Alyce] You need to get Assist! Really, the versioning is my
favorite tool in it.

[Carl] Yeah, I really need to get a copy of that too.

[Bwebmaster] I am thinking about putting the newsletters in
lsn's for archiving

Dan enters this room

[Bwebmaster] Well I would get assist if it will hurry up and be released

[Alyce] Hey Dan!

[Bwebmaster] Hi dan

[Dan] Hey

[Carl] One thing I think is a feature that needs to be in LB5 is
the ability to run it from the command line without a GUI, so you
can use stdio for cgi scripting and other similar stuff.

[Carl] Of course the Mac prealpha does this already.

[Bwebmaster] Command-Line scripting with LB would be, um, intresting

[Dan] That would be nice

[Alyce] CGI scripting? That's a whole new area.

[Bwebmaster] Which CGI?

[Carl] It would open up a completely new range of applications for LB.

[Dan] Itd be easier than learning PHP and such

[Carl] common gateway interface.

[Bwebmaster] That it would

[Carl] It's used for web programming a lot.

[Bwebmaster] So I could intertwine CGI with LB?

[Bwebmaster] That could be great for web-based apps and web scripting

[Carl] You could use LB instead of Perl or other scripting languages.

[Alyce] Carl, do you mean LB would run on a server, and run scripts?

[Carl] Yes.

[Bwebmaster] Yay!

[Dan] <LB? t$="<html><body>Rawr</body></html> ?>

[Alyce] We'll have to get Jerry to write "Creating Cool Web Pages
with Liberty BASIC."

[Bwebmaster] LOL!

[Bwebmaster] It would probably be <script language="Libertybasic"

[Carl] And if you have a Mac running as a server now, you can go and
download a version of LB that does that

[Bwebmaster] I don't even want to think about how much a Mac server
would cost

[Carl] Even though I versioned that LB5, it's really a version of LB4
without any GUI commands.

[Dan] VBScript and Javascript are != than server side scripts

[Carl] The next time we do an LB release for the Mac it'll be based on completely new code.

[Bwebmaster] LB4 + Mac (-GUI)

[Bwebmaster] I can think about my LB5 testimonial: 'It saved me
mucho mula on web hosting'

[Bwebmaster] I wrote a server program in it, and now automate my
entire home

[Dan] I got my own domain + 4.5 gigs for a year for only 10$

[Bwebmaster] That last line should have been in quotes

[Bwebmaster] Where do you get that?

[Carl] I guess, but Perl and most of those other popular scripting
languages are free. You could say "I made my web hosting much more fun."

[Bwebmaster] My hosting is $50+

[Dan] "...and easier"

[Dan] 10$ for the whole year, not 10$ a month

[Bwebmaster] Cool!!

[Bwebmaster] Where at?

[Alyce] Carl, what needs to be tested the most for Assist and the 4.03 release?

[Carl] Wow, that's good question. For LB guess the best thing to do
is to run as many of your programs on the new version and see if they
run okay as TKNs too.

[Carl] For Assist, it just needs to be used, since it's basically
all new stuff.

[Bwebmaster] Well, I haven't experienced anything odd in the running

[Alyce] Ah, check out the runtime engine. I'll do that.

[Carl] Thanks.

[Alyce] Believe me, I've been using Assist a lot!

[Bwebmaster] Will test TKN's once I go gold on christmas

[Bwebmaster] At least I think I'm going gold

[Bwebmaster] That's supposedly tied to some school thing

[Carl] I'm going to try to ship this before Christmas, but you can still
test TKNs at least in the IDE.

[Bwebmaster] I meant testing my own TKN's

[Carl] You can test your own TKNs right now. Just make a TKN and then
use the Run TKN menu item.

[Alyce] Can't you tokenize without the gold version?

[Bwebmaster] That's news to me

[Bwebmaster] Good news, though

[Carl] Yes, you can. You just can't use the runtime engine.

[Carl] BRB

[Bwebmaster] huh?

[Bwebmaster] nevermind

[Alyce] BRB = be right back in chatspeak

[Bwebmaster] Gotcha

[Carl] ok

StefanP enters this room

[Carl] Hi Stefan

[Bwebmaster] Hi Stefan

[Alyce] Hi Stefan

[StefanP] Hello to all

[Bwebmaster] Carl, can you tall us some features that would be
'do-able' in LB5

[Bwebmaster] err, tell us

[Carl] So, in case people don't know. PC Plus now has a regular
column that teaches Just BASIC.

[Alyce] I don't think I have access to PC Plus, but that sounds

[StefanP] Carl, thanks for fixing the scheduled task issue.

[StefanP] I had some tests today because of a thread from the JB forum.

[Bwebmaster] Carl, can you tell us some features that would be
'do-able' in LB5? Please?

[Carl] Well, I've been so busy working on the technology platform
for the new version I haven't really solidified a roadmap for new features.
As we have already covered here, it'll be cross platform...

[Carl] It'll be more scriptable...

[Carl] It'll be faster...

[Carl] Also, it will have a better eval() function.

[Carl] My pleasure Stefan. :-)

[Bwebmaster] the evalx() thing that was on the wishlist?

[Carl] I'm going to try and add more widgets.

[Carl] Evalx?

[Bwebmaster] more widgets are welcome

[Carl] Sorry, don't remember that one.

[StefanP] Seems that this is fixed now, have to check tomorrow
at work, with some more complex programs

[Bwebmaster] On the wishlist board, someone said something about
an eval() that would run LB Code

[Bwebmaster] And I think it was called evalx()

[Carl] Liberty BASIC hasn't had a spreadsheet widget for a long time,
so you'll see that reemerge more than likely, and toolbars and tabs.
Submenus too.

[Carl] I'm eager to hear how that works out, Stefan.

[Alyce] Oh yeah!

[Bwebmaster] The hardest-to-make API controls will be native
LB in LB5

[Carl] Yeah, the new eval function should be able to execute whole

[Carl] Perhaps even bunches of them, for that matter.

[Bwebmaster] Guess I can postpone my scripting language project

[Bwebmaster] That will make it 50 times easier

[Carl] And a tree widget too.

[Bwebmaster] tree as in treeview?

[Carl] Right. Treeview

[StefanP] The new widgets sound terrific, the spreadsheet
is one of the most wanted it seems.

[Bwebmaster] I tried doing a spreadsheet with a graphicbox in JB

[Dan] Tabs sound nice..

[Dan] Tabs sound nice..

[Bwebmaster] tabs are hard to do right now

[Alyce] Would the spreadsheet by like the old one, or might it
be ODBC compatible?

[Carl] I do want to temper people's expectations though around size.
I'm going to try and make LB5 as small as possible, but with this
new Smalltalk platform I don't have a lot of experience yet. It's probably
not going to be as small as what we have now but it won't need a bunch of
support libraries.

[Bwebmaster] Size is not an issue for me

[Bwebmaster] At least not that much of an issue

[Carl] I'm not quite sure on the details of the spreadsheet. I wasn't
thinking of making it a database widget.

[Bwebmaster] Well, I'm sure that would be a big use of it

[Carl] I know that a lot of people think LB4 is already too big, even though
compared to a lot of other languages it isn't especially big.

[Bwebmaster] I'll gladly give up a MB or two for the ease of use

[Carl] I also plan to enhance the syntax for working with widgets in LB5.

[Bwebmaster] Enhance?

[Dan] You would give up 2 MB?

[Alyce] Will we still send commands in strings?

[StefanP] LB 4.03 is 3.5MB, Pelles C is 6.7MB

[Bwebmaster] I would give up 2 MB for the ease of use LB has

[Dan] X_x'

[StefanP] So up to 5MB would be good.

[Carl] Yes. You will still be able to do
#handle "command "; x; " "; y for backward compatibility,
but you will also be able to do this #handle command(x, y)

[Bwebmaster] Compression will make everything OK

[Dan] Thats a bit to much in my opinion

[Carl] This will be easier in most respects, and will probably
execute faster

[Bwebmaster] sounds like how I'm doing my scripting language

[Alyce] Do you think backwards compatibility is important?

[Alyce] The new syntax sounds more standard.

[Carl] It probably won't cost me much time to keep the old syntax
parsing in there.

[StefanP] Carl, saw the new syntax post on the usenet, you received
positive reactions.

[Bwebmaster] How would commands that request variables work?

[Carl] The new syntax is also a stepping stone to the new BASIC I'm
working on. You knew that was coming, right? ;-)


[Carl] Commands that request variables would do this
var = #handle, command(x, y)

[Alyce] Carl, maybe you should call the new BASIC Voldemort

[Alyce] I like that syntax.

[Carl] Why? :-)

[Bwebmaster] Voldemort?

[StefanP] The new syntax is aswell a request of some consumers,
if I am corect

[Alyce] I'd also love to put expressions into api calls.

[Carl] I have actually wanted to change that syntax for some y
ears now.

[Alyce] Harry Potter? Voldemort's name isn't to be spoken?

[Carl] The new platform will make this a good time to do it.

[Bwebmaster] Don't follow Harry Potter, so I wouldn't know

[Carl] Ok, I get it. Alyce makes the point that I know what the
new BASIC is called but won't say it (until I have something to show).

[StefanP] Carl, did you get my replay to the Assist testing invitation ???


[Alyce] Yes, just a little joke, Carl.

[StefanP] I am really willing to help on this .

[Carl] Stefan, doesn't seem like it.

[StefanP] I hate typos >:-(

[Alyce] I'm copying the chat and will upload it for others
to read. This ought to get people interested and excited.

[Carl] I'll take care of it. Thanks.

CodeSolo enters this room

[Carl] Hi CodeSolo

[Alyce] Stefan, you will love Assist.

WillieLee enters this room

[Bwebmaster] Hi CodeSolo

[Alyce] Hi CodeSolo.

[StefanP] Hi CodeSolo

[Bwebmaster] Hi Willie

[Alyce] Yo Willie.

[Dan] I would love a change in the syntax of calling dlls..

[Carl] Hi Willie

[CodeSolo] hello all...

eaglesoar enters this room

[Dan] Make doing all those DLL calls easier and less bulky.

[Carl] Really? I like it the way it is, actually. But I'm open to

[Alyce] Hi Eldron

[WillieLee] Hey! WhazzUp?

[Carl] Hi Eldron

[eaglesoar] Hi everyone!

[StefanP] I hope so Alyce, I like all of the features of the
4.02 version.

[Dan] I find that calldll #user32, "CreateWindowExA",blah blah blah

[Alyce] My suggestion is to allow expressions as arguments in
API calls. That and array elements.

[Dan] is pretty bulky

[StefanP] Hi eaglesoar and WillieLee

[Alyce] Dan, most other languages require declarations. LB makes it
really easy to call DLLS.

[Bwebmaster] If DLL calls were to be revamped, I'd like to see
somthing like most other languages have

[Dan] Declarations make it easier and more understandable in my opinion

[Carl] The new version of Assist isn't much different than the first.
Less buggy, a little cleaner and easier perhaps. The documentation is much
improved though.

[Dan] but probably not to others

[Bwebmaster] as far as var = calldll #handle functioname(params)

[Alyce] The docs are great

[WillieLee] Since dll/api calls are hooks into another's subroutine/functions,
you're pretty much locked into passing the needed information.

[Alyce] That sounds okay, bweb.

[eaglesoar] Carl, forgive my ignorance, but will the Assist be
out with version 403??..or is it already out?

[Dan] I just dont like how strict calldll is

[Carl] Assist will be released at more or less the same time as v4.03.

[WillieLee] You have an obvious choice when it comes to calling
routines from a library... If you don't want to code in the required
parameters, then don't use the routines.

[Dan] like alyce said expressions and arrays arent passable

[StefanP] The Assist docs are really greate, they keep shining
(since this is the only thing I can test for now)

[Bwebmaster] Syntax would all line up, as far as internal functions,
dlls, and widgets

[Carl] Well, that's a good point Dan. I'll take good look at that

[Dan] And the limited amount of types..

[StefanP] Not as limited as VB

[Carl] I'll do what I can with that.

[Bwebmaster] Have anything to say about user libraries (while we're on library calling)

[Dan] VB isnt limited in that area

[Carl] Now user libraries are an imporant feature. I do aim to have that feature in LB5, but I

haven't designed it yet.

[Bwebmaster] I have a few suggestions for user libraries

[Alyce] Carl, how would they work? Similar to DLLs?

[Bwebmaster] My suggestion would be to have a runtime DLL

[WillieLee] And just for grins... not supported by the forums...
how about inline assembley for time critical operations?

[Carl] I was thinking they would not be separate files, but
compiled into your program. On the other hand perhaps we could do either.

[Dan] OMG

[Bwebmaster] That would have functions and subroutines stuffed in it

[Dan] Inline asm <3

[Carl] The libraries wouldn't be a Windows DLL, but some other
format especially for LB.

[Dan] Thats never going to be in there..

[Carl] Inline assembler? No.

[Dan] Though so..

[StefanP] Including into the main program will be prefred by most younger

[Dan] Thought*

[Bwebmaster] Well, I think that would be cool, but you're the boss

[StefanP] You can create a DLL olding your assembler code

[StefanP] Meant Holding ...

[Bwebmaster] But then I have to learn Assembly!

[WillieLee] Maybe support for hooks to Thistle...?

[Carl] Of course the most essential feature of libraries
is to support something like include, but we'll try to do
better than that.

[Bwebmaster] A Thistle hook to LB would be something Alyce
would have to do

[Alyce] Willie is full of vinegar today...

[Carl] Yeah, and thistles...


[Bwebmaster] The only thing I would see there is using thistle to
create a dll, and I'm not sure if FASM has that

[StefanP] What did he had for lunch today ???

[WillieLee] Includes are good.. maybe a tweak to allow various
includes to appear anywhere in the code, not just at the beginning.

[WillieLee] I just returned from lunch... how'd you know? Surf & Turf.

[StefanP] So we are back to CALLDLL syntax ...

[Bwebmaster] Here's an idea: a library of LB functions 'in' the IDE,
that would be dynamically compiled into your program

[Bwebmaster] As opposed to seperate user libraries

[WillieLee] Just so a "Hello World" program doesn't become 5 meg in size.

[Carl] That's what I was thinking. Compiled into memory and then
deployed along with your app.

[Bwebmaster] Inside the executable as a smalltalk object would be
preferable to a seperate file

[Carl] Yes, inside the exe.

[StefanP] No included junk like EXEs for DOS having portions
for MessageBox creation, brrrr

[StefanP] I would prefer a clean tiny bit of program

[Bwebmaster] Do I want to know what that means?

[StefanP] Having an EXE of 100 kB, when 20kB are used only...

[Carl] LB5 isn't going to compile to binary, just to clear that up.
This development platform is going to produce a runtime of similar
size to LB4, and perhaps bigger.

[Bwebmaster] Oh

[Carl] It won't require lots of support libraries though,

[Bwebmaster] Will LB commands be dynamically compiled into the
runtime as needed?

[Bwebmaster] Or will everything stay in and be used as needed, with
custom commands/functions added as used

[Carl] LB commands will not be dynamically compiled, unless you use
the eval() function for that purpose.

[Carl] Now I'm not sure what you mean.

[Bwebmaster] Well, only the commands and functions needed would be
thrown into the runtime

[Bwebmaster] as opposed to having all native commands ready inside
the runtime

[WillieLee] So... A Hello World program written for the console (stdio)
window will continue to link in the 10 meg of gui support?

[Carl] Yes, we could do that, but there will still be a Smalltalk
object memory in there to support everything else. I will try to
make this as small as possible, but since I haven't spent much time
on this I don't know how big or small the result will be. I just don't
want people to think this is going to be really small,
because it isn't.

[Bwebmaster] I'm not sure we are on the same page

[Carl] Willie, right now Liberty BASIC produces a nice small
TKN file from your source. Then the runtime engine and it's
support DLLs are more than 2MB on top of that.

[Bwebmaster] if there is a smalltalk object for command set 'a',
and another for command set 'b', but only command set 'b' is used,
then command set 'b' would be compiled into a runtime file, but command
set 'a' would be left out

[eaglesoar] Alyce, what new features are you working on for the next
release of LB Workshop?

[Bwebmaster] If user libraries are done like it is being talked about,
then it sounds like that could be done

[Carl] The new LB will also need to provide more or less the same kind
of support for your program, but instead of it being 8 files it'll be just one.

[Bwebmaster] OK

[Alyce] Eldron, it will be a bugfix with some tweaking of the toolbar maker.

[WillieLee] It seems that you're approaching a threshold where LB
is over kill for a learning tool and deficient as an enterprise tool.

[Bwebmaster] I think there is a weird sweet spot there

[Carl] I'm going to do my best to make that one file as small as
possible. I'll be happy if it doesn't get much bigger than 3MB.
We'll see.

[eaglesoar] no new gadgets???

[Bwebmaster] I like where LB is headed

[Bwebmaster] We talked earlier about new controls

[Bwebmaster] There will be a few new ones

[Alyce] I think Bill, er, Willie has hit the problem
Carl wrestles with for LB's development.

[StefanP] Seems that this is another path into "Keep it simple,
but powerfull"

[Bwebmaster] tabs, treeviews, and submenus were talked about

[Bwebmaster] carl, I have a question about menus

[Carl] I can add an option during deployment to remove
things that aren't used. The reason it would be an option
is because there would be no way to know what will be needed
when a program uses the eval() function.

[StefanP] Eldron, LB5 will get new native controls

[Bwebmaster] Will there be exensions for menus

[Bwebmaster] That would be helpful for sub-menus

[Bwebmaster] Instead of a branch, you could use a menu handle
and extension

[Carl] Yes, I plan to support submenues.

Janet enters this room

[WillieLee] I think LB is a fun product. When used as a learning
tool by a proficient instructor it is a great introduction to
logical thinking and programming.

[Bwebmaster] Welcome back, Janet

[StefanP] Hi Janet

[Janet] HI, Stefan. HI, everybody.

[Bwebmaster] Anyway, menu handle extensions could be
used to add sub-menus

[WillieLee] It makes my teeth hurt when I see the young students
approach the forums with requests for extremely advanced techniques.

[WillieLee] And they still have trouble spelling BASIC.

[Bwebmaster] Ditto

[Janet] I'm dressed and ready to go. I can only stay a few minutes.
Great to see everybody here. Don't let me interrupt.

[Carl] Hi Janet

[StefanP] Thats the time I think, begin with the hard stuff, to fall
back to the basics

[WillieLee] It sorta seems like LB hase reached the point of becoming
two different products. That's what I seem to see in LB 4.xx
and %.xx and "SomethingNew.xx"

[StefanP] Hit the brick wall, before thinkin about a way to get around it

eaglesoar exits from this room

[Bwebmaster] Well, there is the new BASIC

[Bwebmaster] Or whatever it will be

[Carl] I'm going to try and maintain as much backwards compatibility
as I can with the move to LB5.

[Alyce] Or, as Jerry says, 'ready, fire, aim!'

[Bwebmaster] That is a good way to hurt someone

[StefanP] It would not be to hard to create a tool to translate old syntax to new

[Carl] Let me throw out a question here, and then I'll duck

[Bwebmaster] OK, but be ready to run

[WillieLee] Why not let LB 5 forge its own paths without being
encumbered with backward compatibility and continue to support
4.xx as the learning tool?

[Janet] I agree with Willie

[StefanP] Janet has mastered one for ATARI BASIC to JB

[Janet] haha!! That's just simple word parsing. But it does show
it can be done.

[StefanP] Not the full syntax, but useable foe one project

[Carl] How important would native widget support be for LB5?
I already know what some of the answers to this question are but
I want to hear from all of you? The reason I ask is because with the
cross platform nature of this product it will be somewhat simpler
if we provide really robust cross platform

[Carl] emulated widgets.

[Bwebmaster] I would say that API controls should be used whenever possible

drick enters this room

[Bwebmaster] But obviously, some systems won't support controls thjat
other systems have

[Bwebmaster] So emulated widgets are OK when necessary

[Bwebmaster] Speaking of emulated widgets, is there a chance of an API
texteditor being put in for LB5?

[Carl] My intention up to this point has been to initially provide native
widgets on Windows only, and only the ones that people are used to making
API calls on.

[Carl] The rest of the widgets would be emulated.

[WillieLee] With MAC going to Intel, I'd say support api/and unix like
widgets as fully as possible, with a very robust user function capability.

[Bwebmaster] Sounds good to me

[WillieLee] I think you guys were talking about that earlier with passing
arrays etc.

[Janet] Sorry, guys. Don't bother saying "Bye" I'll catch the rest of
this in archives. Hubby's got the car running....

[StefanP] Emulated widgets are the basis for a cross platform GUI design

Janet exits from this room

[Bwebmaster] Yup

[WillieLee] Emulation is good from another aspect... It would open the future
ability to use game engines for those wanting to write the Doom replacement.

[Bwebmaster] How will mac and/or linux api/dll calls work?

[Carl] How would it do that Willie?

[Bwebmaster] We are talking about widget emulation

[Bwebmaster] Not sure what you mean there

[Bwebmaster] Be right back

[WillieLee] With emulation, many hooks into various engines can be
used where the engine itself appears to be a widget.

[Carl] Obviously the calling of APIs on Win/Mac/Linux will break cross
platform compatibility. Having said that I will need to support
something like CALLDLL for Mac and Linux. It'll have a different
name though because there are no DLLs for these OSes.

[StefanP] Linux SLs are similar to Windows DLLs

[Carl] Well, I guess if some sort of OpenGL support arrives for this
flavor of Smalltalk it will hopefully work on all these platforms.
It's hard to see that far into my crystal ball.

[StefanP] SL ... Shared Library, DLL ... Dynamic Linked Library

[Bwebmaster] I'm back

[Carl] BRB

[StefanP] OpenGL would drastically speed graphics up, no flickering

[Bwebmaster] OpenGL is like DirectX, except cross platform, right?

[StefanP] DirectX is mostly used by gmes, where OpenGL is used by
CAD systems

[StefanP] Games, need a typofix ...

[WillieLee] True, but look at the trouble experienced now by those
wanting to call GDI routines in LB. It requires someone take thenm
by the hand and resolve each and every problem.

[Bwebmaster] Could OpenGL could be used for games

[StefanP] The GDI is sometimes hard, because you have to read a bit

[StefanP] There is no fast way, but some people have no time for

[WillieLee] Do they still teach reading in school?

[Bwebmaster] Good question LOL

[StefanP] OpenGL is coming from UNIX, I think. DirectX, I don't know,
perhaps M$

[WillieLee] Widgets, regardless of their source are still the best
way to go... and never mention any optional method of producing
the same result.

[Bwebmaster] DirectX is MS

[Carl] ok

JohnD enters this room

[Bwebmaster] Carl, what would you think of custom controls for LB

[StefanP] Cross platform is the next step, so emulate widgets

[Carl] OpenGL is often used for games. Quake for example.

[Bwebmaster] like OCX, except LB specific

[StefanP] Hi JohnD

[WillieLee] LB will have to adopt a couple of current strategies...
"just Say No" and "Don't Ask, Don't Tell".

[Bwebmaster] I am holding on to my hope for API controls in Windows LB5

[StefanP] This will make your program Windows only.

[Carl] Bweb, actually the Smalltalk platform comes with emulated
widgets, and it doesn't even support native controls yet even
though they have plans to. In the short term I will need to roll
my own native widget support for Windows.

[Carl] This will take some doing.

[Bwebmaster] Thats what I'm looking for

[Carl] In any case, the emulated widgets really look like real
Windows widgets. They did an excellent job on them.

[StefanP] How about thetexteditor widget, same problems as today ?

[Bwebmaster] My only concern is the added power the windows API
gives to controls

[WillieLee] If it will expedite things, use the emulated widgets for
early release and work on platform specific add-ons for later.

[Carl] That's a genuine concern.

[Bwebmaster] That is fine

[Carl] If the emulated widgets are very flexible and allow you fine
control over them, this would help a lot.

[Bwebmaster] I just need the power

[Carl] the POWER ;-)

[StefanP] If the features of the widgets are complete, there is no need for
API control.

[Bwebmaster] Will the text editor improve in LB5?

[WillieLee] Emulation would seem to open an immediate window into cross
platform coding to the masses with the complex being reserved for future

[Bwebmaster] No offense, but the current one is pretty cruddy

[Carl] Well, consider that it is written from scratch, and
it's a pretty nice piece of work. On the other hand, its undo
support is pretty bad. What else would you like to see improved
in the text editor?

[WillieLee] Actually, the MS text editor isn't anything special.

[Bwebmaster] Word-wrap is pretty big

[Bwebmaster] So is redo

[StefanP] line wrapping is one of the most wanted

[WillieLee] Fix all with a ri9chtext editor widget.

[StefanP] readonly support, may be

[Bwebmaster] that's an idea

[Carl] I believe the new editor control will be better in both of
these areas, but I haven't played with it much.

[Carl] The new one isn't a richedit control. Sorry.

[Bwebmaster] Well, good to know its being worked on

[Bwebmaster] How 'bout a cross-platform, read-only RTF?

[Bwebmaster] Or, better yet, LB custom controls so one could
write his/her own

[Carl] Can't answer that one right off the top of my head.

[Carl] Perhaps we might be able to support LB written widgets.
That's an interesting idea.

[WillieLee] With a "read/Write" style bit...

[Carl] You can actually already do that, to a point.

[Bwebmaster] I would like custom controls.

[Bwebmaster] I have wrote a few custom controls, but packaging
them would be nice

[Carl] I'm not sure what you mean by custom controls.

[Bwebmaster] like an LB-only OCX

[Carl] Well, that's an idea.

[Bwebmaster] Then they could be addressed using standard LB syntax

[Bwebmaster] customcontrol "mycontrol.lcc", X, Y, Width, Hieght

[Bwebmaster] How sweet would that be?

[StefanP] Then there comes Windows XP SP3 and brackes all ...

[Carl] Don't even go there. ;-)

[StefanP] Like with the MFC library controls

[Bwebmaster] LCC is Liberty Custom Control, BTW

[Bwebmaster] I may write a newsletter article on that

[Carl] Or with the way they broke things with their screen saver lockout?

[StefanP] Or missing COM port support with XP RTM

[Bwebmaster] I could tease MS all day long, but you have to give
them that they have wrote a very successful OS

[Carl] I'm thinking that unit testing might make a nice feature
in a future version of Assist.

[Bwebmaster] Unit Testing?

[Dan] God, you guys are still talking..

[StefanP] Device testing ...?

[StefanP] Its 23:25 in Austria now, what should I do? Go to bed ...

[Bwebmaster] We've had great discussions about controls, libraries,
MS errors, and all kinds of good stuff

[Carl] Unit testing is where you write testing scripts that exercise
your code. You would add one or more test scripts to an Assist project.
Then you would run them as you make changes toy your program. Tests
that fail give you an early indication that you've broken something.

[Bwebmaster] Sounds pretty good for stuff like LCC's and LUL's

[Alyce] 'bye y'all...

[Carl] Then you stop what you're doing to fix things so the tests pass.

Alyce exits from this room

[Carl] Bye Alyce!

[StefanP] Seems like a feature of the new language "Voldemort"

[Carl] Unit testing is good for lots of stuff.

[Carl] Yeah, black magic.

[Carl] And then there were 7.

[Bwebmaster] LCC being Liberty Custom Control, and LUL being Liberty
User Libraries

[Carl] Or LBL. Liberty BASIC Library.

[Bwebmaster] LUL is to similar to LULL

[Carl] NULL

[Bwebmaster] I like LBL better

[Bwebmaster] NULL?

[StefanP] BTW, will the scheduled task fix make it into JB?
Had a question about that at the JB forum.

[Bwebmaster] Speaking of which, will there be a JB 1.02?

[Carl] Yes. All applicable fixes will make it into JB.

[Carl] Yup. Probably in Jan or Feb.

[StefanP] NULL ... No Useless Linked Libraries


[Carl] Well, it's been great. I really should sign off.

[Bwebmaster] Bye Carl

[StefanP] Bye Carl, have a nice day.

[Bwebmaster] I am going to go work on a newsletter article about
custom controls

[Carl] bye

[Bwebmaster] See ya!

Bwebmaster exits from this room

Carl exits from this room

[StefanP] Seems to be time to go to bed now, see you at
the forums.

StefanP exits from this room

WillieLee exits from this room