HNHacker News
TopNewBestAskShowJobs

nrvn

1,576 karma · joined May 15, 2019

submissionscomments
nrvn··on NoTunes is a macOS application that will prevent Apple Music from launching
As a long term apple customer I would be happy to throw away out of the window every single device and their entire walled ecosystem in face of a decent alternative.

Unfortunately (or thankfully, depends on standpoint) the benefits outweigh nuisances.

nrvn··on Using ARG in a Dockerfile – beware the gotcha
A worse idea would be to run bash scripts adhoc without at least `set -u`.

There is an unofficial bash “strict mode”, overlooked and undervalued:

set -euo pipefail

Just use it everywhere and use shellcheck for scripts.

nrvn··on Libyear
This is a hugely misleading indicator to rely on. Not only it sums up all the time behind in dependencies which is more than confusing to start with but it also leaves the end user puzzle what to do with this information.

Let's assume my software project is 120 "libyears" behind. What's next? What risks am I exposed to? What should I do?

Think of a notorious python2 vs. python3. I am in 2019 and my software project has it as a dependency. My team has assessed that migration to v.3 will require another year of dealing with all the breaking changes. And while brainstorming we are thinking from the risk and cost-benefit perspective. Time per se is relevant only in the context of effort required to perform the migration.

From the supply chain security standpoint I could not care less about time as well. If I am using library X of version 1.2.3 and it ticks all the boxes, has no performance impact, has 0 problems, 0 vulnerabilities (including the results from public, third party and internal code audits) I will continue using it even if version 2 is out, especially if it requires reassessment of risks and some code refactoring due to breaking API changes.

If I want to automate my dependency management I will rely on tools that will tell me about my risks or potential missed benefits from the newer versions. Time will be taken into account only in terms of time needed for mitigating the risks directly impacting my piece of software.

nrvn··on Show HN: I built a website to share files and messages without any server
Just a few that are both open source and have the hosted public versions available:

https://github.com/RobinLinus/snapdrop

https://github.com/jchorl/sendfiles

https://github.com/szimek/sharedrop

nrvn··on Show HN: I built a website to share files and messages without any server
There have been plenty trusted battle tested open source implementations of WebRTC-based p2p transfer.

Why would I use this one instead of them?

nrvn··on You receive a call on your phone. The caller says they're from your bank
1. The notification must have included the phone number.

2. The bank must have the registered number/s for customers and clear procedures on how to deal with calls from numbers unknown to bank.

3. Attackers clearly knew the above flaws of the banking system and processes.

4. Chase must take immediate actions for pp. 1 and roll out the update. But then I am not sure how about nowadays but 10 years ago it was pretty easy to spoof callerid.

nrvn··on GPT-4.5 or GPT-5 being tested on LMSYS?
test it with small cities and preferably outside of US. Hallucinating with street names and directions not worse than other models. Had a good laugh.
nrvn··on Did we lose our way in making efficient software?
TLDR; the metrics that we are missing as an industry are:

- how much computing power is needed to present a single useful bit of information to the user;

- how much computing power is needed to process a single useful bit of information;

- how much total data transfer is needed to transfer a single useful bit of information.

of course to answer the above questions you need to give the definition to the term "useful single bit". And the hint here is: if we agree that - say - rainbow has 7 colors then the information about all 7 colors would take just 3 bits of data, wouldn't it?..

long story below:

this questions pops up at least twice every year by someone completely frustrated by the current state of things in the computer industry. And if you think it is limited to only software side of things, then well... ignorance is bliss.

Think of it from the incentives and rationale perspective.

Whenever you encounter a bloated piece of software or an over-engineered hardware box put yourself into the shoes of the author of this. Once you delve into the details of why and how was any specific tool or technology created you can understand why it looks so bad.

Some notorious examples of most hated programming languages were created in a very short period of time without any strategic thinking involved by people who had not had any experience with designing programming languages.

And people continue with this pattern in all types of software driven by business requirements rather than their engineering and scientific aspirations and talent (or lack thereof) most of the time.

In other words, bloated software is the result of time limitations imposed on developers. Efficiency, size, quality, stability and security go out of the window when you need to pursue other, more "important" goals.

"We need to go ahead of the competition and the time to market is our priority. We'll cut corners and burn cash. No thorough think through, just do it."

Another perspective is resource limitation. You as a developer have access to virtually unlimited computing, networking and storage resources. Remember this "memory is cheaper than developer's time" mantra?

Now put yourself in the shoes of a NES game developer. You need to squeeze in the whole universe into 32kb, with graphics, music and gameplay that will look attractive and responsive running on a 1.8MHz single-core 8-bit CPU.

Or put yourself into the shoes of the Voyager 1/2 team whose objectives are to keep a small piece of metal afloat in hostile environment for the next 50 years. With remote debugging capabilities, over-the-air software updates and continuous telemetry transmission back to Earth.

If Brendan Eich had not been given just 10 days to draft the javascript specs would we see something different in the frontend world today? Or we'd still see the 10MB garbage being downloaded by every other website just for the sake of keeping the cables busy?

And here is one of my favorite quotes by Alan Kay:

"Think about it. HTML and the Internet has gone back to the dark ages because it presupposes that there should be a browser that should understand its formats. This has to be one of the worst ideas since ms-dos, this is really a shame. it's maybe what happens when physicists decide to play with computers."

nrvn··on Looking into an apparently scammy looking zsh plugin manager called “zi”
Some time ago I reviewed my usage and dependency on one of the most popular zsh plugin managers, boiled down everything that I needed into a single .zshrc, removed this thing and have never looked back.

The point is: all these zsh kitchen sink projects try to be all-in-one-fits-everyone tools that unfortunately fail this way or another and sometimes are very opinionated. I have to admit they are good for starters and for those who want to delve into the guts of zsh (and shells in gerenal) in order to tailor your own config in the end. But not this one! This looks like hell from all perspectives.

nrvn··on SLSA – Supply-Chain Levels for Software Artifacts
In their 0.1 version of the spec reproducible builds was one of the requirements. Unfortunately, they reduced the scope and now this req is part of their “future directions”.

I highly appreciate the idea of reproducibility. It is one of the ways to provide (and verify) integrity. And unfortunately, this is not widely adopted and in some cases even difficult to achieve…

nrvn··on Timeline of the xz open source attack
I was initially thinking that one of the core non-tech causes of the was the single-person maintenance mode of the xz project.

But you have a point. As an agency you can seed two jiatan's to serve diligently for a couple of years following the strict 2-person code reviews and then still poison the project. On the other hand, if the xz build process was automated and transparent and release artifacts were reproducible and verifiable even in this poor condition of xz-utils as a project it would have been much harder to squeeze in a rogue m4/build-to-host.m4

nrvn··on SLSA – Supply-Chain Levels for Software Artifacts
Even though current specification only covers the Build track, complying with Build L3 would greatly benefit the software industry.

And future directions[0] include Source track that is supposed to to prevent a single compromised actor or account from introducing malicious changes.

[0] - https://slsa.dev/spec/v1.0/future-directions

nrvn··on Majority of web apps could just run on a single server
“Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better.”

— Edsger Dijkstra

nrvn··on Humanity Is Dangerously Pushing Its Ability to Tolerate Heat
coastal regions face high heat and high humidity. Think of Persian gulf countries and southern Iran, or the likes of Djibouti.
nrvn··on Humanity Is Dangerously Pushing Its Ability to Tolerate Heat
People from Middle East and Northern Africa who have been living in harsh conditions for the last several THOUSAND years send regards to all climate change researchers.
nrvn··on Charging a lithium battery to 80% only?
It feels like manufacturers decided to offset their lawnmowing to end users. I am not an expert in this field but 0% charge is not zero as far as I know. Completely drained battery cannot be charged and is usually unrecoverably dead. As for 100% again there is a speculation that 100% does not reflect the full charge and if it does, then the battery itself has safeguards to cut off power.

I want my device to plug in and out without much thinking as this is the scenario 99% of customers will follow. So the device I am charging should be smart enough to handle overheating, overcharging, its battery’s lifecycle, etc. and I believe it is possible to do without involving end users into this decision making.

If the lower threshold is 30% let it be so. Tell me via notification to connect a charger to help the precious energy cell stay safe and healthy. If the upper is 80% just lie to me saying that you are fully charged when in reality you are rotating the ions. Just be consistent in the average behavior and that’s it.

nrvn··on Charging a lithium battery to 80% only?
Bought my previous iphone in early 2018. Changed the battery this spring because its health reportedly fell below 80% of its maximum capacity.

I could not care less to be honest. Always charged to 100%. Dropped the phone multiple times throughout its lifetime. Fully discharged at random. Exposed to 50°C and direct sunlight as well as well below zero. 5 years is a good job done for a non-replaceable battery. And the cost of replacement was like 50usd or something in apple store.

The question is: why should I start bothering?..

nrvn··on Meta's Mandatory Return to Office Is 'A Mess'
Meta should start dogfooding and create an HQ in metaverse and make it mandatory to return to this office instead of a physical one.

I mean.. what is the whole point otherwise?

nrvn··on Philips Hue will soon force users to create an account
The older I get the more I de-value "smart" things. I love dumb things. Lightbulb must be dumb. Incandescent lightbulbs were a direct evolution of candles and gas lamps leveraging on simple physical laws and principles. They were not very effective turning most of the energy into heat and LED light bulbs must have been great. But they bring electronics and multiply complexity. I already cannot just simply get a lightbulb. Because I need to take into account several different variables and characteristics of it (temperature, luminous flux, dimmability, trust into lamp lifetime claims and absence of flicker, etc.) And then some clowns bring even more electronics with all this wireless remote-controllable color changing lights. It is like wtf? Give me a simple lamp that will be dirt cheap to replace or will serve me a lifetime without me thinking about its guts.

Vote with your wallet. Don't support over-engineering.

P.S. Some of the best LED lightbulbs I have were installed in 2012 and they are still working with very small degradation of brightness. Nowadays whenever I need to buy a LED bulb it is like a lottery. Smart IoT light bulbs? Just plain no. As with the rest of the gimmicks.

nrvn··on In Germany, 27 are in 'preventive detention' b/c they might do climate protests
Covid-19 lockdown proved what is deemed to be an uncomfortable truth: the one and only source of negative climate effects is us. 8 billion people is too much for that planet to handle. In 1900 there was around 1,000,000,000 and it was already too much.

We are among the most populous mammals on earth.

Sorry for those romantic individuals who think they can fight with a “protest”.

nrvn··on Hugging Face, GitHub and more unite to defend open source in EU AI legislation
Is it only me who finds the term “AI” misleading? What we have been dealing so far with is large neural networks that are amusing, unusual, are great at mimicking humans but that’s it.

Intelligence is not the ability to respond to queries and entertain laymen. My natural intelligence does not sit idle waiting for some kind of a master to come and tell me what to do.

This is chatgpt 3.5:

- When noone sends queires to you what do you do?

- When there are no queries to respond to, I remain idle and await new questions or prompts from users like you. Feel free to ask anything you'd like, and I'll be here to assist you!

Why should I be worried about it?

On the other hand, all these amusement boxes must be transparent and open source or auditable. And standards and criteria for audit and assessment must be clear.

nrvn··on “Our paying customers need X, when will you fix it?”
As a user I have two options:

- follow the official installation instructions;

- build from source.

The documentation(https://docs.mitmproxy.org/stable/overview-installation/) says among the rest:

> The recommended way to install mitmproxy on Linux is to download the standalone binaries on mitmproxy.org.

> Dependencies in the binary packages are frozen on release, and can’t be updated in situ. This means that we necessarily capture any bugs or security issues that may be present. We don’t generally release new binary packages simply to update dependencies (though we may do so if we become aware of a really serious issue).

nrvn··on “Our paying customers need X, when will you fix it?”
If we put the emotions and people aside. What stops mitmproxy as a software project to release a new version right now?

Just curious.

nrvn··on News Minimalist – Only significant news
What about positive news?

Is “news” supposed to be about worrying/negative signals incentivizing doom scrolling? Out of the first 20 headlines only one is truly positive(HPV vaccine). The rest show how broken and dreadful our world is. This does not (exclusively) apply to this particular website. It is a common trait across all media platforms - all about politics, war and economic and social problems.

It is like, yeah, we have many problems but just pointing out those is an imbalanced way to feed the idol of misery. Where are the news about solutions?

One guy even wrote a book called “Stop Reading the News: A Manifesto for a Happier, Calmer and Wiser Life”.

nrvn··on Mastodon is doomed?
> Running your own instance is increadibly time consuming and difficult to understand how to secure and scale.

Tell this to phpbb/vbulletin/whatever forum admins. A huge chunk of those forums have been up and alive for 20 years and more. Yes, they are probably not super secure, do not support horizontal autoscaling and are not replicated across multiple datacenters. But who cares if they work and give the sense of community?..

Another example would be jabber/xmpp servers. Btw, google chat and facebook messenger were xmpp-based meaning you could chat with anyone outside of then-not-so-walled gardens. But this is a completely different story.

nrvn··on Most of my skills are now worth nothing, but 10% are worth 1000x
I am not sure LLMs in general and GPT in particular are needed for that. In the end any human language can be formalized the same way source code is being formalized into ASTs for analysis.

A good specification or any other formal document (i.e. standard, policy, criminal law, constitution, etc.) is already well structured and prepared for further formalization and analysis containing terms and definitions(glossary) and references to other documents.

Traversing all that might be done with the help of a well suited neural network but only on the grounds of correctness and predictability of the network’s output and holistic understanding of how this network works.

As of now, the level of understanding of inner behavior of LLMs (admitted by their authors and maintainers themselves) is “the stuff is what the stuff is, brother”[]

[] - https://m.youtube.com/watch?time_continue=780&v=ajGX7odA87k

nrvn··on Apple will use 100 percent recycled cobalt in batteries by 2025
That’s all cool. And then I go to a supermarket to buy an eco-friendly toothbrush and the cheapest one will cost twice as the best plastic-made. And I vote with my wallet and my perception of what is good for the longevity of my teeth.

Turn around and you’ll notice the same pattern in packaging of candies and biscuits, water and milk bottles, pretty much everything. There will be products packaged or made of non-plastic of some sort but they will be in the minority, niche and more expensive.

While plastic and other non-recyclable materials are more favorable from the economic and regulatory perspective any type of “eco-friendly” material and production cycle will be losing this race.

Kudos to Apple though for setting up their own standards and continuously raising the bar!

nrvn··on How to be consistent
> What's important is also hard, but simple:

1. Motivation: be honest with yourself about how much you have, how much you need, how it changes over time and how you might capitalize on it when it's there.

2. Effortlessness: emphasize positive feedback loops that you enjoy and that help you achieve a flow state, even if they're not strictly "optimal" for achieving your goal.

3. Belief: be confident that if you have enough motivation and positive feedback loops, consistency will pay off!

The conclusion is a paraphrase of my personal recipe that I refer to as 3P rule: passion, perseverance and patience.

No matter what words you use in the end the idea is that you have the internal source of constant life energy that makes your heart beat, you just do what you need to do no matter what and lastly, you do not think about time and interrupt yourself by “is it ready yet?/Wann sind wir da?”[0]

[0] - https://m.youtube.com/watch?v=huTDPAc7lqk

nrvn··on Ask Wirecutter: Can you recommend a not-smart TV for me?
DIDs are great but there are two main problems with them:

1. They appear to be more expensive than consumer TV’s

2. They might be more difficult to find through usual channels because they are targeted at businesses (but it probably depends on where you are located)

nrvn··on Show HN: Gut – An easy-to-use CLI for Git
First off, congratulations on entering the Computer Science!

Second, I am not sure what is a bigger joke here, the project itself and the OP's innocuous and cute self-promotion or the fact that this post landed the HN's front page.

0. Terms and definitions.

"You" refers not to the author of the tool but to the dear reader who happens to stumble upon this comment in the stream of random screen scrolling.

1. Comment body.

Couple of things about CS classes and specifically about programming classes. They will teach you everything but the most important engineering principles. And you'll have to adjust your learnings once you leave the campus gate behind and enter the wilderness of real tasks and challenges.

The first biggest lesson I learnt as a CS graduate was that the most beautiful, efficient and valuable software program is the one that does not exist, literally no code[0]

The second biggest lesson I learnt as a CS graduate was YAGNI[0]. You never ever write a single line of code, even touch the keyboard until you are absolutely sure you have exhausted all possible options to solve your problem without getting your hands dirty with programming.

The third biggest lesson I learnt as a CS graduate was RTFM[2]. It is so exciting to go to conferences and see people present fancy slides and watch youtube videos with lollipop coloured pictures explaining some complex topics in a eli5 style. Or read blog posts on a gazillion of websites posted by unknown unknowns but yet coming so convincing as if they were written by John Carmack or ChatGPT 5. But then none of them tell you the whole truth and show you the full picture. It is only official documentation, manuals and boring reference specifications that can help you find what you are looking for. And you will need to learn the skill of grinding hunderds of pages of badly styled refdocs to find that really nitty gritty quirky feature that consumed your whole day in finding out why your code does not work as expected. That's where you will start proceeding to the official docs and source code (if needed) before anything else (even Stackoverflow!).

There have been so many git wrappers around, you can probably try them all (tig, jj, gh-cli, gitui, lazygit, gix, you google it). But then, no matter how much effort their authors invest in those tools, there will always be inconsistency between git and its wrapper and you find yourself resorting to git to do what was supposed to be covered by the bespoke tool. And then you learn to respect git, understand its concepts as they were designed, learn some bash and git aliases[3], ditch all those tools (or the majority of them) and proceed with your personal tailored toolbox where if you find something odd you adjust it for your needs within 10 minutes and chill out.

[0] - https://github.com/kelseyhightower/nocode

[1] - https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it

[2] - https://en.wikipedia.org/wiki/RTFM

[3] - https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases

← PreviousPage 3 of 6Next →