[HN Gopher] I Implemented /dev/printerfact in Rust ___________________________________________________________________ I Implemented /dev/printerfact in Rust Author : todsacerdoti Score : 100 points Date : 2021-04-17 16:15 UTC (6 hours ago) (HTM) web link (christine.website) (TXT) w3m dump (christine.website) | Grollicus wrote: | How does this /dev/printerfacts react to partial reads? Does it | mix multiple facts? | xena wrote: | If your buffer is too small it will just fail. It ends the file | after a fact is returned. I think I forgot to shout that out in | the article. Oops. | Grollicus wrote: | Ah yes because `write_slice` fails. That's actually nice and | quite ergonomic with the ?. | | Well, thanks for the quick intro for how to actually use this | new rust-in-kernel stuff and also for showing how to easily | test it with nix. That's a great article, so thank you for | sharing! | xwx wrote: | > Printers have been domestiprintered for half as long as | scanners have been. | malf wrote: | > Printer facts were originally made by a very stoned person | that had access to the Cat Facts API and sed. As such instances | like indiprintere are features. | gerdesj wrote: | https://printerfacts.cetacean.club/ Follow the various links. | See if you can jump to the same conclusion as me regarding | who forgot to anchor their regexes when playing with Cat | Facts 8) | xena wrote: | It's a feature. | wildmanx wrote: | It took me a sadly too-long time to realize that this had nothing | to do with any printer API. | | Like, I read the whole post, and all the comments here on HN. And | only _then_ did it dawn on me. | xena wrote: | Author of the post here, I love those kinds of slow burns. I'm | really glad you managed to experience one. | iudqnolq wrote: | > "Printers can judge within 3 inches the precise loprinterion of | a sound being made 1 yard away." | | > Printer facts were originally made by a very stoned person that | had access to the Cat Facts API and sed. As such instances like | indiprintere are features. | | I love this. | whateveracct wrote: | this is one of my favorite Nix blogs out there! the NixOS systemd | timer one was great - I used it when I had to make my first timer | and it was the best resource out there. | | The narrative style made it a fun read too. Feels like someone | explaining things to me personally off the cuff. | xena wrote: | Author of the post here. That's the style I try to go for, that | balance of serious, shitpost and interesting side notes you'd | get from DMing a particularly sarcastic coworker that means | well on Slack. The Mara interludes add into this because it | allows some blending in of the Socratic method to make some | more complicated things something closer to a dialogue. I have | plans to take this further though. If you have any suggestions | on how I should skew these plans please let me know. | iudqnolq wrote: | Is Mara meant to be Mara Bos of Rust twitter shitposting | fame? It almost fits. | xena wrote: | I have never heard of that person. Mara's name comes from a | DnD like session for a trollish character. In hindsight | it's quite ironic that Mara is now used to help explain | things. | amluto wrote: | > It's really annoying to contribute to the Linux Kernel Mailing | list with my preferred email client (this is NOT an invitation to | get plaintext email mansplained to me, doing so will get you | blocked). | | Heh. I really wish the kernel list would detect that a post has | valid text and html content and just throw away the html rather | than rejecting the whole thing. Plain text is, sadly, not a first | class feature of most non-terminal email clients these days. | nolok wrote: | > this is NOT an invitation to get plaintext email mansplained | to me | | That person can reassure herself, there are just as many women | know-it-all-better-than-you as there are men, arrogance and | condescension are sadly not strictly male traits. | | It tends to more often be guys in the tech world, sure, but | then it's just https://xkcd.com/1138/ | globular-toast wrote: | Odd to see this casual sexism thrown in at the end of a | technical article. Imagine if I just randomly threw in how long | women take to get ready or something at the end of a technical | article. It would be completely bizarre and my sanity would | probably be called into question. | readingnews wrote: | > I really wish the kernel list would detect that a post has | valid text and html content and just throw away the html | | Because. https://stackoverflow.com/questions/1732348/regex- | match-open... | | Honestly, I am not trying to put on my old-man hat, but I | despise anything other than plain text in email. I agree with | the KML. Email should not have binaries, html, tags, etc... of | course, M$ and others will happily render them, so why not, | right? | iudqnolq wrote: | Email can have multiple parallel payloads in different | formats (see MIME). It's part of the spec, not a hack. | | The OP is suggesting that if LKML gets multiple payloads | where it can understand one of them it just selects the one | it can understand. This is what other text-only clients do. | | They're not suggesting parsing html into text (tangentially, | if they were, there are much better approaches than the one | you linked. One of the most commonly used ones is originally | by Aaron Schwartz https://github.com/aaronsw/html2text ) | seniorgarcia wrote: | I'm kinda curious which client makes writing plain text | emails hard though. | xena wrote: | Article author here. Gmail and Apple Mail | (macOS/iOS/iPadOS). I had to install aerc on a server to | subscribe and post to the list. | seniorgarcia wrote: | I don't post to this specific list, so there might be | weird issues I'm not aware of but... | | Gmail has the plain text option behind the 3dot menu in | the bottom right corner. Apple Mail deserves to die a | fiery death and I refuse to support it but "Format" -> | "Make plain text" *may* send a plain text message, or not | depending on the OS X lottery. You can force Apple Mail | with "Preferences" -> "Composing" -> "Message Format" -> | "Plain Text" to compose plain text messages. Or you can | use an actual mail client. | kelnos wrote: | > _Or you can use an actual mail client._ | | An "actual mail client" is any mail client that speaks | SMTP. This "use a real X" or "real programmers always do | X this way" stuff is why many tech communities are | considered hostile and toxic, especially to newcomers. | It's childish in personal settings and unprofessional in | work settings. | | The funny thing is that most of the people who continue | to hold these attitudes weren't even around or on the | internet when it was slow and expensive to sling around | rich text or binaries. I mean, I was born in the 80s and | got an account with my local ISP in the early 90s, after | spending a few years hanging out on BBSes playing door | games (anyone remember Virtual Sysop?). I agree that | binaries or anything other than plain text was a pain to | deal with back then; I had a 2400 baud modem, and even | when I managed to get something faster, the phone lines | in my area were too noisy to give me anything faster than | 19.2kbps. And I'm not some greybeard either; I wasn't | around when 300 baud was state-of-the-art. | | But we've moved on from that time. It feels like the | height of arrogance and gatekeeping to look down on | someone who just wants to be able to italicize or bold | some text in their emails sometimes. | xena wrote: | > Or you can use an actual mail client. | | For those of you wanting an explanation of what I meant | here, this is a perfect example of it. I do actually have | aerc installed now. I just think it's annoying that I had | to change my perfectly good workflow that is enough to | get me hired at large companies for this. | | > (this is NOT an invitation to get plaintext email | mansplained to me, doing so will get you blocked) | seniorgarcia wrote: | Was my comment mansplaining? I'm genuinely curious. | | Apple Mail sucks and I'm always shocked how many people | think it's "good enough". All the Apple apps are barely | functional but fall short when it comes to replace | groupware (or actual standard compliant clients. Don't | even get me started what Apple Contacts does to vCard). | | >>I just think it's annoying that I had to change my | perfectly good workflow that is enough to get me hired at | large companies for this. | | I don't get what workflow you are talking about. | zerocrates wrote: | The translation/context of the passage in the article was | "look, I know how to send plaintext email, I just wish I | didn't have to jump through these hoops, so please don't | come and try to teach me how to do it" and that _is_ kind | of what your comment does. | seniorgarcia wrote: | Which is why I asked what the issue was and the author | replied he/she was using Gmail/Apple Mail. I can see | using the lkml with Apple Mail being difficult since | Apple Mail sucks but sending plain text mails with Gmail | should just work and nobody should have to change their | email client if they are fine with using Gmail. | | Even not using lkml, it's a standard conforming mailing | list that (presumably) will accept any plain text mail | just fine and I do not see why anybody would need to | install a separate email client like aerc just to use | this mailing list. So, to me it read "I know how | plaintext emails work but for some reason my workflow | does not work so I changed it to include something else" | and I was curious as to why... Curse me for asking? Curse | me for damning Apple Mail? Idk... I guess curse me for | being curious and trying to help a fellow nerd out while | shitting on Apple Mail at the same time. | kelnos wrote: | This might be out of date, but IIRC GMail, in plain text | mode, will break lines at 72 or 80 characters or | something like that, which will mangle inline patches. | LKML's policy prefers (requires?) that you send patches | inline and not as attachments. | kelnos wrote: | > _Email should not have binaries, html, tags, etc._ | | That's like saying postal mail should only allow you to send | letters typed on a typewriter. | | This "email should be plaintext only" idea was reasonable | when bandwidth was limited and metered and expensive. While | that's still the case in some parts of the world, most of us | here are not in that situation. If you, personally, want to | reject emails that have attachments or are not plaintext, | you're free to do so, of course, but don't suggest that the | rest of us are doing it wrong. | j-krieger wrote: | I enjoy christines style of writing very much. I can only | recommend it to anyone out there interested in dev ops, rust or | nix. Her narrative style and different characters may be a bit | jarring at first, but I got used to it pretty fast. | O_H_E wrote: | I know I am being pedantic, but it is a bit weird to editorialize | "How I Implemented /dev/printerfact in Rust" to "I | Implemented...", make the author come off a little more boastful | than they intended to. | pcr910303 wrote: | HN strips out prefix 'How's by default. I guess that was | applied here as well... | [deleted] | O_H_E wrote: | Ummm...I dont think so | | https://hn.algolia.com/?dateRange=pastYear&page=0&prefix=tru. | .. | scrollaway wrote: | These titles you linked are re-edited to add the "How" | back. | [deleted] | iudqnolq wrote: | The author implemented /dev/printerfact. Someone else came up | with printerfact. If someone said they implemented /dev/null I | wouldn't think they came up with the concept of null. | | Also printerfact was implemented by a high person with sed and | a list of cat facts. While excellent, it's not an incredible | achievement we need to defend the integrity of. | a_t48 wrote: | "I reimplemented" might be better | xena wrote: | Author of the article here, I think "I Implemented" is the | least wrong way to phrase it. I didn't reimplement it because | it didn't exist before I implemented it. | a_t48 wrote: | Didn't realize it was only a web thing before - that's | fair. | | Edit: I hadn't had my coffee yet, reading comprehension | wasn't yet active. :) ___________________________________________________________________ (page generated 2021-04-17 23:01 UTC)