[Updated] Free Mobile-Friendly Layout Wizard
Updated: The
Free Mobile-Friendly Layout Wizard
has been updated. It will now place the meta charset tag before the title in the head section (so that it will
be in the first 1 KB of your page even if you have a long title). In addition, if you select HTML5 as the output type,
the shorter meta charset tag will be used. ⌘ Read more
@lyse@lyse.isobeef.org its a hierarchy key value format. I designed it for the network peering tools i use.. I can grant access to different parts of the tree to other users.. kinda like directory permissions. a basic example of the format is:
@namespace
# multi
# line
# comment
root :value
# example space comment
@namespace.name space-tag
# attribute comments
attribute attr-tag :value for attribute
# attribute with multiple
# lines of values
foo :bar
:bin
:baz
repeated :value1
repeated :value2
each @ starts the definition of a namespace kinda like [name] in ini format. It can have comments that show up before. then each attribute is key :value and can have their own # comment lines.
Values can be multi line.. and also repeated..
the namespaces and values can also have little meta data tags added to them.

the service can define webhooks/mqtt topics to be notified when the configs are updated. That way it can deploy the changes out when they are updated.
@lyse@lyse.isobeef.org its a hierarchy key value format. I designed it for the network peering tools i use.. I can grant access to different parts of the tree to other users.. kinda like directory permissions. a basic example of the format is:
@namespace
# multi
# line
# comment
root :value
# example space comment
@namespace.name space-tag
# attribute comments
attribute attr-tag :value for attribute
# attribute with multiple
# lines of values
foo :bar
:bin
:baz
repeated :value1
repeated :value2
each @ starts the definition of a namespace kinda like [name] in ini format. It can have comments that show up before. then each attribute is key :value and can have their own # comment lines.
Values can be multi line.. and also repeated..
the namespaces and values can also have little meta data tags added to them.

the service can define webhooks/mqtt topics to be notified when the configs are updated. That way it can deploy the changes out when they are updated.
meta: umm… call me Iris? (new key)
I’ve added myself to the registries at registry.twtxt.org and twtxt.tilde.institute. I wonder if there’s a list of registries. #meta
How to Delete a Threads Account Without Leaving Instagram
When Threads debuted from Meta (FaceBook), it was intricately linked to Instagram, and initially when you went to delete or deactivate a Threads account, it had the unfortunate side effect of also deleting the related Instagram account. But that is no longer the case. Now you can choose to delete a Threads account without impacting … [Read More](https://osxdaily.com/2023/12/31/how-to-delete-a-threads-account-without-le … ⌘ Read more
meta: it’s official - I am transgender, and this site now runs on FreeBSD and hydropower
@prologic@twtxt.net I only use it so that family that follow me can see the images I post.
I do not browse around and spend time there, just check what family and friends have posted.
But still - makes me mad that they put that tracking infront of a paywall like that.
Hate putting money in zuckerberg’s pocket.
Same with VR - you need a meta account to use the oculus.. and you get full screen notification inside the VR headset if you do not use that.. Luckily there is a trail going on in Norway now..
https://www.datatilsynet.no/en/news/aktuelle-nyheter-2023/meta-case-brought-to-the-european-level/
Did not expect anything less from meta. Pay or we will track you. Should be illegal.
@prologic@twtxt.net Perhaps we should add a meta flag to Twtxt to stop indexation by ChatGPT and consorts? I already use robots.txt for this.
Run Threads on Desktop with Mac, Windows PC, Linux
Threads, the social network microblogging Twitter/X competitor launched by Meta (Facebook), is typically thought of as a mobile only experience, with users having the Threads app on their iPhone or Android device. But, if you have a Mac, Windows PC, or Linux computer, and you want to use Threads on your desktop computer, you can … Read More ⌘ Read more
Norway has had it with Meta, threatens $100K fines for data violations.
so. if you join threads (meta’s new twitter clone) - then you cannot leave without nuking your instagram..
wanted to use my oculus to do some flightsimming on Friday, but now Meta forces you over to facebook. super annoying message that constantly pops up in the desktop client, but then after 10 minutes of flying they show the same message in fullscreen inside the VR glasses. so fuck them. I will try and get it to work on linux instead one day soon when I have time.
Metaverse Could Contribute Up To 2.4% of US GDP By 2035, Study Shows
A study commissioned by Meta has found that the metaverse could contribute around 2.4% to U.S. annual GDP by 2035, equating to as much as $760 billion. Reuters reports: The concept of the metaverse includes augmented and virtual reality technologies that allow users to immerse themselves in a virtual world or overlay information digitally on … ⌘ Read more
meta/now: finished Metroid Dread. 5 stars
RT by @mind_booster: No âmbito do 20º aniversário da Convenção de Salvaguarda do Património Cultural Imaterial, é amanhã lançada a campanha Wiki Loves Living Heritage. Vejam como assistir ao lançamento no link:
https://meta.wikimedia.org/wiki/Event:Wiki_Loves_Living_Heritage/Wiki_Loves_Living_Heritage_launch_event #Patrimonioimaterial #Portugal @cultura_pt
No âmbito do 20º aniversário da Convenção de Salvaguarda do Património Cultural Imaterial, é amanhã lançada a campanha Wiki Loves Living Heritage. Vejam … ⌘ Read more
RT by @mind_booster: ❗Breaking: Meta Tracking Tools unlawful
In a groundbreaking decision in one of noybs 101 complaints, the Austrian Data Protection Authority decided that the use of Facebook’s tracking pixel directly violates the GDPR: https://noyb.eu/en/austrian-dsb-meta-tracking-tools-illegal?mtc=tw
❗Breaking: Meta Tracking Tools unlawful
In a groundbreaking decision in one of noybs 101 complaints, the Austrian Data Protection Authority decided that the use of Facebook’s tracking pixel directly violates th … ⌘ Read more
** week notes **
I’ve been experimenting. I’ve been concocting a recipe for vegan kugel, and rediscovering little features and edges of my website I’d forgotten I baked in. Like chocolate chips hidden in an oatmeal raisin cookie.
One chip most recently re-discovered: support for per-page custom styles?! All I gotta do is include an optional bit of meta data, bespoke-css, that points to a style sheet. I may play with this feature more. I do love myself some css. I can tell exactly when in my life I added this feature because th … ⌘ Read more
**Ciência: os planos actuais não são suficientes para atingir as metas estabelecidas
Comissão Europeia: vamos ser ainda menos ambiciosos**
Ciência: os planos actuais não são suficientes para atingir as metas estabelecidas
Comissão Europeia: vamos ser ainda menos ambiciosos
nitter.net/ZEROasts/status/1625784479418818560#m ⌘ Read more
“Para Portugal, […] seria necessário garantir uma redução de emissões de pelo menos 61% até 2030 relativamente aos níveis de 2005, em vez dos atuais 55% na Lei de bases do Clima, para alinhar o país com a meta de 1,5°C”
“Para Portugal, […] seria necessário garantir uma redução de emissões de pelo menos 61% até 2030 relativamente aos níveis de 2005, em vez dos atuais 55% na Lei de bases do Clima, para alinhar o país com a meta de 1,5°C”
[nitter.net/ZEROasts/status/1575415098352586760#m](https://nitter.n … ⌘ Read more
(cont.)
Just to give some context on some of the components around the code structure.. I wrote this up around an earlier version of aggregate code. This generic bit simplifies things by removing the need of the Crud functions for each aggregate.
Domain ObjectsA domain object can be used as an aggregate by adding the event.AggregateRoot struct and finish implementing event.Aggregate. The AggregateRoot implements logic for adding events after they are either Raised by a command or Appended by the eventstore Load or service ApplyFn methods. It also tracks the uncommitted events that are saved using the eventstore Save method.
type User struct {
Identity string ```json:"identity"`
CreatedAt time.Time
event.AggregateRoot
}
// StreamID for the aggregate when stored or loaded from ES.
func (a *User) StreamID() string {
return "user-" + a.Identity
}
// ApplyEvent to the aggregate state.
func (a *User) ApplyEvent(lis ...event.Event) {
for _, e := range lis {
switch e := e.(type) {
case *UserCreated:
a.Identity = e.Identity
a.CreatedAt = e.EventMeta().CreatedDate
/* ... */
}
}
}
Events
Events are applied to the aggregate. They are defined by adding the event.Meta and implementing the getter/setters for event.Event
type UserCreated struct {
eventMeta event.Meta
Identity string
}
func (c *UserCreated) EventMeta() (m event.Meta) {
if c != nil {
m = c.eventMeta
}
return m
}
func (c *UserCreated) SetEventMeta(m event.Meta) {
if c != nil {
c.eventMeta = m
}
}
Reading Events from EventStore
With a domain object that implements the event.Aggregate the event store client can load events and apply them using the Load(ctx, agg) method.
// GetUser populates an user from event store.
func (rw *User) GetUser(ctx context.Context, userID string) (*domain.User, error) {
user := &domain.User{Identity: userID}
err := rw.es.Load(ctx, user)
if err != nil {
if err != nil {
if errors.Is(err, eventstore.ErrStreamNotFound) {
return user, ErrNotFound
}
return user, err
}
return nil, err
}
return user, err
}
OnX Commands
An OnX command will validate the state of the domain object can have the command performed on it. If it can be applied it raises the event using event.Raise() Otherwise it returns an error.
// OnCreate raises an UserCreated event to create the user.
// Note: The handler will check that the user does not already exsist.
func (a *User) OnCreate(identity string) error {
event.Raise(a, &UserCreated{Identity: identity})
return nil
}
// OnScored will attempt to score a task.
// If the task is not in a Created state it will fail.
func (a *Task) OnScored(taskID string, score int64, attributes Attributes) error {
if a.State != TaskStateCreated {
return fmt.Errorf("task expected created, got %s", a.State)
}
event.Raise(a, &TaskScored{TaskID: taskID, Attributes: attributes, Score: score})
return nil
}
Crud Operations for OnX Commands
The following functions in the aggregate service can be used to perform creation and updating of aggregates. The Update function will ensure the aggregate exists, where the Create is intended for non-existent aggregates. These can probably be combined into one function.
// Create is used when the stream does not yet exist.
func (rw *User) Create(
ctx context.Context,
identity string,
fn func(*domain.User) error,
) (*domain.User, error) {
session, err := rw.GetUser(ctx, identity)
if err != nil && !errors.Is(err, ErrNotFound) {
return nil, err
}
if err = fn(session); err != nil {
return nil, err
}
_, err = rw.es.Save(ctx, session)
return session, err
}
// Update is used when the stream already exists.
func (rw *User) Update(
ctx context.Context,
identity string,
fn func(*domain.User) error,
) (*domain.User, error) {
session, err := rw.GetUser(ctx, identity)
if err != nil {
return nil, err
}
if err = fn(session); err != nil {
return nil, err
}
_, err = rw.es.Save(ctx, session)
return session, err
}
(cont.)
Just to give some context on some of the components around the code structure.. I wrote this up around an earlier version of aggregate code. This generic bit simplifies things by removing the need of the Crud functions for each aggregate.
Domain ObjectsA domain object can be used as an aggregate by adding the event.AggregateRoot struct and finish implementing event.Aggregate. The AggregateRoot implements logic for adding events after they are either Raised by a command or Appended by the eventstore Load or service ApplyFn methods. It also tracks the uncommitted events that are saved using the eventstore Save method.
type User struct {
Identity string ```json:"identity"`
CreatedAt time.Time
event.AggregateRoot
}
// StreamID for the aggregate when stored or loaded from ES.
func (a *User) StreamID() string {
return "user-" + a.Identity
}
// ApplyEvent to the aggregate state.
func (a *User) ApplyEvent(lis ...event.Event) {
for _, e := range lis {
switch e := e.(type) {
case *UserCreated:
a.Identity = e.Identity
a.CreatedAt = e.EventMeta().CreatedDate
/* ... */
}
}
}
Events
Events are applied to the aggregate. They are defined by adding the event.Meta and implementing the getter/setters for event.Event
type UserCreated struct {
eventMeta event.Meta
Identity string
}
func (c *UserCreated) EventMeta() (m event.Meta) {
if c != nil {
m = c.eventMeta
}
return m
}
func (c *UserCreated) SetEventMeta(m event.Meta) {
if c != nil {
c.eventMeta = m
}
}
Reading Events from EventStore
With a domain object that implements the event.Aggregate the event store client can load events and apply them using the Load(ctx, agg) method.
// GetUser populates an user from event store.
func (rw *User) GetUser(ctx context.Context, userID string) (*domain.User, error) {
user := &domain.User{Identity: userID}
err := rw.es.Load(ctx, user)
if err != nil {
if err != nil {
if errors.Is(err, eventstore.ErrStreamNotFound) {
return user, ErrNotFound
}
return user, err
}
return nil, err
}
return user, err
}
OnX Commands
An OnX command will validate the state of the domain object can have the command performed on it. If it can be applied it raises the event using event.Raise() Otherwise it returns an error.
// OnCreate raises an UserCreated event to create the user.
// Note: The handler will check that the user does not already exsist.
func (a *User) OnCreate(identity string) error {
event.Raise(a, &UserCreated{Identity: identity})
return nil
}
// OnScored will attempt to score a task.
// If the task is not in a Created state it will fail.
func (a *Task) OnScored(taskID string, score int64, attributes Attributes) error {
if a.State != TaskStateCreated {
return fmt.Errorf("task expected created, got %s", a.State)
}
event.Raise(a, &TaskScored{TaskID: taskID, Attributes: attributes, Score: score})
return nil
}
Crud Operations for OnX Commands
The following functions in the aggregate service can be used to perform creation and updating of aggregates. The Update function will ensure the aggregate exists, where the Create is intended for non-existent aggregates. These can probably be combined into one function.
// Create is used when the stream does not yet exist.
func (rw *User) Create(
ctx context.Context,
identity string,
fn func(*domain.User) error,
) (*domain.User, error) {
session, err := rw.GetUser(ctx, identity)
if err != nil && !errors.Is(err, ErrNotFound) {
return nil, err
}
if err = fn(session); err != nil {
return nil, err
}
_, err = rw.es.Save(ctx, session)
return session, err
}
// Update is used when the stream already exists.
func (rw *User) Update(
ctx context.Context,
identity string,
fn func(*domain.User) error,
) (*domain.User, error) {
session, err := rw.GetUser(ctx, identity)
if err != nil {
return nil, err
}
if err = fn(session); err != nil {
return nil, err
}
_, err = rw.es.Save(ctx, session)
return session, err
}
malign prior as an idealized case of meta-optimization
content="width=device-width" to your viewport meta tag will help massively with scaling on different device widths.
Thanks for the feedback! This site was designed to look perfect on good old 800x600 monitors (I even left a comment next to the meta tag). Maybe I’ll add a mobile-friendly version someday :-) P.S. Nice try with SQL injection, haha. Do you have any plans for XSS attacks? :D
@win0err@kolesnikov.se I agree with @prologic@twtxt.net about the text size. Adding content="width=device-width" to your viewport meta tag will help massively with scaling on different device widths.
Eg. The first screenshot is the current site with a device width of 440px and the second is with the updated viewport meta tag.


Other than that, I like the aesthetic of it 😊 It gives me early-ish internet vibes, which I wasn’t online for (I’m a ‘90s baby) but I’ve seen some pretty early websites.
the right level for solving the hard problem of consciousness is within existing science/within philosophy/within meta- or pre-philosophy/needs a fully new paradigm of thought
Instagram hides some posts mentioning abortion with ‘sensitive content’ label
After accounts run by abortion rights advocacy groups found their stories hidden, the Meta-owned platform described the issue as a ‘bug’. ⌘ Read more
Yahoo joins Facebook owner Meta in testing metaverse tech in Hong Kong
The US internet company says it will hold virtual concerts and exhibitions on a metaverse platform, after Facebook owner Meta announced similar plans. ⌘ Read more
Upgraded my Twtxt feed to 2022 with the twtxt.net meta-data extensions.
The Liminal Web: Mapping An Emergent Subculture Of Sensemakers, Meta-Theorists & Systems Poets ⌘ Read more
I think it is long due dropping Facebook (now Meta) from the S&P 500 index funds. As an owner of some, I really have a problem with it—and yes, I know there is little I can do but voice it everywhere I make noise online.
How to Insert Meta Tags into a Web Page with BlueGriffon ⌘ Read more…
@prologic@twtxt.net the meta info on the top I added manually. it’s following what I have seen from some other twtxt feeds. the new parser will read them.
@prologic@twtxt.net the meta info on the top I added manually. it’s following what I have seen from some other twtxt feeds. the new parser will read them.
@lucidiot@tilde.town “nuclear realtor” I like this twtxt. [meta: I guess I’ll often just reply with “I like this” or , although perhaps liking could be a primitive. I’ll do it rarely enough to not clutter my timeline tho]
added a !meta page. this proof of concept integrates with the weewiki !zettelkasten I am developing to produce something similar to this !feed.
meta-not-caring
Usbek & Rica - « QAnon » : le méta-complot ultime de l’ère Trump ⌘ https://usbeketrica.com/fr/article/qanon-ou-le-meta-complotisme-ultime-de-l-ere-trump
On the blog: Real Life in Star Trek, Metamorphosis https://john.colagioia.net/blog/2020/10/08/meta.html #scifi #startrek #closereading
James Tenney’s Meta Hodos and Meta Meta Hodos are an attempt to derive music theory from first principles: [[https://monoskop.org/images/1/13/Tenney_James_Meta-Hodos_and_Meta_Meta-Hodos.pdf]] #links #composition #musictheory
weewiki uses a custom org markup parser written in ANSI C to render the HTML. No emacs needed! my hope is to introduce a user-defined callback that can process these to allow for custom meta-commands.
Posted to Entropy Arbitrage: A Free Culture License Wish List https://john.colagioia.net/blog/2020/03/29/copyleft.html #license #meta #opensource #freesoftware #gpl #creativecommons #copyleft
Posted to Entropy Arbitrage: My Software https://john.colagioia.net/blog/2020/02/16/software.html #software #technology #meta
Posted to Entropy Arbitrage: Colagioia Industries https://john.colagioia.net/blog/2020/02/02/ci.html #software #technology #meta
I think part of what’s killing emacs for me is what killed kakoune for me — I don’t have a good Meta key on my Mac and I’m not about to give up my Option key for it.
/meta @ckipp@chronica.xyz About images, sure, I understand it’s useless for CLI-only use. But if we added our own format, maybe something like Markdown
would work?/meta @ckipp@chronica.xyz Also yes, a simple string search would be fine. I’m not JS-savvy enough to be sure, but I guess it would work a bit like tags?
/meta @ckipp@chronica.xyz Ok, I figured it out, sorry :) I entered my local time manually and forgot it’s supposed to be UTC, so my posts were in the future.
/meta @ckipp@chronica.xyz I’m trying to understand where my timestamp issue comes from, but I have no clue. My two latest posts were edited manually, yet the timestamp syntax seems right?
/meta @ckipp@chronica.xyz Regarding potential new features, maybe some kind of search box? And is there a way to embed images or other media?
/meta Great job on the pagination! Now I’m thinking about forking this and trying to see if I can use it as a personal nanoblog/wiki…
/meta I really like how this place looks. Is there any plan for some kind of pagination to browse older posts?
This is math-heavy but the idea that ‘keys are meta-taxonomic dimensions’ reminds me of ZigZag & other elements make me think of parallel prolog-likes like mycroft – should re-read carefully later: http://www.vpri.org/pdf/m2009002_qod.pdf
I don’t buy this at all. All the political radicals I know have incredibly elaborate meta-cognition and constantly-shifting meta-justifications, because you don’t become radical without curiosity. https://arstechnica.com/science/2018/12/radicals-dont-evaluate-their-mistakes-very-effectively/
@mdom@domgoergen.com That’s interesting. So does txtnish read that metadata? or would an end user just look at the file to see it? Is the meta data going to be the standard?
A Couple of Meta-interpreters in Prolog https://www.metalevel.at/acomip/
Neural speech synthesizers are noise, pressed into form: Meta-Raudive devices that live in your phone, channel the voices of the dead to tell you dinner’s ready
This frostbitten black meta… https://theoutline.com/post/2556/this-frostbitten-black-metal-album-was-created-by-an-artificial-intelligence
Scaling Dunbar’s number up to billions of people is hard even with augments, so you can lend your voice to an Übermensch: A meta-person that represents you and thousands of others, which talks to other Übermenschen to get person-years of communication done in mere minutes
When an AI Tries Writing Slashdot Headlines - Slashdot https://meta.slashdot.org/story/17/10/22/1714246/when-an-ai-tries-writing-slashdot-headlines
those who resolve to think only object level thoughts about stones, trees, flowing water, with politics at least two levels too meta
SHADOW CHARACTERS:↵Moon: vapid↵Fire: airheaded, forgetful↵Moon during lunar eclipse: giddy, very meta↵Sirius: bros↵KIC 8462852: ⠠⠠⠁⠽⠽⠀⠠⠠⠇⠍⠁⠕
Noobasis: Object level.↵Nootroposphere: First meta level. Still mostly plebs.↵Noostratosphere: The skyhook may deign to meet you here.
Getting magic into a computer is a challenge though: It took a few breakthroughs in psionics and information theory to add a meta level.