Language Selection

English French German Italian Portuguese Spanish

Programming Leftovers

Filed under
Development
  • C++ versus Python solving one interesting problem from the field of number theory

    The version of C++ code here differs from the first one been posted at Lxer.com . Vector "v1" been pushed back by 2D vector "vec" is supposed to be re-declared before every next push back by "vec" versus option of been cleaned up in previous version of compilation. I just believe that attempt to follow previous schema doesn't work properly as did it before due to pushing back the same variable "j" by vector "v1" in the loop preparing "v1" to be pushed by "vec".

  • Why are APIs so important? [Ed: Lawyers see APIs (application programming interfaces) as a lawsuit opportunity]

    Lawyers are generally familiar with APIs (application programming interfaces). They’re sets of standardised requirements enabling data to be communicated efficiently between different pieces of software. At one end of the spectrum, an API is just a simple document that says if you follow these rules when you’re programming, your two pieces of software will be able to communicate. At the other end, they can be complex software development kits, software based routines, protocols and tools. There’s a wide range of things to consider and that’s an important concept to grasp.

    Historically, the developer used an API to ensure that an application written for one computer would run on another using the same operating system. It’s really an efficiency tool to enable one bit of work to be reused many times. The application calls on the OS through the API to use the OS’s functions through data transmission, exchange and access. Contrast APIs with drivers, which enable communication between the OS and the hardware it sits on; and compilers, which translate programs from human readable (source) code to machine readable or executable (object) code.

  • What's the Biggest Software Package by Lines of Code?

    For the average user of any piece of software (or hardware for that matter), the code going on behind the scenes probably rarely enters their thoughts. Even if you have just a little bit of coding experience in coding, you likely appreciate the work that goes into making even the simplest task possible.

    When it comes to really complex pieces of software like operating systems, the amount of coding involved can seem overwhelming. In the world of coding, the size of some of these programs is downright mind-boggling.

  • What does the Open-Closed Principle mean for refactoring?

    Both of these deal with volatility in software. When, as is always the case, you need to make some change to a software module, the ripple effects can be disastrous. The root cause of disastrous ripple effects is tight coupling, so the Open-Closed Principle and Protected Variation Pattern teach us how to properly decouple various modules, components, functions, and so forth.

    Does the Open-Closed Principle preclude refactoring?

    If a module (i.e., a named block of code) must remain closed to any modifications, does that mean you're not allowed to touch it once it gets deployed? And if yes, wouldn't that eliminate any possibility of refactoring?

    Without the ability to refactor the code, you are forced to adopt the Finality Principle. This holds that rework is not allowed (why would stakeholders agree to pay you to work again on something they already paid for?) and you must carefully craft your code, because you will get only one chance to do it right. This is in total contradiction to the discipline of refactoring.

    If you are allowed to extend the deployed code but not change it, are you doomed to swim forever in the waterfall rivers? Being given only one shot at doing anything is a recipe for disaster.

More in Tux Machines

digiKam 7.7.0 is released

After three months of active maintenance and another bug triage, the digiKam team is proud to present version 7.7.0 of its open source digital photo manager. See below the list of most important features coming with this release. Read more

Dilution and Misuse of the "Linux" Brand

Samsung, Red Hat to Work on Linux Drivers for Future Tech

The metaverse is expected to uproot system design as we know it, and Samsung is one of many hardware vendors re-imagining data center infrastructure in preparation for a parallel 3D world. Samsung is working on new memory technologies that provide faster bandwidth inside hardware for data to travel between CPUs, storage and other computing resources. The company also announced it was partnering with Red Hat to ensure these technologies have Linux compatibility. Read more

today's howtos

  • How to install go1.19beta on Ubuntu 22.04 – NextGenTips

    In this tutorial, we are going to explore how to install go on Ubuntu 22.04 Golang is an open-source programming language that is easy to learn and use. It is built-in concurrency and has a robust standard library. It is reliable, builds fast, and efficient software that scales fast. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel-type systems enable flexible and modular program constructions. Go compiles quickly to machine code and has the convenience of garbage collection and the power of run-time reflection. In this guide, we are going to learn how to install golang 1.19beta on Ubuntu 22.04. Go 1.19beta1 is not yet released. There is so much work in progress with all the documentation.

  • molecule test: failed to connect to bus in systemd container - openQA bites

    Ansible Molecule is a project to help you test your ansible roles. I’m using molecule for automatically testing the ansible roles of geekoops.

  • How To Install MongoDB on AlmaLinux 9 - idroot

    In this tutorial, we will show you how to install MongoDB on AlmaLinux 9. For those of you who didn’t know, MongoDB is a high-performance, highly scalable document-oriented NoSQL database. Unlike in SQL databases where data is stored in rows and columns inside tables, in MongoDB, data is structured in JSON-like format inside records which are referred to as documents. The open-source attribute of MongoDB as a database software makes it an ideal candidate for almost any database-related project. This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you the step-by-step installation of the MongoDB NoSQL database on AlmaLinux 9. You can follow the same instructions for CentOS and Rocky Linux.

  • An introduction (and how-to) to Plugin Loader for the Steam Deck. - Invidious
  • Self-host a Ghost Blog With Traefik

    Ghost is a very popular open-source content management system. Started as an alternative to WordPress and it went on to become an alternative to Substack by focusing on membership and newsletter. The creators of Ghost offer managed Pro hosting but it may not fit everyone's budget. Alternatively, you can self-host it on your own cloud servers. On Linux handbook, we already have a guide on deploying Ghost with Docker in a reverse proxy setup. Instead of Ngnix reverse proxy, you can also use another software called Traefik with Docker. It is a popular open-source cloud-native application proxy, API Gateway, Edge-router, and more. I use Traefik to secure my websites using an SSL certificate obtained from Let's Encrypt. Once deployed, Traefik can automatically manage your certificates and their renewals. In this tutorial, I'll share the necessary steps for deploying a Ghost blog with Docker and Traefik.