'apostrophe:
news from the qbasic forum
[2006 feb 17 issue 2]
= from the editor =
welcome to the second issue of 'apostrophe - the first issue seems to have went over better than i expected; from now on it will be hosted in qbe one day ahead of when it is posted on my website, so the ' page on my website will technically only be an archive of past issues.
i'm surprised to have another issue out so soon, in my experience i'm not used to watching the forum and having so much to report. maybe i just wasn't in that frame of mind; although i still believe we're much more active than we used to be, as far as actual projects go. (it's gotta be enough for me to fill a couple pages, reporting on what i see when no one else here submits stuff to qb express.)
anyway, if you're reading this, you probably came for news, so here it is, in brief:
1. matthew is offering web space.
signup takes only half a minute, and it's worth it for the pm feature alone- that i designed and matthew implemented and scripted flawlessly, i might add... the pm feature can be integrated into your websites (on, and/or outside of matthost) so that people can leave you a message from your site (for those of you that wouldn't write your own script for that, anyway. matthew really did a great job.)
2. 'apostrophe has moved!
i'm tired of angelfire abusing my visitors, (ads are understandable, ads i'm okay with; what angelfire does is just spam and intrusion...) and i'm not sure what i'm going to do with the site, but i have already moved my best stuff to http://peltkore.net/~mennonite now and if nothing else, i can keep each of the issues of 'apostrophe here (in addition to all my other site content, that i'm in the process of cleaning up and transferring.)
3. mark said nice things-
i still don't personally like the way mark is doing things in general, and i'm sure this will come up again, but until then- i liked his letter/article in qbe #18. i feel compelled to add that when you're really effed off about something someone is doing, it's -so annoying- when that person is reasonable, polite, and patient. thank god no one's perfect.
seriously tho, this is what some of the people on the forum are thinking, but, don't blame the forum. this is hardly something we all agree on (as if there is anything we all agree on other than liking qb.) so there, fair enough. besides, i've kind of given up on things getting better on that front.
4. kristopher, code or die gold medalist:
our new forum regular likes circles. a lot. so in the past few weeks he's posted maybe a dozen programs he's done with them, some as intros to trig. i used to love doing stuff like that (although pity, i never got much into the math.)
5. if i do say so myself...
in the previous issue, i told you about my qbasic tutorial. to me, it wasn't just a tutorial; it's something i've been wanting to put together for many years... and of all the qb projects i've ever worked on, it's probably the one i'm most pleased with.
now there is an fb project i'm even more pleased with. some people still think i'm actually against fb somehow, it's not so, but that's not what this issue is about. iki is my new favorite project- (of course, i will still finish the tutorial-) the coolest thing i probably ever worked on. i'll be sure to tell you more about it in this issue.
and there is a little surprise i have almost nothing to do with at the end of this issue- i dunno how many people are going to skip to the very end, but... if you don't it will be worth the wait. good stuff in this issue...
so- even though i don't believe it, here is issue 2- i hope someone reads it and gets something out of it, just as i always manage to get something out of qbe. cheers.
we have bots in our chatroom, now- two of them. llipse wrote the first one, with a mix of java and fb, and eventually worked the rest of the java out and developed it into a pure fb-program.
he then put it up for matthew to download, and matthew made his from that version.
at first i found them irritating, they just spammed the room- but they've grown on me and i've taken a liking to the cheery way they do exactly what we expect them to do. amongst other features like keeping track of url's, matthew's bot- "azile", says "hi guest: mennonite!" when i say "hi bot" :)
"azile" of course is eliza backwards, named after the famous ai-simulation program used by ancient computer geeks to vent their frustrations before the advent of internet (er, bbs?) pornography. my favorite version is still the one from xyzzy productions :) the gif screen was a nice touch, although it shouldn't have made as much of an impression on me as it did. (but it did.)
llipse's bot, which is simply called "nBot" but also logs in as "n54messenger" sometimes, has the extremely useful feature of notifying us of a new post in the forum and subforums while we chat. i'm very pleased with that one.
anyway, whatever annoyances they caused in the beginning, the bots have become a welcome addition to the room, and have made themselves useful. considering they are only basic programs, they add just a little more character to the room than you'd expect them to. they also provide an excellent prototype for other people interested in perpetrating such silliness, and if i recall correctly, llipse hopes to update them to include other engines for other kinds of rooms. fun.
= freebasic bots in the qbasic chatroom =
[menn]
= no discussion of the "fb thing" in issue 2 =
whoops-
ok really, nevermind that right now.
= they're round, you know: kristopher windsor on the forum =
i think i planned an article here, but the most relevant thing is the screenshots, so i'll just put some up. the images are actually pretty self explanatory, and you can click them to get the source code, if you like. i really did love doing random stuff like this when i was younger- sometimes i wish people would go back on occasion to just some pure fun instead of "producing" all the time. not everything has to be project oriented, especially in basic- the only language that really doesn't necessitate a project to be worth using (i think...) kris has clearly been having a lot of fun.
oh, and here's a preview of kris' latest project, which he's managed to continue updating despite a constant barrage of suggestions :)
it is so cool to have someone working on stuff like this.
welcome to the forum, kris...
[menn]
= iki =
earlier in january, i had the immense pleasure of using a program that i wrote. it's been many years, but i still love this about basic.
so i sat there, looking at the screen at a message like this one:
iki text utility also is a shell. if you do not like iki then you all can go to welcome to iki!
that was nice. 'so,' you ask, 'wtf is an iki?'
it all started with matthew and newkid, who were adding a wiki to a website and adding a wikicity about quickbasic, respectively.
this made me think, for the first time in a while, that there should be some kind of "offline wiki" that (at least in this case) combined essentially plain text with hyperlinking and quick, easy editing.
i kept trying to figure out the best way to make it so it could launch batch files, and it came to me that i could make it so it ran them from a "launch" folder, to keep things clean and simple.
now iki has such a shell feature, so i can even use it instead of a desktop. in version 0.3, most internet shortcuts will work, although for now they are restricted to the length from one end of the screen to the other. for longer links, and links with unaccepted characters, note that ANY website can be linked to via a batch in the launch folder. usually, however, it is quicker and easier to just make a link like this: [[http://peltkore.net/~mennonite]]
(and here is as good a place as any to mention that iki is not, nor intended to be a text browser for html. there will be a few- tags that are loosely based on wiki tags, but iki is not meant as an alternative to wiki either. as the website says, wiki is online, iki is offline- they have different purposes.)
when i realized the latest version was closer to working in xp because of the dos compatibility, i went ahead and added some code using the method earthborn introduced for knowing if a program is running in 9x or 2k/xp. it helped.
i also created a demo of the latest version that starts to tell a "choose your own adventure" type story about a princess that thinks living in a castle is boring. i hoped this would interest chandler, since he is always writing silly but really interesting stories on the forum - if i know anyone that could write a full-length story with lots of options to choose from, it's him.
it was llipse that discovered that you could make iki run better in 2k/xp if you compiled it in fbwin instead of fbdos, unfortunately it won't work as a shell or launch url's this way, due to a bug in fbwin. if you SHELL to anything, the getmouse function will stop returning coordinates until you reload iki. we couldn't find a way to code around this, but we didn't even think to play with setmouse, at the time. if anyone knows a way around this bug, please add a note to the suggestions page at the webwiki, here: http://quickbasic.wikicities.com/wiki/Suggestions_For_Iki ...the binary that comes with the iki source is pre-compiled in fbdos, which does not have this problem with SHELL and GETMOUSE.
(...obviously, "webwiki" would be a bit redundant under most circumstances, but i call it that to make sure no one confuses wiki pages and iki pages. i figure a little clarity shouldn't hurt anything.)
because iki is gpl, you can make iki into a special custom shell, or even a gui version or something- and you can release your own iki-derived projects online. (one of the features of 0.4 will be cleaner, better organized sourcecode ;) that is, if you want to... i am hoping that iki will fork into many semi-related projects, some of which i may write myself.
meanwhile, mystikshadows is pushing me to add features :) i'll see if i can- hopefully i can do a bit more with it, but already i find it's incredibly useful- and maybe, maybe more people will too.
that would be pretty cool.
you can download iki at this page on my new peltkore site, or leave suggestions and feature requests at the webwiki, if you like.
[menn]
Hello again! I am offering free web space at http://matthost.be/.
Here's how it started:
I found out that .be domains were free until January 31, 2006...
I took advantage of that offer and registered a ton of domain names.... and one was matthost.be.
So I set up a web hosting account and delegated matthost.be to it. Then I got to work on the script.
The script took me a few days to get to the point where people could register and edit text files
(no uploads).
I have modified the script to allow uploads and file renaming and deletion.
Then I placed google adsense ads on the side of every page on the site
(except for the pages hosted at matthost.be) to help raise more money for the qbasic.com fundraiser.
(the one I mentioned in the previous issue)
I plan to get a better web hosting plan for it...
What happens when the .be domain expires? I think I will likely move it
to an easy-to-remember second-level domain, or hopefully I'll be able
to renew it.
Bye for now!
= matthost.be =
by matthew
Plans for the future:
Features:
Limitations:
Well, I hope you try it out.
[matt]
yes, i promised a surprise here, this is what it is not: next issue i will be trying out a different style of reporting on qbasic forum news: if everyone hates it i will go back to the way i did this second issue.
and here is what the surprise is:
qbasic.
some of you are going to take this more seriously than others... i would have used freebasic, personally (you think i wanna tackle a BROWSER without flat memory access?) but there are a few reasons i've never attempted a project like this myself:
1. too much of a perfectionist to get started. this does in a lot of ideas.
so as you already probably noticed, kristopher has blazed this trail for us. he created qbrowser, which we already found a vulnerability in (links are SHELLed, so you have to filter > and | and < out of potential malicious link url's) and fixed (that's not too hard to patch, really, i've done it before) and showed us that regardless of our perfectionism and fancy new toys, SOMEONE is going to write a browser in qbasic.
bravo, kris!
of course there is only so much you can do with a project like that, until it is gpl. matthewr2_1 began work on his own browser shortly after qbrowser was released, and he's doing a fine job with it it so far. of course, like most text browsers (lynx comes to
mind) it's not as if anyone is aiming for full standards compliance. that doesn't bother me at all, i think if <p> and <a> and the closing tags for both can be handled, it will be good enough for me. the unsupported tags should simply be ignored - that is how html originally worked before all this standards nonsense.
(to me, html is such a free language that - while i try to code html in a simple way that is unlikely to fail badly in ANY browser ... although things do sometimes go amiss - strictly standardized html would be like an ANSI version of English. i mean, what are you going to DO with that? i think it's just a move towards the propriatary, actually. but as i
often do, i hope i'm wrong about this one... still, look at it this way: is lynx standards compliant? no... is it a good browser? yes! i don't much care for the w3c, and i question their real motives. i know that sounds terribly paranoid, but that doesn't make me less suspicious.)
that thankfully aside again, matthew has released his code under the gpl as he said he would, so now we can have some fun. there is a wiki at this address: http://www.mbrowser.da.ru/wiki so people can talk about mbrowser and make changes in the code.
personally i am too lazy to bother with this method, and the gpl allows me to work on my own fork of the project. "mnbrowse" will be on my peltkore website, and as i tweak mbrowser this way or that way to do what i want (like make sure it can handle <p> and <a> properly-) matthew can fold that code back into the main version if he wants to.
the great thing about this project is its potential: it is as unlimited as qbasic is (yeah, i know qbasic has its limitations, but we can do ALL that it can do.) and after all, there are still a number of projects to stretch what's left of qb (no thanks to ntvdm) to its very limits, like qbinux, etc.
(maybe matthew should talk to seb mcclouth about including a fork of it in qbinux. sadly i am one of the self-deprived-underprivileged few that have never had the sense to take a moment to download and try out qbinux, so i don't know if it has a browser yet or not. it's not like i haven't meant to.)
anyway, this should have been done a long time ago. well, now it has. bravo, kris - bravo, matthew.
matthew's official mbrowser website:
= anything else? =
web browser.
gpl.
2. i like SHELLing to wget, and that hadn't been promoted as a method yet. it's EASY, and some of us don't understand socket programming... although llipse does and matthew uses llipse's ws library in his freebasic projects.
3. didn't know anyone else that was interested, actually- besides me.
http://www.mbrowser.da.ru
and there is the news from the qbasic forum. i hope it was good for you, too.
until the next edition, happy coding :)
[2006 feb 17 issue 2]
[['archive]]
