https://repo.autonoma.ca/repo/notanexus/blob/HEAD/README.md
The software uses PHP and PDF.js for displaying and annotating. Screenshot:
2,920 karma · joined October 1, 2009
username @ gmail
https://repo.autonoma.ca/repo/notanexus/blob/HEAD/README.md
The software uses PHP and PDF.js for displaying and annotating. Screenshot:
You can trace the back commits to the first to show that it was started from scratch:
https://repo.autonoma.ca/repo/treetrek/commits/c7742cb3c580d...
Here is the source code for a greenfield, zero-dependency, 100% pure PHP raw Git repository viewer made for self-hosted or shared environments that is 99.9% vibe-coded and has had ~10k hits and ~7k viewers of late, with 0 errors reported in the logs over the last 24 hours:
How many apps must people put on their phones, or payment cards people must carry, to pay to charge their vehicles with the convenience of a petrol station?
* https://parking.ubc.ca/are-there-electric-vehicle-ev-chargin...
"Charging fees can be paid through the Honk Mobile App or using a web browser with internet access."
* https://electricvehicles.bchydro.com/bc-hydro-ev-mobile-app
"You can use the BC Hydro EV app to activate stations on other networks across North America."
* https://www.flo.com/en-ca/products/software/flo-mobile-app/
"Download the FLO app for free. Access thousands of chargers on-the-go in our network and start your session with a tap."
* https://www.chargepoint.com/en-ca/drivers/mobile
"Get the ChargePoint App. The easiest way to find available stations, start charging and get updates when your EV is fully charged."
"Download the AmpUp our mobile app from the Apple or Google Play store to."
* https://www.electrify-canada.ca/mobile-app/
"Use the Electrify Canada mobile app to schedule your home charging and find a public charging station. Sign up for an account to enjoy exclusive, members-only public charging features and pricing."
"iPhone & Android app. No download required via SWTCH’s in-browser app. Tap-and-go charging with our complimentary RFID card."
I could not charge my Kona at multiple public charging stations around Vancouver:
* "Free" FLO Level 2 charger at New Westminster High School (requires sign up).
* BC Hydro Level 3 charger near a Real Canadian Superstore (requires sign up).
* AddEnergie Level 2 charger at Tsawwassen Mills (requires sign up).
* Honk Level 2 charger at a University of British Columbia parkade (requires sign up).
* Bonus: Most Tesla stations (no adapters available).
From Aging Wheels:
* https://www.youtube.com/watch?v=92w5doU68D8 (Oct 15, 2023; bad experience)
* https://www.youtube.com/watch?v=ouPiwt5hxXQ (Nov 24, 2024; better experience)
It's steadily improving, though!
How exquisitely Knuthian!
https://repo.autonoma.ca/treetrek
There's still some work to do on the rendering side of model objects. Developing the syntax highlighting rules for 40 languages and file formats in about 10 minutes was amazing to see.
https://repo.autonoma.ca/repo/treetrek/tree/HEAD/render/rule...
I used my software and R Markdown documents to help address such problems. In the source code, you have:
// DOC SNIPPET BEGAN: example_api_usage
/**
*/
function amazing_function( char life, long universe, string everything ) {
}
// DOC SNIPPET ENDED
In the R Markdown you write an R function to parse all snippets, then refer to snippets by name. If the snippet can't be found, building the documentation fails, and noisily breaks a CI/CD pipeline.What's nice is that you can then use this to parse C++ definitions into Markdown tables to render nicely formatted content.
The general idea is that you can have "living" documentation reference source code and break on mismatch. Whether you use knitr/pandoc or python or KeenWrite/R Markdown[1] is an implementation detail.
return \file_exists( $file ) ? require $file : [];
* https://repo.autonoma.ca/repo/treetrek/blob/HEAD/render/High...The rules files:
* https://repo.autonoma.ca/repo/treetrek/tree/HEAD/render/rule...
What did you search for when you tried to verify this yourself?
https://www.youtube.com/watch?v=klxUyd3CgrE
Aside, a similar approach was used in a MacGyver episode nearly 40 years ago ("The Secret of Parker House"):
https://www.imdb.com/title/tt0638792/mediaviewer/rm119321036...
https://scotopia.in/journal/journalbkend/paper_list/v-4-i-1(...
Why Electronic Voting Is Still A Bad Idea:
https://www.youtube.com/watch?v=LkH2r-sNjQs
My Līberum Cōnsilium (see references on page 55):
https://repo.autonoma.ca/repo/delibero/raw/HEAD/docs/manual/...
* https://dave.autonoma.ca/blog/2022/01/08/logging-code-smell/
* https://dave.autonoma.ca/blog/2026/02/03/lloopy-loops/
Both of these posts discuss using event-based frameworks to eliminate duplicative (cross-cutting) logging statements throughout a code base.
My desktop Markdown editor[1], uses this approach to output log messages to a dialog box, a status bar, and standard error, effectively "for free".
[1]: https://repo.autonoma.ca/repo/keenwrite/tree/HEAD/src/main/j...
* https://repo.autonoma.ca/repo/delibero/blob/HEAD/source/xsl/...
* https://repo.autonoma.ca/repo/delibero/blob/HEAD/source/xsl/...
An example pie chart is on page 33, section 9.2.3:
* https://repo.autonoma.ca/repo/delibero/raw/HEAD/docs/manual/...
* https://i.ibb.co/ymDLcPNj/pie-chart.png (screenshot)
The colours are harmonious, visually distinct, and not hard-coded to a fixed number of slices.
In Feb 2023, when I emailed Hans about changing licenses, he wrote back:
> We decided to stick with the GNU (GLP) license. It's not like anyone is going to check in detail what happens with NTS after all these years. We just wanted to add the option for GPLv2. We're not going into endless debates about licences, which are always a sensitive topic in the tex community.
* Implementing a raw Git reader is daunting.
* Codifying syntax highlighting rules is laborious.
* Developing a nice UI/UX is not super enjoyable for me.
* Hardening with latest security measures would be tricky.
* Crafting a templating language is time-consuming.
Being able to orchestrate and design the high-level architecture while letting the LLM take care of the details is extremely rewarding. Moving all my repositories away from GitLab, GitHub, and BitBucket to a single repo under my own control is priceless.
I thought that the combination of the Pascal and Java versions[1] of TeX would be sufficient guidance to produce another language/implementation.
> is a huge cost for very little benefit
A greenfield Java implementation with an MIT license would have been useful[2] for rendering TeX inside of my desktop Markdown editor[3]. Instead, I had to rename all the Java source files to abide by the NTSPL license terms (or GPLv2, which is viral).
[1]: https://en.wikipedia.org/wiki/New_Typesetting_System
[2]: https://gitlab.com/DaveJarvis/KeenType/-/blob/main/LICENSE.t...
https://wiki.contextgarden.net/
It's a monolithic kernel with a relatively sane collection of "setup" macros that, by and large, can accomplish much of what LaTeX and its packages can do.
If you're curious about how to build TeX from scratch, have a look at my TeX.SE answer:
https://tex.stackexchange.com/a/576314/2148
I'd imagine making a FOSS port in Rust that has non-cryptic error messages wouldn't be a multi-year project using modern GPTs.
https://www.researchgate.net/figure/Sir-William-Dawsons-dior...
Our knowledge of that time period has expanded so much since 1863. In my book, I asked the illustrator to give a nod to Dawson's drawing by having an amniote chase a dragonfly:
Wizards can be difficult to develop and maintain. Writing a working, useful, functional, robust, informative, environment-agnostic, and re-entrant script (or GUI/TUI) can take scads of effort. Now that LLMs abound, much of that grind is quickly solved. For example, here's a vibe-coded script that to get dovecot, postfix, and virtual users set up on my new server with mailboxes copied from an old server:
https://autonoma.ca/mail-setup.txt
To vibe code it, the prompt included content from:
https://xtreamsolution.net/complete-email-server-setup-tutor...
After a few kicks at the can (run script, capture errors, feed errors to LLM, repeat), it finally configured a working system. Reviewing the script, yes, it's beyond painful. It doesn't have to be, though; the authors of complex software could produce similar guided installers.
Exactly, which is why KeenWrite has a "Diagram server" setting:
https://i.ibb.co/LXxm33cb/diagram-server.png
> they're just for different use-cases
Sure. A software system could support one plain text diagram format, or support a multitude without tons more effort, architecturally speaking.
My Markdown editor, KeenWrite[2], integrates Kroki as a service. This means whenever a new text-based diagram format is offered by Kroki, it is available to KeenWrite, dynamically. The tutorial[3] shows how it works. (Aside, variables within diagrams are also possible, shown at the end.)
Note that Mermaid diagrams cannot be rendered by most libraries[4] due to its inclusion of <foreignObject>, which is browser-dependent.
[1]: https://kroki.io/
Some retorts for people swayed by that argument:
"Can we put a camera in your bathroom?"
"Let's send your mom all your text messages."
"Ain't nothin' in my pockets, but I'd rather you didn't check."
"Shall we live-stream your next doctor's appointment?"
"May I watch you enter your PIN at the ATM?"
"How about you post your credit card number on reddit?"
"Care to read your high-school diary on open mic night?"
Avid cyclist here.
* Extreme Weather: Severe heat, heavy snow, or torrential rain can make biking unsafe or impractical without specialized gear and high physical endurance.
* Accessibility & Mobility Issues: Individuals with certain physical disabilities or chronic health conditions may find traditional cycling impossible. (This also affects an aging population.)
* Time Constraints: For those with "trip-chaining" needs (e.g., daycare drop-off → work → grocery store → gym), the extra time required for cycling can be prohibitive.
* Infrastructure: Older adults are more sensitive to "heavy traffic" and "lack of safe places." Seniors don't stop cycling because they can't do it, but because they don't feel safe in traffic. (Good argument for upgrading roadways.)
* Care-giving: When parents become dependent on their children, often the children need to shuttle their parents around. A parent with dementia who escaped into the neighbourhood can be rapidly collected and ushered home in a car, not so much a bike.
* Theft & Vandalism: I've never had a car stolen. Two locked bikes, on the other hand...
https://repo.autonoma.ca/?action=repo&repo=notanexus.git&vie...
Basically, you drop a PDF onto your own web server. The web server serves up PDFs via PDF.js on the client. When the user highlights text to annotate it, the date, time, and text of all annotations in the document are pushed back to the server. As the author, when I reload the same PDF URL, I can add, review, modify, navigate through, or summarize the annotations just like a reader. Here's a screenshot with a funny comment one of my beta readers made:
https://i.ibb.co/5gZMJ0qc/annotations.png
Beta readers wanted, see profile for contact!
Please see:
* https://impacts.to/downloads/lowres/impacts.pdf
* https://keenwrite.com/docs/user-manual.pdf
* https://keenwrite.com/blog/2025/09/08/feature-matrix/pdf/jek...
* https://keenwrite.com/blog/2025/09/08/feature-matrix/pdf/sof...
Those are Markdown documents typeset using ConTeXt. Except for Jekyll & Hide, I wrote them all.