Skip Navigation
InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)LY
lysdexic @programming.dev
Posts 337
Comments 520
Question: Does the build number always increment no matter the version or does the build number resets to 1 for every new version?
  • There are no hard set rules, and it depends on what uses you have for the build number.

    Making it a monotonically increasing number helps with versioning because it's trivial to figure out which version is newer. Nevertheless, you can also rely on semantic versioning for that. It's not like all projects are like Windows 10 and half a dozen major versions are pinned at 10.0.

    You sound like you're focusing on the wrong problem. You first need to figure it what is your versioning strategy,and from there you need to figure out if a build number plays any role on it.

  • www.sandordargo.com Member ordering and binary sizes

    While I have been preparing my presentation for C++ On Sea, I realized that something is missing from How to keep your binaries small. The importance of member ordering! I remember learning at a performance tuning workshop that the order of member variables can significantly impact the memory layout...

    0
    Data Structures and Algorithms @programming.dev lysdexic @programming.dev
    d34dl0ck.me What is a CIDR trie and how can it help you?

    <p>In this post, we will explore the CIDR trie data structure and how it can help you manage IP addresses and subnets in your Rust project.</p>

    0

    Learning C++ Memory Model from a Distributed System's Perspective (2021)

    blog.the-pans.com Learning C++ Memory Model from a Distributed System's Perspective

    If C++ standard were reworded using distributed system terms, it might be more readable. Your single machine is actually a distributed system in disguise Multiple cachelines inside your multi-core machine make a distributed system. Cacheline coherence is 100% a distributed system problem. C++ tries...

    Learning C++ Memory Model from a Distributed System's Perspective
    0
    Data Structures and Algorithms @programming.dev lysdexic @programming.dev
    0

    Distributed Systems 4th edition - Andrew Tanenbaum

    www.distributed-systems.net Distributed Systems 4th edition - DISTRIBUTED-SYSTEMS.NET

    You can get a digital (personalized) copy of this book for free. A complete set of slides in PDF and PPTX is also available. This page refers to the 4th Continue Reading →

    Distributed Systems 4th edition - DISTRIBUTED-SYSTEMS.NET
    1
    Data Structures and Algorithms @programming.dev lysdexic @programming.dev
    0
    Malicious VSCode extensions with millions of installs discovered
  • Ah, the Microsoft tradition of always having the wrong priorities.

    I wouldn't be too hard on Microsoft. The requirement to curate public package repositories only emerged somewhat recently, as demonstrated by the likes of npm, and putting in place a process to audit and pull out offending packages might not be straight-forward.

    I think the main take on this is to learn the lesson that it is not safe to install random software you come across online. Is this lesson new, though?

  • learn.microsoft.com How to execute cleanup code using finally - C#

    Learn how to execute cleanup code using a 'finally' statement. Finally statements ensure that any necessary cleanup of objects occurs immediately.

    How to execute cleanup code using finally - C#
    0
    euroquis.nl Needlessly Public

    When working on a legacy codebase that has leading-edge C++ constructs, but also deeply legacy design decisions, sometimes there’s nifty ways to use the one against the other.

    0
    Study finds 268% higher failure rates for Agile software projects
  • Agile is not a system. It’s a set of principles, set by the Agile manifesto.

    The Agile manifesto boils down to a set of priorities that aren’t even set as absolutes.

    I strongly recommend you read upon Agile before blaming things you don’t like on things you don’t understand .

  • learn.microsoft.com Web API design best practices - Azure Architecture Center

    Learn best practices for designing web APIs that support platform independence and service evolution.

    Web API design best practices - Azure Architecture Center
    0
    Speeding Up C++ Build Times | Figma Blog
  • ccache folder size started becoming huge. And it just didn’t speed up the project builds, I don’t remember the details of why.

    That's highly unusual, and suggests you misconfigured your project to actually not cache your builds, and instead it just gathered precompiled binaries that it could not reuse due to being misconfigured.

    When I tried it I was working on a 100+ devs C++ project, 3/4M LOC, about as big as they come.

    That's not necessarily a problem. I worked on C++ projects which were the similar size and ccache just worked. It has more to do with how you're project is set, and misconfigurations.

    Compilation of everything from scratch was an hour at the end.

    That fits my usecase as well. End-to-end builds took slightly longer than 1h, but after onboarding ccache the same end-to-end builds would take less than 2 minutes. Incremental builds were virtually instant.

    Switching to lld was a huge win, as well as going from 12 to compilation 24 threads.

    That's perfectly fine. Ccache acts before linking, and naturally being able to run more parallel tasks can indeed help, regardless of ccache being in place.

    Surprisingly, ccache works even better in this scenario. With ccache, the bottleneck of any build task switches from the CPU/Memory to IO. This had the nice trait that it was now possible to overcommit the number of jobs as the processor was no longer being maxed out. In my case it was possible to run around 40% more build jobs than physical threads to get a CPU utilization rate above 80%.

    I was a linux dev there, the pch’s worked, (...)

    I dare say ccache was not caching what it could due to precompiled headers. If you really want those, you need to configure ccache to tolerate them. Nevertheless it's a tad pointless to have pch in a project for performance reasons when you can have a proper compiler cache.

  • Study finds 268% higher failure rates for Agile software projects
  • Also interesting, successful software projects don't just finish and die. They keep on going and adapt changes and implement new features. If we have a successful project that goes on for a decade but we have a clusterfuck of a project which blows up each year for the same time period, by this metric you'll have only a 10% success rate.

  • Study finds 268% higher failure rates for Agile software projects
  • If you write it down it is documentation.

    I think you're not getting the point.

    It matters nothing if you write down something. For a project, only the requirements specification matters. The system requirements specification document lists exactly what you need to deliver and under which conditions. It matters nothing if you write a README.md or post something in a random wiki.

    Requirements are not the same thing as specifications either, but both are documentation!

    https://en.wikipedia.org/wiki/System_requirements_specification

  • Study finds 268% higher failure rates for Agile software projects
  • that managers want to stay in control of everything, and they decide whether they do it or not.

    That's fine, it's a call from the manager.

    That doesn't make it Agile's fault though. In fact, one of the key principles of Agile is providing developers with the support they need. Blaming Agile for the manager single-handledly pushing for something in spite of any feedback does not have any basis.

  • Study finds 268% higher failure rates for Agile software projects
  • So you started with the need to authenticate, which should be documented in the requirements. You know, the things that are required to happen.

    I think you're confusing documentation with specification.

    Requirements are specified. They are the goals and the conditions in which they are met. Documentation just means paper trails on how things were designed and are expected to work.

    Requirements drive the project. Documentation always lag behind the project.

  • Study finds 268% higher failure rates for Agile software projects
  • the whole point of agile is to be short term

    Not really. The whole point of Agile is to iterate. This means short development cycles which include review and design rounds to adapt to changes that can and will surface throughout the project. The whole point of Agile is to eliminate problems caused by business, project, and technical goals not changing because planning is rigid and can't accommodate any changes because the process does not have room for those.

    This is why this whole "things need to be planned" crowd are simply talking out of ignorance. Agile requires global planning, but on top of this supports design reviews along the way to be able to face changing needs. This requires planning in short-medium-long terms.

    Don't blame Agile for your inability to plan. No one forces you not to plan ahead.

  • Study finds 268% higher failure rates for Agile software projects
  • The primary problem is using agile all the time instead of when it is actually intended to be used: short term work that needs to be done quickly by a small team that are all on the same page already.

    I think you got it entirely backwards.

    The whole point of Agile is being able to avoid the "big design up front" approach that kills so many projects, and instead go through multiple design and implementation rounds to adapt your work to the end goal based on what lessons you're picking up along the way.

    The whole point is improving the ability to deliver within long term projects. Hence the need to iterate and to adapt. None of these issues pose a challenge in short term work.

  • Study finds 268% higher failure rates for Agile software projects
  • Note that this is failure to deliver on time, not failure to deliver full stop.

    It's also important to note that the Hallmark of non-Agile teams is de-scoping and under-delivering. It's easy to deliver something on time if you switch your delivery goals and remove/half-bake features to technically meet requirements while not meeting requirements.

  • Study finds 268% higher failure rates for Agile software projects
  • On all the agile projects I’ve worked on, the teams have been very reluctant to make a specification in place before starting development.

    I don't think this is an Agile thing, at all. I mean, look at what Agile's main trait: multiple iterations with acceptance testing and product&design reviews. At each iteration there is planning. At each planning session you review/create tickets tracking goals and tasks. This makes it abundantly clear that Agile is based in your ability to plan for the long term but break/adapt progress into multiple short-term plans.

  • Study finds 268% higher failure rates for Agile software projects
  • I've been working with Agile for years and I worked with people who burned out, but there was not even a single case where Agile contributed to burning out, directly or indirectly. In fact, Agile contributed to unload pressure off developers and prevent people from overworking and burning out.

    The main factors in burning out we're always time ranges from the enforcement of unrealistic schedules and poor managerial/team culture. It's not Agile's fault that your manager wants a feature out in half the time while looming dismissals over your head.

    It's not Agile's fault that stack ranking developers results in hostile team environments where team members don't help out people and even go as far as putting roadblocks elsewhere so that they aren't the ones in the critical path. Agile explicitly provides the tools to make each one of these burnout-inducing scenarios as non-issues.

  • Data Structures and Algorithms @programming.dev lysdexic @programming.dev

    Algorithms interviews: theory vs. practice (2020)

    0
    Data Structures and Algorithms @programming.dev lysdexic @programming.dev
    jacksonallan.github.io An Extensive Benchmark of C and C++ Hash Tables

    A comparative, extendible benchmarking suite for C and C++ hash-table libraries.

    0
    www.haproxy.com Announcing HAProxy 3.0

    HAProxy 3.0 maintains its edge over alternatives with best-in-class load balancing. Ready to upgrade? Here’s how to get started.

    Announcing HAProxy 3.0
    0
    What were your misconceptions about Git when you first started?
  • What is the advantage of rebasing?

    You get a cleaner history that removes noise from the run-of-the-mill commit auditing process. When you audit the history of a repo and you look into a feature branch, you do not care if in the middle of the work a developer merged with x or y branch. What you care about is what changes were made into mainline.

  • Data Structures and Algorithms @programming.dev lysdexic @programming.dev

    Technical Standard - Distributed Transaction Processing: The XA Specification (PDF)

    0
    What were your misconceptions about Git when you first started?
  • Because this is a casual discussion and that’d be more effort than I’m willing to put in.

    I didn't asked you to write a research paper. You accused Git of suffering from usability issues and I asked you to provide concrete examples.

    And apparently that's an impossible task for you.

    If you cannot come up with a single example and instead write a wall of text on you cannot put the effort to even provide a single opinion... What does this say about your claims?

  • What were your misconceptions about Git when you first started?
  • It’s not and no one cares about numbers anymore.

    The only people who ever cared about svn's numbering scheme were those who abused it as a proxy to release/build versions, which was blaming the tools for the problems they created for themselves.

  • What were your misconceptions about Git when you first started?
  • Nonetheless:

    You didn't provided any concrete example. Each and every single one of your examples is just you repeating unsubstantiated hearsay. Claiming something is janky and proceed t hand-wave over the claim by saying you think others say it too is something that eliminates any sort of credibility.

    This is also particularly baffling regarding git's CLI as Git single-handledly popularized the concept of "git-like commands".

    Again, I feel that the bulk of this criticism directed at Git is just people who don't know better just repeating nonsense they heard somewhere.