Programming Leftovers
-
DataGeeek ☛ Time Series Machine Learning: S&P 500 – DataGeeek
It does not seem to be a safe entry point for the S&P 500 market ahead of the FED rate cuts.
-
Thorsten Ball ☛ Rust Prism
A year ago I wouldn’t have — and at that point I had been programming in Rust for three years in my spare time, building a compiler that now comes in at around 15k lines of code.
A not-that-trivial project that made me feel at ease with Rust, but I also knew that the Rust I had been writing wasn’t, uhm, real-world Rust — no 3rd-party dependencies, no concurrency, no panic handling. Nothing that had “for production use ony” on the label.
-
Jim Nielsen ☛ The Lowest Common Denominator: www
Native apps are all about control. Don’t like thing X? You can dive in and, with enough elbow grease and persistence, finally get what you want. Write your own C library. Do some assembly code. Even make your own hardware if you have to.
But on the web you give up that control. Can’t quite do the thing you want? You’re options are: 1) make a native app, 2) make a browser that does what you want (see: Google), or 3) rethink and reset the constraints of your project.
-
Rlang ☛ Python for R users (repost)
Beyond “choose the right tool,” my biggest advice to trainees and students when asked about “R vs Python” was to learn both languages, but learn one of them so well as to be native-level fluent in the language. That is, become so comfortable in a language that you rarely have to look up documentation, where you have a natural intuition about how to best implement a variety of your everyday tasks, where you know how to write code, docs, and unit tests without really thinking about it.
R is that language for me. I can read, write, debug, and package code in Python, but it doesn’t come to me as easily. I’ve been collecting and bookmarking resources over the years that I’ve turned to for writing and reading Python, coming from native R fluency. LLMs have a new place in this as well, and I touch on that in the end.
-
Karl Seguin ☛ TCP Server in Zig - Part 6 - Epoll
The first alternative API that we'll look at is epoll. The bulk of what we've learnt about evented I/O is still applicable as-is. However, epoll is a Linux-specific system call. In order to support it as well as other platforms, we'll need to leverage Zig's comptime as well as some layer of abstraction. This is something we'll look at after exploring kqueue, a BSD/MacOS-specific system call.
-
Undeadly ☛ Game of Trees 0.104 released
Version 0.104 of Game of Trees has been released (and the port updated).
-
Uğur Erdem Seyfi ☛ On the Importance of Typing Fast
It is often mentioned that the bottleneck in building software projects is not one’s typing ability but ability to think clearly, and to design the architecture effectively. Afterall, if typing speed was so essential to programming, the time difference between rewriting an already existing project with that of creating it from scratch would not be as high as it is.
While I agree that typing speed is not essential to programming, I cannot relate on how this fact is used by lots of people to justify their thinking of typing fast being not important for the development process.
-
Shell/Bash/Zsh/Ksh
-
SANS ☛ Everybody Loves Bash Scripts. Including Attackers.
Web applications often use environment variables to configure parameters like credentials. This isn't the most secure way of doing things, but it is often the most convenient and "secure enough" method. Storing credentials properly with tools like secret managers takes more work and planing. It also tends to be less portable between different systems. For a developer to use the same code on a development and production systems, environment variables are usually the easy choice.
In the past, I have written about scans for files holding environment variables, like ".env". But it looks like attackers got tired of these scans and are fanning out to other possible targets.
-
-
Standards/Consortia
-
Pi My Life Up ☛ How to Enable Router Mode on a Sonoff Zigbee Dongle Plus
Zigbee is a wireless protocol that a wide range of devices uses for power-efficient communication. It is designed to form its own networks with mains-powered devices, typically extending the range and reliability of the network.
While mains-powered Zigbee devices often act as routers, this typically isn’t true for battery-powered devices. Battery devices are often referred to as end devices. Basically, the network stops with it and isn’t repeated.
-