Benki → All Posts

⇠ previous page next page ⇢

Takeaways:

  • Use collection types judiciously. They have overhead.
  • Look out for empty collections. They are pure overhead. Sometimes, null can be a good alternative.
  • Collection types have default sizes that are all over the place. Sometimes it can be worth specifying the capacity at instance creation time.
  • Objects come with overhead. Use primitives where you can.

I’m suddenly experiencing a craving for inline types and generics specialization

A Rust crate that helps you implement the output part of a vt100-compatible terminal emulator.

The specification of the .editorconfig file, which you can put into your source code repository to configure a wide range of text editors and IDEs with consistent style settings.

A probe.rs-based Cargo runner that lets you run embedded Rust programs just like native ones. Logs to stdout as normal and prints stack traces on error as normal.

A kit with all the basics you need to do embedded programming in Rust: a debugging bridge, a way to flash and run binaries, and text editor integration.

Strives to support many different embedded targets (currently RISC-V, STM32, and other ARM targets) and debug probes (currently CMSIS-DAP, ST-Link, and J-Link).

An efficient Rust logging library for embedded devices. Logs in binary, formats on the host.

A java.time extension library. Things like Julian and Coptic calendars, quarters, and time intervals.

Matthias #

If you use Quarkus with Scala and you get a java.lang.NoClassDefFoundError or java.lang.ClassNotFoundException when recompiling in development mode, try adding an explicit scala-compiler dependency to your POM:

  <dependencies>
    ...
    <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-compiler</artifactId>
      <version>${scala.version}</version>
    </dependency>
    ...
  </dependencies>

This may help because Quarkus has an implicit dependency on a specific version of the compiler, which may not match the one that you are using in your project.

It worked for me, at least.

(I have since removed Scala from the MulkCMS 2 code base again as it only made the build time much longer without bringing in enough to make it worth it. Scala 3 might change that — we shall see.)

Computers today react less promptly to input than did computers from the 70s and 80s. After a period of really bad latency, we are getting close again, though.

The Asian giant hornet (‘murder hornet’), dangerous to both people and other insects, has arrived in the United States.

The hornet is known to kill whole beehives without resistance, chopping off bees’ heads and taking their thoraxes to feed their own young. While Japanese bees appear to have evolved a defense against them where they swarm each individual hornet and cook it alive by flexing their muscles to generate heat, American and European bees are defenseless, putting them in danger of extinction.

A programming language for the Cloud, they say. I have no idea what it means.

A small, but effective JIT compiler in C. Very new and not production-ready yet.

Organizations with loose or nonexistent formal structures tend to favor the strong and oppress the weak, who generally benefit from formal structure and bureaucracy. Informal structures and cliques are less transparent and harder to control than formal hierarchies.

A very small compiler back end in portable C. Only targets unixoid AMD64 ABIs at this time.

Verschwörungstheorien leben davon, daß die Menschen ein bißchen Arbeit in ihre Recherche stecken müssen (kognitive Dissonanz bzw. genauer der Aufnahmeritualeffekt). Das war schon bei den Protokollen der Weisen von Zion so und ist auch heute in der Google- und YouTube-Welt so.

Type systems are undecidable more often than not — even in relatively simple cases like Java. A collection of papers.

LaTeX-Erweiterung und -Frontend für das Setzen von belletristischen Büchern.

⇠ previous page next page ⇢