Skip Navigation
Cyber Security: A Pre-War Reality Check - Bert Hubert's writings
berthub.eu Cyber Security: A Pre-War Reality Check - Bert Hubert's writings

This article is part of a series on (European) innovation and capabilities. This is a lightly edited transcript of my presentation today at the ACCSS/NCSC/Surf seminar ‘Cyber Security and Society’. I want to thank the organizers for inviting me to their conference & giving me a great opportunity to ...

Cyber Security: A Pre-War Reality Check - Bert Hubert's writings
0
In defence of swap: common misconceptions
chrisdown.name In defence of swap: common misconceptions

tl;dr: Having swap is a reasonably important part of a well functioning system. Without it, sane memory management becomes harder to achieve.

In defence of swap: common misconceptions

To be clear, I don't blame the poster of this comment at all for the content of their post – this is accepted as "common knowledge" by a lot of Linux sysadmins and is probably one of the most likely things that you will hear from one if you ask them to talk about swap. It is unfortunately also, however, a misunderstanding of the purpose and use of swap, especially on modern systems.

21
Linux 6.11 To Offer More Fine-Tuned Control Over Swappiness
  • I'm not sure if you understand what swap actually is, because even machines with 1Tb of RAM have swap partitions, just in case read this post from a developer working on swap module in Linux https://chrisdown.name/2018/01/02/in-defence-of-swap.html

  • New UUID Formats
    www.ietf.org New UUID Formats

    This document presents new time-based UUID formats which are suited for use as a database key. A common case for modern applications is to create a unique identifier for use as a primary key in a database table. This identifier usually implements an embedded timestamp th...

    This document presents new time-based UUID formats which are suited for use as a database key.

    8
    Universally Unique IDentifiers (UUID)
    www.ietf.org Universally Unique IDentifiers (UUID)

    This specification defines the UUIDs (Universally Unique IDentifiers) and the UUID Uniform Resource Name (URN) namespace. UUIDs are also known as GUIDs (Globally Unique IDentifiers). A UUID is 128 bits long and is intended to guarantee uniqueness across space and time. UUIDs were originally used in...

    This specification defines the UUIDs (Universally Unique IDentifiers) and the UUID Uniform Resource Name (URN) namespace. UUIDs are also known as GUIDs (Globally Unique IDentifiers). A UUID is 128 bits long and is intended to guarantee uniqueness across space and time. UUIDs were originally used in the Apollo Network Computing System and later in the Open Software Foundation's (OSF) Distributed Computing Environment (DCE), and then in Microsoft Windows platforms.

    1
    Exploring How Cache Memory Really Works
    pikuma.com Exploring How Cache Memory Really Works

    Even though we often hear terms like L1, L2, cache block size, etc., most programmers have a limited understanding of what cache really is. This is a beginner-friendly primer on how cache works.

    Exploring How Cache Memory Really Works
    0
    Exploring How Cache Memory Really Works
    pikuma.com Exploring How Cache Memory Really Works

    Even though we often hear terms like L1, L2, cache block size, etc., most programmers have a limited understanding of what cache really is. This is a beginner-friendly primer on how cache works.

    Exploring How Cache Memory Really Works
    2
    Is there a way to keep Linux responsive when at ~100% CPU usage?
  • The Linux kernel uses the CPU default scheduler, CFS,

    Linux 6.6 (which recently landed on Debian) changed the scheduled to EEVDF, which is pretty widely criticized for poor tuning. 100% busy which means the scheduler is doing good job. If the CPU was idle and compilation was slow, than we would look into task scheduling and scheduling of blocking operations.

  • Is there a way to keep Linux responsive when at ~100% CPU usage?
  • EDIT: Tried nice -n +19, still lags my other programs.

    yea, this is wrong way of doing things. You should have better results with CPU-pinning. Increasing priority for YOUR threads that interact all the time with disk io, memory caches and display IO is the wrong end of the stick. You still need to display compilation progress, warnings, access IO.

    There's no way of knowing why your system is so slow without profiling it first. Taking any advice from here or elsewhere without telling us first what your machine is doing is missing the point. You need to find out what the problem is and report it at the source.

  • Is there a way to keep Linux responsive when at ~100% CPU usage?
  • The CPU is already 100% busy, so changing number of compilation jobs won't help, CPU can't go faster than 100%.

  • Measure Your Maven Build · Maarten on IT
    maarten.mulders.it Measure Your Maven Build · Maarten on IT

    This blog introduces three mechanisms to investigate the execution time of a Maven build. Having a reliable way to measure build execution time can help identify bottlenecks. This in turn helps making effective improvements, thereby contributing to higher developer productivity. Find out how to effe...

    Measure Your Maven Build · Maarten on IT
    0
    Linux user survey!
  • Yeah this survey is super inappropriate and offensive. Please do not ask such personal questions.

    Did you notice that more inappropriate questions appear and disappear based on your previous answers?

  • Welcome to the Leyden Prototype Repo!
    github.com leyden/README.md at premain · openjdk/leyden

    https://openjdk.org/projects/leyden. Contribute to openjdk/leyden development by creating an account on GitHub.

    leyden/README.md at premain · openjdk/leyden
    0
    Cyber Security: A Pre-War Reality Check - Bert Hubert's writings
    berthub.eu Cyber Security: A Pre-War Reality Check - Bert Hubert's writings

    This is a lightly edited transcript of my presentation today at the ACCSS/NCSC/Surf seminar ‘Cyber Security and Society’. I want to thank the organizers for inviting me to their conference & giving me a great opportunity to talk about something I worry about a lot. Here are the original slides with ...

    Cyber Security: A Pre-War Reality Check - Bert Hubert's writings
    0
    Using perf to profile Java applications
    bell-sw.com Using perf to profile Java applications | BellSoft Java

    Find out how to use perf, a built-in Linux profiler, to analyze the performance of Java applications.

    0
    JIT vs AOT compilation
    bell-sw.com JIT vs AOT compilation

    Learn about two approaches to compiling Java applications, their benefits for performance and drawbacks.

    1
    What would happen to low latency trading if exchanges moved to the cloud?

    ULL trading firms go to a lot of trouble to get their servers and switches within the same buildings as the exchanges they trade with to reduce latency. Some firms don’t even use layer 1 switches to be competitive.

    0
    Microsoft opens a "high priority" bug ticket in ffmpeg, attempting to leech the free labour of the maintainers
  • Old issue, so why post it now make it sound like MS demands something?

    Opened 11 months ago Last modified 11 months ago

    It's a regression, so ffmpeg should fix a regression.

  • Is there a programming language specifically designed for interacting with SQL databases?
  • It really depends on where you set the limit on what ORM is, JOOQ is kind of a thing you're looking for.

  • What's your preferred code generation tool in 2024?
  • Nothing changed, openapi-genereator

  • A Peek at Kubernetes v1.30
  • I completely missed that user namespaces were added in 1.25. It will make homelabs much easier and safer with little effort.

    Support user namespaces in pods (KEP-127)
    User namespaces is a Linux-only feature that better isolates pods to prevent or mitigate several CVEs rated high/critical, including CVE-2024-21626, published in January 2024. In Kubernetes 1.30, support for user namespaces is migrating to beta and now supports pods with and without volumes, custom UID/GID ranges, and more!

    https://kubernetes.io/docs/concepts/workloads/pods/user-namespaces/

  • Deleted
    *Permanently Deleted*
  • Just not in Java…

    I think you're biased against Java. Amazon was started in C/C++ and Java J2EE during times when to configure a webserver required writing like 300 lines of XML just to handle cookies, browser cache and a login page. Until recently BMW had their own JRE implementation. It's not a secret that simcards, including these in Tesla cars run JavaCard too, even government issues sim cards in EU have to run Java Card, not C++. Everything was always fine with Java until ECMA Script appeared and made people iterate on software versions faster. New programming languages and team organisation methodologies left some programming languages in the dark, but this included C# too. All are quickly catching up. If Java was so bad, it wouldn't be here with us today, like Perl.

  • Deleted
    *Permanently Deleted*
  • There are two schools:

    1. the best stack is the one you know best
    2. the best stack is the one designed for the job

    Remember that Google was written in Python and Java. Facebook in PHP. iOS in Objective-C. GitHub in Ruby on Rails.

  • What are the craziest misconceptions you’ve heard about programming from people not familiar with it?
  • After doing it for 15 years, I must be good at it and everything should be easy.

    hidethepainharold.jpg

  • Willow Protocol
  • So while I'm myself struggling to fully understand what this is, it conceptually like it's a blockchain on syncthing, where even if you subscribe to a read only share, you can locally delete what you don't want to keep. So technically you could make bitorrent to behave like syncthing with search function for contacts you already know.

  • 2.5GbE router for home use
  • Omnia Turris

  • Deleted
    Day 5: The importance of detail in boundary layers
  • I did the same initially and run out of memory at 60Gb...

  • [2023 Day 3] Motivation time!
  • Permanently Deleted

  • Big O notation is about what matters when the numbers get big.
  • Big O notation is useless for smaller sets of data. Sometimes it’s worse than useless, it’s misguiding.

    I don't agree that it's useless or misguiding. The smaller dataset, the less important it is, but it makes massive difference how the rest of the algorithm will be working and changing context around it.

    Let's say that you need to sort 64 ints, in a code that starts our operating system. You need to sort it once per boot, and you boot less frequently than once per day, in fact you know instances of the OS that have 14 years of uptime, so it doesn't matter at all right? Welp. Now your OS is used by a big cloud provider and they use that code to boot the kernel 13 billions times per day. The context changed, time passed by, your silly bubble sort that doesn't matter on small numbers is still there.

  • GitHub: Can no longer search code without being logged in
  • Heres the blog post about the change dated in June this year

    Half year too late for that outrage anyway :)

  • agilob agilob @programming.dev

    https://b.agilob.net/

    Posts 142
    Comments 81
    Moderates