Qub – a framework for building websites with QBasic
Qub is a CLI tool for generating web servers using QB64, simplifying web development for QBasic users. It supports macOS and Linux, with commands for creating and managing websites.
Read original articleQub is a command-line interface (CLI) tool designed for generating web servers and frameworks for building websites using QB64, a modern variant of QBasic. It simplifies web application development for users familiar with QBasic. Qub has been primarily tested on macOS and Linux, with potential compatibility on Windows through WSL or Git Bash. To get started, users need to set up an alias in their terminal and can execute basic commands such as running the CLI, checking the version, and creating or updating a website.
To create a website, users run the command `qub create`, follow the prompts to specify a domain name, and then navigate to the project folder to build the website using `./bin/build` and start the server with `./server`, allowing access at http://localhost:6464/. The generated website features a specific folder structure that includes directories for binaries, configuration files, web pages, and static assets. Key features of Qub include page routing, static file serving, customizable 404 pages, and basic dynamic variable support, with plans for future enhancements to include more dynamic features and templating support. Qub is licensed under the MIT License, and further details can be found on its GitHub repository.
Related
Show HN: Qq: like jq, but can transcode between many formats
The GitHub repository hosts `qq`, a tool using `jq` query syntax and `gojq` for configuration format transcoding. It offers interactive query building, multiple format support, and encoding performance focus. Installation options include source or releases. Contributions welcome.
Show HN: FiddleCube – Generate Q&A to test your LLM
FiddleCube on GitHub helps create question-answer datasets for Large Language Models. It includes a guide, examples, and details on generating ideal datasets for testing, evaluating, and training LLMs. For more information, visit the GitHub page.
Qubes OS 4.2.2 has been released
Qubes OS 4.2.2 consolidates security patches, bug fixes, and updates. It enhances file-copying between qubes, reverts a restrictive change, and offers installation options. Users are advised to back up before updating.
QUIC File Transfer Service, a CLI and srv for transferring large files
A QUIC File Transfer Service CLI and server use the QUIC Protocol for fast large file transfers. It supports stream multiplexing, 0-RTT connections, MD5 checksums, and includes server/client implementations with setup guidance.
BlockQueue: SQLite-powered pub/sub for lean, fast messaging
Block Queue is a lightweight, cost-effective messaging system using a pub/sub mechanism, built on SQLite3 and NutsDB, supporting Turso Database and PostgreSQL, with high performance and open-source availability.
- Many users express nostalgia for QBasic and share their early programming experiences.
- There are concerns about the security implications of using `curl` for command execution in the CLI tool.
- Some commenters highlight the differences between traditional QBasic and the modern QB64 used in this project.
- Users appreciate the simplicity and accessibility of the Qub tool for web development.
- Several commenters share their own experiences with similar projects or technologies, fostering a sense of community.
Yes, aliasing the CLI command to a remote script is not exactly best practice. My casual question to myself when I made it was … what’s the literal easiest way I could get this to work on someone’s computer with as few dependencies as possible? This was the solution I came up with. (And in my defense, it is similar to how you install homebrew … `/bin/bash -c "$(curl -fsSL https://xn--rvg)`, but I get that most wouldn’t trust a somewhat random GitHub account like this.)
If you have any questions about this, let me know! My website (https://jamon.dev) runs on it (in a DigitalOcean droplet) and I’ve enjoyed the experience.
The main thing I remember was trying to debug questionnaire functionality and getting very nearly nowhere: it was an entire questionnaire engine implemented in VB6, which was probably why it hadn't been ported to .NET yet. I'm sure PHP of the same vintage would have been equally gnarly, mind you.
E.g. to open the TCP/IP connection, this project uses the _OPENHOST function, which does not exist in the olden QB.
https://qb64.com/wiki/_OPENHOST.html
https://github.com/jamonholmgren/qub/blob/main/template/qub/...
alias qub="source <(curl -sSL https://raw.githubusercontent.com/jamonholmgren/qub/main/src/cli.sh)"
I haven't touched QB in decades but I'm glad someone did and had fun working on it.
alias qub="source <(curl -sSL https://raw.githubusercontent.com/jamonholmgren/qub/main/src/cli.sh)"
a bit concerning to hot alias a simple command to remote shell executionI was hoping to see like request handlers
Back in the late 90s I worked on a system that generated a static website from an existing QB application. The app itself was a flat file database with a few thousand entries and was very fast. The web version was equally fast as you’d enter a customer number and it would just redirect you to that page. It did very little but we did add a few hints to the screen output and then would screen-scrape the app window to a plain text file and then run my tool to convert those plain text files to templated pages.
1: https://github.com/jamonholmgren/qub/blob/main/template/qub/...
Does QB64 still suffer from a slight amount of latency when you punch the RUN button associated with the fact that it has to compile the code before it runs it? I miss the dopamine hit from old school QBasic with its "relatively" instantaneous interpretive code when hitting F5.
I thought we all took qbasic around the barn and never spoke of it again.
How come it is becoming popular again? I seen pascal trending too, why???
Related
Show HN: Qq: like jq, but can transcode between many formats
The GitHub repository hosts `qq`, a tool using `jq` query syntax and `gojq` for configuration format transcoding. It offers interactive query building, multiple format support, and encoding performance focus. Installation options include source or releases. Contributions welcome.
Show HN: FiddleCube – Generate Q&A to test your LLM
FiddleCube on GitHub helps create question-answer datasets for Large Language Models. It includes a guide, examples, and details on generating ideal datasets for testing, evaluating, and training LLMs. For more information, visit the GitHub page.
Qubes OS 4.2.2 has been released
Qubes OS 4.2.2 consolidates security patches, bug fixes, and updates. It enhances file-copying between qubes, reverts a restrictive change, and offers installation options. Users are advised to back up before updating.
QUIC File Transfer Service, a CLI and srv for transferring large files
A QUIC File Transfer Service CLI and server use the QUIC Protocol for fast large file transfers. It supports stream multiplexing, 0-RTT connections, MD5 checksums, and includes server/client implementations with setup guidance.
BlockQueue: SQLite-powered pub/sub for lean, fast messaging
Block Queue is a lightweight, cost-effective messaging system using a pub/sub mechanism, built on SQLite3 and NutsDB, supporting Turso Database and PostgreSQL, with high performance and open-source availability.