Benki β†’ Bookmarks

β‡  previous page next page β‡’

An alternative framework to build Haskell projects with Nix.

  • Can convert Cabal projects into Nix expressions automatically.
  • Can cross-compile Haskell programs for other architectures.
  • Can build statically linked binaries with musl libc.

Some actual (rather than imagined) challenges that Rust developers currently face, written up by a fan of the language.

Den Eindruck habe ich leider auch. Allerdings trifft die Aussage nicht nur auf Die LINKE zu, sondern auf das ganze linke Milieu, wie es in den politischen Institutionen bis hin zu den UniversitΓ€ten vertreten ist.

Eine echte Vertretung des Proletariats muß man heutzutage über das gesamte politische Spektrum mit der Lupe suchen.

A perf_events-based memory profiler for GNU/Linux. Works on AMD64 and ARM (among others) and is claimed to be very fast (hopefully much less overhead than Valgrind).

Related (another TEDx talk by the same person): Why renewables can’t save the planet

Main points:

  • Nature sets a limit on how much you can do with wind turbines and solar panels (not to mention hydroelectric plants), as you do not have infinite land to build on.
  • The risks stemming from the possibility of nuclear power disasters are generally overstated. Far fewer people (and I mean several orders of magnitude fewer) have died from nuclear catastrophes than from air pollution; and even wind-energy-related accidents have killed more people per unit of energy up to this point.
  • While nuclear plants aren’t completely safe, renewable energy sources aren’t necessarily so either – starting from the hazards posed by wind turbines and continuing to the batteries needed to store highly fluctuating renewable energy.
  • The more land you need, the more of a problem it is for the environment. Wind turbines in particular are killing hundreds of thousands of birds and millions of bats every year. Solar plants need so much space that wildlife has to be cleared out, killing desert tortoises and other native creatures.
  • Similarly, while the waste from nuclear plants is really bad, the waste from used solar panels is pretty bad, too (lead and other heavy metals come to mind) and takes up more volume to boot.

Apparently, linear types are landing in GHC 9. I’m sure they’re useful for resource management. I wonder what else they might do that makes a difference in practice.

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

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.

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.

β‡  previous page next page β‡’