Of course. But maintaining hard wraps requires either an editor understanding the semantics (where a break can be inserted or removed without changing meaning) or manual labour, especially when editing existing paragraphs. Soft-wrapping is easier to do for the editor as it can’t change meaning and requires no manual work.
In what circumstances is a line break semantically significant within a Markdown paragraph (or a HMTL <p> tag, for that matter)?
I’m asking because I’m dimly aware of vast amounts of “non-standard” Markdown dialects floating around and I’m wondering if this is something like that.
(Of course, 2+ spaces followed by a line break does insert a <br /> tag in most MD dialects, but that’s not the issue here as far as I can see).
Played around with dithering as a weekend project as well.
There are a substantial number of dithering algorithms that mostly differ based on the diffusion matrix that they implement. It can be fun to compare how they look stylistically. Atkinson dithering is interesting because it tends to increase the contrast of the resulting image. I’m also partial to the look of Sierra dithering, which I haven’t seen people talk about much.
Interestingly, while most of these algorithms originate in academia (Atkinson being an exception!), Sierra dithering seems to originate from a post on the CIS Graphics Support Forum from a user named Frankie Sierra. About a year ago, out of curiosity, I tried to track down Frankie Sierra and came across a LinkedIn profile with that name for a person who had worked at 3DO (the video games publisher) in the 90s. Since then, I’ve wondered whether this was the same Frankie Sierra and whether Sierra dithering was used in 3DO’s games like Heroes of Might and Magic.
Anyway, if you’re curious about some of these algorithms, I implemented several of them in Rust here. That repo also has some sample images demonstrating all the different algorithms.
Very interesting, I was not familiar with Sierra dithering but judging by your sample images it gives very nice results - fewer artifacts on gradients and preserves contrast better at the cost of a bigger matrix.
Digital Half Toning or Dithering: an old and very detailed readme that I dug out of the web archive. Interesting for its history and breadth of content.
Ditherpunk: excellent for how it digs into some concepts like blue noise, Bayer, and Riemersma dithering and ties that back to the technical approach used by Obra Dinn.
Reducing Colors in an Image: Nice visual explainer around how these algorithms can work with non-monochromatic palettes
I’ve used several different completion plugins for neovim over the years and have disliked nearly all of them.
nvim-compe is what I currently use and is the first solution that I’m actually sort of happy with. Unlike many other plugins in this space it isn’t trying to do everything (ahem, looking at you coc…). It’s fast enough that I haven’t been bothered by latency. The docs are reasonable and it wasn’t too complicated to configure.
Is anyone else holding off from using the new lua hotness because they’re hesitant to move their neovim config further away from what vim supports? I have no intention (right now) of moving off neovim and back to vim, but the loss of compatibility is leaving me with second thoughts about whether it’s worth it.
I moved to neovim fulltime a couple years ago, and so far have never opened plain vim except by accident. A completely seamless transition, in my anecdotal experience. I do mostly web application programming with it, YMMV.
Initially I had this same hesitation regarding many Neovim things, such as Neovim only plugins. But what’s the point of having nice things if you don’t actually use them? At this point I’ve been on Neovim for three or four years and haven’t had any regrets.
If I go back to vim, or any other editor, I’ll view that as an opportunity to rebuild my config from scratch or near scratch - I find it a good way to clean up unused plugins, settings, themes etc and also a forcing function to discover new plugins and workflows.
I read this when it was first published and found it interesting. But I am only now realizing that one of the authors was Toby Ord - who has gotten some attention lately (especially in the Effective Altruist corners of the internet) for his book The Precipice.
A lot of good ones have been mentioned like Wandering Thoughts blog and kmandla’s blog.
Here are some quality blogs with thoughtful ideas (the ones I can remember right now):
Arabesque’s ed posts made fall in love with ed. It is not a joke or sarcasm, I really take time from now and them to think about interaction design of a line editor what could be gained from. It is mostly useless in practice but I just keep doing it for the fun and pleasure.
So the first part of the argument here is that “UX” is too often a figleaf for dark patterns, predatory business practices, and user exploitation. Definitely in agreement on that.
But then we come to this:
turning UX into an actively harmful discipline has drained talent and expertise away from projects that could, and should, have had more help.
I’m less convinced and, at minimum, I think this later argument is under-developed.
NY’s terrible vaccine website is cited as a consequence of UX’s transformation into an actively harmful discipline. But how exactly is it a consequence of that? Is it that NY copied the poor UX practices of industry? Is it that NY couldn’t hire any capable UX talent because the demands of industry have warped the market for that talent? Something else? The author never really connects the dots on this point.
For my part, I suspect that NY’s vaccine website suffers from a lack of any competent UX guidance, rather than too much immoral UX guidance. More broadly, UX seems to me to be a discipline that can be used for good or ill, as is the case for most disciplines. Faith that UX, intrinsically - by it’s very nature, curves in the direction of the good, is indeed misplaced faith. The question is why, in the first place, we might have believed that was the way anything worked.
I’d always considered UX to be a good filter word: It’s the term that folks who have no understanding of human-computer interaction or design usability to describe their looks-pretty-but-is-painful-and-inefficient-to-use things. It was a good rule of thumb that anyone who used it was safe to ignore. Unfortunately, over the last 2-3 years, folks that actually do know what they’re talking about seem to have given up and are now using it as well.
We know, for example, that you can basically use any programming language for basically any purpose, because back in the days when there were intellectual giants in computering they demonstrated that all of these languages are interchangeable. They did so before we’d designed the languages. So choice of programming language is arbitrary, unless motivated by external circumstances like which vendor your CTO plays squash with or whether you are by nature populist or contrarian.
This claims far too much.
First off, “All languages are interchangeable” does not follow from “you can use any programming language for basically any purpose”. Sure, I can write a web server (or whatever) in python or c or haskell or brainfuck. That does not mean that each of these languages are equally effective for my purpose across all dimensions.
In light of that, the claim that “choice of programming language is arbitrary” looks more like the author’s own failure to discern key differences between programming languages than some fact about the world.
There was a twitter thread I saw yesterday about a bunch of “Rails Hot Takes”, where one of the core ideas was thinking about properties of the codebase in economic terms. Speaking about things like carrying costs, opportunity costs and so on.
Programming languages and communities differ wildly in terms of what they make easy/hard to do and reason about. Yes, all of the Turing complete ones can technically all compute the same things, but a programming language is so much more than it’s computation class. It’s a community (or a bunch of them). It’s what’s considered acceptable. It’s what libraries exist, and which ones can easily be pulled in due to FFI, or the underlying platform. Or which libraries are difficult to make sense.
One thing that I really like about this is that I started reading it with the assumption that alarm clocks were essentially solved and I finished it feeling like the market has not even come close to fully exploring the possibilities for alarm clocks.
My vote goes to 1Password, for ease of use, built in security model (client side encryption), versatility in handling all kinds of data (notes, credit cards, etc) and reliability of the plugins to work with all websites and apps. Other password management apps that I’ve tried have frequently had problems with some websites. Sometimes 1Password still has edge cases where e.g. 2FA is not automatically filled in and you have to copy paste it manually. But I haven’t seen a better app yet.
My work used LastPass and I couldn’t have created a worst UI if I’d tried. There was no easy way to generate a new password. It took three clicks in non-obvious places to get to it.
I used LastPass for several years before switching to 1Password a year ago. Wish I had switched earlier. LastPass’s UI design needs a lot of work and over time actually got worse with various annoying small bugs.
Hard no to LastPass. I used it years ago, audited it one evening on a lark, found a few vulns, reported them, a couple got fixed, a couple got me told to fuck off.
When I previously used LastPass, there were some weird differences between the browser version and the desktop version - there were some things that each of them couldn’t do.
One oddity worth noting - I don’t use the desktop app with 1Password. I’ve found their browser extension, 1PasswordX, to be more stable (it also has the benefit of working on Linux).
I believe with the addition of HaveIBeenPwned integration on the LastPass security dashboard, they’re pretty much similar feature wise (though maybe 1Password can store 2FA tokens). I’ve used 1Password because it felt way less clunky than LastPass and it doesn’t require me to install a random binary on my Linux machines in order to access my passwords.
I switched to 1Password from LastPass a couple years ago and haven’t looked back.
LastPass got unusably slow for me after I had more than a few hundred entries in it. I don’t know if they’ve fixed their performance problems by now, but I can’t think of anything I miss.
Long time 1Password user here. It’s by far the best tool I’ve ever used. And I believe it goes beyond the application itself, as the support team is also great. Given a matter as sensible as all my credentials to login into several different services, having good support is mandatory IMO.
1Password here too. Excuse the cliché, but it just works. The cost is minimal for me — $4/mo, I think.
I’ve been slowly moving some 2FA to it, but it seems dependent on 1Password itself detecting that the site supports it vs. something like Authy where I can add any website or app to it.
I just switched to 1Password after 5-10 years on Lastpass. There’s some quirks, it’s not perfect, I generally prefer it to Lastpass.
The only thing Lastpass truly does better is signup form detection. Specifically I like the model Lastpass uses of detecting the form submission, 1Password wants you to add the password prior to signing up, which gets messy if you fail signing up for some reason.
1Password wants you to add the password prior to signing up, which gets messy if you fail signing up for some reason.
Oh yeah, this is a constant frustration of mine. ALso, whenever I opt to save thep assword, I seem to have a solid 4-5 seconds of waiting before I can do this. This seems to be 1Password X, FWIW. Back in the good old days of 1Password 6 or so when vaults were just local files, the 1P browser extension seemed to save forms after submission.
I’ve been able to get my whole family onto a secure password manager by consolidating on 1Password. I don’t think I would have been successful with any of the other options I’ve found.
Soft-wrap!?!?! Finally.
This was the feature that I was waiting for too. Huge quality of life improvement if you’re editing markdown.
Maybe I am misunderstanding something, but isn’t the whole idea of how paragraphs work in markdown that hard wraps are fine?
Of course. But maintaining hard wraps requires either an editor understanding the semantics (where a break can be inserted or removed without changing meaning) or manual labour, especially when editing existing paragraphs. Soft-wrapping is easier to do for the editor as it can’t change meaning and requires no manual work.
In what circumstances is a line break semantically significant within a Markdown paragraph (or a HMTL
<p>
tag, for that matter)?I’m asking because I’m dimly aware of vast amounts of “non-standard” Markdown dialects floating around and I’m wondering if this is something like that.
(Of course, 2+ spaces followed by a line break does insert a
<br />
tag in most MD dialects, but that’s not the issue here as far as I can see).Sure, but one can hard or soft-wrap more than Markdown or HTML…
Yes, I can agree that being able to choose between softwrap och hardwrap is a good feature for a text editor!
That makes sense. Thanks! :)
Played around with dithering as a weekend project as well.
There are a substantial number of dithering algorithms that mostly differ based on the diffusion matrix that they implement. It can be fun to compare how they look stylistically. Atkinson dithering is interesting because it tends to increase the contrast of the resulting image. I’m also partial to the look of Sierra dithering, which I haven’t seen people talk about much.
Interestingly, while most of these algorithms originate in academia (Atkinson being an exception!), Sierra dithering seems to originate from a post on the CIS Graphics Support Forum from a user named Frankie Sierra. About a year ago, out of curiosity, I tried to track down Frankie Sierra and came across a LinkedIn profile with that name for a person who had worked at 3DO (the video games publisher) in the 90s. Since then, I’ve wondered whether this was the same Frankie Sierra and whether Sierra dithering was used in 3DO’s games like Heroes of Might and Magic.
Anyway, if you’re curious about some of these algorithms, I implemented several of them in Rust here. That repo also has some sample images demonstrating all the different algorithms.
Very interesting, I was not familiar with Sierra dithering but judging by your sample images it gives very nice results - fewer artifacts on gradients and preserves contrast better at the cost of a bigger matrix.
Thanks! Here’s a little bibliography of sources that I found useful when I was digging into this.
You could probably hook up the Rust code to your HTML thing with WASM, if you wanted to try out different algorithms in the browser…
My notebook is just a bunch of markdown files in a folder that I sync with dropbox.
I use a small rust cli that I wrote to make management of the note files slightly easier: https://github.com/nwj/zeke
I’ve used several different completion plugins for neovim over the years and have disliked nearly all of them.
nvim-compe is what I currently use and is the first solution that I’m actually sort of happy with. Unlike many other plugins in this space it isn’t trying to do everything (ahem, looking at you coc…). It’s fast enough that I haven’t been bothered by latency. The docs are reasonable and it wasn’t too complicated to configure.
Is anyone else holding off from using the new lua hotness because they’re hesitant to move their neovim config further away from what vim supports? I have no intention (right now) of moving off neovim and back to vim, but the loss of compatibility is leaving me with second thoughts about whether it’s worth it.
I moved to neovim fulltime a couple years ago, and so far have never opened plain vim except by accident. A completely seamless transition, in my anecdotal experience. I do mostly web application programming with it, YMMV.
Initially I had this same hesitation regarding many Neovim things, such as Neovim only plugins. But what’s the point of having nice things if you don’t actually use them? At this point I’ve been on Neovim for three or four years and haven’t had any regrets.
If I go back to vim, or any other editor, I’ll view that as an opportunity to rebuild my config from scratch or near scratch - I find it a good way to clean up unused plugins, settings, themes etc and also a forcing function to discover new plugins and workflows.
I read this when it was first published and found it interesting. But I am only now realizing that one of the authors was Toby Ord - who has gotten some attention lately (especially in the Effective Altruist corners of the internet) for his book The Precipice.
This isn’t super curated, so YMMV… but I searched the rss feeds that I follow for “UNIX” and got this list (in no particular order):
A lot of good ones have been mentioned like Wandering Thoughts blog and kmandla’s blog.
Here are some quality blogs with thoughtful ideas (the ones I can remember right now):
Arabesque’s Unix as IDE posts (from 8 years ago) were really formative for me. Great to see that blog is still alive and kicking.
Arabesque’s ed posts made fall in love with ed. It is not a joke or sarcasm, I really take time from now and them to think about interaction design of a line editor what could be gained from. It is mostly useless in practice but I just keep doing it for the fun and pleasure.
venam’s own blog has many deep dives into unixy topics: https://venam.nixers.net/blog/
So the first part of the argument here is that “UX” is too often a figleaf for dark patterns, predatory business practices, and user exploitation. Definitely in agreement on that.
But then we come to this:
I’m less convinced and, at minimum, I think this later argument is under-developed.
NY’s terrible vaccine website is cited as a consequence of UX’s transformation into an actively harmful discipline. But how exactly is it a consequence of that? Is it that NY copied the poor UX practices of industry? Is it that NY couldn’t hire any capable UX talent because the demands of industry have warped the market for that talent? Something else? The author never really connects the dots on this point.
For my part, I suspect that NY’s vaccine website suffers from a lack of any competent UX guidance, rather than too much immoral UX guidance. More broadly, UX seems to me to be a discipline that can be used for good or ill, as is the case for most disciplines. Faith that UX, intrinsically - by it’s very nature, curves in the direction of the good, is indeed misplaced faith. The question is why, in the first place, we might have believed that was the way anything worked.
I’d always considered UX to be a good filter word: It’s the term that folks who have no understanding of human-computer interaction or design usability to describe their looks-pretty-but-is-painful-and-inefficient-to-use things. It was a good rule of thumb that anyone who used it was safe to ignore. Unfortunately, over the last 2-3 years, folks that actually do know what they’re talking about seem to have given up and are now using it as well.
This claims far too much.
First off, “All languages are interchangeable” does not follow from “you can use any programming language for basically any purpose”. Sure, I can write a web server (or whatever) in python or c or haskell or brainfuck. That does not mean that each of these languages are equally effective for my purpose across all dimensions.
In light of that, the claim that “choice of programming language is arbitrary” looks more like the author’s own failure to discern key differences between programming languages than some fact about the world.
There was a twitter thread I saw yesterday about a bunch of “Rails Hot Takes”, where one of the core ideas was thinking about properties of the codebase in economic terms. Speaking about things like carrying costs, opportunity costs and so on.
Programming languages and communities differ wildly in terms of what they make easy/hard to do and reason about. Yes, all of the Turing complete ones can technically all compute the same things, but a programming language is so much more than it’s computation class. It’s a community (or a bunch of them). It’s what’s considered acceptable. It’s what libraries exist, and which ones can easily be pulled in due to FFI, or the underlying platform. Or which libraries are difficult to make sense.
I know a guy who wrote a web server in Brainfuck! It wasn’t good or readable, but it served a web page.
Did it work with CGI?
No, I think it was called from inetd.
One thing that I really like about this is that I started reading it with the assumption that alarm clocks were essentially solved and I finished it feeling like the market has not even come close to fully exploring the possibilities for alarm clocks.
My vote goes to 1Password, for ease of use, built in security model (client side encryption), versatility in handling all kinds of data (notes, credit cards, etc) and reliability of the plugins to work with all websites and apps. Other password management apps that I’ve tried have frequently had problems with some websites. Sometimes 1Password still has edge cases where e.g. 2FA is not automatically filled in and you have to copy paste it manually. But I haven’t seen a better app yet.
Yeah, me too. I ended up at 1Password after trying a lot of both offline and online systems.
Have you had a chance to compare it with LastPass?
My work used LastPass and I couldn’t have created a worst UI if I’d tried. There was no easy way to generate a new password. It took three clicks in non-obvious places to get to it.
I used LastPass for several years before switching to 1Password a year ago. Wish I had switched earlier. LastPass’s UI design needs a lot of work and over time actually got worse with various annoying small bugs.
Hard no to LastPass. I used it years ago, audited it one evening on a lark, found a few vulns, reported them, a couple got fixed, a couple got me told to fuck off.
And also, LastPass: Security Issues
When I previously used LastPass, there were some weird differences between the browser version and the desktop version - there were some things that each of them couldn’t do.
One oddity worth noting - I don’t use the desktop app with 1Password. I’ve found their browser extension, 1PasswordX, to be more stable (it also has the benefit of working on Linux).
I believe with the addition of HaveIBeenPwned integration on the LastPass security dashboard, they’re pretty much similar feature wise (though maybe 1Password can store 2FA tokens). I’ve used 1Password because it felt way less clunky than LastPass and it doesn’t require me to install a random binary on my Linux machines in order to access my passwords.
I switched to 1Password from LastPass a couple years ago and haven’t looked back.
LastPass got unusably slow for me after I had more than a few hundred entries in it. I don’t know if they’ve fixed their performance problems by now, but I can’t think of anything I miss.
Long time 1Password user here. It’s by far the best tool I’ve ever used. And I believe it goes beyond the application itself, as the support team is also great. Given a matter as sensible as all my credentials to login into several different services, having good support is mandatory IMO.
1Password here too. Excuse the cliché, but it just works. The cost is minimal for me — $4/mo, I think.
I’ve been slowly moving some 2FA to it, but it seems dependent on 1Password itself detecting that the site supports it vs. something like Authy where I can add any website or app to it.
I just switched to 1Password after 5-10 years on Lastpass. There’s some quirks, it’s not perfect, I generally prefer it to Lastpass.
The only thing Lastpass truly does better is signup form detection. Specifically I like the model Lastpass uses of detecting the form submission, 1Password wants you to add the password prior to signing up, which gets messy if you fail signing up for some reason.
Oh yeah, this is a constant frustration of mine. ALso, whenever I opt to save thep assword, I seem to have a solid 4-5 seconds of waiting before I can do this. This seems to be 1Password X, FWIW. Back in the good old days of 1Password 6 or so when vaults were just local files, the 1P browser extension seemed to save forms after submission.
I’ve been able to get my whole family onto a secure password manager by consolidating on 1Password. I don’t think I would have been successful with any of the other options I’ve found.