HNHacker News
TopNewBestAskShowJobs

asabil

576 karma · joined June 28, 2011

submissionscomments
asabil··on Lost city discovered beneath Egypt's desert with ancient church
Incorrect translation, Allahu Akbar means “the god is the greatest”

Allah is not a name that came with Islam but existed before, it just means deity. the Al prefix is the definite singular form. It just says one thing: god is a singleton and nothing is above it.

asabil··on Arabic document from 17th-cent. rubbish heap confirms semi-legendary Nubian king
Sorry to disagree, but no, they are not dozens of different languages. The challenge with Arabic is that it has a rather large vocabulary, and different regions use slightly different vocabularies.

That being said, Darija, or rather North African Arabic is a messy mix of Arabic and Tamazight. Which can be difficult for Middle East Arabic speakers to understand.

For reference, I speak Darija and understand both classical and modern Arabic. It would take me a few days to adapt my speech to other regional variations of arabic.

asabil··on Arabic document from 17th-cent. rubbish heap confirms semi-legendary Nubian king
Yes Arabic from 1000 years ago is very much understandable today[1].

[1] https://fluentarabic.net/arabic-unchanged-1000-years/

asabil··on Apple announces Foundation Models and Containerization frameworks, etc
Not Linux syscalls, they are a stable interface as far as the Linux kernel is concerned.
asabil··on Vrs: Personal Software Runtime inspired by Emacs, Plan 9, Erlang, Hypermedia
`gen_server` is an abstraction over the a client sending a `request` that a server services to produce a `response` to be sent to the client.

The `gen_server` implementation takes care of things like timeouts, servers terminating before a response is produced as well as maintaining the server state.

You can read more here at [1], [2] and [3].

[1]: https://learnyousomeerlang.com/clients-and-servers#callback-...

[2]: https://www.erlang.org/doc/system/gen_server_concepts

[3]: https://www.erlang.org/doc/apps/stdlib/gen_server.html

asabil··on The short history of global living conditions and why it matters that we know it
Why do things have to be comparable? Why did you cherry pick infant mortality? Yes reducing infants mortality is one of the things where we improved.
asabil··on The short history of global living conditions and why it matters that we know it
The most dangerous thing about Capitalism is imho its universal equivalence, its ability to make us covert everything into a monetary value.

In other words, it’s just like a programming language where everything can be implicitly converted to a given top type.

In the progress we certainly made over the last century or so, we certainly also lost other things whose value is not representable in our modern value system.

asabil··on Don't rely on IF NOT EXISTS for concurrent index creation in PostgreSQL
REINDEX INDEX CONCURRENTLY[1]

[1]: https://www.postgresql.org/docs/current/sql-reindex.html

asabil··on How to chop off bytes of an UTF-8 string to fit into a small slot and look nice
Yes, but you don’t end up with different glyphs. Arabic script has letter shaping, that means a letter can have up to 4 shapes based on its position within the word. If you chop off the last letter, the previous one which used to have a “middle” position shape suddenly changes into “terminal” position shape.
asabil··on Ruby's Timeout is dangerous and Thread.raise is terrifying (2015)
The underlying problem is lack of isolation, and this is an area where the Erlang process model shines: processes are fully isolated and you can send a signal externally to terminate any process you want.
asabil··on Erlang/OTP 27 Highlights
No global GC. Each erlang process does its own GC, and the GC only happens when the process runs out of space (ie. the heap and stack meet).

You can for example configure a process to have enough initial memory so as not to ever run into GC, this is especially useful if you have a process that does a specific task before terminating. Once terminated the entire process memory is reclaimed.

asabil··on Erlang/OTP 27 Highlights
GC determinism is one of the things you get. Another one is non cooperative asynchronous termination.
asabil··on Vala Programming Language
Vala is very much used among other things by Frida.

I have been involved with Vala in it’s early day and some hardcore GObject/C users never quite liked the C code that Vala generated although it was perfectly valid and exposed a very clean C header to interface with it.

I think that Vala is a really great tool for building applications that make use of Glib/GObject. For example Gtk applications, but also GStreamer and DBus applications.

asabil··on Asynchronous clean-up
> I don’t have an example of fully non-cooperative cancellation available off the top of my head.

That would be Erlang.

asabil··on UUID v7
The UUID spec update has not been finalized yet.

It would be quite unfortunate to end up with a UUID v7 in PostgreSQL that’s not quite the standardized one because the patch got merged too quickly.

EDIT: here is the IETF working group page https://datatracker.ietf.org/wg/uuidrev/about/

Their milestone seems to submit the final proposal by March.

asabil··on Norway wants Facebook behavioral advertising banned across Europe
You might want to check out the Swedish Doro phones: https://www.doro.com/en-us
asabil··on Quadlets might make me finally stop using docker-compose
It's quite unfortunate that this article mixes up what's necessary for podman quadlets with coreOS concepts.

With quadlets, the only thing required is to drop a `.container` file in the right place and you end up with a container properly supervised by `systemd`. And this of course also supports per-user rootless containers as described in [1].

[1]: https://www.redhat.com/sysadmin/quadlet-podman

asabil··on RFC 3339 vs. ISO 8601
ISO8601 is a standard managed by ISO, you can buy a digital or printed copy of the standard from here: https://www.iso.org/standard/70907.html

RFC 3339 is managed by the IETF, and their documents are accessible free of charge.

asabil··on Elixir saves Pinterest $2M a year in server costs
Faster doesn’t mean more responsive, in fact very often an increase in throughput leads to an increase in latency.
asabil··on Vale's first prototype for immutable region borrowing
I think you are confusing Vale with Vala[1] :)

[1]: https://vala.dev/

asabil··on Why does MPEG Transport Stream still exist?
Each RTP packet has a 32bit timestamp, and a 32 bit SSRC. Each "sender" in an RTP session must use the same SSRC, this is how synchronisation between audio and video streams from the same sender (lip-sync) is achieved.

The timestamps have a resolution defined by the clock rate communicated externally through a signalling channel.

asabil··on How much memory do you need to run 1M concurrent tasks?
The maximum number of simultaneously alive Erlang processes is by default 262,144. This needs to be raised to avoid the `system_limit` error.
asabil··on Make systemd better for Podman with Quadlet
This is really neat. I have been using `podman generate systemd` for a large number of deployments. This just makes it so much simpler.

For anyone wondering, the main difference between this and docker/docker-compose is that podman can run in a daemonless mode such as containers are running directly under systemd which makes them integrate into the existing systemd infrastructure and appear as any other normal service.

asabil··on Owl: A toolkit for writing command-line user interfaces in Elixir
Shouldn’t be necessary if you configure your release to start in interactive move instead of embedded mode as modules would then get loaded lazily
asabil··on Property-Based Testing in Rust with Arbitrary
I am far from being an expert in the field, but I have seen property based tests used to verify complex stateful systems.

I remember more circa 2010 attending a presentation by the guys from QuviQ who mentioned that their solution was used by the automotive industry in Sweden to verify embedded systems.

asabil··on Why I program in Erlang (2012)
I personally like "The Mess We're In" https://youtu.be/lKXe3HUG2l4
asabil··on Why I program in Erlang (2012)
An `iolist()` or `iodata()` structure is mainly designed for I/O.

The idea is rather simple but powerful.

Let's say you want to send `"Hello " + name`, where `name` is a string, over the network. Traditionally, in C, you would allocate a buffer that is large enough and copy the "Hello " literal into it and then copy the `name` string before calling `write(fd, buffer, length)`.

If you wanted to avoid allocating the buffer and doing the copy, you would make use of `writev(fd, iovec, count)`, and this is exactly what the `iolist()` structure allows for. The erlang runtime system (erts) makes use of efficient `writev` calls instead of having to allocate temporary buffers just to send data over the network (something Erlang is notoriously good at) when you make use of `iolists`.

asabil··on Libcamera v0.0.1
Also known as QCIF format
asabil··on The Moorish invention that tamed Spain's mountains
I have to admit that I included Portugal without giving it much thought.

I was honestly mostly thinking about Spain and added Portugal assuming they would be the same from the perspective of identity. I stand corrected.

asabil··on The Moorish invention that tamed Spain's mountains
I find it hard to believe that there would be no cultural heritage after ~700 years.

What I think you want to say is that the "identity" of modern Spain and Portugal has been shaped and defined by its opposition to the moor/muslim/north-african identity.

Page 1 of 3Next →