Gemini Links 04/06/2024: Canon Construction, Coming Out, Abandoning Mobile Phones, and Microsoft's Anti-GPL Plagiarism
Contents
-
Gemini* and Gopher
-
Personal/Opinions
-
🔤SpellBinding: AVIOSUC Wordo: SHAMS
-
Status and Photos
A popular topic of discussion on Gemini is how it could be used in circumstances that only allow for low-bandwidth communications. I wonder if and how Gemini would need to change for governments and organizations to seriously adopt it for such purposes. Is the protocol lacking robustness, or does it need features such as content length or error correction? Does certificate-based authentication provide advantages over traditional password-based authentication? It would be interesting to see how Gemini stacks up.
-
Flash hobbies
I have some new hobbies. I am thrilled to have hobbies. As a teenager I always struggled socially when people asked me what I like to do and I didn't have answers. Now I am surprised and proud to have lots.
-
On roleplaying systems
I've been spending a lot of time on tabletop RPG design in recent years. My current major project along these lines is the latest iteration of my D&D-inspired system, Vanquish Vanguard.
Vanquish Vanguard was inspired by a variety of factors. D&D 5th edition was the main system my roleplaying groups played for years.
-
Canon Construction
That is, the alto or lower voice always hits "C" (sometimes 261.63 Hertz) and after some delay the soprano or higher voice always hits "G" (392 Hz, say) above the "C". "R" is for rest, or silence. Is this a canon? Here some will say no; the case is similar to asking whether a virus is alive. Kinda, sorta, maybe, no? Various forms of a canon are observed: there are multiple voices; the voices enter after one another at some distance; the voices are transposed from one another by some amount, here by a fifth. Complicating matters is that there are other forms of canon that do not observe some or all of the prior; crab canons are a voice played against that same voice played backwards. Generally canons have more musical variety than hitting the same note or notes over and over, just as "being alive" may have more complications than a virus does. This gets into "I'll know life, or a musical canon, when I see it" territory and virus or a fifth offset by one beat may well not pass that bar.
-
Getting Ready, Coming Out
And thus, after FAR too long, I am out at work. Heck, some of them might even be reading this (if you are... hi!)
It was a long process of FEAR and ANXIETY, but now it's done it's just love, and being me. It took me the entire month of May to plan and enact my scheme but I did it and now a whole weight has been lifted off of me. SEE I CAN WRITE HAPPY POSTS.
-
-
Technology and Free Software
-
"The first day after the smartphone..."
A little time ago i had pondered if i should abandon the smartphone... well, the decision was taken out of my hands by my son who killed my phone yesterday. Todler salvia has some properties that are very detrimental tothe health of electronic devices it seems...
Well, i need a phone, so i took my wife and son yesterday and we made a little trip to the nearest "Media Markt" to take a look which dumbphones are available and find one which doesn't look to much like an "senior-citizen-phone". I chose an Nokia 105 in charcoal, extremely cheap at 22.00 Euros and reminiscent of the business phones i liked to own back in the early 00s. On the technical side there is not much to tell: Its a phone, you can phone with it and if you are able to handle T9 input you can write text messages too. Oh, and it has a flashlight and a build in radio, but this is it.
-
Just a simple matter of replacing a slow Lua function with a faster C function
I spent the past few days rewriting some Lua code [1] into C. While I find LPEG (Lua Parsing Expression Grammar) [2] to be convenient, it is not necessarily fast [3]. Normally this isn't an issue but in this case, I was calling LPEG (Lua Parsing Expression Grammar) for each character in a blog post.
Fortunately, it was fairly straight forward porting the code to C. The code goes through text a [DELETED-character-DELETED] codepoint at a time. If it's a whitespace character or a hyphen, I mark the current position as a possible breakpoint for the text; otherwise I ignore combining characters (they don't count towards the line length). Then, when I reach past the number of characters I want for a line, I copy out the string from the beginning of the “line” to the marked breakpoint (and if there isn't a breakpoint, there is no good place to break the line so I will break the line at the line length—not much else to do), then mark the beginning of the next line and continue until the end of the text.
-
Outage and back of head ⛔🙆
My esteemed host, freeshell.de, had an outage because a user was doing something bad. This drew my attention to the lack if backups I have. I can't run rsync for some reason, so the only copy of my data that I have is pretty old. Ho hum.
-
Pledging OpenGL applications on OpenBSD
I spent an hour or two trying to make the Lagrange browser more secure on OpenBSD by using the pledge system call. For those who don't know, pledge is a system call that allows a process to restrict the system calls it can make. This vastly reduces the attack surface of the process, and makes it much harder for an attacker to do anything malicious if they manage to exploit the process. Try popping a shell when execve is disabled!
-
Internet/Gemini
-
It feels like the old Internet again
My brother Leetaur has been hosting his own Gemini capsule for a long time. Recently, through a confluence of factors, I became interested in hosting one of my own. This happened partially because I've become interested in learning Golang, and writing my own custom Gemini server seemed like a good project to help myself learn the language.
As it turns out, Gemini is such a simple protocol that a custom Gemini server was almost too trivial to implement. This speaks well of the simplicity of the protocol, but by itself this was not nearly enough of a project to get really comfortable with Go. Hence, I'm planning on writing something a bit more substantial with it (more on that below).
-
-
Programming
-
My stance on (GitHub) Copilot
I think current AI generated code is fine. Here's why. For simple cases, like printing "Hello, World!" 10 times or centering a div, the code has shown up many, many times on the internet that is more then likely not even copyright-able. And for complicated code. No senior developers asks copilot to generate some code and leave it there. In most cases, people is going to use Copilot as a very powerful autocomplete to reduce their mental load. And in the end, they are able to write that code themselves. Just copilot made it far easier beyond the help of language servers and other autocomplete tools. Remember people use VIM because it lets you type at the speed of your thoughts? Copilot is the same thing. But instead of typing, it guesses your thought and the user accepts the solution if it happens to generate the right thing.
-
-
-
* Gemini (Primer) links can be opened using Gemini software. It's like the World Wide Web but a lot lighter.