News for hackers. Stuff that matters.

grndn

Re:Pandas Should Go Extinct on Saturday September 12, 2026 @04:26AM (#49670241)
There is indeed a whole book about ecosystems and charismatic megafauna called "Do We Need Pandas?: The Uncomfortable Truth About Biodiversity"[1]. And there is debate among naturalists [2]

[1] https://www.goodreads.com/book/show/9656950-do-we-need-panda... [2] https://www.theguardian.com/environment/2009/sep/23/panda-ex...

Or in one of my favorite coinages: "Moral Crumple Zones". "Just as the crumple zone in a car is designed to absorb the force of impact in a crash, the human in a highly complex and automated system may become simply a component—accidentally or intentionally—that bears the brunt of the moral and legal responsibilities when the overall system malfunctions." See https://ferd.ca/notes/paper-moral-crumple-zones.html
Matthew Crews has a done a number of videos on high-performance F# and there are some things you can do that give a big boost over the default coding approach.

Why F# for Performance -- https://www.youtube.com/watch?v=EIBRoNEpg6c

F# for Performance-Critical Code -- https://www.youtube.com/watch?v=NZ5Lwzrdoe8

Re:The Kaiser and a "Mediocre Man" Theory of History on Saturday May 30, 2026 @08:46AM (#48335587)
"Understandably, there has been much speculation as to [leader]’s mental fitness. It has been marked that [leader] possessed a perpetual immaturity. He had great difficulty in taking matters seriously, and tended to fixate on surface level details that caught his fancy to the neglect of the heart of the matter. He spoke without preparation or consideration, seemingly unaware of the consequences this brought about.

However, the influence of the [leader] on [country] politics made [country]’s isolation inevitable. A byzantine system where promotions were based on the favor of a man who did not have the character to set a consistent policy made for a state that was not a credible partner."

Two separate Sherlock Holmes stories have a "stranger at a public wedding ceremony" as a plot point!
Re:Pa. House passes 'click-to-cancel' subscription bills on Saturday July 12, 2025 @04:39AM (#44540366)
Personal anecdote: I had a subscription to the Philly Inquirer. They made it very easy to sign up online, but there was no way to cancel online. The website only said "call the sales team to cancel".

I changed my home address to California, and shortly after, a new "Cancel Subscription" button appeared on the PI website, which worked great.

Re:Locally hosting an internet-connected server on Wednesday June 18, 2025 @01:44PM (#44311875)
Fellow Branestawm enthusiast here. That is the first time anyone has ever mentioned Professor Branestawm on HN, as far as I can tell! It's triggering deep memories.
Re:Gleam, Coming from Erlang on Friday February 28, 2025 @02:00PM (#43209069)
As another comment said, you can write client side code in F# which gets transpiled to JS, just like Typescript or CoffeeScript. This approach allows you to use JSX components directly from your F# code. It's very cool. Other FP languages have something similar.

https://www.compositional-it.com/news-blog/fsharp-react-seri...

Re:SQL pipe syntax available in public preview in BigQuery on Thursday February 13, 2025 @12:09PM (#43038333)
Elixir took the pipe symbol from F# (See Jose's comment at [1]). For more details see my other comment below.

[1] https://elixirforum.com/t/which-language-first-introduced-th...

Re:SQL pipe syntax available in public preview in BigQuery on Thursday February 13, 2025 @12:07PM (#43038302)
OCaml took the pipe symbol from F#. And F# was the language that made the pipe symbol popular in mainstream programming, afaik. According to Don Syme, it was used in F# in 2003 (see "Early History of F#", section 9.1, [1] which references [2]).

Here's his full comment:

/quote

Despite being heavily associated with F#, the use of the pipeline symbol in ML dialects actually originates from Tobias Nipkow, in May 1994 (with obvious semiotic inspiration from UNIX pipes) [archives 1994; Syme 2011].

... I promised to dig into my old mail folders to uncover the true story behind |> in Isabelle/ML, which also turned out popular in F#...

In the attachment you find the original mail thread of the three of us [ Larry Paulson; Tobias Nipkow; Marius Wenzel], coming up with this now indispensable piece of ML art in April/May 1994. The mail exchange starts as a response of Larry to my changes.

...Tobias ...came up with the actual name |> in the end...

/endquote

Haskell has had "$" or "backwards pipe" for ages, but that is just another way of doing function application and it does not feel the same as (and is not used the same way as) the unix-style piping paradigm.

[1] https://fsharp.org/history/hopl-final/hopl-fsharp.pdf

[2] https://web.archive.org/web/20190217164203/https://blogs.msd...

Re:The Global Climate Change Consensus: My Experiment (2007) on Monday December 09, 2024 @12:31PM (#42368215)
Peter Norvig does his own research: "When faced with a controversy like this, the great thing is that you can do your own research. If you suspect Oreskes or Peiser (or both) might be biased, you can look at the data yourself."

Also, AFAIK, one of the first uses of "do your own research" in the modern sense. Google hits before 2009 do not use it in this way. [0] https://www.google.com/search?q=%22do+your+own+research%22&t...

As one of the comments pointed out, it's even funnier if you turn on the automatic captions :)
Re:Who builds a house without drawing blueprints? (2015) on Thursday June 11, 2020 @08:24AM (#23488046)
Agreed about the TLA docs, but it is worth persisting, as TLA is very useful in some situations. These slides cover the basic syntax enough to get started.

https://www.slideshare.net/ScottWlaschin/tla-for-programmers...

Re:Write your own Excel in F# (2018) on Sunday August 25, 2019 @06:18AM (#20792214)
The original title is "Write your own Excel in 100 lines of F#." I don't know why the F# part was removed either. HN guidelines say "please use the original title, unless it is misleading or linkbait; don't editorialize.". Having read the article, I don't think the "in 100 lines of F#" part is misleading, nor is it Buzzfeed-style clickbait.
+100 "The Logic Of Failure" is a great starting point, and everything by Gerald Weinberg is worth reading.
Re:In web design, everything easy is hard again on Saturday February 10, 2018 @05:47AM (#16346772)
I came here to say the same thing. :)

The fundamental problem is that you want one piece of (semantic) content to be presented on many different platforms with very different design approaches.

The current approach uses if-then-else conditions in CSS, and when that fails, if-then-else conditions in JS, and when that fails, complex JS to transform the DOM. The XML/XSLT approach, although clunky, might actually be better in many cases.

Re:JS things I didn’t know existed on Saturday January 20, 2018 @02:23PM (#16194921)
Here is the history of the |> symbol as best as I can tell:

1994: Isabelle/ML (part of Isabelle proof assistant tooling) (https://blogs.msdn.microsoft.com/dsyme/2011/05/17/archeologi...)

2005 and earlier: F#

2012: Elm

2013: Elixir (https://github.com/elixir-lang/elixir/pull/751)

2013: OCaml (https://ocaml.org/releases/4.01.0.html)

Re:It’s a Wonderful Loaf on Saturday May 06, 2017 @10:46AM (#14280453)
For a counterpoint, see the "Victorian Bakers" doc from the BBC: http://www.dailymotion.com/video/x4h8mty. See 11 min mark for bakery conditions and 23:30 for flour adulteration. The free market at its finest with no regulation.
Re:Railway oriented programming on Thursday June 23, 2016 @12:56PM (#11962492)
You are on the right track (no pun intended). Your second and third function signatures are actually the same thing in F# (and any other language with curried functions by default). Similar functions such as "map" and "filter" can be thought of the same way.

A big benefit of currying by default is that all functions can be treated as one parameter functions -- a very powerful tool for function composition.

Also, providing only some of the parameters (e.g. the first) and leaving some to be provided later is the technique known as "partial application" -- another key tool in functional programming.

If you think these things look interesting, you should for sure look into F#/OCaml/Haskell/Elm/etc.

Re:Capability Based Security on Sunday December 06, 2015 @06:16PM (#10687146)
And for those interested in a FP-oriented (rather than OO) approach to cap-based security, here's a post on using it as a tool to enforce good design: http://fsharpforfunandprofit.com/posts/capability-based-secu...
How about F#? It feels like Python and has a Pandas equivalent in Deedle (https://bluemountaincapital.github.io/Deedle/), but fits well in the .NET ecosystem, including using SqlServer effortlessly. This report is a good starting point: http://fslab.org/report/
Thanks for these -- the aether one is hilarious.
Re:The Post-YC Slump on Thursday August 20, 2015 @01:34PM (#10093358)
Couldn't this just be a form of the "Sports Illustrated cover jinx", that is, regression to the mean?
Re:Understanding map and apply on Friday August 07, 2015 @04:22AM (#10021406)
Many FP-ers believe that you need to use understand the math or at least use the "right" terminology before using monads.

There is an obvious counter-example. Millions of C# developers are using monads already under the name of "LINQ". I don't think it would have been as popular if Microsoft called things by their "right" names.

Re:Stuff Goes Bad: Erlang in Anger on Sunday February 01, 2015 @12:56PM (#8980886)
Too late, I'm afraid. That horse has literally* bolted. The world has decided on what "steep" means now.

* http://www.salon.com/2013/08/22/according_to_the_dictionary_...

Re:Ask HN: Trouble Remembering a Computing Theory on Tuesday January 27, 2015 @12:24PM (#8954346)
Zawinski's Law

"Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can."

http://www.catb.org/jargon/html/Z/Zawinskis-Law.html

Older »