HNHacker News
TopNewBestAskShowJobs

Ruud-v-A

470 karma · joined February 24, 2013

submissionscomments
Ruud-v-A··on Emacs Lisp JIT Compiler
Is that using the Lua interpreter, or LuaJIT?
Ruud-v-A··on APL deserves its renaissance too
Could Numpy be considered the APL renaissance? Not in syntax, but conceptually?
Ruud-v-A··on Tarballs, the ultimate container image format
> it would be great to use something like guix to define all the libsodium+zeromq+czmq+zyre dependancies and be able to spit out an 'ultimate container image'

You define a package for your own project that depends on libsodium/zeromq/etc from GuixSD. Then you export your own package with 'guix pack'. For an example of what a package definition looks like, take a look in /gnu/packages in the GuixSD repository, for instance libsodium [1] or Vim [2].

I did something similar recently to build an Nginx "application bundle" [3]. It uses Nix (previously Guix, but Nix worked better for me in the end) to build a squashfs image. You can then run the binary on that filesystem with systemd-nspawn, or as a regular service by setting RootImage=. Some advantages over the Docker approach are that you can easily customise the build (e.g. changing the ./configure flags for Nginx without having to manually perform all other build steps), and bit by bit reproducibility (if you build the same commit six months from now, on a different machine, you will still get the same image out).

[1]: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages... [2]: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages... [3]: https://github.com/ruuda/miniserver#readme

Ruud-v-A··on Knusperli: A deblocking JPEG decoder
Pik can synthesize noise. https://github.com/google/pik
Ruud-v-A··on Knusperli: A deblocking JPEG decoder
That is what I expected as well, but it turns out not to be the case. See also https://www.ece.cmu.edu/~ece548/hw/lab3/faq-do~1.htm and https://encode.ru/threads/2922-Knusperli-%E2%80%94-a-better-....
Ruud-v-A··on Ask HN: What stack would you use to build a CRUD web app in 2018?
You should not write a CRUD app in 2018. Update and delete are remnants from the times where memory and disk were expensive, and update in place was a necessity. This is no longer the case. Apart from a few very specialised use cases, there is no need any more for update or delete. Record new facts and don’t destroy the older ones.
Ruud-v-A··on The scrypt parameters
“Cache line sizes have not significantly increased since 2009, so 8 should still be optimal for 𝑟.”

Cache line sizes don’t change insignificantly — they change in powers of 2. Cache lines sizes for Intel x86_64 CPUs have not changed at all since 2009, it’s still 64 bytes.

Ruud-v-A··on Debian and GNOME announce plans to migrate communities to GitLab
I was under the impression that Debian is in the process of moving to Pagure [1]. The reasons mentioned in the LWN article are not invalidated by Gitlab's announcement of dropping the CLA.

[1]: https://lwn.net/Articles/724986/

Ruud-v-A··on A/B test of banner ads vs. traffic
I am curious, what constitutes “traffic”, and if it is page loads, why is it the right thing to measure? Users who load the page are already visiting, regardless of whether there is an ad on the page or not. (Or does it include a delay to filter visitors who immediately close the page?) And they did not know in advance whether there was going to be an ad, so their decision to visit the site is not based on the presence of ads. (Unless perhaps if they had a particularly bad experience a previous time — bad enough to remember the domain and not follow the link.) I don’t understand how turning ads on and off every two days can be used to understand long-term effects. There appears to be the assumption that there is a relation between a user seeing an ad or not, and subsequent traffic. There might be a small correlation because of visitors browsing the site, or likeliness to share, but if outside of the spikes, the majority of visitors arrive from an old external link or search engine, and they only read a single page, then how does turning ads on and off every two days measure impact on these users?
Ruud-v-A··on Ask HN: Install C and C++?
https://www.visualstudio.com/downloads/ includes an MSVC compiler.

http://www.msys2.org/ can be used to install GCC.

Ruud-v-A··on Ask HN: What alternatives to Powerpoint/Prezi are there?
While it does not solve your use case, others here might find it interesting: I built a domain-specific language for designing slides (https://github.com/ruuda/pris#readme). It is superficially similar to LaTeX/Beamer/TikZ, but it has first-class graphics that are reusable. More motivation in this blog post: https://ruudvanasseldonk.com/2017/04/27/a-language-for-desig.... It is still basic, but I have used it a few times to do slides nonetheless.
Ruud-v-A··on F.lux v4
Yes, I’ve been happily using this feature since it was introduced.
Ruud-v-A··on Gnirehtet rewritten in Rust
Haskell is another language that compiles to native executables with minimal dependencies (binaries do link against libc, libz, and libgmp by default) which I think deserves more attention. It has great build tooling too (Stack).

I have been responsible for building and deploying Python, JVM, and Haskell projects to production servers. For Haskell projects it was pretty much painless, Python and JVM were "challenging". The main advantage comes from having native binaries and a good build system that does the right thing, which Rust is also good at.

Ruud-v-A··on Org-Mode Is One of the Most Reasonable Markup Languages to Use for Text
I see, thank you for the explanation. I know the concept of Powershell but I haven’t really used it.
Ruud-v-A··on Org-Mode Is One of the Most Reasonable Markup Languages to Use for Text
What features does Emacs have for editing Org-mode that makes the combo so great?
Ruud-v-A··on The Great DOM Fuzz-Off of 2017
It would be interesting to know what the nature of these bugs was, whether they are mostly memory safety issues or not.

I find it scary that for $1k one can find so many bugs in software exposed to untrusted content.

Ruud-v-A··on Why I don't git-rebase
I’ve seen histories full of arbitrary fork points and merge commits that are definitely not simple.
Ruud-v-A··on Use pew, not virtualenvwrapper, for Python virtualenvs
Yes. I do it with six lines of shell script: https://is.gd/bsNBve.
Ruud-v-A··on Nginx Unit
I love Warp for Haskell, but I would still be hesitant to expose it directly. It’s simply not used as much as Nginx or Apache. Less people have spent time trying to break it.
Ruud-v-A··on Rust 2017 Survey Results
I apologise if my comment offended you, I know how much work goes into organising a conference and I appreciate your hard work.
Ruud-v-A··on Rust 2017 Survey Results
The ticket site [1] states:

> We believe in diversity and would like to provide support to people of many different backgrounds. This includes, but is not limited to people who belong to one or more of the following groups: people of color, women, nonbinary and gender non-conforming people, disabled people, people with mental health issues, and LGBTQIA+ people.

[1]: https://diversitytickets.org/events/100

Ruud-v-A··on Rust 2017 Survey Results
One example of a breaking change that had an “acceptable count” of GitHub issues cross-referencing it is this one: https://github.com/rust-lang/rust/pull/42496.
Ruud-v-A··on Rust 2017 Survey Results
Not from the docs, but a pretty clear community example is that tickets for RustFest are more expensive for people who don’t belong to an underrepresented group.

Edit: replaced “minority” with “underrepresented group”, as that is the language used on the website [1].

[1]: http://blog.rustfest.eu/this-week-in-rustfest-5-tickets-dive...

Ruud-v-A··on Nginx 1.12.0 stable
Does it support more advanced forms of authentication than http basic?
Ruud-v-A··on Introducing Twitter Lite
> Today, we are rolling out Twitter Lite, a new mobile web experience which minimizes data usage, loads quickly on slower connections, is resilient on unreliable mobile networks, and takes up less than 1MB on your device.

1 MB is “acceptable” by today’s standards, but when you think about it — 1 MB to display a few 140-character tweets?

Ruud-v-A··on How we secretly introduced Haskell and got away with it
We do have a different small tool in Haskell that we are likely going to open source though :)
Ruud-v-A··on How we secretly introduced Haskell and got away with it
The GHC runtime has built-in support for memory profiling, it can produce a graph that shows a breakdown of the heap over time. After trying various combinations of flags I managed to produce a graph where one part was clearly growing over time. The corresponding function was a recursive function with two arguments, the first never changing in recursive calls. I rewrote that to a single-argument nested function, and that made the leak go away.
Ruud-v-A··on How we secretly introduced Haskell and got away with it
That was informative, thanks!
Ruud-v-A··on How we secretly introduced Haskell and got away with it
The real issue with the Python scheduler was its algorithmic complexity. Using a faster implementation would have bought us a few extra months or maybe even year, but it would only have postponed the need for a real solution.
Ruud-v-A··on How we secretly introduced Haskell and got away with it
Good question! None of the existing options that we investigated supported all of our requirements. In particular, all the arrows that can exist in the dependency graph are known ahead of time, but the nodes are not. This means that a job can depend on a job that does not exist yet. (A user can add extra feeds to download, and the merge job should wait for them, even if it had been submitted already.) Furthermore we have a few specific constraints such as “per project, only one of job type x or y may be running at the same time”.
Page 1 of 4Next →