So my app is running only across 32 cores so only 32 threads in action (well its python so multiprocessing)... yet it has 3,201 lock objects total instantiated to accomplish that with minimal read/write contention....

I can honestly say this is the greatest number of thread locks instantiated at a single time that I have ever needed in an application before.

Have I mentioned yet today how much I hate python multiprocessing, or writing cpu-limited algorithms on python in general... my god why could they not fix the GIL lock problem in python3, are the devs really this lazy!

Ok so yesterdays algorithm took a little more extra work than I had hopped to finally get into its final form but I **think** its there. I just need to run it through some tests to know for sure.

Man I just cant get enough of watching my algorithm go balls-to-the-wall and max out my disk IO and all 32 of my CPU cores when it runs... parallelism makes me smile :)

Stress testing my algo across 600 simultaneous threads at once on a 32 core CPU at once. This thing is a beast when it comes to parallelization!

man I love this.. so when i did regular signale threaded optimization i got my algo from 16.7 minutes down to about 1 minute Now I moved to multithreading and it runs in about 5 seconds.

A new post I wrote explaining how to write an efficient Exponential Moving average with a finite length.

jeffreyfreeman.me/an-efficient

Early rough draft, haven't proof read it yet. But just wanted to share the math behind creating an efficient Exponential Moving Average with a finite length/cut off. I found this was needed for a project I am working on where the EMA much be determined by random access to various points in a time series and couldn't be calculated for the entire time series in one go.

I needed to modify the EMA for a finite back-length. The standard EMA is only really efficient when calculated sequentially for the entire time series. This implementation is an efficient design that allows for calculation at a point by using finite back-length.

This is an early draft, did not proof read it yet, just whipped it together, though pretty sure the math is close to the final form. I will publish it sometime tomorrow but want to share what I have and welcome and questions or feedback before I publish it.

beta.jeffreyfreeman.me/an-effi

Learn CSS by playing a browser game: flexboxdefense.com/

How is it even possible I stumbled across the bug.. The version is 4.4.1 right now and the bug has been in there for all of 4.*. Plus the bug seems to happen on every system I've tried it. What baffles me is that I'm not even doing anything weird, this is literally the very first step you do when setting up a mongo cluster... so how.. HOW am I the one catching this?

jira.mongodb.org/browse/SERVER

A spacemacs cheatsheet I've been working on for every single command/hotkey I care about. Feel free to download it.

jeffreyfreeman.me/spacemacs-ul

A slightly delayed / I know, but I also don't want to skip this one as we have a lot of new cool people

===== New =====

@louiscouture - A new user from Quebec, his profile reads: I like coding, technology and taking long walks, photography, politics and science. 8values says Iβm libertarian socialist but I am just confused and only want a better world for all of us. Do not talk to me about inches and feet unless itβs body parts because I do not understand what it is.

@compass_straight_edge - His interests (that I know of) seem to be and

@svmihar - A gamer and a coder, does some .

@EVoCeO From his profile: Hi, new to decentralized social media and social media in general. I chose Mastodon because if its uncensored nature and chose qoto because of its philosophy. Such a fresh take on social media I'm excited to try it out.

@Demosthenes - Also brand new, but has jumped right in and been pretty active since he signed up.

@ml - Seems like an Open-source / user. He is brand new but gonna keep an eye on him for future posts.

===== Old=====

@soundofsun - From her profile: ππππ ππ πππππππππ πππ πππππππ // πππππ ππππ ππ πππ ππππ ππ πππππ // π ππππππππππ ππππ ππππ πππ πππππππ ππ πππ πππππ
βοΈπποΈπ€

@2ck - From his profile: A capable software engineer and aspirating (sic) cook

@JulianRott - Mostly posts interesting articles.

@zleap - Interested in , , Fediverse, Linux and free software.

@lupyuen - One of our embedded / IoT guys, seems to focus a lot on digital hardware and software. Lots of cool projects on his feed, he brands himself as "Techie and Educator in "

Do you guys know the story about Eurisko, one of the earliest Evolutionary Algorithms attempted, done back in the 80's by Lenat. An interesting bug had arisen that is both insightful and amusing.

The purpose of the problem is that it evolved new heuristics for some problem it is given and then try them to solve the problem. Heuristics that work would get a higher score and ones that dont get a lower score. Eventually it would learn which a re best and would try the heuristics in order on new problems to find solutions.

One day after a night of solving problems Lenat came in and noticed there was heuristic that scored 999 out of 1000, the highest score ever seen. Excited he tried to figure out what the heuristic was doing.

As it turns out the heuristic basically said "whenever a problem is solved add this heuristic to the list of heuristics used to generate the solution"

You can read about this bug, and the project in general in this book. See page 90 for specific reference to the bug:

users.cs.northwestern.edu/~mek

A 9\$ computer that runs linux, hand held, full qwerty keyboard, and a touch screen... I think I need to get this!

youtu.be/hXDizTasY6A

How many of you so-called Computer Scientists out there have "The Art of Computer Programming" by Knuth on your bookshelves? If not please but the series all 4 books!

I got bored so i wanted to see if we could remember how to represent a multilayer perceptron using linear algebra. I think i summed it up fairly well.

Wanted to share a little screen recording sneak peak of the NCurses display working over Telnet for the mmorpg/mud (text based) I've been working on.

FYI i wanted to show this off at full resolution to show the full sized composite window possible... the video may even be larger than your native resolution. Though the game is playable at low resolutions as well the display will scale accordingly.

so I have been working a little bit each day in my spare time on a rather absurd refactor job... it was too much work to do by hand so I wrote a script that refactored my code for me... since it was throw away code i didnt put any effort of any kind into quality control and well, it shows.

Its so horrific I just had to share the refactoring script witht he world just so other can marvel at the horror.

dpaste.com/2N6W9C0

I wanna create a Java programming social group and call it "The Garbage Collective"

Its so good to know so many of the projects I founded or am project owner on (open-source projects specifically) are used by so many people. Its easy to forget but everytime I release a new version the emails start flying in from people thanking me or asking questions. It really keeps me going.