cracauer's comments

cracauer | 2 years ago | on: U.S. v. Google

This is bad in one aspect:

Google pays Mozilla a lot of money, mainly to keep Google search the default search engine in Firefox.

If that turns out to be illegal it could create a financial crisis for the Firefox browser and hence reduce diversity in web browsers.

cracauer | 4 years ago | on: Almost every publicly available CVE PoC

I would like to have a resource like this, but instead of the PoC I want to see the diff that fixed the flaw in the software.

Anything like that around? I know it isn't trivial.

cracauer | 4 years ago | on: s/bash/zsh/g

I have libraries of functions written in pure sh.

I use those functions in both scripts and my interactive shell (which is bash).

I cannot do the same with zsh as my interactive shell if scripting is supposed to stay POSIX/bourne shell. Which I want as I often do this in systemwide scripts or modify existing scripts (all plain sh). The incompatibilities do matter.

cracauer | 5 years ago | on: Take care editing bash scripts (2019)

This is why my directories with shell scripts have a "make install" target. For execution they are copied to a place where they are unlinked before written new.

cracauer | 6 years ago | on: Garbage Collection

When using generational GCs it is of utmost importance to match the policies for moving things between GCs to the actual pointer interconnection pattern.

This can go really bad, for example in systems that keep caches/repositories of preallocated things for faster re-use. If they are anchored at global variables, or near global, then you need to treat those preallocated things special. You can't just go and move them every time even when knowing you will never collect them.

Generally, GC works better if you don't do tricks/optimizations with memory allocation and let just everything flow freely into the heap. If you do have to optimize allocation you generally have to teach your GC about your hack.

cracauer | 6 years ago | on: Garbage Collection

I am a friend of simple garbage collectors. Let initial placement be decided by running code.

Let later placement be decided by the order in which the heap is scavenged. That is what e.g. re-unifies array-of-pointer target instances. You scavenge the array of pointers and in the default case you line up the instances the pointers point to beautifully one after another. Even if the initial allocation had interleaving other memory. In that case your code gets faster after GC than before the data is first GCed.

cracauer | 6 years ago | on: Garbage Collection

Not wasted space. Unreleated space would do.

Keep in mind that you only have a tiny amount of L1 data cache lines. They are gone so quickly. If you can get a couple more struct instances in an array into those cache lines (without the cache lines holding unrelated nonsense as a byproduct of a memory fetch) that is a huge win.

The issue of L1 cache lines is more important than the size of the L1 cache. The granularity of the cache lines uses up the size of the cache very quickly if all cache lines are padded up with 3/4rd nonsense that you don't need right now.

cracauer | 6 years ago | on: Garbage Collection

I don't have anything new. I might have to re-write a GC for Clasp. Then I know :)

A better questions would be whether anybody has a moving, precise GC running on LLVM. Clasp with MPS runs, but that might be coincidence/luck.

page 1