Top 23 Optic Open-Source Projects
-
Project mention: Functional Companion to Kotlin's Standard Library | news.ycombinator.com | 2022-06-29
-
Project mention: Show HN: Monocle – bidirectional code generation library | news.ycombinator.com | 2022-04-12
A very popular Scala optics library is also called Monocle. I’ve been a happy user for a few years:
-
Scout APM
Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
-
Project mention: How to write this (3) Java lines in a functional style? | reddit.com/r/functionalprogramming | 2022-06-21
A few side-notes about this code: - you need some sort of "wrapper" or "container" in order to use functional methods like map/flatMap/filter/etc on some object - here I used Optionalfor testing because it's available in standard Java: Optional describes an object that may or may not be available. - A more suitable "wrapper" for this use-case could have been Try which describes the result of an execution that may succeed or fail, see vavr has a Try for example, functionaljava has Either - map transforms A -> B (would make sense for your mapToUser) whereas flatMap transforms A -> Optional (or whichever "wrapper", would make sense for your userService.save if suppose the saving operation can fail) - Here is a working example for you :) - practise exercises: 1- replace the "wrapper" Optional with List, there is almost no change of code, this now gives you the ability to process lists of users 2- import vavr and replace the "wrapper" Optional with Try, there is almost no change of code, this now gives you the ability to process operations that may fail - Enjoy functional programming, you'll find java is rather verbose and quickly gets clunky for FP, consider switching to another language
-
Project mention: Is there a cleaner way to immutably update a deeply nested attribute? (I feel like this is not very clean) | reddit.com/r/typescript | 2022-01-04
You could have a look at the monocle-ts library. It was designed to deal with this kind of problem.
-
Project mention: Delete an element from an associative array | reddit.com/r/learnjavascript | 2021-11-19
If this is something you do often, maybe consider lenses library, like partial.lenses — using it you can target values at arbitrary nesting levels and code should be more concise:
-
-
derive4j
Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, folds, optics and typeclasses.
-
SonarLint
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
-
-
-
The trick lies within the optic-ts integration.
-
you can try something with python https://github.com/microsoft/OpticSim.jl
-
Project mention: Where should I focus in order to be able to do a side project independently? | reddit.com/r/learnprogramming | 2022-02-09
If you're interested in physics, check out this list of open source physics projects (not all python, but some are): https://github.com/wbierbower/awesome-physics
-
Project mention: Is there an alternative to using a bunch of nested If else statements? | reddit.com/r/learnpython | 2022-01-27
python-lenses
-
Project mention: Introduction to Fourier Optics in Python: Simulating the Single/Double Slit Experiment | reddit.com/r/Physics | 2022-01-04
https://rafael-fuente.github.io/simulating-diffraction-patterns-with-the-angular-spectrum-method-and-python.html Simulating diffraction patterns with the angular spectrum method and Python
-
Project mention: In a demonstration of Einstein’s E=mc2, collisions of light yielded electrons and positrons. Physicists are claiming the first direct observation of the long-sought Breit-Wheeler process, in which two particles of light, or photons, crash into one another & produce an electron & a positron. | reddit.com/r/science | 2021-08-10
I am trying to create a cellular automata based on electro-magnetism and see what happens if I add gravity to it. I found this repository that simulates EM and managed to add gravity to it just by adding a scalar field that averages itself over time with neighboring cells and making the gravity in a spot proportional to the difference of the G scalar field at that location relative to it's neighbors.
-
prysm
physical optics: integrated modeling, phase retrieval, segmented systems, polynomials and fitting, sequential raytracing... (by brandondube)
No, again, it's because the library you were using (whether it's Optix or a twin) has well optimized routines for limiting the number of surfaces considered for intersection. Finding the intersection between a ray and a mesh is strictly slower than finding the intersection of a ray and any of the basic geometries used in optics. A Zernike or Q-polynomial on base off axis conic surface might be slower because the math is awful. But for your basic surface types, you can find the surface intersection faster than you can eve lookup which simplex is most likely to intersect the ray.
-
Incoherent-Light-Simulation
Simulation of the propagation of incoherent light, aiming to illustrate the concept of spatial coherence.
Project mention: Simulation of the double slit experiment with incoherent light at three different time scales. As the field is averaged over a few microseconds, wave interferences disappear! [OC] | reddit.com/r/educationalgifs | 2021-07-30The simulations were done with the meep finite difference scheme, programmed in C++. The interface to the simulation was programmed with Python and its source code can be found here.
-
I started with number 2 (continuing with the other two in the series), then went further and ended up with this: https://github.com/aromanro/RayTracer
-
Project mention: Visualizing quantum mechanics in an interactive simulation – Virtual Lab by Quantum Flytrap | reddit.com/r/Physics | 2022-07-04
These are in the paper. But for convenience, the game is https://quantumgame.io/, and for experiments see:
-
-
Project mention: Concave: Lens-like state management for React | reddit.com/r/javascript | 2021-12-28
-
Koko
Koko is raytracing software for the design and analysis of optical imaging and illumination systems
Project mention: How are freeform spline surfaces ray traced in commercial software? | reddit.com/r/Optics | 2021-10-05 -
Project mention: A Scala library that allows copying a case class using a dynamic property name | reddit.com/r/scala | 2021-07-22
Optics related posts
- Visualizing quantum mechanics in an interactive simulation – Virtual Lab by Quantum Flytrap
- Optic system design software
- Tying lenses by their focuses
- Programming projects for Physics in Python
- Why is the power operator much slower than multiplication in Python?
- Introduction to Fourier Optics in Python: Simulating the Single/Double Slit Experiment
- Optical simulation showing in detail the coherent light wavefront reconstruction of a customized diffraction pattern from a 2021 shaped hologram
Index
What are some of the best open-source Optic projects? This list will help you:
Project | Stars | |
---|---|---|
1 | Kategory | 5,098 |
2 | Monocle | 1,512 |
3 | functionaljava | 1,506 |
4 | monocle-ts | 882 |
5 | partial.lenses | 880 |
6 | λ | 809 |
7 | derive4j | 541 |
8 | generic-records | 424 |
9 | tofu | 417 |
10 | optics-ts | 363 |
11 | OpticSim.jl | 336 |
12 | awesome-physics | 293 |
13 | python-lenses | 232 |
14 | diffractsim | 208 |
15 | fdtd | 200 |
16 | prysm | 112 |
17 | Incoherent-Light-Simulation | 98 |
18 | RayTracer | 87 |
19 | quantum-game-2 | 59 |
20 | OptSys | 14 |
21 | concave | 13 |
22 | Koko | 12 |
23 | dynamic | 11 |
Are you hiring? Post a new remote job listing for free.