home tags events about login

zev rss

Hoo boy...what have I gotten myself into?

zev bonked 30 Mar 2023 23:38 -0700
original: glyph@mastodon.social

Every article about AI this week is like "Today, there's not yet a human who has eaten hot wings so hot that they spontaneously burst into flame. But, as we develop hotter and hotter sauces, we must confront the fact that one day — and that day may come very soon — one of the guests on Hot Ones will become The Inhuman Torch from Marvel Comics and annihilate the eastern seaboard in an all-consuming flame. We must prepare for that inevitable future."

zev honked back 20 Mar 2023 05:16 -0700
in reply to: https://mastodon.social/users/Ange/statuses/110054510321884936

@Ange @th

 ________________________________________________
/A LA BSD'S BCD(6), PERHAPS?                     |
|]  ] ] ]   ]]]]     ] ]]                        |
|  ]     ]       ]  ] ]  ]                       |
|      ]  ]       ]       ]                      |
|]11]1111111111111111111]111111111111111111111111|
|22222]]22]2]2222222222222]2222222222222222222222|
|33]333333333]3333]333333333333333333333333333333|
|4444444]44444]4444444444444444444444444444444444|
|55555555555555]5]555]555555555555555555555555555|
|666666666666666]66666666666666666666666666666666|
|77777777]7777777777]7777]7]777777777777777777777|
|88888888]88888]8]]8888]888]888888888888888888888|
|999999999999999999999]99999999999999999999999999|
|________________________________________________|

zev bonked 09 Mar 2023 22:24 -0800
original: Obdurodon@hachyderm.io

I've heard a few people claim that GPT-style AI has helped them write more code. I'd be about a million times more impressed if it helped them write *better* code. The world really really really doesn't need even larger quantities of mediocre code.

zev honked 28 Feb 2023 15:38 -0800

@colinianking I'm not sure offhand what the *nix/FOSS world's equivalent of the Oscars is, but I would like to nominate stress-ng's --ignite-cpu for "Best Command-line Flag".

zev honked back 26 Feb 2023 13:00 -0800
in reply to: https://honk.tedunangst.com/u/tedu/h/q4tt5211v1V5p34CXr

@tedu But calling through a function pointer implies saving a return address -- way too much performance overhead!

To really just do pc = address as efficiently as possible you need GNU C:

$ cat goto.c 
void dontlook(void* p)
{
    goto *p;
}
$ gcc -O2 -Wall -o - -S goto.c
    .file	"goto.c"
    .text
    .section	.text.unlikely,"ax",@progbits
    .globl	dontlook
    .type	dontlook, @function
dontlook:
.LFB0:
    .cfi_startproc
    jmp	*%rdi
    .cfi_endproc
.LFE0:
    .size	dontlook, .-dontlook
    .ident	"GCC: (GNU) 12.2.0"
    .section	.note.GNU-stack,"",@progbits

zev honked back 25 Feb 2023 18:24 -0800
in reply to: https://honk.tedunangst.com/u/tedu/h/P9386tptXJ19K1W1c2

@tedu Well, however miraculously, in the time that's elapsed since I posted that Mr. Pinboard has smiled upon me with a reply to my support email (maybe I should frame it, like a Knuth check or something) and assuaged some concerns, so out of some combination of laziness and convenience I'll probably continue using that for the foreseeable future.

I'll definitely keep an eye on inks though (I do see one fresh new commit!) and maybe play around with it a bit to have something on hand as a fallback plan if things in Pinboardland take another turn for the worse...

zev honked 24 Feb 2023 03:49 -0800

With Pinboard disappointingly crumbling into (as far as I can tell) complete abandonware running (to the extent that it does) on pure technological inertia, I find myself in search of a new bookmarking system.

Given the general track record of third-party services, whether large or small, at this point I have little faith in any of them not eventually just sort of waltzing off into oblivion without warning, so...self-hosted it is, I guess?

Seeing as I've been pretty happy with honk and a link-saver in a similar style sounds appealing, I'm eyeing inks with some interest. The main thing I think I'd miss is archiving. @tedu -- any chance it might grow some sort of integration with https://web.archive.org/save? It seems like something I could maybe attempt to kludge together myself, but seeing as my go/web app skills are somewhere between meager and nonexistent I'm not sure how well it'd turn out.

zev bonked 23 Feb 2023 17:57 -0800
original: beecycling@romancelandia.club

Do not seize the day. This will startle the day and may cause it to become aggressive and give you a nasty bite.

Instead approach the day calmly without making eye contact, pet it gently, and slowly enfold it in a careful embrace

If the day shows any signs of resistance to being engaged with, it is likely to turn on you. Back off and return to bed.

zev honked 23 Feb 2023 15:52 -0800

Irritation of the day:

$ pip3 search dtschema
ERROR: XMLRPC request failed [code: -32500]
RuntimeError: PyPI no longer supports 'pip search' (or XML-RPC search). Please use https://pypi.org/search (via a browser) instead.

Bleh, no thanks.

While I find python a mostly-tolerable language (for some small tasks, anyway), I'm very glad that I typically only use it for fairly standalone, stdlib-only kinds of programs and hence rarely have to interact with its package management ecosystem.

zev honked back 10 Feb 2023 01:13 -0800
in reply to: https://honk.bewilderbeest.net/u/zev/h/crHH5xq9GsG4Fnk3jJ

...and now after looking at it a moment longer than I did at the time, I discovered that the shifter cable had in fact not broken, but merely popped out of its little retainer bracket fork.

Annoying that I could in fact have easily fixed it on the side of the road and avoided a lot of headache, but glad that I procrastinated on ordering the replacement parts I wrongly thought I'd need (and that it was ultimately trivial to fix).

zev bonked 05 Feb 2023 13:19 -0800
original: jwz@mastodon.social

@simon @amyhoy
But how could you ever trust that data? You are asking for *facts* but the system is optimized to produce *believable answers* which are not at all the same thing.

Suppose the system optimizes its march to the goal by just making up some numbers that subtly (or not so subtly) tilt the data one way or another. Now you've built a black box to confirm your biases.

And the black box, by its nature, cannot "show its work" without lying.

zev honked 02 Feb 2023 12:38 -0800

Weekend adventures: cross-country skiing was fun, but after a shifter cable gave out on the highway on the way back, the ensuing 3-hour flatbed ride home was less so. Back into the garage for the car! (This time it should be re-emerging in less than 10 months though.)

car on flatbed tow truck shown in side mirror viewed from cab

zev bonked 22 Jan 2023 18:11 -0800
original: thedextriarchy@mastodon.social

It’s very funny to me that the dominant Twentieth Century conception of AI was a slightly awkward nerd with an inhuman mastery of facts and logic, when what we actually got is smooth-talking bullshit artists who can’t do eighth-grade math.

zev bonked 22 Jan 2023 01:51 -0800
original: SwiftOnSecurity@infosec.exchange

History in pics: Testing prototype Roomba's in 1982. It would take two decades until they could be made small enough to clean under a couch.

A cray supercomputer roomba with signature bumper

zev bonked 20 Jan 2023 22:52 -0800
original: rysiek@mstdn.social

Normalize using the word "Safe" as the opposite of "Smart" in the context ot #IoT / home appliances.

"I got myself a nice new Safe TV." 👍

#InfoSec

zev honked 19 Jan 2023 00:50 -0800

Some say emailed patches are a relic of the past and projects need to modernize, PRs on web-based forges or bust.

But true modernity, true enlightenment...can only be reached one way: patches via honk.

zev honked back 18 Jan 2023 19:25 -0800
in reply to: https://honk.tedunangst.com/u/tedu/h/J3PK33W5lh6sv2bCP2

@tedu something like this maybe?

diff --git a/mz/mz_test.go b/mz/mz_test.go
index a2259ab60891..17f431fb802a 100644
--- a/mz/mz_test.go
+++ b/mz/mz_test.go
@@ -5,14 +5,18 @@ import (
 	"testing"
 )
 
-func doonezerotest(t *testing.T, input, output string) {
-	var marker Marker
+func doonezerotestwithmarker(t *testing.T, marker *Marker, input, output string) {
 	result := marker.Mark(input)
 	if result != output {
 	t.Errorf("\nexpected:\n%s\noutput:\n%s", output, result)
 	}
 }
 
+func doonezerotest(t *testing.T, input, output string) {
+	var marker Marker
+	doonezerotestwithmarker(t, &marker, input, output)
+}
+
 func TestBasictest(t *testing.T) {
 	input := `link to https://example.com/ with **bold** text`
 	output := `link to <a href="https://example.com/">https://example.com/</a> with <b>bold</b> text`
@@ -121,6 +125,16 @@ func TestImagelink(t *testing.T) {
 	doonezerotest(t, input, output)
 }
 
+func TestMentions(t *testing.T) {
+	input := "@foo@example.com @bar@example.org @baz@example.net are pals but @notamention isn't"
+	output := "foo@example.com bar@example.org baz@example.net are pals but @notamention isn't"
+	var marker Marker
+	marker.AtLinker = func(text string) string {
+	return text[1:]
+	}
+	doonezerotestwithmarker(t, &marker, input, output)
+}
+
 func TestLists(t *testing.T) {
 	input := `hello
 + a list

(Probably still whitespace-damaged...but one bug at a time.)

Fails without the prior regex patch; passes with it applied.

zev honked back 17 Jan 2023 15:38 -0800
in reply to: https://honk.bewilderbeest.net/u/zev/h/P2s71W94hqd93fSC7V

@tedu Having now learned how to copy/paste/modify a go mod edit -replace invocation, I can report that the following seems to work, at least in some cursory testing:

diff --git a/mz/mz.go b/mz/mz.go
index 90ce6ba39293..107d5cf82242 100644
--- a/mz/mz.go
+++ b/mz/mz.go
@@ -37,7 +37,7 @@ var re_lister = regexp.MustCompile(`((^|\n)(\+|-).*)+\n?`)
 var re_tabler = regexp.MustCompile(`((^|\n)\|.*)+\n?`)
 var re_header = regexp.MustCompile(`(^|\n)(#+) (.*)\n?`)
 var re_hashes = regexp.MustCompile(`(?:^| |>)#[\pL\pN]*[\pL][\pL\pN_-]*`)
-var re_mentions = regexp.MustCompile(`(^|[ \n])@[[:alnum:]._-]+@[[:alnum:].-]*[[:alnum:]]([ \n.]|$)`)
+var re_mentions = regexp.MustCompile(`(^|[ \n])@[[:alnum:]._-]+@[[:alnum:].-]*[[:alnum:]]\b`)
 
 var lighter = synlight.New(synlight.Options{Format: synlight.HTML})
 

zev honked back 15 Jan 2023 16:11 -0800
in reply to: https://honk.tedunangst.com/u/tedu/h/4J3y3T4J71Dx9721v3

@tedu That seems consistent with what I've seen -- when given three or more consecutively it appears to alternate between matching and non-matching I think. I don't know the go tooling well enough offhand to have figured out how to actually test this (given it being in a dependency rather than the honk codebase itself), but any chance something like the following in webs would do the trick?

diff --git a/mz/mz.go b/mz/mz.go
index 90ce6ba39293..72caa2fb8e43 100644
--- a/mz/mz.go
+++ b/mz/mz.go
@@ -37,7 +37,7 @@ var re_lister = regexp.MustCompile(`((^|\n)(\+|-).*)+\n?`)
 var re_tabler = regexp.MustCompile(`((^|\n)\|.*)+\n?`)
 var re_header = regexp.MustCompile(`(^|\n)(#+) (.*)\n?`)
 var re_hashes = regexp.MustCompile(`(?:^| |>)#[\pL\pN]*[\pL][\pL\pN_-]*`)
-var re_mentions = regexp.MustCompile(`(^|[ \n])@[[:alnum:]._-]+@[[:alnum:].-]*[[:alnum:]]([ \n.]|$)`)
+var re_mentions = regexp.MustCompile(`\b@[[:alnum:]._-]+@[[:alnum:].-]*[[:alnum:]]\b`)
 
 var lighter = synlight.New(synlight.Options{Format: synlight.HTML})