Language Selection

English French German Italian Portuguese Spanish

Programming and Administration

Filed under
Development
Server
  • Exception Handling in Java | Explained

    Java provides a concept of Exception Handling that makes it possible to handle the errors at run time, in this way, the normal follow of the program wouldn’t be affected. To handle the runtime exceptions Java provides multiple ways such as try-catch, finally, throw, throws. The normal flow can be preserved using any of these exception handling methods.

  • Statistics Module in Python

    If you’re in the research world, statistics is of paramount importance! And Python offers many a module for statistics, but the one that we’ll be talking about today is called the statistics module. It’s a simple module, not really for advanced statistics but for those who just need a simple and quick computation. In this tutorial, we’ll be reviewing the statistics module in Python.

  • Emulate the Do-While Loop in Python

    Most of the standard programming languages have three types of loops to iterate some statement multiple times. These are the while loop, for loop, and the do-while loop. The while and for loop are available in Python but Python has no do-while loop. The do-while loop can be implemented by using another loop. In the do-while loop, the condition is tested after inserting the loop. So, the statements of the do-loop execute at least once even if the condition may not be matched. The ways of emulating the do-while loop in Python have been shown in this tutorial.

  • [Old] “The Canary in the Coal Mine…” A cautionary tale from the decline of SourceForge

    This article tells the cautionary tale of the downfall of Allura/SourceForge. We identified both internal and external causes, both social and technical in nature. We also found evidence of sociotechnical and architectural problems in project archives. Project and community health metrics could have been used to predict and understand the downfall by tracking its early manifestations. The team reported to be aware of the technical debt in the project, yet this was insufficient to maintain the health of the project. Community managers should also measure and manage the mutual impacts of technical and social debt. Furthermore, our analysis suggests that a combination of managerial and technical flaws doomed this project: architectural flaws, power-distance, and measurable management mishaps eventually led to the forge's demise. Practitioners and maintainers of other software projects can benefit from this cautionary tale, for example, as indications of what not to do, in the scope of their community and architecture management infrastructure.

  • Dirk Eddelbuettel: RcppArmadillo 0.11.1.1.0 on CRAN: Updates

    Armadillo is a powerful and expressive C++ template library for linear algebra and scientific computing. It aims towards a good balance between speed and ease of use, has syntax deliberately close to Matlab and is useful for algorithm development directly in C++, or quick conversion of research code into production environments. RcppArmadillo integrates this library with the R environment and language–and is widely used by (currently) 978 other packages on CRAN, downloaded over 24 million times (per the partial logs from the cloud mirrors of CRAN), and the CSDA paper (preprint / vignette) by Conrad and myself has been cited 469 times according to Google Scholar.

    This release brings a first new upstream fix in the new release series 11.*. In particular, treatment of ill-conditioned matrices is further strengthened. We once again tested this very rigorously via three different RC releases each of which got a full reverse-dependencies run (for which results are always logged here). A minor issue with old g++ compilers was found once 11.1.0 was tagged to this upstream release is now 11.1.1. Also fixed is an OpenMP setup issue where Justin Silverman noticed that we did not propagate the -fopenmp setting correctly.

  • Reversed Linked List (C++)

    When you reverse a linked list, the link path is reversed, and the head becomes the tail, and the tail becomes the head. By swapping the positions of the nodes, we can understand this quickly. In this swapping, we just change the positions of the nodes from left to right or vice-versa.

  • Gets Function in C

    Bound-checking is therefore not accomplished by the gets() method. It would not examine if the input data integrates inside the character array’s holding limit of bytes. A buffer overflow can occur when an entry exceeds the array limit. Through fgets, this restriction of the gets() method could be eliminated. The gets() method produces a string if it occurs. It reverts NULL if it starts to fail. It displays the EOF indicator on a string if an end-of-file situation generates the error. If another error triggers the failure, the error parameter is displayed on the string.

  • Getting started with Node-Red on Raspberry Pi

    Node-Red is a visual programming tool that is used to connect APIs and hardware in a more prominent and exciting way. It has a web-based editor that will allow you to control and manage your Raspberry Pi device from a remote location. The graphical user interface of the editor is excellent and pretty simple which enables a beginner to handle it quite easily. The Node-Red can easily be installed on your Raspberry Pi device and once the installation is completed you will need to acquire a basic understanding of how to use this tool on a web editor to develop different projects.

    In this tutorial, we will provide you with an easy setup guide to get started with Node-Red on your Raspberry Pi and start developing your projects with ease.

  • Impact Analysis for UTF-8 in the RIPE Database

    The RIPE Database contains the names and addresses of organisations as well as administrative and technical contacts for resources and routing in the RIPE region. The Database currently supports the Latin-1 (ISO-8859-1) character set, which can represent most characters in western European languages. However it cannot fully support characters used in other languages and alphabets that are commonly used in the RIPE service region and beyond. Currently, any unsupported characters must be transliterated into Latin-1 (or even ASCII in some cases, which is a subset of Latin-1), potentially corrupting the meaning. Switching the RIPE Database from Latin-1 to UTF-8 allows names and addresses to be properly represented for querying and display.

  • Kubernetes 1.24: Volume Populators Graduate to Beta | Kubernetes

    The volume populators feature is now two releases old and entering beta! The AnyVolumeDataSouce feature gate defaults to enabled in Kubernetes v1.24, which means that users can specify any custom resource as the data source of a PVC.

    An earlier blog article detailed how the volume populators feature works. In short, a cluster administrator can install a CRD and associated populator controller in the cluster, and any user who can create instances of the CR can create pre-populated volumes by taking advantage of the populator.

    Multiple populators can be installed side by side for different purposes. The SIG storage community is already seeing some implementations in public, and more prototypes should appear soon.

More in Tux Machines

today's leftovers

  • 3600 Games Now On The Steam Deck with Teardown, a Great Demolition Game as Verified

    Valve has provided more verification in the past few days vs usual for the Steam Deck. We are now more than 3600 games validated (3626 games to be precise at the time of publication) on the Steam Deck – in two categories...

  • The Steam Deck’s Super Power: Super Sleep

    The Steam Deck undeniably has some great features, but if it were a superhero its superpower might not be what you expect. No, it’s not the powerful processor or advanced options and software, but seemingly the complete opposite of that: the Steam Deck’s real power is its super sleep. First, a superpower needs to be reliable and without any big caveats. The Deck’s sleep ability is just that: every time it works quickly and flawlessly. It is a quick power button press away or in the Steam button’s power menu. In the middle of a game without a pause button (hi, Elden Ring)? No problem. Running low on battery or just need a moment to move the Deck without accidentally hitting the buttons? Or want to resume in that spare minute to get in a quick gaming fix? The Deck delivers every time. You can also set the Deck to go to sleep after some idle time, confident you won’t lose your game progress or battery life.

  • [Slackware] Chromium 103 (regular and ungoogled) available as Slackware package

    Apologies for the delay, I was out of town, but i have finally uploaded my new chromium 103 packages for Slackware 14.2 and newer. Their un-googled siblings are also available. Thanks as always to Eloston and his friends for updating the patch-set for ungoogled-chromium. Last week saw a Google Chromium update which addresses a series of vulnerabilities, which is nothing new of course, but in particular one security hole that has now been patched would allow remote attackers to take control of your computer and execute arbitrary code. See CVE-2022-2156. An update of your installed browser package seems in order.

  • I bought THIS LAPTOP: Tuxedo Stellaris 15 Gen 4 Review - Invidious [Ed: Nick from The Linux Experiment already got his channel banned before... for shilling laptops. Maybe he's not afraid of it happening again.]

Programming Leftovers

  • The Poisson distribution: From basic probability theory to regression models

    Brief introduction to the Poisson distribution for modeling count data using the distributions3 package. The distribution is illustrated using the number of goals scored at the 2018 FIFA World Cup, suitable for self-study or as a classroom exercise.

  • Webscraping in R with Rvest

    Web scraping has become an incredibly important tool in data science, as an easy way to generate new data. The main advantage is the automation of some pretty repetitive tasks. Web scrapping can also be a good way of keeping up with new data on a website, assuming it doesn’t have a big change in its HTML structure.

  • Clang Static Analyzer and the Z3 constraint solver | Frederic Cambus

    Notes on using the Z3 constraint solver with the Clang Static Analyzer As far as static analyzers are concerned, one of the most important point to consider is filtering out false positives as much as possible, in order for the reports to be actionable. This is an area on which Coverity did an excellent job, and likely a major reason why they got so popular within the open source community, despite being a closed-source product. LLVM has the LLVM_ENABLE_Z3_SOLVER build option, which allows building LLVM against the Z3 constraint solver.

  • Least Common Denominator APIs

    Often, our instinct is to build for optionality. What if we change databases? What if we change clouds? We target the Least Common Denominator (LCD) interface to avoid vendor lock-in and make sure our software is portable – after all, Optimization is Fragile. LCD interfaces look like targeting the S3 API, a generic PubSub implementation, or vanilla ANSI SQL. LCD interfaces are good enough most of the time, but when we need to run a specialized workload, sometimes they don't perform how we'd like. We could solve our problem quickly by narrowing the API – coupling it to a specific cloud or managed service, but that destroys our optionality. Here, you should probably fight your instinct to stick with the pure implementation and weigh the trade-offs – how many developer-hours and pain can you save by narrowing the interface? Optimization and optionality are inherent trade-offs. There's a way to architecture services to be efficient and generic but also practical.

  • Quantum computer programming for dummies

    For would-be quantum programmers scratching their heads over how to jump into the game as quantum computers proliferate and become publicly accessible, a new beginner’s guide provides a thorough introduction to quantum algorithms and their implementation on existing hardware. “Writing quantum algorithms is radically different from writing classical computing programs and requires some understanding of quantum principles and the mathematics behind them,” said Andrey Y. Lokhov, a scientist at Los Alamos National Laboratory and lead author of the recently published guide in ACM Transactions on Quantum Computing. “Our guide helps quantum programmers get started in the field, which is bound to grow as more and more quantum computers with more and more qubits become commonplace.”

  • Create new variables from existing variables in R

    Create new variables from existing variables in R?. To create new variables from existing variables, use the case when() function from the dplyr package in R.

  • Construct a Perfect Binary Tree with given Height

    Given an integer N, the task is to generate a perfect binary tree with height N such that each node has a value that is the same as its depth. Return the inorder traversal of the generated binary tree.

  • Announcing urllib3's bounty program

    We’ve recognized that one of the biggest challenges to shipping v2.0 is not having enough time to devote to contributions. Our bounty program is hoping to spur interest from the community in the urllib3 project and fairly pay contributors for their time and experience. The bounty program works by marking issues with bounty amounts we’re willing to pay for anyone to complete an issue. Don't worry if you're not an existing contributor — new contributors are welcome and encouraged!

  • Learning from Failure – Nitinol Fracture Mechanics in R | R-bloggers

    Despite our best efforts, nitinol implants fracture and fail. Sometimes we want them to fail (on the bench, to learn).

  • Every Sufficiently Advanced Configuration Language is Wrong

    Every sufficiently advanced configuration language is the wrong tool for the job. [...] The logical extreme is becoming more evident – advanced configuration in general-purpose programming languages. You can see this in the emergence of Typescript for Infrastructure-as-Code. For the most basic (and human 0x777) configuration needs, there will always be simple formats – YAML, JSON, INI, etc.).

  • Another Exercise In Encoding Reversing | Didier Stevens

    In this blog post, I will show how to decode a payload encoded in a variation of hexadecimal encoding, by performing statistical analysis and guessing some of the “plaintext”. I do have the decoder too now (a .NET assembly), but here I’m going to show how you can try to decode a payload like this without having the decoder.

  • Examples Of Encoding Reversing | Didier Stevens

    I recently created 2 blog posts with corresponding videos for the reversing of encodings. The first one is on the ISC diary: “Decoding Obfuscated BASE64 Statistically“. The payload is encoded with a variation of BASE64, and I show how to analyze the encoded payload to figure out how to decode it.

  • An Introduction to Python: A Language for the Ages – The New Stack

    For anyone just getting into software programming, one of your best friends will be Python. Why? Python is very simple to learn and easy to implement. Even better, what you can do with this language grows as you learn more. You can start with very simple text-based applications and migrate to GUI applications and much more. And because Python is supported by most major operating systems (Linux, macOS, and Windows), you can begin your journey, regardless of platform. Python includes support for features such as lists, tuples, functions, variables, JSON, and ranges. But where did Python come from and why is it still so important today? Let’s dig in and find out. To follow our series of introductory tutorials, start here.

  • How To Write Comments In Python

    The way you think is reflected in programming in order to convey the individual steps that you took to solve an issue utilizing a computer. Commenting your code helps clarify your thinking process, which in turn makes it easier for you and other people to comprehend the purpose of your code in the future. Because of this, you will have an easier time locating bugs, fixing them, enhancing the code at a later time, and reusing it in other applications as well. The act of commenting is essential to the completion of any and all tasks, regardless of how little, medium, or fairly enormous they may be. It should be considered standard procedure for software engineers since it is an important component of your workflow. Without comments, things have the potential to get quite complicated very quickly. In this post, we will cover the many techniques of commenting that Python offers, as well as how it may be utilized to automatically produce documentation for your code via the use of the so-called module-level docstrings.

Android Leftovers

PeaZip 8.7.0

PeaZip is an open source file and archive manager. It's freeware and free of charge for any use. PeaZip can extract most of archive formats both from Windows and Unix worlds, ranging from mainstream 7Z, RAR, TAR and ZIP to experimental ones like PAQ/LPAQ family, currently the most powerful compressor available. PeaZip provides fast, high compression ratio multi-format archiving - view file compression and decompression benchmarks for more information. PeaZip is localized in 29 languages and is capable of handling all most popular archive formats (180+ file types), supporting a wide array of advanced file and archive management features (search, bookmarks, thumbnail viewer, find duplicate files and compute hash/checksum value, convert archive files...), especially focused on security (strong encryption, two factor authentication, encrypted password manager, secure file deletion...). Read more