I'm currently in the same process. I've just retrieved and sent my first webmentions two weeks ago.
I really like the way you integrated the mentions into you blog, my implementation is still very basic in that regard.
Micropub is also high on my list, after attending the Homebrew Website Club this week, as I'm still missing a convenient and fast method to create new post.
Especially shorter once, like replies to post.
Django: used only() and defer() to optimise performance
only has issues with related objects and prefetch_related
User.objects.all().prefetch_related("post_set").only("name", "post_set") will result in an error. Use defer instead to exclude data you don't need.
Idea: Build function that automatically adds only or defer to a queryset based on the Serializer
There will be an atomic bomb event in data gathering. Similar to how atom bombs polluted carbon dating, the spread of AI generated content will pollute future datasets. https://news.ycombinator.com/item?id=32578142
This is a pretty common task in frontend; you already have some data (retrieved from an API) and want to offer the same data as a CSV.
The problem: most of the top answers you find on Google and StackOverflow are wrong.
They will break in the presence of , or " in the data.
Additionally all I found are vulnerable to CSV injections.
Usage:
yourData is the data you want to convert to CSV.
In data you have to change two things
Change the array to list all headers you want to be included in your CSV
Change the value lookups in the body to match the headers.
csvStr will be the finished CSV content. You can use this to construct a download for the user.
The naive assumption about CSV (comma separated values) is just appending data with commas as separators in between.
This works in some special cases, but for general data this scheme will quickly break.
When you have data which includes commas it will break your CSV.
In [1, 2, 'hello, world']
CSV 1,2,hello, world
Out [1, 2, 'hello', ' world']
To avoid this quotes are used. Either all or only the values where it is needed are put into quotes.
The reader will ignore all commas if they are inside quotes.
This way we can represent data that includes commas.
In [1, 2, 'hello, world']
CSV "1","2","3","hello, world"
Out [1, 2, 'hello, world']
But this only shifts the problem.
What happens if our quote character is used in our data?
In [1, 2, 'hello", John," what?']
CSV "1","2","3","hello", John," what?"
Out [1, 2, 'hello', ' John', ' what?']
To avoid this an escape character is used.
The escape character is placed in front of every quote char, which is part of the data.
This indicates to the reader that the following quote is part of the data.
The most common format of CSV uses the quotechar itself as the escapechar.
Every " in the data is simply doubled to "".
In [1, 2, 'hello", John", what?']
CSV "1","2","3","hello"", John"", what?"
Out [1, 2, 'hello", John", what?']
The combination of "separator", "quotechar" and "escapechar" allows us to encode arbitrary data as CSV, without breaking the format of our data.
In principle anything can be chosen for these three characters.
One common variation is to use a semicolon (;) as the separator.
If a tab (\t) is used, the files are called "TSV" (Tab separated values).
RSS requires the pubDate to be specified in RFC822. When using the Go time format time.RFC822 , the rss validator will complain. Using time.RFC1123Z (RFC1123 updates RFC822) will yield accepted dates.
Got access to Dall-E. The output is amazing, but you really need to learn to describe what you are looking for. It's quiet easy to get a good result for a vague concept, but hard if you are looking for something specific.
Tried and failed to create in image of the Oubliette from "The Quantum Thief" books
Added a simple feedback form to Random Generator Tool . Have to change the presentation, as most people complain about the content of the table they are currently using.
Added a feature to copy a random generator, as most people request more options in the tables they are using.
Read the documentation of SeaweedFS. Hopefully I find some time to play with it a bit.
Fix even small inconsistencies in your lower layers immedieatly. The cost of removing them grows exponentially over time and depth!
Started a project to learn some Go: A simple (social) blogging application.
Debugged a TypeScript test suite which fails because it runs out of memory:
Ein schneller veganer Auflauf mit Gnocchi und Brokkoli. Kann eingefroren oder backfertig im Kühlschrank gelagert werden, für Tage wenn man keine Lust hat zu kochen.
Wasser in Topf zum Kochen bringen und Gnocchi nach Packung kochen
Brokkoli in mundgerechte Stücke schneiden
Zwiebel und Knoblauch hacken
Zwiebel in Öl anbraten bis sie anfangen Farbe zu bekommen
Brokkoli und Knoblauch hinzufügen und kurz mit anbraten
Mit Tomaten ablöschen und Dose mit etwas Wasser ausspülen und mit hinzugeben
Für ein paar Minuten aufkochen, dann Creme Fraiche hinzufügen
Nach Geschmack würzen
Fertige Gnocchis in die Pfanne geben und alles gut vermischen
In Auflaufform geben und mit Käse bedecken
Optional etwas Paniermehl und Leinensamen über den Käse sträuen, für einer knusprigere Kruste