HNHacker News
TopNewBestAskShowJobs

brianberns

1,622 karma · joined October 25, 2012

submissionscomments
brianberns··on [dead]
How is this fluff at the very top of Hacker News?

Edit: And a few minutes later, it's gone from the front page. I wonder if the author gamed the system somehow?

brianberns··on Haskell for a New Decade [pdf]
> Instead of Haskell we should be thinking of programming language research and how to get the best ideas into our mainstream languages. How do we make immutability easy and ergonomic and get rid of nulls in C#?

F# pretty much plays this role within the .NET ecosystem. Almost all of the important advancements in C# over the last few years originated in F# (and FP in general).

brianberns··on The relationship between mindset and age (2017)
Agreed. I’m also dubious about the control group who were merely “reminiscing”. Seems ripe for researcher-induced bias.
brianberns··on Reddit Welcomes Michael Seibel to Board of Directors
EEOC says "In most circumstances, individuals who are partners, officers, members of boards of directors, or major shareholders will not qualify as employees."

https://www.eeoc.gov/laws/guidance/section-2-threshold-issue...

brianberns··on Symbolic mathematics finally yields to neural networks
It seems that the neural net just spits out an answer, rather than deriving it step-by-step like humans do. That's interesting, but would still get you an F on a real calculus test.
brianberns··on Most detailed ever photograph of The Night Watch goes online
Eyes are still much better at extracting 3D info from paintings (e.g. paint thickness, texture, etc.). This could potentially be replicated by photographing each point on the painting from two angles.
brianberns··on Show HN: Sassbook AI writer – Create text content rapidly using AI
"Oops... there was an error generating text The server encountered an error and could not complete the request. Please try again after some time."
brianberns··on How Bad Is the Coronavirus? Let’s Run the Numbers
That’s incredibly short-sighted. This is a lethal disease that’s spreading rapidly across the entire world. Even if you personally don’t die or even feel sick, you could easily pass it on to others who do.
brianberns··on Defunctionalisation: An underappreciated tool for writing good software
As an F# developer with just enough category theory to follow along, I think this is really great.

I find the workaround for existential types in .NET particularly interesting, but it seems so verbose. Is there no way to do it with plain functions in order to avoid all the explicit type signatures?

brianberns··on I Want Off Mr. Golang's Wild Ride
At that point, the only thing to do is set up 20 playing cards and offer them a prize of $100 for every $10 they wager.
brianberns··on I Want Off Mr. Golang's Wild Ride
Off topic: I’ve had success explaining the Monty Hall problem by generalizing it to, say, 10,000 doors, where Monty opens 9,998 of them before allowing you to switch. People seem to intuitively understand that it’s extremely likely that the prize is behind the other door.
brianberns··on Wildcard: Spreadsheet-Driven Customization of Web Applications
This seems to assume that all the relevant data is present in memory on the client, but this is often not true (e.g. due to paging issues).

What happens if you try to sort listings by price and the actual item with the lowest price hasn't even been fetched by the browser yet?

brianberns··on Decoding evolution and transmissions of novel pneumonia coronavirus
I’m confused. SARS and COVID-19 (the current coronavirus outbreak) aren’t the same, right? Which one are we talking about here?
brianberns··on Zeta: Functional Neural Networks in Ocaml
This looks awesome. I’m an F# developer and I agree with your intro paragraph 100%:

“One of the ironies of today's computer programming landscape is that functional languages directly inspired by the declarative languages for expressing abstractions and equations of logic and mathematics, have been sidelined for mathematical and scientific computing in favor of imperative, dynamically-typed languages like Python and Julia.”

Sadly, I’ve found that every road leads back to Python when it comes to deep neural nets. I tried using TensorFlowSharp from F# but found it very frustrating. Only Python seems to have full bindings to the TF API. Would love to give your wrapper a try.

brianberns··on Google is not a search engine, but an ad engine
I don’t think that had anything to do with why Slashdot faded into obscurity. Slashdot refused to allow users to post stories, so Digg (and then Reddit) ate its lunch.
brianberns··on Google is not a search engine, but an ad engine
I think that might’ve been a problem in the pre-Google era, but surely it no longer is.
brianberns··on A podcast that hacks Ring camera owners live
I agree, but isn’t the remote access “feature” a big part of the marketing for these devices? E.g. check on your pet when you’re at work.
brianberns··on If the universe is 13.8B years old, how can we see 46B light years away? (2018)
Um, no. Distance and time are related by the speed of light, which travels 1 light year (distance) in 1 year (time).

If space wasn’t expanding, the distance to a stationary object (in light years) would be exactly equal to the travel time of light from it (in years).

brianberns··on If the universe is 13.8B years old, how can we see 46B light years away? (2018)
No, the object is now 46b light years away, but we can’t see what it looks like now at that distance. We see an image of it when it was much closer and younger.
brianberns··on Crinkle Crankle Wall
I don't think it's physically possible to make a wall like this that's more than one brick thick (without using an absurd amount of mortar).
brianberns··on Laser-Based Audio Injection Attacks on Voice-Controllable Systems [pdf]
My point is that if someone is directing a powerful laser into your home, you are in imminent mortal danger, which is worse than whatever the smart speaker can do.
brianberns··on Laser-Based Audio Injection Attacks on Voice-Controllable Systems [pdf]
If someone is willing to blast your possessions to bits using a laser, I think the security of your smart devices is probably the least of your immediate concerns.
brianberns··on Toddler Password – Get a secure password generated by a toddler
Yeah, the verbiage says that his typing is merely the "basis" for the resulting password, so you're probably right.
brianberns··on Toddler Password – Get a secure password generated by a toddler
This is cute, but I'm dubious. It generated "y3aEmic8B217" as my password. Kid just happened to hit the shift key while also pressing E and then B? It looks a little too random to me. When I pound on the keyboard, I get results that look more like "fjlsd;lasf".
brianberns··on Haskell in Production
Yeah, that's a small example, so it's fine either way. But larger examples with lots of parentheses can be overwhelming (see: Lisp).
brianberns··on Haskell in Production
You're right, and that's why it's usually called "function application" instead of "backward pipe". However, using $ as an operator is confusing because the associativity is ambiguous if you're not already comfortable with it.
brianberns··on Haskell in Production
Thanks. That's a good blog. The $ operator is definitely confusing in Haskell. F# uses <| to indicate a backward pipe, which I find much more intuitive. For example:

    print <| even <| 4 * 2
This means: Take the result of 4 * 2 and send it to `even`, then take that result and send it to `print`. Or you can write it with forward pipes to make it even clearer:

    4 * 2 |> even |> print
The thing about backward pipes is that they're often used to avoid parentheses, which is IMHO a good idea. It's just that thinking of them as "function application" is confusing. F#'s operators makes the data flow clear.

[Side note: The mathematical symbol for function composition is the circle operator, ∘, which is also confusing for the same reason. Does (g ∘ f)(x) mean g(f(x)) or f(g(x))? Personally, I can never remember. If math used F#'s >> and << composition operators instead, there'd be no doubt that f >> g sends the output of f to g, so (f >> g)(x) means g(f(x)).]

brianberns··on The Navy's Patent for a Compact Nuclear Fusion Reactor
I don’t have a problem with it. This prevents a private entity from monopolizing a possibly world-changing invention. The government can auction licenses to create competition, or even give it away for free.
brianberns··on Show HN: I made a neural net that analyzes privacy policies
How did you create a data set large and accurate enough to be useful in training a model?
brianberns··on Twelve Words
Holy cow, I was not expecting that. Thank you.
← PreviousPage 3 of 15Next →