HNHacker News
TopNewBestAskShowJobs

algesten

935 karma · joined September 23, 2016

submissionscomments
algesten··on Audiophiles in Japan Are Installing Their Own Power Poles
whether it's rare depends on the wine. most champagne has added sugar before fermentation.

search for "brut nature" which for cava, champagne and the like means it's only the sugar in the grapes themselves.

algesten··on Speedy Web Compiler – A Rust port of Babel and Closure Compiler
But then, babel translation isn't typically a continuous operation.
algesten··on Farm bankruptcies on the rise according to new Fed report
any idea why?
algesten··on Some notes about HTTP/3
You can solve that with STUN which is how WebRTC does it. Each end sends a STUN packet to get the NAT statefullness going.

Granted, it requires transferring of ICE connection candidates out of band (via the horrors of SDP)

algesten··on Cycle.js – A functional and reactive JavaScript framework for predictable code
What do you mean that all interactions between components are asynchronous?

I've built and am maintaining a rather large chrome extension for video recording using xstream/cyclejs.

I find that the thing xstream get exactly right is that stream is an abstraction of Values Over Time and not a queue of messages.

It's a subtle but important distinction. xstream and by consequence cyclejs is synchronous. When a value goes into the stream, all interconnected streams ar executed synchronously.

algesten··on Elementary OS – Fast, open, privacy-respecting replacement for Windows and macOS
It's a complete mess. I tried to switch from macOS to Linux Ubuntu running wayland gnome. HiDPI is sort of ish there. Spotify definitely isn't and weird stuff going on in other apps too.

The touch pad is not even remotely comparable with macOS. No inertia scrolling and overall a clumsy feeling.

Shearing when scrolling is common. The entire UI stutters if I compile some rust in the background.

Key bindings are inconsistent and all over the place.

UI defaults are totally weird with screen estate given up to absurd use cases.

System tray icon are stretched. Debian just released a glibc that completely broke electron. So no slack, vscode or spotify until that was sorted by a third party ppa.

I'm running screaming back to the Mac.

algesten··on The Eternal Life of the Instant Noodle
This reminds me of a YouTube show i watched recently where "French guy Alex" ultimately makes his own instant noodles.

Turns out, most of the one you purchase are deep fried to quickly get the water out as part of the manufacturing. This means you can technically make them a lot less calorie dense if you dry them in hot air.

https://youtu.be/JyZjoJcvHvE

algesten··on What’s the difference between an integer and a pointer?
I can't replicate this example on my mac. Regardless of `diff` or 16 (which is the diff for me), I get the same output for clang and gcc: 7 5 7
algesten··on G Suite Horror Story
it's only outlook.com? you can't fix it?

i mean that's a rather large group of people you can't communicate with right there.

and it's the only one you know about.

i say this is the exact reason running your own mail server in 2018 is problematic. you just chose to not consider it a problem.

algesten··on Async and Await in Rust: a full proposal
Control is another reason. You relinquish control the more moving parts there are. If you ever looked into the tokio stack you realise there are a Lot Of Stuff going on.

Which doesn't mean it's bad. I'm excited about tokio and rust's async story. But I love that I get to choose.

algesten··on Async and Await in Rust: a full proposal
And also the ABI compatibility for C interop is harder without a "classic" stack.
algesten··on Postmortem for Malicious Packages Published on July 12th, 2018
This seems like a good idea. If a package has more than x downloads or y dependencies, then require 2fa for publishing it.
algesten··on Announcing Rust 1.27
Good to know!
algesten··on Announcing Rust 1.27
A trait is like an interface. A struct implementing a trait means it takes on the methods of that interface (but there's more to it, because a trait can have default implementations of of the trait methods).

If you want to express something like "this is a variable that holds something that fulfils this trait", without knowing the _actual_ type it is, that variable effectively has an unknown runtime size. std::io::Read is an interface for reading bytes of some source, like a file or a socket.

This matters because we're talking about a stack frame. So the size needs to be known at compile time.

    let a: u64 = 42; // ok, because well known size.

    let b: Read = ...; // illegal, because unknown size.
A "trait object" places the object on the heap and has a pointer in its place.

    let b: Box<Read> = ... // legal, because pointer is a known size
However it's a bit more complicated, because this syntax allows for dynamic dispatch at runtime using a vtable. So there's a quite big difference between Box<u64> (a 64 bit unsigned integer on the heap) vs Box<Read> (a runtime dispatched lookup via a vtable).

This difference is not obvious at a glance though. Hence the new syntax: Box<dyn Read>.

(I think I got that right)

algesten··on Things I Regret About Node.js [video]
I love rust, but the standard libraries are nowhere near the same abstraction level of nodejs.

All services I've deployed built on rust pulls in a kitchen sink of deps.

Granted. I get a static binary as my end result, so maybe it's fine.

algesten··on Announcing Rust 1.26.2
Treating errors as values might be the best shift I've done as a programmer in later years. In fact, after learning it in rust, I took it with me back to typescript.

I can only recommend trying it. It's magical!

algesten··on Tales from the far-flung Faroes
My mom took me and my sister hiking on Faroe islands in the 80s. Boat from Bergen, Norway.

We went to Mykines and I remember a village full of dogs roaming around free. This was heaven for my animal obsessed 12 year old self.

And some hanging rope bridge high over the sea between to islands. Mum tied herself, my sister and I together with a rope. Not sure that would have worked...

algesten··on UK Pub chain JD Wetherspoon shuts its social media accounts
Exactly. GDPR is around the corner and any private data without explicit consent to be targeted for marketing is going to be useless at best, a liability at worst.

Explicit consent means the company must be able to prove the user consciously agreed to receive marketing. Which is excellent. 1) the burden to prove it lies with the one holding the data and 2) you can't tuck it away in legalese fine print.

I bet a lot of companies are going to do like wheterspoons and just purge the data rather than attempt to make it legit.

algesten··on Signal Foundation
you mean that means of communication where spam problems effectively forced a centralized infrastructure provided by a few providers and that now is relegated to mostly being used as a poor man's notification service?

running your own smtp server these days is painful.

algesten··on The Delimited Continuation Monad in JavaScript (2014)
You mean this thread? https://github.com/promises-aplus/promises-spec/issues/94

I love reading the for-against monadic promises. It actually is educating just following the discussion.

algesten··on RustBelt: securing the foundations of the Rust programming language
I'm sorry you found Rust hard, but it really is a world apart from Perl. I started learning programming using assembly (Motorola 68k), and then went a different professional route (via Java and Javascript).

Rust to me is back to basics. There is a stack, and there is a heap. Many languages mask this from you, but notably C/C++ doesn't, and although it's a notch up in complexity from Perl, the control you get over these aspects lets you write code that is equivalent to C/C++ in performance. Something Perl/Go can do for you under some scenarios, but mostly not.

Granted, not everyone needs/wants to understand or work closer to the system.

algesten··on Why code that never goes wrong can still be wrong
From a couple of days ago: https://news.ycombinator.com/item?id=16138708

Those antivirus companies patching early windows kernel calls to do their thing sounds pretty horrendous today, but on the other hand, at the time, they made a bad situation better (suing microsoft later was just ridiculous though).

But I think this is point in case why both the SimCity example in this article is flawed. Malloc on DOS behaved that way. Windows 95 kernel calls were patchable. If they couldn't "rely on behavior which is not guaranteed to hold in all future versions", had any of this software seen the light of day?

algesten··on Why code that never goes wrong can still be wrong
I totally agree with you. I especially think this is counter productive advice:

> Many programs which are correct when viewed at Level 2 are not correct when viewed at Level 3, because they rely on behavior which is not guaranteed to hold in all future versions.

Some level of modularization/abstraction perhaps just keep the system clean, or maybe assist mocking for tests. Maybe even to prepare for some likely changes down the line, but absolutely not "guaranteed to hold in all future versions."

algesten··on WHO to recognize gaming disorder as mental health condition
> 3. modern clinical psychiatry is an evidenced-based, research-driven field which treats and forms diagnoses on the basis of decades of research into any particular condition. It isnt the 1950s.

But isn't modern clinical psychiatry marred by the same problems social or economic sciences are? Ultimately you are studying/interpreting human behaviour, which doesn't lend itself well to quantisation or categorising.

algesten··on Your Mother’s Maiden Name Is Not a Secret
uhm. no?! I've paid all my bills and transferred money between friends/family using online banking for the last 20 years. Sweden had full online banking since at least 1997.
algesten··on Yew: Rust framework for making React-like client web apps
it's not any more expensive than allocating a new object in Javascript. possibly less. if you want immutable models, allocation will most likely happen on mutation.
algesten··on Son: A minimal subset of JSON for machine-to-machine communication
I remember reading this a while back. I think the SON specification could tighten up a few more things, like number ranges and further string escaping problems.

http://seriot.ch/parsing_json.php

algesten··on Recycling Chaos in U.S. As China Bans 'Foreign Waste'
Of the vegetables in the supermarket, the ecological / organic have the most packaging. I find it ironic that if I want to use reusable bags to buy greens, I am pretty much forced to go non-organic.
algesten··on Washington Post integrates Talk – Mozilla’s open-source commenting platform
> Talk is small — about 300kb — and lightweight

This makes me feel old. Is 300kb really considered small these days?

algesten··on Sperm Count in Western Men Has Dropped Over 50 Percent Since 1973, Paper Finds
In the 1700s castratis were quite popular throughout Europe. Does that mean they had low sperm count then, or was it just something people liked?

I really don't believe you can explain cultural phenomenon through medical science.

← PreviousPage 4 of 9Next →