HNHacker News
TopNewBestAskShowJobs

csdvrx

2,333 karma · joined March 29, 2019

IMPORTANT: If you are reading my profile and checking my old comments, please do not upvote them!

I use the karma indicator as a cheap way to detect replies to comments and this mess up this simple heuristic.

Conversely, if we are talking and you would like to engage in a discussion, just upvote! (or downvote, whatever!) This will catch my attention and make me check what you wrote.

ABOUT ME: I'm a command line geek with an interest in Arch, Windows, Sixels, ZFS and KVM!

I like new things, even those you may believe are "against the natural of things":

“I've come up with a set of rules that describe our reactions to technologies: 1. Anything that is in the world when you’re born is normal and ordinary and is just a natural part of the way the world works. 2. Anything that's invented between when you’re fifteen and thirty-five is new and exciting and revolutionary and you can probably get a career in it. 3. Anything invented after you're thirty-five is against the natural order of things.”

― Douglas Adams, The Salmon of Doubt

submissionscomments
csdvrx··on Better Shell History Search
You can get the config files from https://github.com/csdvrx/bash-timestamping-sqlite
csdvrx··on Better Shell History Search
Ctrl-R and sorting by time since the last run is nice, but odds are you run the same commands again and again WITHIN the context provided by the current directory, so the cwd should be kept

Another important parameter is the number of successful runs: if you successfully ran the same command in the same directory 30 times in the last 30 days, it may be more useful that the one you have only run 1 time yesterday, so the exit value (like `false ;echo $?`) is another thing to keep

I have 2 bash shortcuts: one for a context-free search (Ctrl-T), while the default (Ctrl-R) is restricted to the current directory, and I throw everything (cwd, start time, stop time, exit value...) in a sqlite database to do more advanced queries (ex: on average, at which hour do I make more mistakes?)

csdvrx··on The Game Designer Playing Through His Own Psyche
> I derive a lot of my personal sense of worth from what I do - from what I build and for what I contribute to other people. I don't know what I would do in a world where that was no longer needed. Is that healthy? Probably not. (It's actually something I'm working through at the moment, that I increasingly understand as a consequence of both personal and societal-level abuse.)

Since you are wondering about the healthiness of that emotion, try to read C.S. Lewis "The Four Loves": the Need love/Gift love opposition may have answers for you.

csdvrx··on Ask HN: What less-popular systems programming language are you using?
I can, in vim it's simple. It just bothers me that it is the default and I have to take care of tabs with the rainbow, or a toggle shortcut like:

function TabCollapse_Toggle() abort

    if &tabstop ==1

        set tabstop=8

    else

        set tabstop=1

    endif

 endfunction
BTW if you hate tabs looking like other characters and other invisible characters (like spaces at the end of line, non breaking spaces...), I have a solution in CuteVim (https://github.com/csdvrx/CuteVim : just run the portable executable) where I mapped it by default to a Fxx key

If you already use vim, here's the relevant part: assuming your Shift-F11 is free, add to your vimrc:

" Default is off, `se list` to turn on and `se nolist` to turn off

" Traditional with ISO-8859-1:

"set listchars=tab:»·space:_,trail:·,eol:¶

" Or cuter with unicodes:

set listchars=tab:↹⇥,space:_,nbsp:␣,trail:•,extends:⟩,precedes:⟨,eol:↲

set showbreak=↪

inoremap <silent> <S-F11> <Esc>:set list!<CR>

noremap <silent> <S-F11> :set list!<CR>

Shift-F11 will then become a toggle, to show you tabs: you will see ↹ where the tab starts, and ⇥ for how long it is

csdvrx··on Ask HN: What less-popular systems programming language are you using?
It may looks chaotic ("explosion") when you don't see the structure.

When you do, you appreciate the density of information.

When I read perl it's like I read a poem: to take a simple example, 'while/until' instead of 'while/while not' creates more beautiful code

csdvrx··on Ask HN: What less-popular systems programming language are you using?
> They call it like that, but it depends on the programmer as always.

There are different styles, but in general they are concise, and I like them.

perl use various sigils to remain concise, while other languages take a lot of room on the screen: too many letters in the usual function names, not enough sigils within the language.

It's like if everything was in binary or hex, instead of using the full range of ASCII: while technically possible, it may be harder to fit into your head

Python has one sub-style I dislike the most: using tabs for indentation, because how much EXTRA room they use on the screen.

It must not just be me, as there are solutions for coloring the spaces (I forked https://github.com/csdvrx/indent-rainbow to focus on black-and-white and using spaces instead of tabs)

I use space to limit the issue, but I can't make python less verbose.

> it gives you all the tools to shoot yourself in the foot and take away the leg with it.

python isn't innocent either: I recently traced a issue where exit(0) wasn't working to a threading problem, making a bad use of atexit.

csdvrx··on Ask HN: What less-popular systems programming language are you using?
I like Perl mostly because it's poetic (the code is super nice to read, with variable types standing out thanks to sigils), but another core strength is how very fast and light it is.

Instead of "cross-compiling" or just running a native perl interpreter (there's one for about every platform!), I prefer how Actually Portable Executables make Perl multiplatform with just 1 binary asset running everywhere!

I wanted to write a webserver processing CGI to learn more about the "old school web", so I wrote https://github.com/csdvrx/PerlPleBean and the simplicity of just downloading and running the .com on anything is very nice

I'm now trying to do the same in Python3, but it's not as fun - and I'm not yet to the part where I will try to safely run python code within the python webserver, either through restrictedpython or ast.parse(), ast.walk(), eval(compile()) ...

csdvrx··on Go-attention: A full attention mechanism and transformer in pure Go
> you'll likely be unable to achieve anything close to the economic status expected and planned on

It may be a problem of expectations + loss aversion, as high income from software jobs is a historically "recent" phenomenon

> AI doing it at a massive scale arguably does (remains to be seen, but at least plausible).

I agree that scale can change many things, but the core argument is still someone fearing for their job

> Is this more of an indictment of our current social/economic system than of AI itself? Probably yes, but I'm not sure it matters.

I just want to better understand why so many people here have such a negative take on a technology that is new, exciting, and could bring so much to so many people!

Thanks for your detailed reply: like you I believe it's just self-interest, and "It is difficult to get a man to understand something, when his salary depends on his not understanding it"

csdvrx··on Go-attention: A full attention mechanism and transformer in pure Go
> I’m looking at you America

And I'm looking back at you from America :)

> We are already seeing more developers than job vacancies is the tech market, so this isn’t a theoretical concern either.

Agriculture also employs far fewer people than a few hundred years ago, yet we have more food in quantity and diversity, so I see that as a good thing.

I suppose we just have very different beliefs and values.

Thanks for your answer, as it helped me understand your perspective.

csdvrx··on Go-attention: A full attention mechanism and transformer in pure Go
Your perspective is very strange, as I want to be replaced by cheaper devs - or ideally, even machines, which would free us humans to work on other problems that machine can't work on yet.

> In fact, I do not care to be convinced otherwise, I am ideologically speaking completely opposed to any form of LLM or "AI".

Then could you try to convince me of your argument?

I don't see tech problems as worse or better than other problems like growing food, which we were fortunate to solve with industrialized farming and other technological breakthroughs like the Haber–Bosch process

Explain me why I should join your daydream!

csdvrx··on Go-attention: A full attention mechanism and transformer in pure Go
> Because some people just don't care where their code ends up.

Yes, take me for example.

> Many people release code to the "public domain" (or under very liberal licenses).

In my case, the MIT license, because I saw it was popular, and I was afraid that in some places, "public domain" might cause unexpected legal issues to whoever wants to "play by the book" and use my code.

> if LLM chews on it and regurgitates it out

As work coming from a machine does not have copyright protection, whoever gets a LLM to spit out my code back can then claim it as their own, under whatever term they like.

If this person wants to contribute to a free software project and release the code under the GPL v2 or v3, good: it may help create a new feature that users will enjoy!

If this person wants to contribute to their company private software that's only available on a subscription basis (and let's say the subscription is sold at an eye-watering price), good: it means whoever pay this subscription will get more from their money, and whoever use the software may get a new feature they will enjoy!

Software has nearly 0 marginal costs. LLM is the closest thing to a Star-Trek level "replicator", getting everyone everything they want.

On which moral grounds would you object to a Star-Trek level replicator for physical good? (please make them good, as offering any food anyone may want would fix world hunger once and for all)

Then why object to that for virtual goods?

Maybe I'm reading too much into your reply, but I don't see it as trolling or negative faith.

I see variants of it in many places, and they all look to me very close to luddism: rejecting a new technology, because you fear for your own work, while ignoring what this technology will enable in the greater picture: for the orignal case of luddism, reducing the price of clothing for everyone by increasing production and decreasing labor, therefore allowing workers to get in other fields where they may try to satisfy other human wants - some that would be inconcievable to the original luddites like videogames

We should feel graceful we get more technology, as it removes constraints and make more people happy.

csdvrx··on Go-attention: A full attention mechanism and transformer in pure Go
> Anonymous common property, sold by the LLM companies. No credit to the author.

Yes, and?

> Why anyone opens any software anymore is a mystery to me.

Before LLM: to share nice things with other people who may like them

After LLM: to share nice things with other people who may like them

> We are witnessing the greatest theft of intellectual property in the history of Man.

Yes, and?

Before LLM, anyone could already take free software and copy-paste the code while stripping away the author's name or the license.

There are more motivations than getting credit, or money.

If what I create can ultimately have a positive impact, it does not matter whether the credit goes to the LLM, to me or anyone else.

I would suggest you question and analyze your motivations.

csdvrx··on Show HN: Wampy, interface addon for Linux-based Walkmans
Since you did reverse engineering and checked the internals, have you found the cause of the high power draw in suspend? (device on, screen off, wireless off, not playing anything)

I haven't checked, but I would suspect either the USB port of the internal DAC are left powered on

csdvrx··on My Life in Weeks
Funny fact: clocks used to feature "Una ex his" (for "Una ex his erit tibi ultima") in order to maximize this "terrifying reminder" effect
csdvrx··on Spaced repetition can allow for infinite recall (2022)
> I think you were browsing the cards and using the quick navigation to go to another card in the same deck.

Yes, I was just looking at how it works because I liked how you presented your design principles.

My personal design principle is to minimize friction and allow immersion to concentrate on the task and not on the navigation.

> I actually had been using it for a couple of months without fuzz and just random noise in my retention abilities were enough to scramble the decks, at least in my experience.

I don't know about you, but when using cards or other repetition-based systems, I've found my recall is strongly increased by randomization: if you can "predict" which card you will be shown next (and I often did), you are not learning the content of the card, but their sequence. This is helpful for some tasks where order matters, but it's often an hinderance for things that don't have a natural order

> But a button in the quick navigation bar when browsing the cards to jump to a random card is not a bad idea.

A button is nice, but since your content doesn't fully fit on the screen, you should also consider keyboard shortcuts: being able to immerse in the viewing helps a lot for memorizing (cutting distractions)

After a while, I guess you must have nailed the common part (the drawing) while still benefiting from the varying part (the list of words): if you can have that on the screen more easily, without much friction (like scrolling down past the drawing), you will be able to immerse into that. Exposing the drawing area could be a setting, or more simply you could have shortcuts or buttons to jump to the word section.

Actually, maybe you should also get a button and a shortcut to randomize the words themselves: to take a quick example, https://shodoku.app/kanji/%E5%85%88 lists 104 words.

I think you know the #1 better than say the #103, because you have seen the top of the list more. If they are sorted by frequency (ie how common they are), that could be good when begging, but after a while you may want to learn the less common one, and having to scroll down may reduce your desire to do so.

I tested jumping to the bottom of the page with the End key, and I think you have a "load-on-demand", so you should be able to test my hypothesis quickly: look at the web server stats for the chunks of a given page for your own IP, and plot the frequencies: I think the bottom where the #103 word is will be seen far less often that the top where the #1 word is.

You have made a very cool project, and I like your design principles, so I hope you won't find my suggestions offensive or disrepectful.

csdvrx··on Spaced repetition can allow for infinite recall (2022)
> I still have a couple of features missing before I can call it done enough.

I've checked your website and HN profile but there's no email to contact you, so here are some simple suggestions: when you enter a deck, I would suggest you add 2 shortcuts or buttons: one to randomly jump from the present card to another one of the same deck, and the other to randomly jump to another deck in the review set

This is because when faced with a sequence, the brain learns the order the element in the set, which may affect recall.

Being able to randomize the set helps prevent that, and give better results.

csdvrx··on Build Initramfs Rootless
I'm very new to BSD in general, but I find it very fun and interesting!

However, I need pointers to get started.

> You won't be spoon-fed, and are expected to have read the manuals and other documentations...

I read a lot of FreeBSD and NetBSD documentation to get to the point of compiling my own kernels, but I don't think I ever read about the equivalent concept of Linux cpio/initramfs for BSD. My minimal images use a UFS filesystem.

Here, after checking https://mfsbsd.vx.sk/ and https://github.com/mmatuska/mfsbsd/blob/master/scripts/mdini... I think mfsbsd is just a using tmpfs so it may not exactly the same thing as initramfs, that allows booting linux from a bzImage + initrd

I'll keep searching, it's not super high priority at the moment, but it's something I'd like to do with (Free|Net)BSD.

csdvrx··on FDA Designates MM120 (LSD) Breakthrough Therapy for Generalized Anxiety Disorder
I'm afraid it will be sold at a price most will not be able to afford, especially without health insurance.

I'd support decriminalization efforts instead: we let people with cancer get weed from a dispensary.

Why not let veterans and other people with a generalized anxiety disorder get LSD the same way?

csdvrx··on Build Initramfs Rootless
Are there FreeBSD/NetBSD equivalents to do the same without creating a UFS volume:

- programatically declare the /dev/ files and their permissions

- link the binaries you want to use

I've learned about crunched binaries (like busybox, but in reverse), so I wonder if there's a BSD way to do that.

csdvrx··on Gabriel García Márquez: Sons publish novel that late author wanted destroyed
> Why should a dead person's wishes bind the actions of living people?

Let's start by looting rich dead people fortune the day they die: Steve Jobs money could have been used to reduce the US national debt!

csdvrx··on Gabriel García Márquez: Sons publish novel that late author wanted destroyed
> It's not unusual for authors to express a desire for their unpublished works to be destroyed. Kafka wanted all his unpublished works to be destroyed - consider these are most of his known works now, we're quite lucky his executor, Max Brod, defied his wishes.

Are we lucky, or was Kafka unlucky?

I find the lack of respect about authors' wishes very shocking.

csdvrx··on Airline Takes Revenge After Bad Review, Posts Passenger's Passport Online
> Oh, I see what you mean. In this case, as the passenger in question is a known vlogger, I would suspect it is probably unnecessary (he is not shy about either his picture or his name on YouTube).

It could have been a stage name, but they created a proved link between his picture and his real name

> In this case, the airline voluntary submits to the authority of IATA, so any attempt at naming and shaming is an attempt to bypass that authority

And what could have the IATA done? Very likely, nothing, or likely. If it could have done something, it could have been far worse, like putting him on a no fly list maybe?

In the end, the extorter is taught a lesson, but not too harsh of a lesson - just like shoplifters, because I don't think it would be very fair to jail someone who had to steal food to survive.

A punishment may be needed, but a very light one, and ideally to teach person a lesson to try to reform them.

I think what has happened may have been for the best for the supposed extorter: he even got the free drama he likes so much!

csdvrx··on Airline Takes Revenge After Bad Review, Posts Passenger's Passport Online
> What purpose would publishing a photograph someone's passport serve in exposing extortion?

It would tie the name to the picture of the known extorter, so that he may be refused service.

The same thing is done is some supermarkets for people caught stealing: their picture is put on a wall of shame for all to see.

If they believe it's defamation, they can try to use the supermarket, which will then release the video evidence.

It helps keeping people honest without filling the courts with shoplifters.

csdvrx··on Airline Takes Revenge After Bad Review, Posts Passenger's Passport Online
> There is a heavily redacted version of the passport image from the Facebook post in the YouTube video @ 4:00

> Well, instead of sharing a screenshot of the alleged extortion attempt, he shared a picture of Cahill’s passport, with all the details showing

Did they share an heavily redacted version, or all the details?

Sharing an email could run afoul of local laws (it's a personal message, and by default private), however a passport is a government document.

If they did redact some important details, I think it may have been the fairest response to an attempt at extortion by a known drama king: they may have just wanted him to avoid trying to take advantage of others. Then it would not be retaliation, but trying to protect others.

I have travelled a bit, and in poor countries (though certainly not as poor as East Timor, but certainly poorer than the US) I've noticed that people care a lot about fairness, and really don't like it when privileged tourist try to take advantage of their position and the advantage their foreign income brings.

I've also noticed than when you play fair, people play very fair with you: on a restaurant when I had taken only one sip of the wine because I was driving, the waiter noticed AFTER I had paid by credit card, and issued a cash refund for the wine because they thought it was unfair to charge me for something I did not consume - and they did not accept tipping.

Then the next day when I returned the rental car and when I explained I had difficulty finding a gas station to do a full refill (the gas gage was 7/8 instead of 8/8), the refueling fee was waived - and when I took the car, the agent explained me that I should take pictures of the car (so I did!) in case there was any issue because it had a tiny scratch on one door.

Maybe I was very lucky and I stopped at a unique restaurant and Europcar agents are more friendly than others, or maybe people treat you the way you treat them: be nice, and they will reciprocate.

csdvrx··on Mercury: Council and Parliament strike a deal to phase out mercury in the EU
Aren't mercury-based amalgam teeth fillings more durable than other techniques because the metal is more plastic that other fillings which are more brittle?

Last time I read about that, the risks for mercury exposure was for dentists, not patients.

csdvrx··on I'm an Old Fart and AI Makes Me Sad
TIL. Thanks a lot for your comment. This meta analysis just opened another dimension for engaging with art.

> the mere fact that a certain image or certain parts of a given image enjoyed that much of an investment to look like it does, somewhat guarantees that it had been worth the effort to someone, that it was meant to convey something

For reasons very similar to yours, I enjoy going to 2nd hand record stores: if someone has bought the record a 1st time, then someone else though it was worth buying and putting it on a shelf, it's more likely to bring enjoyment than a random new purchase

> Moreover, by the very definition, art will now be dogmatic, even where it's asked for aberrations and exceptions, and redundant, since it's just a product of weighted averages based on an existing library of expressions.

I don't know much about visual media except music videos, but if you want to discover non dogmatic art, I'd recommend you try out what's popular in any random country.

I love music and I've found russian rap and french pop to be extraordinary, maybe because they follow their own dogma, a dogma that feels very foreign to someone more used to north american music: whatever the russian (or french) weighted average may be, it's very far from the norm of what I'm used to, so it stands out.

csdvrx··on Aho – a Git implementation in Awk
> then people decided perl was bad and moved on from that.

Screw what people think. I found out I like perl. The last thing I wrote is a programmatic partition editor [1] - like how you use sfdisk to zero out the partitions, except I wanted to do more than zap, like having the MBR and GPT partition table to combine them and make hybrids.

I was fun, and I will use perl again (I may also use awk at one point now that I see how cool it is)

[1] https://github.com/csdvrx/hdisk/

csdvrx··on Mozilla names new CEO as it pivots to data privacy
Relative is all that matters. A rising tide lifts all boats.

Microsoft has grown faster and larger than Google from 2013 to 2013: 1000% compared to Google 400%

Firefox relative market share down by 90% is a ripple effect of Google generous donations, creating a disincentive for innovation.

csdvrx··on Mozilla names new CEO as it pivots to data privacy
I think you perfectly summed it up. Mozilla depends on google largesse, which limits its perimeter of freedom.

Imagine if Firefox included perfect ad blocking + antitracking (ex: reporting a standard canvas size, having multi account container on) out of the box. Add an AI API so that users who have very basic questions wouldn't need to interact with a search engine. I don't think it would fare well with google.

Google money has unfortunately created the perfect innovation trap: it removed the incentives that Firefox could have had, to create a product that users would want that could have a positive feedback loop on what users want.

Instead, Firefox is what google want: an hedge against antitrust.

I don't think the previous CEO could do anything to find out a new market when isolated like this from market signals (like donations which are the equivalent of sales: a signal that what you are providing is what users want)

I think Google is also stuck in a local optimum trap: it can't innovate out of ads and tracking. Its own technology had to be taken by OpenAI as an outsider, with Microsoft money, to deliver a product.

> Edge has proven is an embarrassingly public way that being a better browser under the hood doesn't get you more users.

Edge is yet another proof that Google technology was sound, but is better managed by outside companies.

The network effect from google created the eye of Sauron, with little else to show on. It acts as an incentives to anyone who cares about privacy or products not being killed.

I think it's a tragedy because Google has been strongly incentivized to cut off the seeds it saw, to put more money and labor on its core offering, if only avoid the risk of cannibalizing its core business.

ABC/alphabet was about edging that risk, trying to diversify by recognizing business is inherently risky, but you have to make wild bets to get alpha.

Unfortunately, it may have been too little too late: 10 years later, I don't think Google has the money or the manpower to try to do that at a scale that matters.

Even if it did, its bad reputation for culling out products doesn't inspire trust: personally, I'd rather run llama.cpp than make any bet that Gemini will still be operating in a few years, and for free software I'd trust Microsoft over Google.

It's a tragedy, because it has had ripple effects on Firefox, taking similar wrong decisions to cut really innovative technologies (Rust) before they could grow.

csdvrx··on My experiment in phonelessness was a failure, and it also changed my life
My quirk is being phoneless. I have an android phone, but unless I'm flying, it stays at home, in a drawer.

It's certainly not for everyone, as apps are used for almost everything, but I've found it helps me achieve deep focus by introducing just a little bit of friction, and forcing me to be more "in the present".

← PreviousPage 3 of 34Next →