BASIC's Comparison Matrix: ideas for content?
#11
(05-18-2022, 03:32 PM)madscijr Wrote:
(05-18-2022, 02:54 PM)CharlieJV Wrote: That is a mighty fine list of resources to lose myself in.  Thanks !

That's just me being OCD!
So much info out there, and I love those wikipedia comparison pages, all sorts of useful and useless info to waste your time!  Big Grin

Everything is interesting to me.  And everything is intertwingled.

Everywhere, everything I see is a squirrel.
Reply
#12
Lightbulb 
(05-18-2022, 05:53 PM)CharlieJV Wrote: Everything is interesting to me.  And everything is intertwingled.
Everywhere, everything I see is a squirrel.

I love that you did this using TiddlyWiki!

This makes me think of some awesome possibilities!

Write plugins in BASIC
How about a TiddlyWiki where you can program your own plugins & embed automation in tiddlers using QB64 or BASIC, instead of JavaScript?
The objects and OOP they use in TiddlyWiki was very complicated and hard to understand for a simple BASIC programmer like me! 

They lost me when they moved from the classic 2.x TiddlyWiki to the new engine. 
I much preferred the old format, 
and had a million plugins and customizations which took me years to get working just right, 
that just didn't seem compatible anymore. 
All the good stuff I used was missing or hidden from the new version, and I just didn't have time to re-learn everything. 
If it used QB64 or BASIC for the customizations, and stayed backward-compatible, that would make the learning curve much easier...

No Web browser
The other reason I got away from using TiddlyWiki was too many headaches with browser security getting tighter. 
It just kept getting more and more complicated to configure my PC and browser to let TiddyWiki save changes. 
But who needs a Web browser when we could write our own desktop app in QB64?
A native TiddlyWiki engine would get us around all these browser security headaches.
Picture a TiddlyWiki or Jupyter Notebook but native to QB64 instead of JavaScript or Python!

Native built-in WYSIWYG rich text editor
The final thing that TiddlyWiki was missing (at least when I was using it) 
was you couldn't copy rich text & images from your clipboard directly into a tiddler (a page in the notebook). 
That was a very important feature that Microsoft OneNote could do, and I ended up using OneNote instead. 
But you can't customize OneNote with VBA macros like you can with Excel/Word. 
The other advantage TiddlyWiki has is, with OneNote your files are stored God knows where, 
but with TiddlyWiki everything is in one file that you can copy, backup, etc.

Syncing to iPhone - via dropbox? 
One final thought - the other thing that makes OneNote supremely useful is that 
it syncs to my iPhone seamlessly! I know QB64 doesn't run on iPhone, 
but there are TiddlyWiki readers for iOS (at least there used to be). 
This is a while ago and back then if you wanted to share notes, 
you had to manually sync your TiddlyWiki on your PC with your phone using iTunes (gag). 
I vaguely recall there was also some TiddlyWiki site that hosted people's notebooks online, 
that they could access from other devices, but I'm not sure I would trust a company 
other than a big one like Microsoft, to host the kind of personal data that I keep in my notes. 
I'd be more comfortable using dropbox to sync them with dropbox, and also more convenient. 

Anyway enough of my ramblings... 
This all just reminded me of my TiddlyWiki days, and hopes and dreams! lol  [Image: biggrin.png]
Reply
#13
(05-19-2022, 02:47 PM)madscijr Wrote:
(05-18-2022, 05:53 PM)CharlieJV Wrote: Everything is interesting to me.  And everything is intertwingled.
Everywhere, everything I see is a squirrel.

I love that you did this using TiddlyWiki!

This makes me think of some awesome possibilities!

Write plugins in BASIC
How about a TiddlyWiki where you can program your own plugins & embed automation in tiddlers using QB64 or BASIC, instead of JavaScript?
The objects and OOP they use in TiddlyWiki was very complicated and hard to understand for a simple BASIC programmer like me! 

They lost me when they moved from the classic 2.x TiddlyWiki to the new engine. 
I much preferred the old format, 
and had a million plugins and customizations which took me years to get working just right, 
that just didn't seem compatible anymore. 
All the good stuff I used was missing or hidden from the new version, and I just didn't have time to re-learn everything. 
If it used QB64 or BASIC for the customizations, and stayed backward-compatible, that would make the learning curve much easier...

No Web browser
The other reason I got away from using TiddlyWiki was too many headaches with browser security getting tighter. 
It just kept getting more and more complicated to configure my PC and browser to let TiddyWiki save changes. 
But who needs a Web browser when we could write our own desktop app in QB64?
A native TiddlyWiki engine would get us around all these browser security headaches.
Picture a TiddlyWiki or Jupyter Notebook but native to QB64 instead of JavaScript or Python!

Native built-in WYSIWYG rich text editor
The final thing that TiddlyWiki was missing (at least when I was using it) 
was you couldn't copy rich text & images from your clipboard directly into a tiddler (a page in the notebook). 
That was a very important feature that Microsoft OneNote could do, and I ended up using OneNote instead. 
But you can't customize OneNote with VBA macros like you can with Excel/Word. 
The other advantage TiddlyWiki has is, with OneNote your files are stored God knows where, 
but with TiddlyWiki everything is in one file that you can copy, backup, etc.

Syncing to iPhone - via dropbox? 
One final thought - the other thing that makes OneNote supremely useful is that 
it syncs to my iPhone seamlessly! I know QB64 doesn't run on iPhone, 
but there are TiddlyWiki readers for iOS (at least there used to be). 
This is a while ago and back then if you wanted to share notes, 
you had to manually sync your TiddlyWiki on your PC with your phone using iTunes (gag). 
I vaguely recall there was also some TiddlyWiki site that hosted people's notebooks online, 
that they could access from other devices, but I'm not sure I would trust a company 
other than a big one like Microsoft, to host the kind of personal data that I keep in my notes. 
I'd be more comfortable using dropbox to sync them with dropbox, and also more convenient. 

Anyway enough of my ramblings... 
This all just reminded me of my TiddlyWiki days, and hopes and dreams! lol  Big Grin

I kid you not: please don't ever stop rambling.  That is good stuff.  I've got ADHD, so one reading has my old sponge going down a million rabbit holes.  I'm going to needed repeated readings to sort out everything in my head.

My return volley:

FYI:
I embedded and am heavily modifying wwwBASIC for this TiddlyWiki I created called BASIC Anywhere Machine.  Supported by this other TiddlyWiki: Programming Reference. Supported by this portal site, these YouTube videos, and this blog.

Primary interest: TiddlyWiki and BASIC working together.  BASIC to give TiddlyWiki the things TiddlyWiki isn't particularly good at, TiddlyWiki for the things BASIC isn't particularly good at.  (Examples:  BASIC Anywhere Machine as Embedded Graph Server for TiddlyWiki, and work-in-progress ASCII Art Anywhere Machine)

One of the many things I had in mind was BASIC Anywhere Machine as a sidekick for QB64, for creating and testing segments of code in BASIC Anywhere Machine, using BASIC Anywhere Machine ( and whatever TiddlyWiki native features + plug-ins) as QB64 source code repository, and for exporting simple QB64 as stand-alone BASIC programs in single-file html (Easter Eggs example)

Since I think QBJS will really be the cat's meow for serious QB64 apps to work on the web, I've paused my efforts to make BASIC Anywhere Machine as compatible as reasonably possible with QB64 (well, QB64 Phoenix Edition !)

Instead, I am now focused on getting BAM as compatible as reasonably possible with GW-BASIC.

Then I'll return to efforts at making BASIC Anywhere Machine a small sidekick to QB64 Phoenix.

Something like that.  Hard to get it all straight and organised in my head.

All while bouncing back and forth between all my projects and reading again your rambling good stuff.
Reply
#14
BTW, some TiddlyWiki stuff very much worth reading:


Available methods for saving changes with TiddlyWiki.

TiddlyDesktop is an app for working with TiddlyWiki files (both TiddlyWikiClassic and TiddlyWiki version 5). It can be installed on Windows, Mac OS X or Linux. It is compatible with TiddlyWiki version 5 and the older TiddlyWikiClassic.
Reply
#15
(05-19-2022, 04:26 PM)CharlieJV Wrote: Primary interest: TiddlyWiki and BASIC working together. 
BASIC to give TiddlyWiki the things TiddlyWiki isn't particularly good at,
TiddlyWiki for the things BASIC isn't particularly good at. 

I'll definitely check it out, it sounds like it might actually address some of the issues I had with TW. Being able to program it in BASIC and not having to deal with the crazy object model they use.

(05-19-2022, 04:26 PM)CharlieJV Wrote: (Examples: 
...
work-in-progress ASCII Art Anywhere Machine)

That would be pretty neat.
Is that tool itself programmed in BASIC?
I could see extending it to do frame-by-frame ASCIImation with a color custom char set (like CBMscii).

(05-19-2022, 04:26 PM)CharlieJV Wrote: One of the many things I had in mind was BASIC Anywhere Machine as a sidekick for QB64, for
...
using BASIC Anywhere Machine ( and whatever TiddlyWiki native features + plug-ins) as QB64 source code repository,

That's something that would be useful - I used TiddlyWiki to store code snippets and "how to" information for all kinds of stuff.
The way you could tag tiddlers and query to retrieve different categories of info was very very useful,
for remembering how to do stuff.

(05-19-2022, 04:26 PM)CharlieJV Wrote: and for exporting simple QB64 as stand-alone BASIC programs in single-file html (Easter Eggs example)

It could definitely be a great way to package tutorials and libraries with examples.
The only thing that makes me a little nervous is again, the security issues of opening a file you downloaded,
in a browser that has read/write access to your PC, that can have executable code in it.
Didn't tiddlywiki have that "pure store" tiddler format, where you could export/import content,
without the code of the TiddlyWiki itself?

(05-19-2022, 04:26 PM)CharlieJV Wrote: Instead, I am now focused on getting BAM as compatible as reasonably possible with GW-BASIC.
Then I'll return to efforts at making BASIC Anywhere Machine a small sidekick to QB64 Phoenix.
Something like that.  Hard to get it all straight and organised in my head.

I would suggest staying focused on one thing and not spreading yourself too thin.
I suppose GW-BASIC is a good start, that's kind of where QuickBasic began right?
I would personally prefer just focusing on QuickBasic or QB64, but this is your baby!

(05-19-2022, 04:26 PM)CharlieJV Wrote: All while bouncing back and forth between all my projects

I can't concentrate on more than one project at a time...
So many projects, all on the backburner!
Keep us posted on this one!

Some questions/thoughts:
  • It's been a long time since I ran a TiddlyWiki and I'm not even sure how to configure the modern Chrome browser to allow a TiddlyWiki write access so it can overwrite itself to save changes on my PC.
  • Would this work on a mobile device, particularly on an iPhone? Can it be run off a dropbox, to enable syncing between devices? 
  • How doable would it be to have a WYSIWYG editor that lets you paste in rich text and preserve all the formatting (including images, which would have to somehow be stored inline as some kind of binary blob)? 
  • A really sweet "nice to have" for me would be a set of BASIC commands to program Web Audio API applications (like Qwerty Hancock)!
    Just saying... I've been asking for this type of audio functionality for QB64, but their hands are pretty full as it is, so I'm not holding my breath. 
Reply
#16
Quote:The only thing that makes me a little nervous is again, the security issues of opening a file you downloaded,
in a browser that has read/write access to your PC, that can have executable code in it.
Didn't tiddlywiki have that "pure store" tiddler format, where you could export/import content,
without the code of the TiddlyWiki itself?

ZERO security issues.  What you have is a BASIC program inside a web page, transpiled to javascript at runtime, which can only access what is in the web page.

ZERO access to anything outside the web page.  ZERO access to hard drive.

It is a sandbox.  TiddlyWiki and anything in it, same thing for a BASIC program exported to a simple HTML file along with necessary javascript.

The disadvantage: this BASIC cannot interact with the file system because of browser security.  So no compatibility at all with anything filesystem-related.

Quote:That would be pretty neat.
Is that tool itself programmed in BASIC?
I could see extending it to do frame-by-frame ASCIImation with a color custom char set (like CBMscii).

That's right, the drawing canvas is a BASIC program.  The TiddlyWiki provides the GUI interface for the BASIC program, and tiddlers are the storage mechanism for each drawing.

Eventually, this will be an IDE for ASCII drawings, and ASCII animation.  A cool blending of TiddlyWiki and BASIC.  (BTW:  BASIC is running in an iframe, and communication/sharing between a BASIC program and TiddlyWiki is done with either browser local storage or browser session storage.)

Quote:That's something that would be useful - I used TiddlyWiki to store code snippets and "how to" information for all kinds of stuff.
The way you could tag tiddlers and query to retrieve different categories of info was very very useful,
for remembering how to do stuff.

You get TiddlyWiki.  Tagging, querying (via filters).  Adorn with "Getting Things Done" functionality, Mind-Mapping functionality, you name it.  The possibilities blow my mind.

Quote:Some questions/thoughts:
  • It's been a long time since I ran a TiddlyWiki and I'm not even sure how to configure the modern Chrome browser to allow a TiddlyWiki write access so it can overwrite itself to save changes on my PC.
  • Would this work on a mobile device, particularly on an iPhone? Can it be run off a dropbox, to enable syncing between devices? 
  • How doable would it be to have a WYSIWYG editor that lets you paste in rich text and preserve all the formatting (including images, which would have to somehow be stored inline as some kind of binary blob)? 
  • A really sweet "nice to have" for me would be a set of BASIC commands to program Web Audio API applications (like Qwerty Hancock)!
    Just saying... I've been asking for this type of audio functionality for QB64, but their hands are pretty full as it is, so I'm not holding my breath. 

I've sold my soul to Google.  So my TiddlyWiki instances are all save to Google Drive via help from the TiddlyDrive add-on.

I have a smartphone, but use it only for phone and text.  Mobile-related questions, I am totally useless.  

There is a WYSIWYG plugin for TiddlyWiki, but intertwingling text and TiddlyWiki widgets in a WYSIWYG editor is highly problematic.  Works A-1, though, if you do not intertwingle those.  There is also one (maybe more) plugins for MarkUp.

Drag and drop of text from a web page to TiddlyWiki (as if you were dragging a tiddler for import) actually creates a tiddler with all of the HTML and CSS for the text, retaining formatting.  Anything else, I have no idea.

I've only experimented a little bit with getting sound to work in web browsers:  https://cjveniot.neocities.org/WebAudioApi.html

Quote:I would suggest staying focused on one thing and not spreading yourself too thin.
I suppose GW-BASIC is a good start, that's kind of where QuickBasic began right?
I would personally prefer just focusing on QuickBasic or QB64, but this is your baby!

Well,  I've got one cognitive disability diagnosed, and another one they can't make heads or tails of.

And various physical health issues going on.  Fortunately no pain, but I am constantly distracted by discomfort.

I'm 24x7 dealing with sensory and cognitive overload.  Trying to keep from getting overwhelmed and being driven totally bonkers by discomfort, I try to hyper-focus on the most interesting thing at the moment (makes it way easier to ignore the discomfort), but everything is a fascinating squirrel.

To look at me, one may thing the hamster is dead, but the wheels are always spinning.  On what?  Every thing, because every thing is linked to every other thing.

Intertwingulitis ...
Reply
#17
(05-19-2022, 05:55 PM)CharlieJV Wrote: ZERO security issues.  What you have is a BASIC program inside a web page, transpiled to javascript at runtime, which can only access what is in the web page.
ZERO access to anything outside the web page.  ZERO access to hard drive.
It is a sandbox.  TiddlyWiki and anything in it, same thing for a BASIC program exported to a simple HTML file along with necessary javascript.
The disadvantage: this BASIC cannot interact with the file system because of browser security.  So no compatibility at all with anything filesystem-related.
I've sold my soul to Google.  So my TiddlyWiki instances are all save to Google Drive via help from the TiddlyDrive add-on.

OK, so the way the TiddlyWiki saves is not by overwriting itself to the file system (like it did back in 2008) but rather by sending info to Google Drive, which does the writing up in the cloud?

(05-19-2022, 05:55 PM)CharlieJV Wrote: I have a smartphone, but use it only for phone and text.  Mobile-related questions, I am totally useless.  
There is a WYSIWYG plugin for TiddlyWiki, but intertwingling text and TiddlyWiki widgets in a WYSIWYG editor is highly problematic. 

See, this is where OneNote is great - it totally syncs directly between your computer and smart phone.
And total wysiwyg rich text editing just like MS Word.
But no programmability! (Well i think there is some kind of API but it isn't the friendly VBA editor like with Word & Excel! No macro recorder!)

(05-19-2022, 05:55 PM)CharlieJV Wrote: I've only experimented a little bit with getting sound to work in web browsers:  https://cjveniot.neocities.org/WebAudioApi.html

That's neat, inside a TiddlyWiki none the less!
I'll give that a deeper look later.

(05-19-2022, 05:55 PM)CharlieJV Wrote: Well,  I've got one cognitive disability diagnosed, and another one they can't make heads or tails of.

Don't let it get you down - in some ways it's a disability, but it also makes you able to do things that others can't.

(05-19-2022, 05:55 PM)CharlieJV Wrote: Every thing, because every thing is linked to every other thing.
Intertwingulitis ...

Frank Zappa called that conceptual continuity!

Be well!
Reply
#18
Quick reply.  Must go make supper for me and kiddo.


Quote:OK, so the way the TiddlyWiki saves is not by overwriting itself to the file system (like it did back in 2008) but rather by sending info to Google Drive, which does the writing up in the cloud?


There are a whole bunch of options.  By default, TiddlyWiki saving is not different than saving any web page.  It requires manually doing file save every time.  Super secure.

The alternative to get "Save" instead of equivalent of "Save As" is to use add-on "helpers" if you trust them to save local drive, or Google Drive, or wherever.  Me, I chose to trust TiddlyDrive third party Add-on for saving to Google Drive.

TiddlyDesktop for computers is pretty awesome.

You have to visit that link I gave earlier to see options.


Quote:See, this is where OneNote is great - it totally syncs directly between your computer and smart phone.
And total wysiwyg rich text editing just like MS Word.
But no programmability! (Well i think there is some kind of API but it isn't the friendly VBA editor like with Word & Excel! No macro recorder!)


OneNote is pretty out of the box, but sucks swampwater when it comes to transclusion.

Maybe TiddlyWiki can be pretty like OneNote, I don't know.  You'd have to look at all plugins.

Same for mobile sync.  Might be possible, but I don't know.


Quote:Don't let it get you down - in some ways it's a disability, but it also makes you able to do things that others can't.


Yeah, I try to think that just like one's greatest strength can also be greatest weakness, the same goes vice-versa.

I mention only so that when I'm coming across as miffed or rude, I am in the midst of dealing with something.  Never an excuse, but if I can be tolerated just long enough to get out of my funk, maybe I'll have the time to self-correct and make up for my goofs.

Something like that.

Now:  chicken-noodle soup night !!!
Reply
#19
(05-19-2022, 08:30 PM)CharlieJV Wrote: The alternative to get "Save" instead of equivalent of "Save As" is to use add-on "helpers" if you trust them to save local drive, or Google Drive, or wherever.  Me, I chose to trust TiddlyDrive third party Add-on for saving to Google Drive.
TiddlyDesktop for computers is pretty awesome.
You have to visit that link I gave earlier to see options.

Thanks I will check it out.

(05-19-2022, 08:30 PM)CharlieJV Wrote: OneNote is pretty out of the box, but sucks swampwater when it comes to transclusion.

Transclusion? Programmability? OneNote? BAHAHAHAHAHAHA!
Microsoft could really make it orders of magnitude more useful,
if they would just let it be programmable like Word, Excel, Access, & Powerpoint.
It could be their MongoDB! 
But what do I know?
I'm sure "useful" doesn't really figure into the bottom line,
or the agenda when they are talking about business strategy
and choosing which user base to cater to
(which seems to be the system admins, who don't want their users to have too much power,
or else it's just more pain for them to lock everything down in a corporate setting. 
Why else would they move from vbscript to something like PowerHell as their scripting language? LoL) 

(05-19-2022, 08:30 PM)CharlieJV Wrote: Maybe TiddlyWiki can be pretty like OneNote, I don't know. 
You'd have to look at all plugins.
Same for mobile sync.  Might be possible, but I don't know.

First I need to just wrap my head back around TiddlyWiki, which I haven't done much with in almost a decade!
Is your BAM built on whatever the latest TiddlyWiki engine is (last I checked which is ages ago, it was 5.x)?
I am so far behind in how it works that it will be just like starting over!

I did play a little with the IDE and got a basic hello world and string concatenation to work. Woo hoo!
I'm not sure if you want to point people to any GW-BASIC docs,
in case it helps, there is a manual to be found here:
http://www.bitsavers.org/pdf/mindset/100...l_1984.pdf

If GW-BASIC is the target goal, for me what would kick ass would be for your BAM to be able to run Akalabeth, graphics and all!
The GW-BASIC source can be found here.

You've probably see this, but here is a JavaScript implementation of QBasic.
Reply
#20
Quote:Transclusion? Programmability? OneNote? BAHAHAHAHAHAHA!
Microsoft could really make it orders of magnitude more useful,
if they would just let it be programmable like Word, Excel, Access, & Powerpoint.
It could be their MongoDB! 
But what do I know?
I'm sure "useful" doesn't really figure into the bottom line,
or the agenda when they are talking about business strategy
and choosing which user base to cater to
(which seems to be the system admins, who don't want their users to have too much power,
or else it's just more pain for them to lock everything down in a corporate setting. 
Why else would they move from vbscript to something like PowerHell as their scripting language? LoL) 


From my experience, the problem with giving users the power to create things: ultimately, I.T. becomes responsible for the maintenance of the frigging things.  Oh the disasters I've seen become I.T.'s responsibility to keep alive.

OneNote is fine for quickly taking notes for something you're going to properly write later with, wait for it: TiddlyWiki.


Quote:Is your BAM built on whatever the latest TiddlyWiki engine is (last I checked which is ages ago, it was 5.x)?

I am so far behind in how it works that it will be just like starting over!
 BAM is currently powered by TiddlyWiki version 5.2.0, a little behind the latest version of TiddlyWiki at 5.2.2


I'm of the mindset: upgrade only when it hurts too much not to.


Quote:I'm not sure if you want to point people to any GW-BASIC docs,
in case it helps, there is a manual to be found here:
http://www.bitsavers.org/pdf/mindset/100...l_1984.pdf


Thank-you for the link!  Having loads of references is a great thing.

I've been using http://www.antonis.de/qbebooks/gwbasman/, which is really convenient for web browsing.



Quote:If GW-BASIC is the target goal, for me what would kick ass would be for your BAM to be able to run Akalabeth, graphics and all!

The GW-BASIC source can be found here.


I'm going to have to add that to my TODO.

Right now, I'm going through all of the little GW-BASIC programs over at Rosetta Code to iron out the easy kinks.

For example, GW-BASIC allows:  IF condition GOTO line_num (so not "THEN"), so I'm just testing a change to allow that in BAM before rolling it out.

BAM won't be 100% compatible, but if I can get it to the point of requiring little fussing to get a GW-BASIC program to work, I'll be happy.

Then maybe QB64.  I'll see.  Although BAM and QBJS are completely different critters, I really don't want to make it look like they are in competition.  (QBJS can't compete with BAM, and BAM can't compete with QBJS.  Both are really good at very different things, but that might not be apparent to the naked eye.

YABASIC is also on my mind.

Aside:  BASIC Anywhere Machine began after I hit the wall trying to figure out Emscripten.  To me, the ability to take QB64 Phoenix Edition BASIC program's C++ code and turning that into WASM with Emscripten, that would be a killer way to get QB64 programs on the web.  A third alternative (BAM and QBJS being the other ones, and none of them being competition for the other).

Something like that.
Reply




Users browsing this thread: 7 Guest(s)