DaveJarvis's recent activity

  1. Comment on KeenWrite: A text editor in ~comp

    DaveJarvis
    (edited )
    Link Parent
    Thank you! Integrating Mermaid would be incredible; there are no Java ports for it at this time, and importing a JavaScript engine just for Mermaid would probably bog down the real-time preview....

    Looks great so far!

    Thank you!

    I'd suggest GitLab flavored markdown as some great next steps for expanding functionality.

    Integrating Mermaid would be incredible; there are no Java ports for it at this time, and importing a JavaScript engine just for Mermaid would probably bog down the real-time preview. GitLab-flavoured Markdown is possible, the code uses Flexmark for parsing, which supports GitLab MD. My main concern is that that flavour introduces extensions that conflate content (what a person wants to say) from presentation (how that content appears)---the TOC is a great example of this. I discuss this divide at length in part 8 of my Typesetting Markdown series. Merging front-matter with the documentation will ultimately lead to people duplicating the front matter. Also, it makes dynamic content by programmatic changes to external definitions harder because parsers need to be aware of more than YAML. The GitLab front matter lacks string interpolation, which was the primary reason I developed KeenWrite: to keep document content DRY.

    I've successfully gotten our team onboard to writing documentation in Markdown, an editor like this one looks awesome!

    Would be delighted to read feedback you may have on the issue tracker.

    Thanks for the positive feedback!

    5 votes
  2. Comment on KeenWrite: A text editor in ~comp

    DaveJarvis
    Link
    KeenWrite is my desktop text editor that supports interpolated strings, R statements, and simple TeX expressions, all in real-time. Here's a screenshot of the application having rendered physics...

    KeenWrite is my desktop text editor that supports interpolated strings, R statements, and simple TeX expressions, all in real-time. Here's a screenshot of the application having rendered physics equations. And a screenshot for that super-narrow subset of Tildes users who love both the quadratic equation and π approximations. An older video shows some non-math scenarios.

    I would greatly appreciate your thoughts on integrated interpolated strings.

    7 votes
  3. Comment on What programming/technical projects have you been working on? in ~comp

    DaveJarvis
    Link
    Finished working on a fork of JMathTeX, which can parse and render into SVG 1,000 simple plain TeX math formula in ~500 milliseconds on modern hardware. Will be integrating with my text editor...

    Finished working on a fork of JMathTeX, which can parse and render into SVG 1,000 simple plain TeX math formula in ~500 milliseconds on modern hardware. Will be integrating with my text editor very soon.

    1 vote
  4. Comment on What did you do this weekend? in ~talk

    DaveJarvis
    (edited )
    Link
    Made JFreeSVG twice as fast by replacing Java's NumberFormat with the Ryū algorithm; runtime for creating 1 million vector graphics went from 13 minutes down to 7 minutes. Doubled the performance...

    Made JFreeSVG twice as fast by replacing Java's NumberFormat with the Ryū algorithm; runtime for creating 1 million vector graphics went from 13 minutes down to 7 minutes.

    Doubled the performance of JMathTeX. Much of the gain was accomplished by replacing exceptions being thrown with conditional logic, instead. When an exception is thrown, Java takes its sweet time filling up a stack trace with the method call hierarchy. Performing a try/catch instead of using a sentinel value within a critical loop dips the CPU into molasses. Parsing 10 million TeX equations went from about 1.5 minutes down to about 0.7 minutes.

    You see where this is going: real-time rendering of TeX expressions.

    1 vote
  5. Comment on What did you do this week? in ~talk

    DaveJarvis
    Link
    Started to modernize εχTeX, a Java-based TeX implementation.

    Started to modernize εχTeX, a Java-based TeX implementation.

    3 votes
  6. Comment on What did you do this weekend? in ~talk

    DaveJarvis
    Link
    Made a video of a text editor that enables writing documents that reference use interpolated variables: https://www.youtube.com/watch?v=u_dFd6UhdV8

    Made a video of a text editor that enables writing documents that reference use interpolated variables:

    https://www.youtube.com/watch?v=u_dFd6UhdV8

    1 vote
  7. Comment on Scrivenvar: Writing + Variables in ~comp

    DaveJarvis
    Link
    Been developing a text editor over the last four years. The editor integrates externally defined variable definitions (YAML, currently) and has an embedded R engine (Renjin). Demo video:...

    Been developing a text editor over the last four years. The editor integrates externally defined variable definitions (YAML, currently) and has an embedded R engine (Renjin). Demo video:

    https://www.youtube.com/watch?v=u_dFd6UhdV8

    What are your thoughts on the concept (of making variables easy to use while writing)?

    1 vote
  8. Comment on What did you do this weekend? in ~talk

    DaveJarvis
    Link
    Finished off KmCaster, a Java-based desktop application that displays keyboard and mouse events on-screen, which may be useful for screen casting. https://github.com/DaveJarvis/kmcaster#comparison

    Finished off KmCaster, a Java-based desktop application that displays keyboard and mouse events on-screen, which may be useful for screen casting.

    https://github.com/DaveJarvis/kmcaster#comparison

    4 votes
  9. Comment on What programming/technical projects have you been working on? in ~comp

    DaveJarvis
    Link
    Some yak shaving with a Java-based on-screen display (OSD) app that shows keyboard and mouse events. Solutions for this exist on Windows, but Linux is a bit bereft. Here's a video comparing my app...

    Some yak shaving with a Java-based on-screen display (OSD) app that shows keyboard and mouse events. Solutions for this exist on Windows, but Linux is a bit bereft. Here's a video comparing my app with the program that inspired its development, key-mon:

    https://github.com/DaveJarvis/kmcaster#comparison

    It's yak shaving because I really want to create a video showing how to use another application I'm developing: one that allows people to write in Markdown (or R Markdown) while leveraging interpolated strings. No other Linux apps in the key/mouse domain have key-mon's elegance---screenkey doesn't show mouse events and the aesthetic of QKeysOnScreen isn't what I had in mind.

    2 votes
  10. Comment on What did you do this weekend? in ~talk

    DaveJarvis
    (edited )
    Link Parent
    Yes, it was intended as a meta joke. In _config.yaml, the variable definition that the README references is a-knocking, but nobody is home. Ideally, every location in the application and its...

    Are you referring to the title? Because I think that's a meta joke about the project.

    Yes, it was intended as a meta joke. In _config.yaml, the variable definition that the README references is a-knocking, but nobody is home. Ideally, every location in the application and its documentation that references the app's title would reuse the same source definition.

    2 votes
  11. Comment on What did you do this weekend? in ~talk

    DaveJarvis
    Link
    Upgraded Scrivenvar to Java 14. I developed the application because I wanted to have a chain-of-command design pattern that would let me preview Markdown documents that include interpolated...

    Upgraded Scrivenvar to Java 14.

    I developed the application because I wanted to have a chain-of-command design pattern that would let me preview Markdown documents that include interpolated strings. See the architecture diagram for an example processing chain and a proposal of what should be possible with text editors (but currently isn't).

    The driving force behind the editor was that I wanted a way to:

    • Define inter-dependent values as expressions inside an externally defined document (e.g., have a starting date and relative date offsets computed from that start date; or define parts of a person's name with their full name being dependent on the first and last name).
    • Provide the ability to compute complex expressions and integrate web queries. (See Typesetting Markdown, Part 6.)
    • Source data from CSV files that gets transformed into Markdown tables, then displayed in a tabular format in the HTML preview panel.
    • Use XML and XSLT to semantically mark up content that is transformed into Markdown documents, which are then also rendered as HTML.
    • Easily insert variable names into documents without having to type the name of the variable each time. The variables are sourced from a structured hierarchical document (YAML), so the namespace can get quite deep. The editor allows you to type in a partial value (case-sensitive substring match) followed by pressing Ctrl+Space to insert the variable name. The preview window updates immediately to show the value that was inserted.
    2 votes
  12. Comment on Scrivenvar: A text editor with built-in R functionality in ~comp

    DaveJarvis
    Link
    Scrivenvar is an open source, Java-based, desktop Markdown editor that can edit R Markdown files courtesy of Renjin. The editor's software architecture is different than most other Markdown...

    Scrivenvar is an open source, Java-based, desktop Markdown editor that can edit R Markdown files courtesy of Renjin. The editor's software architecture is different than most other Markdown editors, allowing users to edit XML, Markdown, R Markdown, and other combinations.

    The documentation provides an overview of how to use the integrated R engine.

    Once Java 14 is installed, download the application then run it using:

    java -jar scrivenvar.jar
    

    Would appreciate your thoughts and feedback on Beta 8, especially with regards to importing interpolated string definitions from YAML files. (If Java is too much a hurdle, I'd be interested in knowing that as well.)

    3 votes
  13. Comment on What programming/technical projects have you been working on? in ~comp

    DaveJarvis
    Link
    Recently finished up a blog post that describes a relatively quick way to orthographically project and manipulate 2D scalable vector graphics upon a spherical surface:...

    Recently finished up a blog post that describes a relatively quick way to orthographically project and manipulate 2D scalable vector graphics upon a spherical surface:

    https://dave.autonoma.ca/blog/2020/05/12/impacts-project-voronoi-diagrams/

    4 votes
  14. Comment on Making of Impacts – Programming ⋂ Art in ~comp

    DaveJarvis
    Link
    For those of you who have been following the Typesetting Markdown series, this topic takes a detour to discuss some technical aspects involved with Making of the Impacts Project. There's a mix of...

    For those of you who have been following the Typesetting Markdown series, this topic takes a detour to discuss some technical aspects involved with Making of the Impacts Project. There's a mix of art, programming, and ways to avoid reinventing some wheels in this post that may prove informative. My plan is to write about technical adventures for the Impacts Project, leading up to a tie-in with the final part of the Typesetting Markdown series.

    Ideas for the Making of Impacts topics include (some more programming-oriented than others):

    • Stripe payment integration with unique link generation
    • Generating a dual Y-axis plot using R (from temperature and CO2 data)
    • Running Celestia to approximate locations of protoplanetary orbital paths
    • Recreating a rasterized drawing as separate logical vector objects, inexpensively
    • Simulations behind the K-Pg Extinction impact event
    • Using MetaFun to draw lines based on values in Markdown document (i.e., Part 9 of Typesetting Markdown)

    What topics would be of most interest?

    1 vote