HNHacker News
TopNewBestAskShowJobs

bborud

6,398 karma · joined November 30, 2008

co-founder of lab5e.com

Ex FAST/Yahoo/Google/Telenor

submissionscomments
bborud··on Every Fucking Website (2020)
Many of them can't help themselves.

I used to have long conversations with frontend developers that "no, when I log on I don't want to be forced through a look-at-the-new-feature-we-made" sequences. And then they went ahead and did it anyway. And usually whatever flag they tried to set to make sure you only saw it once would malfunction, so next time you'd get to click through it all over again.

(If you want to tell users about new features, show a unread flag on a notification icon and make it a one-click affair to make it go away. Don't get in users' face with stuff they don't want)

bborud··on Every Fucking Website (2020)
That would make you sound a lot more professional too. And trustworthy. (As long as that's actually what happens).

When I see these dialogs listing they have 1289723 gazillion vendors they share data with, I know that whoever is in charge of analytics, privacy or both at the company is incompetent.

bborud··on Every Fucking Website (2020)
I'd say just remove it. Don't ask people who don't actually understand the cost of having it there because you will get the wrong answers. Sometimes people just have to do the right thing, take some heat and then everyone can move on. If it has severe consequences then that's probably a good reason to leave anyway.

Back in the day, this is how we introduced AWS at a large company. We just did it. And once done, they couldn't deny that it cost a fraction of what we were paying our supplier and that things took minutes to set up rather than weeks. And that they worked a lot better.

Yes, there was shouting in meeting rooms. And yes, people said "you can't do this". Turns out they were wrong. A few years later I mentioned this to Werner Vogels. During a meeting. Where my CEO and CTO were present. And where everyone was feeling very good about us being one of AWS' biggest customers in our region.

So when someone says "you can't do that", sometimes you should make them prove it.

(At the time AWS was a good idea. Today dependence on a US service provider is a harder sell in Europe. The _first_ question you get today is if we can host it ourselves if we need to or if we can use a local service provider.)

bborud··on Dropbox is an obvious PE Target?
From the service provider perspective storage is a feature not a service.

From the customer perspective it is a pretty important product.

The customer may not be aware of this until it is too late. It becomes tempting to store your data with application providers because it seems more "cost effective".

I try to avoid storing a lot of data with services that offer online storage as part of a product. For instance image storage coupled with image processing applications. Because I really care about my pictures, so I don't want to have my choice of image processing software dictate where I store them. There's also the fact that I do not trust the company that makes the software I use for image processing. I use their software because in the pre-enshittification era of their business, I got used to using it. Switching has a cost.

Now the image processing software I use is a bit of a liability. They haven't done anything that is so bad that I'm motivated to ditch them, but it feels like they are one bad product decision away from me jumping ship.

I haven't looked at Dropbox from an investment point of view, so I can't say if their business is growing, declining, still sound, or just unsexy because it is undramatic. Perhaps there has been drama and I didn't notice. But from a user point of view it is really attractive to have storage services that are JUST storage.

I find real value in not having storage tied to Google, Microsoft, Adobe and whatnot. And if that makes Dropbox boring: good. They should be utterly dull.

bborud··on Google has abandoned Google News?
It is more like my mailbox: overflowing with shit. Fortunately the bin is right next to the mailbox.

I don’t use Google that often anymore.

bborud··on Changes at Google DeepMind: Demis Hassabis from CEO to Chair, Jeff Dean departs
And yet, their search engine is enshittified beyond all belief.
bborud··on The 14 Steps it takes to open my office door with a new phone
It’s pretty much anything these days that requires authentication.
bborud··on Google News is just Forrest Gump's shrimp boat now
If Google News is the shrimp boat, then what is Google Search?
bborud··on Golang proposal: container/: generic collection types
This is also why people eventually leave languages. Satisfy everyone’s wishes for long enough and you get lots of different styles of doing things and … «wow look at that much simpler language over there; let’s try that instead»
bborud··on Go Analysis Framework: modular static analysis by go team
You rarely get anything for free.

Look at exceptions in Java, for instance. In theory the mechanism is there to guarantee that errors will be handled. In practice there are multiple schools of thought — several of which purposefully circumvent this mechanism by throwing runtime exceptions because they think checked exceptions just leads to a lot of unnecessary work.

It has been too long since I used Java to remember all the arguments for and against. But I do remember trying multiple approaches and realizing that only using checked exceptions turned out to be a bit too inflexible. That there were legitimate reasons to use runtime exceptions.

Go’s type system is probably “good enough”. Sure, I’d love to have option types and results. And it would have been nice to move some of the things in vet, lint, staticcheck into the compiler. But in _practice_ separating them is actually beneficial. Because it allows you to trade build speed for security. For instance when you are making a tiny change and you just want to make sure it still builds. That’s a _practical_ tradeoff you could not have made if the compiler were always strict.

One thing I wish Go would have adopted is Javadoc-like comments with explicit markup to document parameters, return values and possibly panics. Those were _more_ useful in practice than exceptions in Java because you could force people to be more deliberate when designing “contracts”. When I did Java we used to have the build fail if classes and methods did not document all params, return values, exceptions etc.

I also taught people to write unit tests while _only_ looking at the Javadoc for what they were testing and notating at the code. Even after years of doing this, I’d regularly find that implementations didn’t behave as documented when writing tests. This made people care about interfaces/seams/APIs/contracts and spend less time obsessing over having the compiler save them from sloppiness. It put the developer in the driving seat rather than have them run behind the compiler and just nudging things into a state where it compiles. It helped people think more about why something failed from a design point of view rather than put all their faith in the tooling.

I think that’s the biggest mistake of Go: it doesn’t care about documentation and to the extent it does, it introduces really, really stupid, pointless formal rules that does nothing to help developers.

bborud··on Go Analysis Framework: modular static analysis by go team
I think the examples are both bad along different axis. One occupies more lines, the other results in _more_ and uglier syntax. They’re both bad. So the question is which axis is worse.

While the first occupies more lines I suspect I’d spend less time spotting it in the code. The physical shape of the expression is something my brain is used to seeing after 40 years of programming. Even when code grows more complex.

The second is OK when it stands alone, but I am not so certain it would be as easy to spot in more complex surroundings. Even on a single line, there is something a bit ugly about the code. Even before we get to the desperate triple-pipe. That kind of reminds me of the desperate attempts at repairing JS after they realized its equality semantics were shot. Just heap more characters on it.

The thing is: it is actually very hard to judge how ergonomic a language is by just looking at it. You have to use it and you have to use it enough to realize where the paint points really are. I’ve read through a lot of the responses in this discussion and I’ll be honest: I think a lot of people who criticize other languages (be they Rust, C, Go or whatever) aren’t very fluent in them. It takes a couple of years to develop fluency.

bborud··on Go Analysis Framework: modular static analysis by go team
I agree with you that it would have been nice with Result and option types in Go.

But as someone else pointed out, unhandled errors are very rare in practice in Go because every Go project tends to use static code analysis tools that catches this. When people talking about things blowing up during runtime I can’t help but think that they can’t be serious Go users.

On every build I generally run vet, lint (revive), staticcheck, gosec and test. And that’s the “light” build that doesn’t run leak analysis, fuzzing, race testing, benchmark regression and integration tests in addition. The light build is still faster than the Rust compiler. I haven’t compared the heavier build.

When people pretend the absence of features is a huge problem, I tend to think that these are people who either aren’t regular Go users or perhaps they are more interested in debating languages than writing code.

Let’s not pretend this is something it isn’t.

bborud··on John C. Dvorak has died
I’m not sure what I expected the first time I met him, but I wasn’t too surprised that he was actually easy to get along with. Most intelligent people actually are in real life.

Yes, he could be harsh online, but he also had a sense of humor about the persona he had created for himself online. And it was a persona. That doesn’t mean he was tolerant of stupidity, or what he saw as stupidity, in real life, but face to face there was a passion and a sense of humor that got filtered away by having lots of infrastructure between you and him.

We disagreed on many things. Some of them, in retrospect, he was right about. And we had many heated discussions (mostly entirely in private - neither of us needed an audience to turn the heat up in a discussion). I remember him fondly, I miss talking to him and I was very sad when he passed. I still think about him.

bborud··on John C. Dvorak has died
The immature 1980s industry was a lot more fun than any decade since. The problem with the future is that when it arrives it tends to bring amazing things, but they are still executed in a way that is disappointing, annoying and clumsy.

I remember thinking in the early 1980s, when I struggled to get my first dot matrix printer to work with an old instrumentation computer that in the future printers will just work. And then the future came and printers became orders of magnitude more frustrating to use — let alone own.

And I remember the early days of the internet and later the web. How much more fun it was. Now the Internet is this annoying, enshittified sewer that I have to tolerate in my life. If I could I would have preferred for it to not play any part in my life anymore. I can understand that most people who were born later than me can’t imagine life without the Internet. This is people’s lives now. But I can still remember what it was like to be entirely free. To have more real relationships with people you liked.

I used to think people who got rich and left the tech world to pursue more “offline” interests were perhaps a bit nutty. Now I understand where they come from. The ultimate privilege today is to not have to care, to not take part, to just drop off the face of the world/internet.

I need only open my email to be reminded of how little I want to be online.

bborud··on Former NOAA employees built Climate.us to preserve climate data and resources
You are skipping a few layers here. Like those who know stuff like «crumbling asbestos air ducts in schools may be a bad idea».

Why do so many grown-ups fail civics 101 so blatantly?

bborud··on Former NOAA employees built Climate.us to preserve climate data and resources
You kind of exemplify that drawing on this very topic where a bunch of people sit in a boat that is sinking stern first and the people in the bow section are expressing zero concern because their end isn’t under water.

This is why we get people with expertise to figure out what’s important and temper the utterly, utterly childish impulses of easily corruptible politicians.

bborud··on The Vespa at 80
Well, zero repairs so far.

And I live in a place where BMW sent two engineers and a test car to verify that, indeed, the roads here rattle cars to bits. They were not getting ripped off by people pretending their beemers broke.

bborud··on The Vespa at 80
You're thinking about the stability? That's all down to very low center of gravity.
bborud··on The Vespa at 80
Reading through the comments I somehow doubt that many have owned or ridden a Vespa that was built in the last 10 years or so.

I've had a 300cc Vespa GTS for a decade now (alongside a few motorcycles) and the thing that is the most striking about it is how relaxing it is to drive. Despite being somewhat heavy, they are very manoeuvrable due to the low center of gravity. The suspension is very good and despite the roads here being awful it just glides over any bumps and smooths them out. The 300cc engine is fairly quiet and provides more torque than you need. When the lights turn green you'll be over the intersection before the motorcyclists have had time to release the clutch and get going.

It does well on the open road too. It isn't a race machine, but it'll do 120km/h (75 mph) which is good enough. And you won't feel stiff and bent when you arrive if you decide to take it on a 6 hour ride.

I didn't get it for the looks/style. Yes, I did think it was a bit of a gimmick. And then I tried it. I thought I was doing 60/kmh when I was doing 80km/h. And it just glided over bumps.

(And yes, I have a motorcycle as well, but I'm European so it means I don't ride a motorcycle to get into road rage incidents. We actually try to get along here)

bborud··on The Vespa at 80
This is a really weird take that does not resemble any modern Vespa. Are you sure you looked at a modern Vespa and not some old 2 stroke thing?

Also, the range is pretty good. About 160 miles on a full tank, which no electric motorcycle or scooter I've tried can match. Drive it carefully and you can extend that range to probably 180 miles. You'll be lucky to get 80-100 miles out of an electrical motorcycle.

As for torque, sure the smaller Vespas could use more torque, but the 300cc has more than you will ever need in a city. And to be frank, it doesn't do too badly on longer trips either. It is certainly more comfortable than my Ducati.

Update: As for "modern". Note that my 300cc Vespa is about 10 years old now. So it isn't all that new either.

bborud··on Springer Nature has removed two studies by Max Planck
You do understand that you look somewhat ridiculous when engaging in the very behavior that the accusation of wooden matter up one’s rectum implies?

You are arguing my point for me by way of self-parody.

bborud··on Springer Nature has removed two studies by Max Planck
I am flabbergasted. How self-absorbed does one have to be to be offended by someone re-using sections of a paper one has done earlier in a later paper?

No, seriously. If I write 5.000 words on a topic and then re-use 500 words I myself have written earlier without attribution because they are appropriate to the current article, how do you make that «bad manners».

I meant what I said about people who can’t see this without help earlier.

bborud··on We all depend on open source. We will defend it together
I’ll grant you that there are good arguments in favor of your position. PHP, and then later JavaScript have both filled the world with more fragility and chaos than was necessary.
bborud··on Springer Nature has removed two studies by Max Planck
The same morons who think that re-using something you have written before in academic work without quoting yourself is (self-)plagiarism for which you should be sanctioned?

(Yes, they are morons because no reasonable person would think this is fair. You need convoluted nonsense arguments to justify this)

bborud··on We all depend on open source. We will defend it together
But surely the death of any large chunk of PHP leaving the stage is cause for applause and boisterous shouts of joy?
bborud··on SMPTE Makes Its Standards Freely Accessible
This even extends to how some standards are written: deliberately complex and poor work just to make it frustrating and ensure a high barrier of entry. And of course there are either no test suites or testing against them costs a fortune.

This is the kind of thing politicians in a reasonable world would make illegal and subject to sanctions.

bborud··on Norway imposes near ban on AI in elementary school
You offer no concrete explanation of how AI will magically remove the language barrier. Have you ever taught a class? How, in practice would you make language go away? In concrete terms. Exactly how do you envision interaction between teacher and student and between students happening? Again, in plain practical terms that can be implemented easily?

Teaching isn’t just about delivering a monologue. Even at university level. It is about connecting and interacting with people. Or else people would derive no more benefit from education than simply reading a list of curriculum books and hand in papers.

How do you envision that this plays out, right now, with AI, when teaching at a K-12 and high school level? Which is much more demanding because you are doing far more than just throwing knowledge and facts at people.

You don’t know what you are talking about which makes you invent fantasies that have no contact with concrete, observable reality. But rather than realize that you are talking nonsense and perhaps educate yourself and think things through, you just carry on.

Again, look at what the original post was about, and what corner you have painted yourself into. Did you, at any point, ask yourself if you had gone off the rails somewhere?

bborud··on Norway imposes near ban on AI in elementary school
So let me see if I get this: we need AI in Norwegian schools so immigrants don’t have to learn Norwegian or English, or else child protective services will take away their children?

It isn’t so much that you and I disagree. It is more that you disagree with reality. To the extent you are aware of reality.

bborud··on Norway imposes near ban on AI in elementary school
So now you are arguing what? That the AI tools, that so thoroughly failed to educate you on education, should be used to teach immigrants in their mother tongue?

And keep in mind, if you move to a country you kind of have to accept that they won’t be able to offer you education in every possible language. In fact, learning the language is often a prerequisite for permanent residency.

I am not going to ask you how you envision that AI somehow magically solves this, since we have already established that education isn’t something you appear to know much about. The last thing we need is more speculation, fantasy or anecdote.

Have the courtesy of at least researching things online for more than 2 minutes before you expect to be taken seriously.

bborud··on Ask HN: Will programmers write more efficient code during the memory shortage?
One can certainly wish, but I am inclined to believe that RAM use isn’t just about sloppy programmers. I think it is, to a significant degree, about the kinds of problems we solve now that we have more RAM.

And not all exorbitant RAM use is about sloppiness. Sometimes you can trade more RAM use for lower complexity. Bugs and development time were expensive. RAM was not. So sometimes there is calculation rather than sloppiness behind certain types of heavy RAM use.

← PreviousPage 2 of 34Next →