Nobody is forcing people to upgrade - you’re free to stick with an older version of any OS, although possibly at the cost of the OS going out of support from the vendor. Why such a decision seems to lead to these long winded opinion pieces on the internet is weird - don’t these authors have something better to do than opine about how what they want doesn’t line up exactly with what some vendor is giving them for free?
That’s a relatively recent change. When I first learned MMA around 1995, it was just Mathematica. It was still just Mathematica 10 years later. Then in the last decade they decided to give the language a name independent of Mathematica: I assume with the rollout of their other services/tools beyond the desktop client that use the same language.
The NPR planet money podcast also had an interesting episode from 2012 that recently replayed that talked about the origins of the double entry accounting scheme. Pretty interesting history that I didn’t know.
Interesting, but I’m not sure why I’d use this over processing/p5.js augmented with a library to provide the fast compute part on an accelerator. I already do this for compute intensive things: I have a library for agent based models that I give to students that provides fast data structures and algorithms that they use from processing. I don’t see the benefit of a whole new language. The primary feature that it seems to add is live updating of the code, but I’m not convinced about that either (similar ideas have been kicked around for years in computational science contexts with respect to online tweaking/steering of models, and rarely have had any traction in practice.)
Yup. I dug deep into the technology recently when I taught a class on the science of sound at a local college. When you look at media not only from the mathematical perspective (Nyquist, etc), but the physical (grain density and size on tape), it’s pretty clear that past technologies did have fundamental limits. It’s hard to disentangle the technical appeal of certain recording media from the nostalgia for a rosier looking past when reading some of these articles.
They owe nothing for anything they legitimately use: that’s the consequence of open source licensing as a developer. If a developer expects a project to get a fair share of revenue from projects that use it, they are free to adopt a licensing model that dictates that. That is a perfectly reasonable licensing model.
I get it: I had an open source project that HP built a product around many years ago, but modulo a couple of patches from them, we saw nothing. Didn’t bother me: we knew when we open sourced it, anything that was done with it was out of our hands.
The best I’d expect from a company using open source is that they be good open source citizens and contribute back. Apple has. clang, WebKit, etc....
Not really. With recent articles talking about their push more deeply into health, privacy is a core feature and basis of trust. Very different than the marketing speak we get from other gigantic companies that are fundamentally ad brokers: privacy is at odds with their core business. Privacy is not at odds with where Apple is or is going, so there isn’t the business incentive there for them to violate it.
F# for ecosystem. Most stuff you’d need is available via nuget. Plus, interop with C# is trivial, so all of that ecosystem is there too. Ocaml has opam for package finding, but it’s a bit sparser.
That said, I don’t tend to use a huge number of 3rd-party modules, so it’s not a big differentiator for me. Too much of a liability to have dependencies on some rando from the internet: for work, we tend to stick to modules from trusted sources in the rare chance we use them (eg, Jane street).
F# is extremely similar. To put it in perspective how similar, I just ported a project for work over from F# to ocaml in a few days - mostly adding "in" for let blocks and parenthesizing nested match blocks where necessary, and replacing data structures with their ocaml equivalent. Large chunks of that code base didn't require any modification - I'd drop a 500 line source file in, run it through the ocaml compiler and have to deal with a handful of syntax tweaks to make it go through.
Ocaml is a bit easier to reason about w.r.t. performance (time/space complexity), and the code is a bit clearer if you're coming in cold after not having seen parts of a codebase for a while. Spent ~10 years at a Haskell shop, and currently at an Ocaml one, and was a Standard ML hacker prior to the Haskell job. Done some F# in there too, although for the most part that just feels like ocaml w/ some cleaned up syntax and a nice interop with the rest of the .net ecosystem.
From a nontechnical perspective, some changes in the Haskell community and ecosystem also turned me off on it starting around 2011, and I find the ocaml one to be a bit more up my alley.
I use ocaml daily for work - our core product is written in it. We actively avoid anything that deviates from the base language for reasons of clarity. No camlp4, no lwt, no fanciness other than some of the batteries libraries that improve on the std library. It does occasionally mean we type in more than we would if, say, we used extensions to give us Haskell-like do notation for monadic code, but at the end of the day we err on the side of being very conservative.
You sound like you’re just not the target audience. That doesn’t make it bad. I personally welcome more specialized news aggregator sites. HN is too diluted and a bit of a fad-following monoculture. This kind of site looks refreshing.
I think I got bit by that last night - working with sound in Mathematica, a simple MIDI tune was playing and then my MBP made a horrendously loud noise. Didn't damage the speakers, which surprised me given how loud it was. Probably the fastest I've mashed CMD-Q to quit a program though.
The Fortran language defines a pretty clean FFI to bind to other languages. It’s not really any harder than binding to C code, which is why it’s called BIND(C) and ISO_C_BINDING. That was introduced in F03. The only period when it was murky how to interoperate was in the 90s and early 00s when compiler vendors had their own array descriptor structures that didn’t agree with each other. I worked on a language interop tool back then and spent way more time than I’d have liked reverse engineering those undocumented data structures for all of the compilers at the time.
Posting on arxiv is useful for making results available early, and to make published work available in some form that isn’t pay walled, but posting on arxiv on its own is not publishing as it isn’t peer reviewed.
Nope. Nobody in the review or author role gets paid. And personally, that doesn’t bother me. I put in time to review papers with the understanding that someone else will put in time to review mine. My employer (I’m in industry) understands that this is a reasonable use of my time given that they see value in me being engaged in the academic world. Prior to industry when I was an academic, it was also part of my paid job. It’s usually called service. The trope that it’s all unpaid labor is a bit deceiving and not entirely accurate.
The problem isn’t technical. The current flaws in the publishing system are not due to lack of indexing, data distribution, provenance, or filtering. And please, please, please, don’t turn reviews into some user driven drivel like amazon product reviews or other systems that are easily gamed or prone to the whims of the masses. We already have problems with gaming and personal agendas making reviews less than impartial: don’t make something that makes it 10x worse. (CS academic publishing and refereeing for 20+ years here).