Programming Leftovers
-
Mark J. Wielaard: New services for sourceware, SFC & FSF
The FSF was nice enough to host a video chat on Sourceware infrastructure – A presentation and community Q&A. Which was basically the BoF we had wanted to give about Sourceware Infrastructure at the Cauldron. Extended with some discussion on recent developments, Sourceware as Conservancy member project and collaboration with the FSF tech-team. It was less interactive than the in person BoF would have been, but there was some nice feedback afterwards.
-
Premature generalization
Perhaps fewer programmers are familiar with the idea of premature generalization, also known as the code smell Speculative Generality. Premature generalization is when you generalize a piece of code beyond its current requirements in anticipation of more general future requirements. In my experience it’s a very common mistake.
-
Two Esoteric Programming Languages, One Interpreter
Many of you will have heard of the esoteric programming language Brainf**k_. It’s an example language that’s nearly impossible to use because it’s too simple. It’s basically a Turing computer in code – you can essentially put characters into an array, read them out, increment, decrement, and branch. The rest is up to you. Good luck!
-
What is PHP? How It Works And How To Learn PHP for Beginners - LinuxTechLab
-
Role playing - DEV Community
Let's look at the names of the iterators in part 2. For this, I'm going to use the .^name method. As we've seen before, .^foo means "calling the .foo method on the object's meta-object".
-
Python dictionaries and floating point NaNs as keys
What's going on here is that Python dict indexing has a fast path for object identity, which comes into play when you look up something using exactly the same object that you used to set an entry. When you set a dict entry, Python saves the object you used as the key. If you ask a dict to look up an entry using that exact object, Python doesn't even bother calling the object's equality operation (what would be used for an '==' check); it just returns the value. This means that floating point NaNs have no chance to object that they're never equal to each other, and lookup will succeed. However, if you use a different object that is also a NaN, the lookup will fail because two NaNs never compare equal to each other.
-
Day 40: Unlayered styles
On day 37 we learned that we can get more control over specificity by creating layers. That first, simple example is pretty straightforward, but what happens if we mix layered and unlayered styles?
-
Open-Source Passive Radar Taken Down For Regulatory Reasons
Open-source technology brings a world that laws and regulations are not quite prepared for. As a result, every now and then, open projects need to work around governmental regulations. In today’s news, KrakenRF team has stumbled into an arms-trafficing legal roadblock for their KrakenSDR-based passive radar code, and is currently figuring it out. There’s no indication that there’s been any legal action from the USA government – the team’s being proactive, as fas as we’re told.
-
ESP32 LED Eyes Help Keep Toddler In Bed
We’ve seen a lot of custom clocks here at Hackaday, many of which have pushed the traditional definition of the timepiece to its absolute limit. But for all their wild designs, most of them do have something in common: they assume you can actually read a clock and understand the concept of time. But what if you’re developing a clock for a toddler who’s only just coming to terms with such heady ideas?