DEV Community

Cover image for Side Project Sunday! How's it going?
Ben Halpern
Ben Halpern Subscriber

Posted on • Updated on

Side Project Sunday! How's it going?

Let's hear about what you have going on! If you've shared your project before, what's new?

Top comments (38)

Collapse
 
cicirello profile image
Vincent A. Cicirello

This past Monday I released v5.2.0 of Chips-n-Salsa (link to project below). That release added implementation of (1+1)-EA (evolutionary algorithm). I'm currently working on integrating and/or reimplementing my code for various crossover operators for evolving permutations into the library. Much of my existing code for this is from prior research projects with code written for very specific scheduling and other optimization problems. So in some cases at least partially reimplementing to be problem-independent as I'm integrating with the Chips-n-Salsa library. In some cases, my prior code I'm digging into I originally wrote as long ago as 20 years ago.

Chips-n-Salsa - A Java library of customizable, hybridizable, iterative, parallel, stochastic, and self-adaptive local search algorithms

The Chips-n-Salsa library includes implementations of several stochastic local search algorithms, including simulated annealing, hill climbers, as well as constructive search algorithms such as stochastic sampling; and now also includes genetic algorithms as well as evolutionary algorithms more generally. It includes several classes for representing solutions to a variety of optimization problems. For example, the library includes a BitVector class that implements vectors of bits, as well as classes for representing solutions to problems where we are searching for an optimal vector of integers or reals. For each of the built-in representations, the library provides the most common mutation operators and crossover operators for use with evolutionary algorithms. The library provides extensive support for permutation optimization problems, including implementations of many different mutation operators for permutations, and utilizing the efficiently implemented Permutation class of the JavaPermutationTools (JPT) library. Chips-n-Salsa is customizable, making extensive use of generic types, enabling using the library to optimize other types of representations beyond what is provided in the library. It is hybridizable, providing support for integrating multiple forms of local search (e.g., using a hill climber on a solution generated by simulated annealing), creating hybrid mutation operators (e.g., local search using multiple mutation operators), and classes that support running more than one type of search for the same problem concurrently using multiple threads as a form of algorithm portfolio. Chips-n-Salsa is iterative, with support for multistart metaheuristics, including implementations of several restart schedules for varying the run lengths across the restarts. It also supports parallel execution of multiple instances of the same, or different, stochastic local search algorithms for an instance of a problem to accelerate the search process. The library supports self-adaptive search in a variety of ways, such as including implementations of adaptive annealing schedules for simulated annealing, such as the Modified Lam schedule, implementations of the simpler annealing schedules but which self-tune the initial temperature and other parameters, and restart schedules that adapt to run length.

favicon chips-n-salsa.cicirello.org
Collapse
 
jmfayard profile image
Jean-Michel πŸ•΅πŸ»β€β™‚οΈ Fayard • Edited

I spent too much time on my side project this weekend.

Thanks God, I have a wife and a dog and both look unhappy at me when I'm doing this, which is good because it gives me the opportunity to course correct, go out with the dog and cook some chocolate dessert for my wife 🍫.

Collapse
 
team_memphis profile image
Memphis.dev team

Hi fellas! I got a new GO SDK + Python SDK featured on my open-source message broker project...
would love to find anyone who can try it out(and hopefully, want to contributeπŸ™πŸ½)
github.com/memphisdev/memphis-broker

here's the contributors guideline, got some "good first issue" as well if you don't mind taking a look

github.com/memphisdev/memphis-brok...
Image description

Collapse
 
bertilmuth profile image
Bertil Muth

Pretty good! I created the first version of a library for Property Based Testing of state machines on the JVM: github.com/bertilmuth/act-pbt.

Property Based Testing is much less known than example based testing, but in my view, very interesting since it covers a lot more cases.

Collapse
 
receter profile image
Andreas RiedmΓΌller

I did update my site for simple configurable 3d printing shapes stl.parts. Thanks for you feedback last Sunday!

  • The engine and language for the shapes is JSCAD V2 now, this was quite some work as it is fundamentally different from the original OpenJSCAD. I also had to rewrite the code for all shapes and make new Screenshots of every shape. Luckily I managed to build a function that automatically creates and downloads a screenshot in the right size.
  • Zooming requires holding shift now so you don’t accidentally zoom when you want to scroll
  • There is a array parameter now where you can add items with multiple parameters each, for example an array of coordinates
  • Parameters can be optional
  • The description for parameters works now
  • The documentation link was updated and I added an Imprint and contact page (Thanks Greenreader9)
  • And I made a simple logo (mostly for having a favicon πŸ˜„)

The updated editor with documentation link:
Image description

Array parameter (for configuring the shape):
Image description

Array parameter configuration (in the shape editor):
Image description

Some new shapes:
Image description

I have so many ideas for shapes, I think the next update will just be new shapes :-D

Did you know that it is actually pretty hard to name shapes? Would you instantly know what a "Hollow Cuboid with Floor" or a "Truncated Cone with Hole" is without looking at the site? I tried my best…

Collapse
 
westernal profile image
Ali Navidi

I made a social media to share songs and working on it every day to make it better and better:

Collapse
 
kushal_70 profile image
Kushal Magar • Edited

I made a Twitter bot that automatically generates "News Flash" videos from Tweets. Here's the Github repo.

Collapse
 
techman09 profile image
TechMan09 • Edited

Updated my website tinkertechlab.com with a new article, and some grammar updates (As well as fixing an embarrassing spelling mistake).

My secret project has improved a lot though, and I can’t wait to show it off!

Collapse
 
troy5890 profile image
Troy Harris

I'm still pretty new to web development, but I'm currently making a simple tic tac toe game I can play with some friends as a nice party game whenever it's deployed to Netlify. Still going through learning, but it's almost time to make another side project with reviewing some anime XD

Collapse
 
gedalyakrycer profile image
Gedalya Krycer

Started writing again! Took a year off to focus on work, but recently I have been missing writing about code, design and mental health. Recently finished reading a book on imposter syndrome and this weekend I wrote a post based on some notes I took on the first chapter. It felt good to process and reflect on the topics discussed.