you-know-what-i-hate.sxml (12131B)
1 (import (srfi :9) 2 (srfi :19) 3 (ice-9 pretty-print) 4 (ice-9 match) 5 (haunt utils) 6 (kakafarm weechatlog)) 7 8 (define-record-type <hate> 9 (make-hate title logs-or-paragraphs) 10 hate? 11 (title hate-title) 12 (logs-or-paragraphs hate-logs-or-paragraphs)) 13 14 (define-record-type <log> 15 (%make-log server channel weechatlog) 16 log? 17 (server log-server) 18 (channel log-channel) 19 (weechatlog log-weechatlog)) 20 21 (define (make-log server channel weechatlog-index) 22 (%make-log server channel (list-ref weechatlogs weechatlog-index))) 23 24 (define-record-type <paragraph> 25 (make-paragraph text) 26 paragraph? 27 (text paragraph-text)) 28 29 (define (paragraph->sxml paragraph) 30 `(div (@ (class "paragraph")) 31 (p ,(paragraph-text paragraph)))) 32 33 (define (log->sxml log) 34 `(div (@ (class "log")) 35 (p ,(string-append (log-channel log) 36 " @ " 37 (log-server log))) 38 (pre ,(map (lambda (line) 39 (string-append 40 (date->string (weechatlog-datetime line) "~4") 41 "\t<" 42 (weechatlog-user-status line) 43 (weechatlog-nickname line) 44 ">\t" 45 (weechatlog-message line) 46 "\n" 47 )) 48 (log-weechatlog log))))) 49 50 (define (log-or-paragraph->sxml log-or-paragraph) 51 (match log-or-paragraph 52 ((? log? log) 53 (log->sxml log)) 54 ((? paragraph? paragraph) 55 (paragraph->sxml paragraph)))) 56 57 (define (hate->sxml hate) 58 `(div (@ (class "hate")) 59 (h2 ,(hate-title hate)) 60 (div ,(map log-or-paragraph->sxml 61 (hate-logs-or-paragraphs hate))))) 62 63 (define weechatlogs 64 (map parse-weechatlog 65 '("2021-08-27T14:48:14+0000 < cow_2001> You know what I hate? 66 2021-08-27T14:48:48+0000 < cow_2001> People who shout while sneezing. I hate them." 67 "2021-08-27T15:48:44+0000 < cow_2001> !ud perused 68 2021-08-27T15:48:45+0000 < e-bot1> perused(1/7): To examine or study. 69 2021-08-27T15:48:50+0000 < cow_2001> !ud 2 70 2021-08-27T15:48:50+0000 < e-bot1> perused(2/7): The act of a person or small group of people travelling somewhere, often by foot, without a distinct purpose other than having fun. 71 2021-08-27T15:48:51+0000 < cow_2001> !ud 3 72 2021-08-27T15:48:52+0000 < e-bot1> perused(3/7): One of the most overused words in modern english. Typically used by snobs trying to sound more intelligent than they really are. It simply means to review, usually with great care. 73 2021-08-27T15:48:52+0000 < cow_2001> !ud 4 74 2021-08-27T15:48:53+0000 < cow_2001> !ud 5 75 2021-08-27T15:48:54+0000 < cow_2001> !ud 6 76 2021-08-27T15:48:54+0000 < e-bot1> perused(4/7): what you're doing to this definition 77 2021-08-27T15:48:55+0000 < cow_2001> !ud 7 78 2021-08-27T15:48:56+0000 < e-bot1> perused(5/7): Going to Peru and crusing around. 79 2021-08-27T15:48:58+0000 < cow_2001> huh 80 2021-08-27T15:48:58+0000 < e-bot1> perused(6/7): To carefully examine a young woman's booty but quick enough as to not get caught. 81 2021-08-27T15:49:00+0000 < e-bot1> perused(7/7): A verb describing the act of perusing in a future tense. 82 2021-08-27T15:50:45+0000 < cow_2001> You know what I hate? 83 2021-08-27T15:51:10+0000 < cow_2001> People who flood in chat rooms with various bots. I hate them. 84 2021-08-27T15:51:32+0000 < cow_2001> who 85 2021-08-27T15:51:33+0000 < cow_2001> what 86 2021-08-27T15:57:49+0000 < someone-0> :D 87 2021-08-27T15:50:45+0000 < cow_2001> You know what I hate? 88 2021-08-27T15:51:10+0000 < cow_2001> People who flood in chat rooms with various bots. I hate them. 89 2021-08-27T15:57:49+0000 < someone-0> :D" 90 "2022-08-15T07:30:55+0000 < cow_2001> you know what i hate about Gnome? they hide the names of their executables." 91 "2022-08-27T22:03:38+0000 < cow_2001> you know what i hate in phones? 92 2022-08-27T22:04:08+0000 < cow_2001> when the whole screen is filled with configuration buttons and you are scrolling down and afraid you would flip a switch in the configuration by accident" 93 "2022-09-07T12:08:51+0000 < cow_2001> i just discovered something horrid! neovim's gqq wrap command depends on the size of your terminal!" 94 "2022-11-24T14:08:29+0000 < cow_2001> there're a thousand different streaming services 95 2022-11-24T14:08:38+0000 < cow_2001> but not one is a screaming service" 96 "2022-11-24T15:33:13+0000 < cow_2001> you know what i hate? you press a radio button form widget and you want to scroll down. you press the down arrow. now the radio button chosen is the next radio button to the one you actually want to choose." 97 "2022-11-24T15:33:23+0000 < cow_2001> you know what i hate? you press a radio button form widget and you want to scroll down. you press the down arrow. now the radio button chosen is the next radio button to the one you actually want to choose." 98 "2023-01-19T04:38:29+0000 < cow_2001> you know what i hate? sometimes things expect \"yes\" sometimes things expect \"y\". if you write \"yes\" to something that expects \"y\" you write \"es\" for no good reason. 99 2023-01-19T04:39:35+0000 < cow_2001> \"no\" is only half as chaotic as \"yes\"… 100 2023-01-19T04:40:19+0000 < cow_2001> (i just did it when upgrading stuff in package-list-packages) 101 2023-01-19T04:40:39+0000 < cow_2001> meobutingoodmood: :D" 102 "2023-01-30T23:23:29+0000 < cow_2001> you know what i hate? when some program steals my keyboard focus or displays on top of another out of nowhere" 103 "2023-01-30T23:33:12+0000 < cow_2001> you know what i hate? when some program steals my keyboard focus or displays on top of another out of nowhere. 104 2023-01-30T23:33:24+0000 < someone-1> cow_2001 that gotta be GNOME." 105 "2023-03-03T07:16:59+0000 < cow_2001> you know what i hate? when you go around wikipedia and hover your mouse over a link, it pops up an obnoxious intrusive popup window with the link's article showing up" 106 "2023-11-09T14:01:19+0000 < cow_2001> you know what i hate? i hate it when i point at something a wee popup appears and it just won't disappear, stopping me from either seeing or clicking anything it hides. I HATE IT. they can appear when i am just pgdning and pguping around the page and the cursor is just hanging out there minding its own business." 107 "2023-11-09T13:59:49+0000 < cow_2001> you know what i hate? i hate it when i point at something a wee popup appears and it just won't disappear, stopping me from either seeing or clicking anything it hides. 108 2023-11-09T13:59:57+0000 < cow_2001> I HATE IT. 109 2023-11-09T14:00:41+0000 < cow_2001> they can appear when i am just pgdning and pguping around the page and the cursor is just hanging out there minding its own business." 110 "2023-11-09T14:01:27+0000 < cow_2001> you know what i hate? i hate it when i point at something a wee popup appears and it just won't disappear, stopping me from either seeing or clicking anything it hides. I HATE IT. they can appear when i am just pgdning and pguping around the page and the cursor is just hanging out there minding its own business. 111 2023-11-09T14:03:42+0000 <@someone-2> sounds like a virus 112 2023-11-09T14:08:44+0000 < cow_2001> no, just bad ui design" 113 "2023-04-01T14:06:16+0000 < cow_2001> you know what i hate? you write \"info sigaction\" but it gives you the crummy manpage 114 2023-04-01T14:06:36+0000 < someone-3> because its not man its info ya dink 115 2023-04-01T14:06:41+0000 < cow_2001> someone-3: it'll go right over my head :( 116 2023-04-01T14:07:05+0000 < someone-3> theres a vim plug to put into pages ina more reasonable format 117 2023-04-01T14:07:14+0000 < someone-3> forget the name" 118 "2023-04-06T13:13:09+0000 < cow_2001> you know what i hate? DRMed board games" 119 "2023-05-04T21:34:32+0000 < cow_2001> you know what i hate? documentation that has only the keybindings, not the interactive function names 120 2023-05-04T21:34:49+0000 < someone-4> for which package? 121 2023-05-04T21:34:53+0000 < cow_2001> <_< 122 2023-05-04T21:35:09+0000 < cow_2001> i don't want to sound mean spirited" 123 "2023-09-09T13:26:24+0000 < cow_2001> someone: You know what I hate? 124 2023-09-09T13:26:32+0000 < cow_2001> someone: Long sentences." 125 "2023-09-10T12:26:32+0000 < cow_2001> You know what I hate? 126 2023-09-10T12:26:54+0000 < someone-5> allcaps? 127 2023-09-10T12:27:28+0000 < cow_2001> Going to some Activitypub site with EWW and finding out I need to run Javascript in order to read it. Hokum, humbug, and bah." 128 "2023-12-14T17:32:47+0000 < cow_2001> you know what i hate? mastodon't's mandatory javascript 129 2023-12-14T17:33:01+0000 < cow_2001> mandatory is a word i keep forgetting" 130 "2023-11-09T11:12:37+0000 < someone-6> 947 color themes to choose from and not 1 is decent" 131 "2023-12-12T00:23:45+0000 < cow_2001> you know what i hate? when a dark mode site loads, just before the css loads, it is a blaring white page" 132 "2023-12-12T00:23:51+0000 <@cow_2001> you know what i hate? when a dark mode site loads, just before the css loads, it is a blaring white page 133 2023-12-12T00:24:09+0000 <@cow_2001> it happens with dumb web based desktop programs"))) 134 135 (define hates 136 (list 137 (make-hate "Loud sneezers:" 138 (list (make-log "libera" "#israel" 0))) 139 (make-hate "Definition bot flooders:" 140 (list (make-log "libera" "#israel" 1) 141 (make-paragraph "(I do it a lot myself)"))) 142 (make-hate "Gnome hiding executable names:" 143 (list (make-log "libera" "##politics" 2))) 144 (make-hate "Touch screen configuration scrolling:" 145 (list (make-log "nerds" "#nerds" 3))) 146 (make-hate "NeoVim's gqq wrap command depends on terminal width:" 147 (list (make-log "libera" "#israel" 4))) 148 (make-hate "They nerfed U+1F52B PISTOL 🔫:" 149 (list (make-paragraph "2023-12-14 - The Unicode Consortium (or whatever) nerfed the pistol and replaced it with a water gun."))) 150 (make-hate "No screaming services:" 151 (list (make-log "libera" "#israel" 5) 152 (make-paragraph "2023-12-15 - I was informed, though, that there is a server called ShoutCast for Internet broadcast."))) 153 (make-hate "Keyboard scrolling in a configuration page changes the configuration:" 154 (list (make-log "libera" "#israel" 6) 155 (make-log "efnet" "#israel" 7))) 156 (make-hate "Eager confirmation menus:" 157 (list (make-log "libera" "#emacs" 8))) 158 (make-hate "Input focus stealing programs:" 159 (list (make-log "libera" "#israel" 9) 160 (make-log "libera" "#emacs" 10))) 161 (make-hate "Popup menues triggered by an unused mouse cursor hover:" 162 (list (make-log "libera" "#israel" 11) 163 (make-log "quakenet" "#israel" 12) 164 (make-log "libera" "#systemcrafters" 13) 165 (make-log "efnet" "#israel" 14))) 166 (make-hate "info giving you a crummy manpage instead of a glorious reference manual:" 167 (list (make-log "libera" "#libera-discord" 15))) 168 (make-hate "Single use board games (stickers and scratch cards):" 169 (list (make-log "libera" "#scheme" 16))) 170 (make-hate "Emacs documentation without function names, only keybindings:" 171 (list (make-log "libera" "#emacs" 17))) 172 (make-hate "https://www.youtube.com/watch?v=gXB84fpWzg8&t=64s, but for text:" 173 (list (make-log "libera" "#israel" 18))) 174 (make-hate "Not allcaps, mandatory Javascript:" 175 (list (make-log "libera" "#emacs" 19) 176 (make-log "libera" "#systemcrafters" 20))) 177 (make-hate "Not mine, color themes, not one decent:" 178 (list (make-log "efnet" "#israel" 21))) 179 (make-hate "Dark mode loaded only after a flash of blinding light:" 180 (list (make-log "libera" "systemcrafters" 22) 181 (make-log "quakenet" "#israel" 23))))) 182 183 (define the-post 184 `((title . "You know what I hate?") 185 (date . ,(string->date* "2023-12-15 00:00")) 186 (tags "rants") 187 (summary . "Things I hate.") 188 (content 189 ((h1 "Things I hate.") 190 ,(map hate->sxml hates))))) 191 192 the-post