HNHacker News
TopNewBestAskShowJobs

pinusc

149 karma · joined December 20, 2016

submissionscomments
pinusc··on The roots of an obscure Bourne shell error message
Excellent explanation! However, I would disagree both that there isn't an easy fix and that each of the decisions are sensible.

If the syntax to temporarily set variables was different, say using : instead of =, or requiring some delimiter between assignments and operations, or maybe enclosing the statement in braces (something like: {foo=bar; echo $foo}...) to delimit temporary assignments would have been reasonable alternatives, perhaps even more readable than this. Or having the sntax disallow `foo=`, requiring, say, `foo=null` or `foo=''`, which are both more explicit, or even `unset foo`. These are more sensible individual choices, and that's partly because they're more explicit and partly because they avoid a (now) common error. I'd argue good language design needs to think slightly bigger picture than "individually not catastrophic" choices. Sh is littered with a myriad of small bad choices, which add up to a language that's hard to code or script without bugs. Nowadays with shellcheck it's easier, but it shouldn't be necessary. The consensus is: it's a scripting language, it shouldn't be used for complex stuff. But if it was a slightly better scripting language, it _could_ be used more safely for larger or more complex scripts.

The truth is that it's an ancient language, its (bad) syntax is set in stone, and there's nothing we can do about it except slowly move to alternatives. Sad that there's nothing established to take its place (Perl is read-only, python is not good enough as unix glue, everything else is too obscure).

I know how and love to write in bash. But oh god was it painful to learn

pinusc··on A currently maintained fork of SSHFS
When making a github release, you can attach whatever file you want, including .exe and .deb. The problem is that building packages is kind of a nightmare, as there's at least one (or, as is the case far too often, many) build system for each programming language. Linux package management is also hard as each distro has its own way of packaging things. And you need a mac to produce macOS Applications...

My point is, there is no way github could add a fully automatic "build and package this release" button. It would require tons of configuration (and trial and error...) from the user.

But good news! If you _are_ willing to figure out how, you can make a github pipeline that compiles and packages your code (producing an "artifact"). Several projects I follow do exactly this. A complex problem like this essentially requires a bespoke solution, and to be fair github does give you tools to automate said solution. The problem is not the infrastructure but the complexity of build systems.

I do agree there should be more ready-made pipelines to aid this process. When I tried to release a python program to work on linux, windows, and macOS, I quickly realized I wasn't interested in figuring out how to make a working pipeline (after spending a weekend getting it to build on each OS in the first place). But surely that's because python is particularly bad at package management... Well, most languages are particularly bad at it

pinusc··on European Union votes to bring back replaceable phone batteries
It would require doing things slightly differently, such as hardware vendors having to buy the rights to redistribute firmware blobs / source code... just because it's hard it doesn't matter it can't happen. After all, if physical components can be brought together to make a product, why can't software licenses move with them?

One could also imagine radically different IP laws concerning firmware or even software.

pinusc··on Shell admits 1.5C climate goal means immediate end to fossil fuel growth
Realistically speaking, all signs are pointing to things not being okay. Climate is not a "solvable problem" anymore, we are past the point of no return (several of them). Damage control is all we can do now, and we are not doing it.

If you think things will be okay because historically has been so, let me remind you that a permanent change of this scale is a catastrophe that is unmatched and unprecedented in human history. Maybe nuclear conflict was as scary, but its solution was comparatively much simpler, and it never passed the point of no return.

More than that, things usually do not turn out okay except for the class of people who initially benefited from bringing about the problem. Many peoples have faced horrors that were not and could not be undone, though it's easy to forget that while living in the society built on their ashes. Things always turn out to be okay... for the colonizer, the wealthy, the powerful

Statistically speaking, commenting on this platform firmly places you in a category that will likely survive climate change (at least in the medium term...) and probably profit from it, so excuse me for calling out your reasons for believing that technology will save us.

By the way, it is my understanding that the scientific consensus is that technological solutions are not going to be able to save us (as they are impractical, too far off, and harder to implement than just stopping the use of fossil fuels).

Also if you think that "spouting predictions of the apocalypse" is comforting, you severely misunderstand the psychological issues that (especially the younger generations) are facing in light of terrifying powerlessness against climate change

Ultimately, this is a political problem, and assuring everyone that "things will be okay" only makes it less likely that any action will be taken in time.

Now is the time to panic, and do something about it. If we are able to turn the tide and somehow make things okay... great! The panic was well placed.

pinusc··on Pico8 Music Synthesizer
This is very cool!

I've been wanting to play around with synthetizers / trackers (?) for a bit. I played around with TIC-80 (another fantasy console like PICO-8) amazing track + SFX editor, but I'm very lost as to how to actually make... music, instead of noise.

Does anyone have any beginner resources on music theory, specifically oriented to working with synthetizers and trackers?

pinusc··on Ask HN: What is the best thing you read in 2022?
Perhaps the fact that tech dudes have trouble with perspective and emotion control and how to live a good life also draws them to stoicism as a way out, thus resulting in (perceptions of) a lot of tech dudes being into stoicism
pinusc··on Stanford's “Elimination of Harmful Language” Initiative
Well, one shouldn't tell dad jokes as they encourage violence, especially against dads themselves.

In a dad joke the punchline is apparent.

pinusc··on Stanford's “Elimination of Harmful Language” Initiative
They discourage use of "brave" as a noun, which does mean "a Native American Warrior" (Free Dictionary). I never heard the word used as a noun, but I'm not a native speaker. Doesn't look like they have a problem with brave as an adjective.
pinusc··on Digitally sign PDF files from your commandline – open-pdf-sign
Are encrypted PDFs signed? AFAIK it's just symmetric encryption. You only need a password to decrypt, after all
pinusc··on Productivity Blocker
AFAIK WebExtensions APIs are mostly compatible but the developer still has to do some setup to make them work on both
pinusc··on Ask HN: Best board games of 2022?
John Company 2nd edition is a fantastic game.

Instant favourite, the smoothest rules (I could not have imagined a game with this complexity could flow so well and have a manual so easy to navigate) Insanely good player interaction, at no time boring, and there's basically no downtime. Paying attention to other players is necessary and effortless. Paired with great rulebook and well defined order of actions, this made my first game flow incredibly well—even though the short scenario took over 6 hours. 2-3 hours in we all felt like we had been playing for 45 minutes.

True competitive co-op, nothing like terraforming Mars (which is co-op in flavor only). You generally want the company to do well while skimming a bit more off the top than your opponents.

And the game does not abstract away the horrible things you do. It's very clear that the players are not the good guys. Power is central to John Company, and not just in the sense of "might", although military strength s important—in the sense of political and economical power, unchecked except by those who would like that power for themselves.

10/10 might not be enough of a rating

pinusc··on Apple launches Self Service Repair in Europe
I think this is the real issue. A lot of premium priced stuff today is not built to match the quality the price suggests.

If you did spend $150 on a fan today, it would probably last just as long as a $15 one. Emphasis on probably, there are good quality items... just not a lot.

TVs are a great example: a $900 Sony smart TV I got 5ish years ago lasted barely longer than its 3 year warranty (before a hardware-related bootloop). A crappier cheaper TV would have lasted the same.

Seems to be the trend when introducing smarter software features. Near every appliance I had to replace in the last decade died because of "the motherboard" (according to several technicians), which was coincidentally about 50% the price of the appliance. I guess manufacturers like to cheap out on embedded hardware components?

pinusc··on What is the history of ‘Vox populi, vox Dei’? (2013)
He is okay siding with the Republican party, which is extreme right wing. US politics has a right wing party (the Democrat) and an extreme right wing party (the Republicans). Both of them incorporate a version of (neo)liberalism; they differ mostly on their social policies.

Regardless of his political affiliations, the guy's fortune is built on family wealth from south African emerald mines, and he's a billionaire. It's about as far from the left as you can go, which places him in the extreme right.

pinusc··on Ask HN: Good resource on writing web app with plain JavaScript/HTML/CSS?
Strongly disagree. Learning complex girl workflows is unnecessary unless you're in a team. However, learning the absolute basics is really easy and has benefits over "storing previous versions in a zip file". By absolute basics I mean add, commit, reset. If you add basic branching (checkout and merge) you already get a very powerful tool to experiment with your code without worrying about fucking it up. Then you can learn the rest when you have a use for it—log, diff, even rebase.

But here's the thing: without VCS, if you ever do need anything slightly more sophisticated... you're on your own.

Yesterday I was helping a friend debug some code from an intro CS class, and I was so stressed out about changing something whithout being able to revert it, because he obviously wasn't using git.

Granted, I really wish there was a mainstream git alternative, ideally simpler, without the more complex features catering to large teams. At least there's a lot of graphical interfaces on top of git, which make it really intuitive to use and can bring the great VCS benefits without the investment of learning git. Maybe simple interfaces to complex tools is a good middle ground.

pinusc··on Why do we call it “boilerplate code?”
I'd say that metaphor not quite dead yet. A few generations are younger than CDs, but vinyl still appears in a lot of pop culture (in no small part thanks to nostalgia). I'd wager most teens would know that the vinyl scratch sound is indeed from vinyl, even though most would never have touched a vinyl disc. Dead media, but the metaphor is still fresh enough...
pinusc··on Ask HN: What are examples of common beliefs conclusively invalidated by data?
Your paradox only shows (conclusively, I might add) the logical impossibility of omnipotence _under one definition of omnipotence_. Not a very good one, nor one that is widely used by anyone who has thought about omnipotence at all. Other definitions of omnipotence (such as: being able to do all logically/metaphysically possible things) do not fail to this paradox, but beings that satisfy them would still be "omnipotent".

It's interesting however to consider _what exactly_ people believe counts as "omnipotent being" when they say they believe in the existence of one (e.g. religious people). If asked, many would probably only give the definition "omnipotence is being able to do anything". But "anything" doesn't necessarily mean "anything at all". People say to their children "you can do anything if you set your mind to it!" and that "anything" is not qualified explicitly, but it also is restricted to "anything that a normal human being can reasonably achieve given enough effort". If you pressed anyone on this issue, they wouldn't update their belief, they would update the definition they give you. Perhaps with omnipotence one would have the same result, where "being able to do anything" really means "being able to do anything not self-contradictory", and pointing that out doesn't change the belief, only the stated explicit definition. The reason I think this digression is interesting is that we're in a thread about "commonly held beliefs", and here we have a belief that is arguably about the definition of a word; but there is a missing step between believing that there can be omnipotent beings and producing one definition that would satisfy that belief, especially when multiple subtly different ones could be given, and not all of them are logically inconsistent or self-contradictory. It's a problem of epistemology and philosophy of language, of course, and not really about logic or theology.

Mind you, I don't think that any omnipotent being exists, not by any reasonable definition of omnipotent. I do believe one can make reasonable definitions of omnipotence that are consistent and logically possible; but there is no reason to believe that any such being exists.

As one of the posters above pointed out, I don't think you're particularly interested in discussing subtleties. Perhaps pointing out inconsistencies in this topic or argument doesn't change your belief of being right, but will just change the stated definition of "being right"... So I would like to extend a gentle reminder that discussions, even on the internet, do not need to be about being right. Sometimes nitpicking adds to the discussion, but it doesn't need to prove anyone wrong. We all get everything wrong all the time, but through talking about this stuff we all get a chance to learn something, to change a little. It really sucks that as soon as we _perceive_ the tiniest accusation of being wrong, we stop being kind and make huge asses out of ourselves to vindicate the truth of our superior, and usually very inconsequential, arguments.

pinusc··on Appflowy – open-source Notion Alternative
Looks like they are still in the early stages of development. I wouldn't be surprised if in future the developers/someone else decided to host a paid version of this software so that it becomes more accessible.

Right now there is not much reason for end-users to pay for this, and running servers is expensive if you don't have a business model...

pinusc··on Waydroid – Run Android containers on Ubuntu
If Google privacy invasion is what you fear, then there are simpler solutions. Simply installing lineageOS on a supported android device yields a functioning, de-googlified phone. Install only open source apps (from F-Droid, for example) and you're all set.

Android itself containerizes/isolates apps, with better & better security features in modern versions. LineageOS also adds their own layer of security (ex-PrivacyGuard) on top.

Granted, not all phones are created equal, meaning some of them will have restrictive bootloaders/need more proprietary drivers. It's possible some of them have spyware built in their bootloader/recovery/hardware, although I haven't heard of it. And of course there's 0 fully open-source android hardware phones.

Which, speaking of... this would be excellent on pinephone, which runs linux. Would allow running android apps on it, which is very very useful of course. I might finally bite the bullet and buy it...

pinusc··on Zenreader: A 4.7" E-Ink RSS Reader
I'd say KOreader interface is not pretty, but it gets the job done quite well—and certainly with a lot more features & customization than stock.
pinusc··on Zenreader: A 4.7" E-Ink RSS Reader
A while ago I made Morning Digest [1] with a similar use case: to read the news on my eReader, and do so prettily. The end result is a daily epub "newspaper", auto-delivered to my device.

It's essentially a complicated script that I run on a server every 24 hours to fetch news from rss lists, and compile them on a (very long!) epub or pdf, complete with index and good typography. It even gets around a few paywalls thanks to a couple tricks, and the output is complete articles with reasonable/good output quality.

I then have a script on my kobo to fetch the daily digest every morning when I open it. On a kindle you could just have a script email the result to it.

Overall I'm really happy with it, it's the perfect solution to read the news for me.

[1]: https://github.com/pinusc/morning-digest

pinusc··on Thinkpad X230 with “e-Ink” display at 30fps [video]
Yes, however the process is very easy today and can be done entirely software-side, thanks to 1vyrain [1]. So you don't need to flash the BIOS using an external programmer, just run what amounts to an exploited/modified update. I recently did this on my T430, and could not be happier about the keyboard.

[1]: https://github.com/n4ru/1vyrain

pinusc··on FreedomBox: Run your digital services from your home
By far the best solution I've seen is wireguard. Easy to set up, super fast and secure. My little swarm of VMs, containers, and raspberry Pis is all meshed together by wireguard.

The only "hard" thing is that wireguard doesn't port forward automatically, you have to add an iptables rule. Took me 10 minutes to figure out how and now whenever I add a service I simply copypaste previous rules and add relevant ports...

Edit: plus once you set it up you also get to use it as a VPN for your devices.

pinusc··on Show HN: Beeper – All Your Chats in One App
As someone who self-hosts a bunch of bridges–great work! Really appreciate seeing a simple solution for people who don't know or don't want to self host.

Also, seeing that Tulir is not working entirely pro-bono but that his efforts are backed by a company makes me more hopeful that the bridge development will continue!

pinusc··on Show HN: Beeper – All Your Chats in One App
It's comparably high-other messaging apps are _free_. Don't get me wrong, this is awesome-I've been doing it myself manually by hosting bridges myself for a while, and it seems like a very nice solution for non-tech-savy users.

But $10/month is steep, given that in practice you're paying that much just for the convenience of having your (pre existing chats) in the same app.

What I don't get is that hosting your own bridges requires the same $10/month subscription. If there was a $2/month fee for "power users" instead, letting you host your own... I would most likely get a subscription for the convenience of using their better integrated software.

pinusc··on Moderna is announcing three new vaccine programs
I mean... it's a lot of excel formulas, but still basically excel formulas!
pinusc··on Show HN: OpenScan – open-source document scanner app
My first instinct is to compare this to OpenNoteScanner, the only other quasi-functioning FOSS note scanning app.

The UI here is significantly more polished and better. The only thing OpenNoteScanner does better is that it starts in camera mode, and therefore the workflow is a bit faster.

However, feature-wise this is seriously lacking. I would not consider using this until it can automatically crop and correct perspective distortion.

Also the default filters are seriously lacking. Either make them smarter or give the user more control (e.g. for B/W allow setting the threshold, even for decently-lit documents I get poor results with random black areas)

You can do both by integrating with OpenCV. No idea how easy it is to integrate it with flutter though...

Anyways, good job! I'll keep following the project and might consider contributing if you ever start working on these features.

pinusc··on It took two days to develop Moderna’s vaccine
That's not very true. Phase II trials are designed test safety, phasE III trials are designed to test efficacy. Statistics is advanced (and magic) enough that we're now reasonably sure that the vaccine has a 95% efficacy. That's not 'totally sure', we'll only be totally sure it works once everyone is vaccinated and the pandemic stops. But we _know_ it works, in the scientific-probabilistic meaning of knowledge.
pinusc··on WireGuard Bounce Server Setup
Someone linked a write-up above [1]. It's not simple, but I found it well-written, and doesn't assume too much networking knowledge. I guess it's still a young protocol and we have proofs of concepts but not full-fledged deployment-ready solutions yet...

1: https://www.jordanwhited.com/posts/wireguard-endpoint-discov...

pinusc··on Why is the Google Cloud UI so slow?
The conspiracy theorist in me wants to believe that this is not incompetence, but sabotage. Everyone uses Google products; if they work fast in chrome and slow on firefox, people will blame Firefox, not Google. And therefore will eventually switch to Chrome.

Good strategy to steal market share.

pinusc··on Hieroglyph, a research tool to easily view a YouTube video's transcript
I think subtitles and captions are the same foe YouTube-DL. However, some videos only have auto-generated captions, and YouTube-DL doesn't download these... by default. There is an option to force the download of both generated and even translated captions.
← PreviousPage 2 of 3Next →