#authoring

Przyjechały. Zarobiłam na e-8bookach 300 pln, za tyle zamówiłam druk w GB, bo najtaniej. I mam kilkanaście książek. Kiedyś byłam bardziej rozrzutna, teraz na emeryturze operuję tylko pieniędzmi z przychodu. #book #writing #authoring #selling

2026-03-04

Przyjechały. Niedużo, bo wydaję na druk tylko tyle, ile zarobię na sprzedaży. Sprzedaż jak widać nie szaleje...
#books #selfpublishing #writing #authoring

HXZ.ONE IT-Security Konferenzhxzone@teslapwners.club
2026-03-04

HXZ.ONE #2 am 11.03.2026 in Salzburg

Harald Russegger - Eure Heiligkeit @ Bitdynamo.com

Lightning-Talk: Schwerelos texten mit Google Antigravity IDE [de]

shorturl.at/il2WD
shorturl.at/jKIMm

#HXZONE #authoring #ai

Lightning-Talk: Schwerelos texten mit 
Google Antigravity IDE [de]

Buchschreiben ist arbeitsintensiv und 
scheitert oft an der Komplexität. KI-Tools wie 
AntiG erleichtern die Recherche und fördern 
kreative Prozesse. "KI-Tandem Texten (KITT)" 
könnte bald Standard werden.
2025-10-07

Just posted something about Apple’s authoring tool for the #apple #newton called Newton Press. research.reisen/txt/3/ #macintosh #mac #retrocomputing #vintagecomputing #pda #windows #authoring #unboxing

2025-09-03

I haven’t added an example of how you implement migrations with Kitten’s¹ built-in JSDB database² yet but here’s one that I just used when renaming a field (property) in a table (JavaScript object) from “account” to “data” that illustrates the general granular approach you should take within persisted instances of JavaScript classes.

This is, of course, an advanced use case of the built-in JavaScript database that all Kitten apps have.

Kitten is simple for simple use cases. So check out the Persistence tutorial, for example, to see how easy it is to get started with JSDB in Kitten:

kitten.small-web.org/tutorials

And see the Database App Modules tutorial for a more advanced usage where you persist instances of JavaScript classes and have full type safety:

kitten.small-web.org/tutorials

¹ kitten.small-web.org
² codeberg.org/small-tech/jsdb

#Kitten #SmallWeb #SmallTech #web #dev #persistence #JavaScript #database #JavaScriptDatabase #authoring #migrations

Screenshot of code (detail) in Helix Editor on macOS, showing the source for app_modules/database/database.js. The following code is highlighted with a pink border:

initialise () {
    // Migration.
    if (this.account !== undefined) {
      this.data = this.account
      delete this.account
    }
  }

Full listing

texport class VerifiedAccount extends Model {
  url = this.url || ''
  /**
    This is the object returned from the accounts/lookup
    method of the Mastodon API.

    See: https://docs.joinmastodon.org/methods/accounts/#lookup

    @type {{
      id: string,
      username: string,
      acct: string,
      display_name: string,
      locked: boolean,
      bot: boolean,
      discoverable: boolean,
      indexable:boolean,
      group:boolean,
      created_at: string,
      note:string,
      url: string,
      uri: string
      avatar:string
      avatar_static: string,
      header: string,
      header_static: string,
      followers_count: number,
      following_count: number,
      statuses_count: number,
      last_status_at: string,
      hide_collections: boolean,
      noindex: boolean,
      emojis: Array,
      roles: Array,
      fields: Array
    }}
  */
  data = this.data || ''

  initialise () {
    // Migration.
    if (this.account !== undefined) {
      this.data = this.account
      delete this.account
    }
  }

  /**
    The account is the bit of the URL from the @ onwards.
  */Screenshot of code for app_modules/database/Model.js.

The following code is highlighted with a pink border:

  /**
    Optional hook: override this to perform initialisation
    at constructor time. (Do not override the constructor
    or the automatic property assignment will fail.)
  */
  initialise () {}

Full code listing:

/**
  Base model class.

  (To use, extend this with your own model classes.)

  When adding properties in subclasses, make sure you
  only set values after checking if the value already
  exists:

  e.g.,

  class MyModelObject extends Model {
    mySpecialProperty = this.mySpecialProperty || ''
  }

  (This way, you will get type safety while authoring
  without accidentally overwriting any values populated by
  the superclass when model objects are recreated when a
  JSDB table is read into memory.)
*/
export default class Model {
  id = crypto.randomUUID()

  constructor (parameters = {}) {
    Object.assign(this, parameters)
    this.initialise()
  }

  /**
    Optional hook: override this to perform initialisation
    at constructor time. (Do not override the constructor
    or the automatic property assignment will fail.)
  */
  initialise () {}
}
(((@amarois)))amarois@mamot.fr
2025-05-15

[Veille] la taxonomie Contributor Role Taxonomy (CRediT) - credit.niso.org/ - fait son chemin côté #physics : "IOP Publishing enhances author recognition with the introduction of CRediT" => stm-publishing.com/iop-publish
#openscience #reward #taxonomy #journals #authoring

2025-04-22

Coming soon: quite loving how much you can do in Markdown in Kitten now that I’ve added the ability to specify attributes and have bracketed spans.

Will release after I’m finished redoing the Kitten Settings pages with the new Kitten icons available at `kitten.icons`.

kitten.small-web.org

#Kitten #SmallWeb #web #dev #authoring #markdown

Screenshot of code (detail), in file index.page.js, with one highlighted line:

## <${kitten.icons.i.IdentificationCard} ...${Settings.iconStyle} /> Identity {.iconHeading}

All visible code:

/**
  Settings: Identity page.
*/
import kitten from '@small-web/kitten'
import Settings from '../Settings.layout.js'

export default function () {
  return kitten.html`
    <${Settings} activeSection='identity' x-data={}>
      <page alpinejs>
      <markdown>
        ## <${kitten.icons.i.IdentificationCard} ...${Settings.iconStyle} /> Identity {.iconHeading}

        This is your public identity for ${kitten.domain} (ed25519 public key).
2025-04-15

Audiobook authoring on macOS

The audiobooks and radio dramas I've collected over the years mostly come as a bunch of MP3 files, often accompanied by some JPG with cover art and sometimes a TXT file with a teaser text and some background information like the names of the voice actors. However, nowadays, there's a much better format: M4B. This is basically an M4A container with all the metadata required to make an audiobook - e.g. cover art, author information, chapter marks (incl. optional chapter titles and art) and […]

blog.mbirth.uk/2025/04/15/audi

Screenshot of Apple Books showing a book series with some generic heading at the top and a list of all contained audiobooks below.
2025-04-11

New Kitten feature: Icons!

You can now make use of a subset of the icons in the Phosphor icons set by @minoraxis and @rektdeckard.

kitten.small-web.org/reference

Search through them in your editor by referencing `kitten.icons.categories` and `kitten.icons.tags`.

Add this to a file called index.page.js and run `kitten` to see a large duotone pink cat (because why not?):

export default function () {
return kitten.html`
<${kitten.icons.c.Cat}
size=40%
weight=duotone
colour=deeppink
/>
`
}

(And yes, the set includes icons for the fediverse. This one of the reasons I chose it.) ;)

Enjoy!

:kitten:💕

#Kitten #SmallWeb #SmallTech #icons #PhosphorIcons #web #dev #HTML #CSS #JavaScript #SVG #NodeJS #authoring #intellisense

Screenshot of the all icons example at the end of this section showing the icons sorted alphabetically and rendered in duotone deep pink. The icons starting with a and b are visible in the browser.
2025-02-17

A small act of kindness turned into the biggest surprise of their lives. 🐦

Read "Timber Brothers" before you sleep tonight 😴
medium.com/@wildernesstory/tim

2025-01-22

Adding more beautiful error messages to Kitten. These should help make it easier to recover from common errors while authoring.

kitten.small-web.org

#Kitten #errorMessages #design #usability #authoring #SmallWeb #SmallTech #HTML #CSS #JavaScript #NodeJS #server #framework #platform #web #dev

Screenshot of Kitten error page with cute illustration of a grey kitten with pink ears and nose playing with a purple ball of yarn followed by the error message:

500
Error: Attempt to instantiate kitten.Component in markup without calling its connectedTo() static factory method:
In your kitten.html``, replace:

<{Uptime} />

With:

<{Uptime.connectedTo(this)} />

Finally, there’s a partial view of a stack trace that scrolls off the page.
2025-01-22

So last night, while recording the preview of Kitten’s¹ improved component model², I made a silly mistake (copying raw HTML into a JavaScript function instead of wrapping it in a kitten.html`` tagged template, easy to do when you’re refactoring to pull out components from pages).

Then, once I figured out what I’d done, I made another one by forgetting to return the value from the function (easy to do when you’re used to using one-line closures as render functions).

I would have caught both of those so much faster if Kitten had helpful error messages for those two pitfalls. And guess what, this morning, it does :)

Attached are screenshot showing the before and after error messages.

Enjoy!

:kitten:💕

¹ kitten.small-web.org
² Scroll up the thread to watch the video.

#Kitten #SmallWeb #PeerToPeerWeb #web #server #framework #platform #design #usability #errorMessages #authoring #dev #JavaScript #HTML #CSS #htmx #hypermedia #WebSocket #StreamingHTML #SmallTech

Screenshot of first error message (before):

500 TypeError: Cannot read properties of undefined (reading 'match')Screenshot of first error message (after):

Error: Render function did not return kitten.html``

class Count extends kitten.Component {
  html {
    kitten.html`<h1 morph>${kitten.db.counter.count}</h1>`
  }
  onIncrement {
    kitten.db.counter.count++
    this.update
  }
}Screenshot of second error message (before):

500 SyntaxError: Unexpected token '<Screenshot of second error message (after):

500  SyntaxError: Unexpected token '<

(Did you put raw HTML inside a function by mistake instead of wrapping it in a kitten.html`` tagged template?)
Steven G. Harmssgharms@techhub.social
2024-12-08

I was writing a presentation and I wished I’d had a parallel document with stage notes; and in the presentation I wished I could link to values in the founders biography or media clips from recent town halls; and I wished I could link to a document of themes and tropes for emergent rhetorical callbacks to put into the stage notes.

And for a brief moment I saw the dream of Ted Nelson’s “Xanadu.” And then I looked back at the Stone Age tools before me like Caesar at Alexander’s tomb, and lamented.

#hypermedia #xanadu #tednelson #productivity #authoring

2024-07-28

(Basically, what I want is for Kitten¹ to be able to introspect the source code of a component, find the related components, and wire them up to handle events from the client (including garbage collection of listeners) without having to manually register the dependent component classes. Don’t Repeat Yourself and all that…)

Anyway… niche :)

¹ kitten.small-web.org

#Kitten #SmallWeb #web #dev #authoring #experience #design

Ted Curran M. Ed.tedcurran@indieweb.social
2024-07-25

Currently exploring LiaScript, an #elearning #authoring tool where you write #markdown and get #SCORM.

In this video demo I AI generate a webquest in markdown format, then edit in LiaScript's LiveEditor:

youtube.com/watch?v=81-QAFtipg

Young but promising project that definitely deserves your attention if you like authoring course content in plain text.

liascript.github.io

Well...I've now passed the 100,000 word mark for my novel "Children of the Storm". I'm actually past the Christmas party segment as of tonight, which sets us up for the immediate runup to the climax. Woo! I dare say I'm most of the way to the finish line.

#writing #writer #author #authoring #book #story

TFW your novel is up to 87,000 words, and you haven't even reached the climax yet. My latest piece of writing, "Children of the Storm", is far and away my longest work. I'm pretty sure I'm most of the way there, but the word count will assuredly be six figures at the end.

Painting is "The Muse" by Gabriel de Cool (imagine having a name that cool 😉 🙃 ).

#writing #writer #novel #author #authoring #book #story #art #traditionalart #painting #oilpainting #beautifulwoman #beautifulgirl

2024-03-06

@keithjgrant This is going to be great for Kitten* as the current convention is to scope components by CSS class and that’s not perfect for reasons well known.

* codeberg.org/kitten/app

#css #scoped #Kitten #SmallWeb #authoring

2024-02-03

I'm still not out of the rabbit hole of searching for an #OpenSource #PersonalKnowledgeManagement software. 🐰

I'm gonna give a second try to @zettlr tomorrow! Their docs are *surprisingly* user-friendly and they claim to stick to the pure #CommonMark where probable. It's all the while being nice to researchers with citing, inline usage of #TeXLaTeX, #MermaidJS, and pop-over #footnotes. Provision of the simple #PDF export and #Pandoc customization are welcome, too!

But, to be fair, I may be overexaggerating how good #Zettlr is because of my recent disgust with #VendorLocking. In fact, almost anything that closely follows the common spec and is #FreeSoftware might suffice already. Having something as advanced and closer to the roots is certainly refreshing!

#Markdown #zettelkasten #authoring #Zettlr #ReferenceManager #ReferenceManagers #PKM #NoteTaking #NoteTakingApp #NoteTakingApps #KaTeX #frontmatter #Obsidian #Logseq #Anytype #Notion #VendorLock #VendorLockIn #FOSS #FLOSS

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst