HN user

tleb_

363 karma

My e-mail address is tleb followed by an at sign, then tutanota dot com.

Posts22
Comments166
View on HN
www.ietf.org 1y ago

The Harmful Consequences of the Robustness Principle

tleb_
2pts0
jacqueline.id.au 1y ago

Comparing the vorbisfile and opusfile decoding APIs

tleb_
2pts0
drobilla.net 4y ago

Machina – MIDI Sequencer Based on Finite State Automata

tleb_
3pts0
www.boost.org 4y ago

Boost Geometry Design Rationale

tleb_
1pts0
pdos.csail.mit.edu 4y ago

Application Performance and Flexibility on Exokernel Systems (1997)

tleb_
16pts0
memex.marginalia.nu 4y ago

Rendered Static HTML

tleb_
2pts0
www.sarl.io 4y ago

SARL: General-Purpose Agent-Oriented Programming Language

tleb_
2pts0
gumroad.com 5y ago

Hit the Front Page of Hacker News – Paid Video Course

tleb_
2pts0
blog.scaleway.com 5y ago

Scaleway – Meet Our Nuclear Fallout Shelter (2016)

tleb_
1pts0
sl4.org 5y ago

Crocker's Rules

tleb_
1pts0
shkspr.mobi 5y ago

The Secret Rules for Getting Hired

tleb_
3pts0
www.youtube.com 5y ago

Writing Android Apps in C and make

tleb_
3pts0
hisham.hm 5y ago

Userland: Creating an integrated dataflow environment for end-user applications

tleb_
1pts0
news.ycombinator.com 5y ago

Ask HN: Why is the web only HTML-based?

tleb_
2pts2
youtube.com 5y ago

Raspberry Pi Zero Terminal V3 [video]

tleb_
2pts0
www.kernel.org 5y ago

Linux Kernel coding style — “avoid introducing new usage of 'master / slave'”

tleb_
3pts0
raytracing.github.io 5y ago

Ray Tracing in One Weekend

tleb_
2pts0
www.youtube.com 5y ago

Reasoning about performance (in the context of search) by Dan Luu (2016) [video]

tleb_
2pts0
www.rogerclarke.com 6y ago

Roger Clarke’s Dataveillance and Information Privacy Home-Page

tleb_
1pts0
www.gsma.com 6y ago

5G: Perspectives on future technological advancements in mobile (2014) [pdf]

tleb_
1pts0
sill.etalab.gouv.fr 6y ago

Recommended free software for the public sector

tleb_
1pts0
tombh.co.uk 6y ago

Deleting Facebook and Google

tleb_
2pts2

-fplan9-extensions adds even more, it is not an alias: https://gcc.gnu.org/onlinedocs/gcc-15.2.0/gcc/Unnamed-Fields...

One of the link of past discussions was from Apr 2018 and discusses it. At that time GCC -fplan9-extensions support was too recent (gcc-4.6) to be considered. https://lore.kernel.org/lkml/20180419152817.GD25406@bombadil...

Now the reasoning isn't present in the patch but it probably is because they want step increments and -fms-extensions is a small-ish first step. Maybe -fplan9-extensions could make sense later, in a few years.

Precomputation 2 years ago

For example, my blog search engine, which indexes on the order of 500,000+ words across 1,000+ documents, can return results in < 10ms because the indices can be queried incredibly quickly.

This is odd. Let's do a back-of-the-envelope estimation. DDR4 bandwidth is at least 12GB/s. 500k words is around 3MB. So, reading this amount takes 0.25ms, ignoring CPU caches. It sounds reasonable to assume the matching algorithm can run in-between that speed and 40 times slower for the 10ms mark.

This is one example where precomputation is probably not needed: bruteforce if N is small enough.

I disagree.

Applications want to receive/provide a stream (X sample-rate, Y sample format, Z channels) and have it routed to the right destination, that probably is not configured with the same parameters. Having all applications responsible for handling this conversion is not doable. Having the kernel handle this conversion is not a good idea. The routing decision-making needs to be implemented somewhere as well. Let's not ignore the complexity involved in format negotiation as well.

The scenario of a DAW (pro-audio usage) is too specific to generalise from that. That is the only kind of software that really cares about codec configuration, latencies and picking its own routing (or rather to let the user pick routing from the DAW GUI).

I have trouble understanding how people work for such big companies. Of course if the scale is 1000 employees "the company" cannot care about you; it is an institution not a bunch of people anymore. There is no upper layer to blame, the structure and scale themselves are the culprit.

I decided against that and work in a small company. Work-life balance is nice, we are friends and we all care (at least some bit) about the company itself. That is, because "the company" is us.

I see two differences: (1) the software stack on the server side and (2) I guess there is JS to be sent to the client side for HTMX support(?). Both those things make a difference.

What about plain HTML & CSS for all the websites where this approach is sufficient? Then apply HTMX or any other approach for the few websites that are and need to be dynamic.

In my MIDI controller case, the "compute state and send update" code takes about 8µs, up to a spike of 15µs. The worst case of the code in article is a sort on each frame on a 100ish array, it sounds safe to ignore. Profile before optimizing.

Another way to describe what has been done: implement a pure function and avoid storing additional state. It sounds way less dumb that way. It is not really a pure function but the spirit is here.

I've done the same during a refactoring of a side-project recently. It handles the input/output to a MIDI controller with many buttons, knobs and matching LEDs. Instead of computing what LED should change at regular interval, I am switching to recomputing the whole state each time. No more complex logic, no more mutable data. Only a pure function that outputs the desired LED state based on software internal state. Then a diff is computed and only changes lead to MIDI messages. Code is less efficient (for 100-ish LEDs) but much more straight forward.

The Layoff 2 years ago

I agree the format is interesting. What are some other examples of short stories about technology, recent or less so?

I do not agree. Commits in my patch series have no link whatsoever with the chronology of my work. I wouldn't call it "Git history" as long as it is the branch I'm working on. It becomes history once it is merged inside a more persistent branch.

FieldParentPtr 3 years ago

This is usually called container_of in C projects. It is compile-time safe as well, though the error won't be pretty. Linux, Qemu, musl, U-Boot, iproute2 & uclibc-ng each have a copy from the few project I've looked at. Two interesting implementations:

- Linux, compile-time checks that ptr is the same type as the member: https://elixir.bootlin.com/linux/v6.6/source/include/linux/c...

- musl, minimal: https://elixir.bootlin.com/musl/v1.2.4/source/ldso/dynlink.c...

I've worked on a project that required a bigger swiotlb as well, I don't remember the exact details though. I guess it's not that uncommon, but indeed the default value looks good.

I see two use cases for a "big" swiotlb buffer: (1) many devices concurrently, as you said, or (2) ring buffers for devices that write continuously. Combine both and you require even more space; knowing the usecase and doing testing becomes required at this point.

Population.io 3 years ago

We've not seen yet any project at that scale, which approaches terraforming. What makes you think we are capable of such? And is there anything that indicates we can obtain the natural resources to achieve them?

This Wikipedia page mentions the following, with a link to the toxic plant that is probably described by the article author:

Sometimes S. nigrum is confused for the more toxic deadly nightshade (Atropa belladonna)

That sounds like the concept of Factorio: the abstraction level we play at rises with time. Most of the achievements are about skipping manual labor at various points in time.