Language Selection

English French German Italian Portuguese Spanish

Programming Leftovers

Filed under
Development
  • 15 favorite programming tutorials and insights

    Happy new year! 2020 was one heck of an unusual year with the COVID-19 pandemic pushing us to stay at home and dramatically transforming our lifestyles. However, a time like this is also the best time to start picking up a new programming language or to level up your existing programming skillset. We begin with some light reading: What is your first programming language? and Why developers like to code at night. Next, we have articles about some specific programming languages like C, D, and Awk.

  • Raspberry Pi 400 for working and learning at home
  • Software is drowning the world

    One of the many upsides I’ve had from working at lots of organisations is that you get to see what’s common. Are things like this everywhere? Frequently, the answer is yes!

    An example of this is tech debt.

    I see organisations which are running to stand still, and I’m not sure they realised they’re doing that.

    What do I mean by this?

    Every time you decide to solve a problem with code, you are committing part of your future capacity to maintaining and operating that code. Software is never done.

    Here’s a few examples of demonstrating what I mean: [...]

  • Extracting the list of O'Reilly Animals

    Now I want to grab the entire list of O’Reilly cover animals, and Mojolicious is going to help me do that.

    O’Reilly Media, who publishes most of my books, is distinctively known by the animals it chooses for their covers. Edie Freedman explains how she came up with the well-known design in A short history of the O’Reilly animals. I think I first saw this design on the cover of sed & awk; those Slender Lorises (Lori?) are a bit creepy, but not creepy enough to keep me away from the command line.

  • Dirk Eddelbuettel: BH 1.75.0-0: New upstream release, added Beast

    Boost is a very large and comprehensive set of (peer-reviewed) libraries for the C++ programming language, containing well over 100 individual libraries. The BH package provides a sizeable subset of header-only libraries for use by R.

    Version 1.75.0 of Boost was released in December, right on schedule with their April, August and December releases. I now try to follow these releases at a lower (annual) cadence and prepared BH 1.75.0-0 in mid-December. Extensive reverse-depends checks revealed a need for changes in a handful of packages whose maintainers I contacted then. With one exception, everybody responded in kind and brought updated packages to CRAN which permitted us to upload the package there two days ago. And thanks to this planned and coordinated upload, the package is now available on CRAN a mere two days later. My thanks to the maintainers of these packages for helping it along; this prompt responses really are appreciated. The version on CRAN is the same as the one the drat announced in this tweet asking for testing help. If you installed that version, you are still current as no changes were required since December and CRAN now contains same file.

  • Improve your software product delivery process performance using metrics (Sleepy

    As many other graduates in physics, I have passion for Faymann. His explanations of complex concepts made them seem reachable for students like me up to a point where you develop a taste for simplicity. Producing software at scale is complex, but if you have some basic and often simple concepts clear and you keep passionate about simplicity, you not just be able to better understand the management challenges ahead of you but also to communicate them more effectively, as well as the potential solutions.

    [...]

    We have justified the relevance to start simple when evaluating the performance of our delivery process. We have created the simplest possible model to start our analysis from. We described such model as well as a mathematical construct to characterize it. Some considerations were provided about how to perform the measurements and plot the results as part of a quantitative analysis.

    We learned how to move from a quantitative to a qualitative analysis and why. Once the qualitative analysis done, we defined a data driven improve­ment kata to improve the performance of our delivery process iteratively. Such kata is summarized in a simple board.

    In essence, this is a process any organization can follow in order to improve de performance of the delivery process effectively. If you are not able to say out loud what has been your Throughput and Stability the past quarter, last month, yesterday, today… your delivery process is not under control. In such case, it is hard to imagine that you will be able to improve it in a meaningful way.

  • Clang LTO Support Looks Like It Could Land For Linux 5.12 - Phoronix

    The support for Clang LTO of the Linux kernel for link-time optimizations when using that GCC alternative compiler looks like it will land with Linux 5.12.

    For a number of months the Clang LTO wiring to the Linux kernel has been undergoing rounds of review and of interest from multiple parties. Vendors like Google already make use of Clang link-time optimizations as part of their kernel builds on mobile devices. There's been much interest and it looks like for Linux 5.12 that work will likely land -- it's been queued into a "-next" branch ahead of the Linux 5.12 merge window in February.

  • 2021.01/02 So. Much. New. Stuff. – Rakudo Weekly News

    The past two weeks, while yours truly was taking a little break, have turned out so many new projects that one can only say this is an excellent beginning of 2021 for the Raku Programming Language. Which will hopefully turn out to be better for everybody than 2020 turned out to be.

    [...]

    JJ Atria and James Raspass have unveiled another online Raku ecosystem browser called Raku.land. Still a little rough around the edges, and not complete yet, but good to see something like this being developed in the Raku Programming Language itself (see source on Gitlab and /r/rakulang comments).

  • [Older] Big Data Manipulation for Fun and Profit Part 1 - LinuxConfig.org

    These days everyone seems to be speaking about Big Data - but what does it really mean? The term is used quite ambiguously in a variety of situations. For the purposes of this article, and the series, we will refer to big data whenever we mean ‘a large amount of textual data, in any format (for example plain ASCII text, XML, HTML, or any other human-readable or semi-human-readable format). Some techniques shown may work well for binary data also, when used with care and knowledge.

More in Tux Machines

Proprietary Software and Digital Restrictions (DRM)

  • GitHub still won’t explain if it fired someone for saying ‘Nazi,’ and employees are pissed

    The current conflict began the day of the riots in Washington, DC when a Jewish employee told co-workers: “stay safe homies, nazis are about.” Some colleagues took offense to the language, although neo-Nazi organizations were, in fact, present at the riots. One engineer responded: “This is untasteful conduct for workplace [in my opinion], people have the right to protest period.”

  • Amazon Web Services opens first office in Greece

    It said services covered areas from big data analytics and mobile, web and social media applications to enterprise business applications and the internet of things.

  • Critical Microsoft Defender Bug Actively Exploited; Patch Tuesday Offers 83 Fixes

    Researchers believe the vulnerability, tracked as CVE-2021-1647, has been exploited for the past three months and was leveraged by hackers as part of the massive SolarWinds attack. Last month, Microsoft said state-sponsored hackers had compromised its internal network and leveraged additional Microsoft products to conduct further attacks.

    Affected versions of Microsoft Malware Protection Engine range from 1.1.17600.5 to 1.1.17700.4 running on Windows 10, Windows 7 and 2004 Windows Server, according to the security bulletin.

  • Making Clouds Rain :: Remote Code Execution in Microsoft Office 365

    TL;DR; This post is a story on how I found and exploited CVE-2020-168751, a remote code execution vulnerability in Exchange Online and bypassed two different patches for the vulnerability. Exchange Online is part of the Office 365 suite that impacted multiple cloud servers operated by Microsoft that could have resulted in the access to millions of corporate email accounts.

  • Dropbox lays off 11% of its workforce as COO departs

    Dropbox in November provided revenue guidance of $497 million to $499 million for the fourth quarter. The company said at the time that it’s aiming to achieve margins of 28% to 30% in the long term.

  • Technical Error 'Saw 150,000 U.K. Police Records Wiped' From Databases

    Police have been asked to assess if there is a threat to public safety after it was revealed that thousands of police records were deleted in error, including data on fingerprints, DNA, and arrest histories.

    The error, first reported in the Times, saw 150,000 files lost, with fears it could mean offenders go free. A coding error is thought to have caused the earmarking of the files for deletion.

    The U.K. Home Office said the lost entries related to people who were arrested and then released without further action and no records of criminal or dangerous people had been deleted. Home secretary Priti Patel is now under pressure to explain the mistake, which the opposition Labour party said "presents huge dangers" for public safety.

  • January 2021 Linux Foundation Newsletter: Bootcamp Sale, SolarWinds Orion, New Kubernetes & WebAssembly Classes, LFX Webinar Series
  • How I hijacked the top-level domain of a sovereign state

    Note: This issue has been resolved and the .cd ccTLD no longer sends NS delegations to the compromised domain.

    TL;DR: Imagine what could happen if the country-code top-level domain (ccTLD) of a sovereign state fell into the wrong hands. Here’s how I (@Almroot) bought the domain name used in the NS delegations for the ccTLD of the Democratic Republic of Congo (.cd) and temporarily took over 50% of all DNS traffic for the TLD that could have been exploited for MITM or other abuse.

  • Apple begins blocking M1 Mac users from side loading iPhone and iPad applications

    As a refresher, Apple Silicon Macs allow users to run iOS and iPad applications on their Mac, but developers can opt out of allowing their apps to be installed on the Mac. This is the path that many developers have taken, making the necessary change in App Store Connect to remove their app from the Mac App Store.

    But with that being said, until today, you could manually install iOS apps like Netflix, Instagram, and Facebook on an M1 Mac by using their respective IPA files downloaded under a valid Apple ID. Many people were using tools such as iMazing to complete this process.

    9to5Mac has now confirmed that, starting today, this is no longer possible unless the application is available on the Mac App Store. Apple has flipped the necessary sever-side switch to block iPhone and iPad applications from being installed on Apple Silicon Macs.

  • Apple is blocking Apple Silicon Mac users from sideloading iPhone apps

    Apple has turned off users’ ability to unofficially install iOS apps onto their M1 Macs (via 9to5Mac). While iOS apps are still available in the Mac App Store, many apps, such as Dark Sky and Netflix, don’t have their developer’s approval to be run on macOS. Up until now, there was a workaround that allowed the use of third-party software to install the apps without having to use the Mac App Store, but it seems like Apple has remotely disabled it.

    When we tried to install an unsupported app on an M1 Mac running macOS 11.1, we got an error message saying that we couldn’t install it and should “try again later”. You can see a screenshot at the top of this article.

  • Apple TV Plus Free Subscriptions Extended Again, This Time Through July 2021

    The tech giant is extending the free-access period for Apple TV Plus customers who have signed up through its 12-month free subscription offer through July 2021. That’s after it had previously pushed that gratis period to February. So if you were among the first to take the one-year-free deal back in November 2019, that’s turned into 21 months free of Apple TV Plus.

  • Spotify Enters Settlement Talks With PRO Music Rights Founder Jake P. Noch

    But a new legal filing, shared with DMN this afternoon, reveals that Spotify and Noch have officially entered settlement talks. The involved parties “jointly” moved for a 60-day stay, “including discovery and all deadlines,” so that they can “attempt to negotiate a resolution of this matter,” the three-page-long document (dated January 13th, 2021) indicates.

    Furthermore, the filing specifies that Sosa Entertainment, Jake P. Noch, and Spotify “have recently made progress towards a potential resolution of the litigation.” The joint motion doesn’t elaborate upon the terms of this possible agreement – though Noch said in a statement that he’s eager to begin working towards an “excellent resolution” in earnest.

  • The FSF fights for your right to repair

    It is this example of automated vehicles that served as inspiration for the FSF's animated video Fight to Repair.

    However, any technology we use could potentially be co-opted by the proprietary, DRM-controlled subscription model Tesla and the tractor manufacturers are proposing. Imagine your "smart home" having a broken lock, or worse, being broken into, and not having the control, or the simple right to repair the bug. Countless other examples can be found showing us that the key to a free future is the right to repair. We need to fight for a future in which the software used is free in order to maintain ownership and control not only over our technology, but over our lives.

Debian Developers: Christian Kastner, Junichi Uekawa, and Michael Prokop

  • Christian Kastner: Keeping your Workstation Silent

    I've tried numerous coolers in the past, some of monstrous proportions (always thinking that more mass must be better, and reputable brands are equally good), but I was never really satisfied; hence, I was doubtful that trying yet another cooler would make a difference. I'm glad I tried the Noctua NH-D15 anyway. With some tweaking to the fan profile in the BIOS, it's totally inaudible at normal to medium workloads, and just a very gentle hum at full load—subtle enough to disappear in the background. For the past decade, I've also regularly purchased sound-proofed cases, but this habit appears anachronistic now. Years ago, sound-proofed cases helped contain the noise of a few HDDs. However, all of my boxes now contain NVMe drives (which, to me, are the biggest improvement to computing since CPUs going multi-core). On the other hand, some of my boxes now contain powerful GPUs used for GPGPU computing, and with the recent higher-end Nvidia and AMD cards all pulling in over 300W, there is a lot of heat to manage. The best way to quickly dump heat is with good airflow. Sound-proofing works against that. Its insulation restricts airflow, which ultimately causes even more noise, as the GPU's fans need to spin at very high RPMs. This is, of course, totally obvious in hindsight.

  • Junichi Uekawa: It's been 20 years since I became a Debian Developer.

    It's been 20 years since I became a Debian Developer. Lots of fun things happened, and I think fondly of the team. I am no longer active for the past 10 years due to family reasons, and it's surprising that I have been inactive for that long. I still use Debian, and I still participate in the local Debian meetings.

  • Michael Prokop: Revisiting 2020

    Mainly to recall what happened last year and to give thoughts and plan for the upcoming year(s) I’m once again revisiting my previous year (previous editions: 2019, 2018, 2017, 2016, 2015, 2014, 2013 + 2012). Due to the Coronavirus disease (COVID-19) pandemic, 2020 was special™ for several reasons, but overall I consider myself and my family privileged and am very grateful for that. In terms of IT events, I planned to attend Grazer Linuxdays and DebConf in Haifa/Israel. Sadly Grazer Linuxdays didn’t take place at all, and DebConf took place online instead (which I didn’t really participate in for several reasons). I took part in the well organized DENOG12 + ATNOG 2020/1 online meetings. I still organize our monthly Security Treff Graz (STG) meetups, and for half of the year, those meetings took place online (which worked OK-ish overall IMO). Only at the beginning of 2020, I managed to play Badminton (still playing in the highest available training class (in german: “Kader”) at the University of Graz / Universitäts-Sportinstitut, USI). For the rest of the year – except for ~2 weeks in October or so – the sessions couldn’t occur. Plenty of concerts I planned to attend were cancelled for obvious reasons, including the ones I would have played myself. But I managed to attend Jazz Redoute 2020 – Dom im Berg, Martin Grubinger in Musikverein Graz and Emiliano Sampaio’s Mega Mereneu Project at WIST Moserhofgasse (all before the corona situation kicked in). The concert from Tonč Feinig & RTV Slovenia Big Band occurred under strict regulations in Summer. At the beginning of 2020, I also visited Literaturshow “Roboter mit Senf” at Literaturhaus Graz.

Games: Familiars.io, Valve and Godot

  • Familiars.io is a MMO monster catching game where the creatures have permadeath

    Well this is quite unusual. You've played monster catching games before but not like this. Familiars.io put a fresh spin on it all and it's quite ingenious. Developed as a pixel-art retro-looking browser game, it's super accessible since you can play it on pretty much anything that can run some simple graphics in a browser window. It's an MMO too, so you can join up with others and chill out. When you want to, go off and catch some monsters, engage is some PvP and perhaps find a new favourite game waiting for you.

  • What we expect to come from Valve to help Linux gaming in 2021 | GamingOnLinux

    By now you've probably heard either through us in our previous article or elsewhere that Valve are cooking something up to help Linux gaming even further. We have an idea on what one part of it is. Valve already do quite a lot. There's the Steam Play Proton compatibility layer, the new container runtime feature to have Linux games both natively supported and Windows games in Proton run through a contained system to ensure compatibility, their work on Mesa drivers and much more. In Valve's review of Steam in 2020 that we covered in the link above, one thing caught our eye and has been gaining attention. Valve mentioned for 2021 they will be "putting together new ways for prospective users to get into Linux gaming and experience these improvements" so what exactly does that mean? Well, a big part of that might have already been suggested directly.

  • Godot Engine - Dev snapshot: Godot 3.2.4 beta 6

    While our main focus stays on the 4.0 branch, the current stable 3.2 branch is receiving a lot of great improvements, and the upcoming 3.2.4 release is going to be packed with many new features.

Zeroshell 3.9.5 Released

Zeroshell 3.9.5 is ready. In this release TLS 1.0 has been disabled and TLS 1.2 enabled for HTTPS. This improves security and compatibility with new browser releases. Read more