Hacker News new | past | comments | ask | show | jobs | submit | ekiauhce's comments login

Integrating is a part of wolfram alpha, e.g https://www.wolframalpha.com/input?i=integrate+%28sin%28sqrt...


If a variable contains batch size, then name it accordingly — batch_size.

And no glossary needed, KISS

https://github.com/johnma2006/mamba-minimal/blob/82efa90919c...


I think the glossary is defining variable names as given in the paper. I found this confusing when I originally read the paper as the authors assume that the reader knows what B, L, D and N stand for. I had to use explainpaper to figure it out.


You can’t really move away from bash, unless there would be alternative as widely available on different Unix systems as bash is.

Yes, you came up with a nice syntax for your Haskell scripts, but what it cost to install all required dependencies on, for example, newly created Ubuntu server?


It's pretty easy if you use NixOS :)

That's been one of the somewhat unexpected benefits for me with NixOS: it's so easy to pull in tools and libraries that I don't have to worry about using less popular options.


Are you kidding? Half of NixOS is written in bash.

Nixpkgs is just Nix used as a metalanguage for splicing together bash object language programs.

Guix is what it looks like when you really get away from bash -- they use scheme as both the metalanguage and the object language.


The caveat is that you're pushing the complexity somewhere else. I'm finally moving away from NixOS this month (after two years of using it) because I'm tired of edge casing interrupting my daily flow.


> You can’t really move away from bash, unless there would be alternative as widely available on different Unix systems as bash is.

Lua can be built from source in a few seconds on just about any system and can be used pretty easily as a bash replacement. You can even bundle the lua script in a bash script that idempotently installs lua and then calls the lua script embedded in heredoc.


Yep, this is mainly used for turning those bash scripts that you let get too large into a real program. You port your script, basically line for line, into this, and then start chipping away at it until you have something less scary.


You’re not always working in crummy environments. Sometimes you can have nice things (if you think this is nice).

I don’t get the impression that this is supposed to be the final solution to Bash.


We're trying to do a similar thing with darklang right now: providing a single binary with a built-in package manager. The idea being making it easy to write readable "bash" scripts (including writing them with AI), but with just one dependency - the darklang binary itself.


Yes, but Shh works on Windows. And on OS X you need to install about the same things if you want to have a recent Bash

    > /bin/bash --version
    GNU bash, version 3.2.57(1)-release (arm64-apple-darwin23)
    Copyright (C) 2007 Free Software Foundation, Inc.


Why do you want to develop Haskell programs in a newly created Ubuntu server? Or do you want to compile it down at the deployment target?


I’m missing something — why would a newly created Ubuntu server be any better or worse than any other system for developing Haskell?


There has been a couple of decades since I last had to do any development in a newly created server.

Development is best done on well setup workstations.


Too bad Hugs98 (installation is few MBs) is no longer updated leaving only GHC (GB+).


You don't need the compiler to run the program in production. You only need the binary. I'd argue that a heavy toolchain in the dev machine isn't a big deal.


Bash scripts tend to be used in situations where you want to edit them and not have to deal with a recompilation step, let alone a multi-GB compiler install. That seems like a deal-breaker to me.

The best alternative I've found so far is Deno. It natively supports single file scripts with third party dependencies (this is a big issue with replacing Bash with Python). It uses an existing popular language (so now "learn our weird language" problem). Installation is very easy.

The only real downside I've found is this stupid bug that they refused to fix:

https://github.com/denoland/deno/issues/16466


That is a very good point in favor of Bash.


How is this project compared to supervisord feature wise?


I have to admit that Supervisor is much more mature for Meproc, as it has gone through a long process of user feedback and iteration. Meproc, on the other hand, has only recently implemented a rudimentary project. The difference between the two, in my opinion, lies more in their design philosophies. Supervisor was launched earlier, so it heavily relies on configuration files and initially followed a client-server architecture. Later, it added HTTP XML interfaces to address visualization and automation needs. In contrast, Meproc wanted to abandon configuration files from the beginning because they can complicate automation. For example, should the configuration file be updated when new configurations are deployed, and how to ensure consistency between runtime configurations and the contents of the file. To give an inappropriate analogy, Supervisor is like Nginx, a classic software, but it faces challenges in dynamic updates in the current cloud-native environment. That's why alternatives like Unit were developed to compensate for its shortcomings. However, why not design a software from scratch that inherently supports dynamic updates?


Nice project!

It gives me so much Perl one-liners vibe, when `perl` command combined with `-p` and `-e` flags allows you to write super concise programs for bash pipelines.

Some examples https://learnbyexample.github.io/learn_perl_oneliners/one-li...


Is this some kind of joke?

I waited about half a minute for percent counter reach 100%, then it just keep loading with the counter beyond one hundred lol

So “progressive”


I think you’re confusing Progressive Web App (PWA) with Progressive Enhancement. PWA is basically a web app (typically an SPA) that behaves like a native app, as described in the MDN page they reference. Loading progressively such that the page is still useful without JS is Progressive Enhancement.


It’s conflating progressive with “progress”. It’s like conflating functional programming with whether it functions.


To be fair, Progressive Web App is a pretty stupid nomenclature.


We updated docker recently and got really high RAM usage in the integration tests.

Atop shows that MySQL eats 20GB for no reason. All mysql server metrics was okey.

This problem was really painful to debug, since we thought “how docker can even affect how mysqld use memory, it might be something else”

Related: https://bugs.mysql.com/bug.php?id=96525

https://github.com/docker-library/mysql/issues/579

https://www.mail-archive.com/ubuntu-bugs@lists.ubuntu.com/ms...

https://github.com/moby/moby/issues/44547#issuecomment-13340...


I skimmed through the API Compatibility section in the cargo semver docs https://doc.rust-lang.org/cargo/reference/semver.html#api-co... and got excited about the list of rules they came up with for choosing right version for your release.

Is there similar guidelines for other languages like Java or Python?


All those rules are derived from a much smaller set of rules that are easier to understand. In Rust, those rules are more or less "breaking changes require a major version, unless the breaking change could have been avoided by the caller by adding disambiguation ahead of time." More details here: https://predr.ag/blog/some-rust-breaking-changes-do-not-requ...

Rust generally has more exceptions than most languages about which breaking changes are technically considered non-major, so writing such guidelines for Python or Java shouldn't be too difficult.

The same tech and ideas that power `cargo-semver-checks` could also be repurposed for those languages as well. If a company is interested in sponsoring such work, I'd be happy to help build something like that!


For Java it should be easy to create such a list, if it doesn't exist (even easier than for Rust, I assume). For Python, I think the dynamicity would make it hard to come up with anything other than a subjective set of basic, non-comprehensive guidelines (which still sounds useful, but not from the perspective of a tool like this).


I'm still struggling with this:

    def do_it(*args, **kwargs) -> None:
        ...
You might keep the signature constant, but let the behaviour evaluate across versions, but semver-wise, you could consider that API unchanged.


Unreadable on iOS 16.6 and browser Firefox 116.2 (33536). Text overflows right border and can’t be scrolled

Toggle “ask for desktop version” doesn’t make any difference


Use Reader mode


Hey!

I just watched the presentation from post url and I really liked the tool Roy talked about at 19:00-22:40.

Also he answered a question (34:07-35:23) about which algorithm they use to actually tune thresholds by saying that he was sure it would be open-sourced at some point.

So I searched through the entire list of public repositories on https://github.com/Netflix?sort=stargazers and didn't find anything relatively similar to what Roy described.

Does anyone know: 1. What is the name of the metrics tuning system? 2. Is it open-source? 3. Is it actively supported or is it deprecated?

Thanks.


Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: