HNHacker News
TopNewBestAskShowJobs

bendiksolheim

354 karma · joined May 30, 2016

https://www.bendik.dev
submissionscomments
bendiksolheim··on Homebrew's analytics have moved to the EU and away from Google
What is a product? They make something that is used by others, and if they follow a product development mindset, calling it a product is fair in my opinion.
bendiksolheim··on Little Snitch Mini
You don’t need to install the app, the prices are displayed on the product page in the App Store, towards the bottom. It’s listed automatically for all apps.
bendiksolheim··on Tufte CSS
I have made my own theme for Zola (https://www.getzola.org) based on Tufte CSS. It was mostly straight forward, I believe I more or less recreated the structure on https://edwardtufte.github.io/tufte-css/. You can see my website on my profile, if you are interested.
bendiksolheim··on Learn Vim (2021)
If by "only used" you really mean you never ever use anything else I don’t believe you are missing anything. Other than bragging rights of using Vim, of course /s

But if you occasionally use other editors, many of them have plugins or modes enabling Vim keybindings. In my daily work I switch between Emacs, IntelliJ, Vim and XCode, and all of them have varying degrees of Vim emulation, which makes switching a lot easier.

bendiksolheim··on Google and Mozilla are working on iOS browsers that aren't based on WebKit
I sure have. It requires a specific attitude and mind set. If you go through those 18 months hoping this will actually see the light of day, there’s a big chance you will be disappointed. If you rather see this as a technical challenge, and your task is to prove that it is possible, releasing the final product might not be as big of a motivator itself. Of course, you might not always know that the chance of success is so low up front. If you don’t, I would guess it is a lot harder.

Kind of a stretch, but all of my hobby projects are like this. I have spent years on a TUI library for Swift, without any intention of releasing it. I do it to understand how terminals and layout systems work. In this case I am more motivated by the knowledge gain and experimentation than actually having others use the product.

bendiksolheim··on Google and Mozilla are working on iOS browsers that aren't based on WebKit
Quite the opposite! I would find it highly motivating to work on something like this, even if it was just a 5% chance it would make it onto actual phones. You certainly need the right types of people who are motivated by the right factors, but that is not unique for this case.
bendiksolheim··on I Lost All Faith in LastPass
Are we reading the same reports? At least the two latest reports by Cure53 mentions "source code audit". In addition, the audits by ISE and AppSec explicitly mentions code review as part of the audit.

I am in no way familiar with these kinds of reports, but does this not mean that (at least parts of) the source code was audited?

bendiksolheim··on Lastpass Security Incident
> When you're on prem you only have to worry about your own employees opening sketchy PDFs

This is just plain wrong. When you’re on prem you have to worry about configuring all of you hardware and software correctly yourself. Your firewalls, your SSH server(s), off site backup systems, hardware failures, software patching, access points to your network – the list goes on. Some of these are true for cloud services as well.

They are just different trade offs. Sometimes on prem makes sense, and sometimes cloud services makes sense. You can’t say that security is less of a concern in one of them.

> Nevermind the fact that the next time a major world conflict occurs, the big 4 cloud providers will probably be destroyed, taking about 90% of the western economy with it.

And it somehow does _not_ take your on prem system with it? Even though cloud providers are spread across the whole world, and your on prem system is most likely in one, single location?

bendiksolheim··on A surprising way to lose your files on Windows
This is probably not at all intuitive to the regular Windows user, my parents would never understand the implications of this.
bendiksolheim··on Austria's data protection authority has found that Google Analytics is illegal
Changes are always difficult, no matter how small or large they are.

As a European, I welcome this wholeheartedly! It makes my daily job harder (as a programmer), but it’s needed to stop this insane industry of using private information as a currency. Most people seem to don’t care, but that is mostly because they don’t understand the consequences of this.

GDPR isn’t really that hard to understand. If you need to gather PII, you need the proper approval from the end user to do so. If you don’t have the proper approval, you can’t store it. Also, don’t gather information you don’t need. If you only need page views, don’t store IP, resolution, localisation and all these things in addition. This is common sense, not science. In fact, you should be happy to have these restrictions, because it lowers the risks in case of data breaches.

The real problem with GDPR is that we’re so used to violate peoples rights that we have completely forgotten how we should behave.

bendiksolheim··on 500M Avira antivirus users introduced to cryptomining
This is almost beyond funny. I googled "Avira antivirus cryptomining" to see if I could find any other sources, and quite a few results [0][1][2] are from Aviras own blog warning about crypto mining viruses. One of the solutions mentioned are actually to install Avira. Yes, these are written a few years ago, but the irony is just incredible.

[0] - https://www.avira.com/en/blog/illicit-mining-software-beware... [1] - https://www.avira.com/en/blog/crypto-miners-coinhive-malware... [2] - https://www.avira.com/en/blog/yes-your-device-can-be-hit-wit...

bendiksolheim··on Jony Ive's design agency launches website
How do you decide what’s unnecessary and what’s not? It would depend entirely of what you want to communicate, and to whom.

We don’t know what Jony Ive intended with this website, but the fact that so many here are criticising it makes me quite certain that we are not the target audience.

bendiksolheim··on New in Git: switch and restore
Which is better depends on what you want to achieve. In this case, the whole point is to make git easier to use as a tool. Carrying over ideas we already know are confusing would therefore be wrong in my opinion.
bendiksolheim··on I am often asked if I will “return to cryptocurrency”
Are people not allowed to change their opinion? It seems to me that this is a person who once believed something, but later has gotten proof that what they believed was wrong and then changed their mind. This is a good thing, not at all hypocritical.
bendiksolheim··on You Don't Need a GUI
> I'm not sure if this is satire or not, but certainly the single worst case of using a terminal is file manipulation. Nothing will ever beat the right-clicks or Ctrl+C/Ctrl+V combos. It's just more natural to "see" things that you move.

This might be the case for you, but please don’t mistake it for an objective truth. I find the terminal far superior for file manipulation than any of the graphical file explorers I have used. I especially find copying quite clumsy, as I either have to open several windows and navigate to the correct locations, or leave the source folder behind as I navigate to the destination. In my terminal I can stay in the source folder if I want to, and even navigate directly to the destination with a short, generic command.

bendiksolheim··on I don't want to learn your query language (2018)
I wouldn‘t say its buried, at least not in the discussions I have been in, but the problem is that even with custom queries you are still in this weird place between fully managed ORM queries and raw SQL queries. How does the result map to data structures? How does it handle colliding column names in joins? Does the ORM handle over complete control when using custom SQL? There are tons of questions like these that are not uniformly answered by different ORMs.

I am not saying that ORMs never work. They sure do in a lot of cases, and some ORMs more than others. But an ORM is not a silver bullet – far from it. There are gotchas, and you need to invest time in understanding how they work. Just as you need to understand how SQL works.

bendiksolheim··on I don't want to learn your query language (2018)
There is a tradeoff here, as usual.

The hate for ORMs comes from more advanced applications, not simple CRUD apps. When you have 5 tables with no relations, or maybe a simple one-to-many relation at most, an ORM is the perfect solution.

The problem comes when you have 25 tables, complex relations, complex updates and need to optimize your queries for better performance. You now need to know the inner workings of you ORM, and pray that there are sane ways of configuring these things. Knowing the inner workings of these enormous beasts are not always easy – at least not easier than writing the SQL yourself.

bendiksolheim··on How does your programming language handle “minus zero” (-0.0)?
> it`s less bad

Really good point. My approach to this was "if it’s not used in any mathematical algorithms, why do we need it in computers?". But in your example, you retain some information even though you can’t represent the whole truth. Thanks!

bendiksolheim··on How does your programming language handle “minus zero” (-0.0)?
Does anyone have a good example of a programming problem where we _need_ signed zero? Or where it makes things significantly simpler? As far as I know, there is no distinction between -0 and +0 in math, so I have never really understood why this is a thing in computers.
bendiksolheim··on (Dis)Honest Functions
Author here. My intention was to try to define "honest" in terms of already established terms. Pure and total have quite specific definitions in programming, so it doesn’t feel right to define pure in terms of honest.

A better way to put it might be that a pure and total function will also be honest, but a function might be honest without being fully pure. E.g. if its name indicates that it performs IO, it’s still honest even though it’s not pure.

Thanks for the comment, I might end up clarifying this later tonight :)

bendiksolheim··on A mundane use of dependent types
I really dislike the concept of compiler warnings. It's either an error, in which case it needs to be handled right away, or it's completely fine. Warnings are overlooked in the long run.
bendiksolheim··on A Flash Player emulator written in Rust
You are not being downvoted because you point out logical flaws, you are being downvoted because you don’t contribute to the topic.

Are you not aware of the discussion about HTML5 versus Flash, or do you just disagree with using HTML5 as an umbrella term here? Even the Wikipedia article [0] about HTML5 has a section on Flash, discussing features such as sound, video, graphics and interactive elements. With "HTML5 being ready" I believe OP is referring to it being a viable alternative to Flash. There is a famous quote where Steve Jobs said that Flash is no longer needed, because there are viable alternatives to the features it provided – HTML5 among others.

[0] - https://en.wikipedia.org/wiki/HTML5#"Thoughts_on_Flash"

bendiksolheim··on Qutebrowser 2.0
If you’re into programs with Vim-like key bindings, I can wholeheartedly recommend Qutebrowser. Back when Firefox transitioned from the old extension system and Vimperator stopped working, I started using Qutebrowser instead. I stopped due to the lack of good ad blocking, but sorely miss the key bindings every day. Will give it a new try now!
bendiksolheim··on Norway investigates 23 deaths in frail elderly patients after vaccination
I don’t know where you are from, but you don’t sign waivers for these things in Norway. There might be backlashes if there is consensus that giving these people the vaccine was incautious. As an example (and without linking the safety of these two vaccines), the Norwegian government has paid about 350 MNOK (about 40 million USD) to people with problems after the Pandemrix vaccine.

That doesn’t really mean that it will affect the ones who made these decisions though. So in that manner, the current government is probably completely safe.

bendiksolheim··on Show HN: Create a 3D book cover and embed it on your website
I had the same problem – turns out there is a javascript error on the page in Safari: ReferenceError: Can't find variable: book. Still fails with adblocker disabled.
bendiksolheim··on Give some love to your PR
You are alone with this problem. Finding the right size for a PR can be really hard. Too big, and no one really wants to review it because it is too time consuming. Too short, and it fails to show the bigger picture. We struggle with exactly the same thing, with a bias towards too large PRs.

I am not even sure I can always agree with myself here. I tend to favor small PRs myself, but I also really dislike PRs that are only part of the solution. PRs should not only be about critiquing the actual code lines, it should also evaluate and discuss the overall architecture, security aspects, performance, readability, tests and probably other things as well. This is difficult to achieve with small PRs.

The solution is never to "just fix your process", in my opinion. The correct process depends on the people involved, the culture in the team and organization, the importance of the service in question, among other things. Finding the correct process is a never ending task :)

bendiksolheim··on Every Google result now looks like an ad
I do not know about Ecosia, but DDG does not use only Bing. According to Wikipedia, it uses over 400 different sources. So in theory, given they have a smart enough algorithm, DDG should be able to produce better results than Bing.
bendiksolheim··on ECMAScript proposal: String.prototype.replaceAll
I disagree that this makes their decision the right one. If we can come up with so many "valid" versions of this, all with their own flaws, then this is the wrong API to build. This function should not exist in its current form at all. APIs should be intuitive, preferably without reading the documentation (although I agree that this is a utopian way of seeing it).
bendiksolheim··on ECMAScript proposal: String.prototype.replaceAll
I don’t understand your criticism. Are you criticising JavaScript for getting a feature you would assume it already had?
bendiksolheim··on ECMAScript proposal: String.prototype.replaceAll
If there is no need in using replaceAll() with regexes, why would it even support it?

I agree that only replacing the first occurrence is the wrong solution. That would be surprising. The only correct solution to this is in my opinion auto-g-ing the regular expression, no matter how unusual that is. There is no way you would write replaceAll() as a mistake when you actually just meant replace().

Page 1 of 2Next →