Open source Updated +Created
DateProjectSizeDescription
2019-04gnuplotWhy does plotting with point labels make plot generation extremely slow?
2019-04GDB DashboardLimit the size of shown arguments in the Stack display
2018-03QEMU2Test record and replay feature. Also here
2018-02pandocAdd option to produce AsciiDoc output without explicit heading ids
2017-10AndroidGLES3 content gles3jni from ndk examples fails with "java.lang.RuntimeException: createContext failed: EGL_BAD_CONFIG"
2017-09Mozilla rrHow to automatically start replay and go directly to main instead of _start?
2017-09Mozilla rrReverse step over time(NULL) enters rr/src/preload/syscall_hook.S and leads to "Cannot find bounds of current function"
2017-08xselWhy maximum 4000 characters output with xsel -b ?
2017-06BuildrootDon't print mutiline struct function arguments on stack when set pretty print on
2017-04GDB DashboardAdd style option to print stack arguments on a single line
2017-05BuildrootBuild fails with "unexpected EOF while looking for matching "'" if PATH contains a newline
2017-04GDB DashboardAdd style option to print stack arguments on a single line
2017-03clBLAS.s[0] + CL_DEVICE_TYPE_ALL
2017-01game-icons.netUse multiple separate paths, allow customizing the color of each component, and give a default color
2017-01game-icons.netdelapouite/originals/svg/brick-wall.svg has some whitespace on top
2017-01OpenAI Gymexamples/agents/keyboard_agent.py fails with "AttributeError: 'TimeLimit' object has no attribute 'viewer'"
2016-12Simple DirectMedia LayerAdd C variable printf debug snippets
2015-03tigAccepted feature.
2014-11GitLabDuplicate
2014-11GitLabBug.
2014-11GitLabSupport.
2014-11Bootstrap Hover DropdownBug confirmed.
2014-11GitLabBug confirmed.
2014-11GitLabTriaging.
2014-11GitLabProblem with the display icons in the left block
2014-11sassBug confirmed.
2014-10GitLabPoint duplicate.
2014-10GitLabBug confirmed.
2014-10GitLabBug confirmed.
2014-10Semaphore CIBug confirmed.
2014-10libgit2Bug confirmed.
2014-10GitLabSupport.
2014-10GitLabPoint duplicate.
2014-09vader.vimAccepted feature.
2014-09GitLabPoint already fixed.
2014-09vader.vimAccepted feature.
2014-09GitLabBug confirmed.
2014-09GitLabBug confirmed.
2014-09GitLabPoint duplicate.
2014-09GitLabPoint already fixed.
2014-08markdownlint/markdownlintAccepted feature.
2014-08softcoverAccepted feature.
2014-08markdownlint/markdownlintAccepted feature.
2014-07GitLabBug confirmed.
2014-07GitLabAccepted feature.
2014-07GitLabAccepted feature.
2014-06GitLabAccepted feature.
2014-06GitLabPoint duplicate.
2014-06karlcow/markdown-testsuiteBug confirmed.
2014-06plasticboy/vim-markdownClose issue.
2014-06plasticboy/vim-markdownReview patch.
2014-06plasticboy/vim-markdownReview and patch patch.
2014-05softcoverAccepted feature.
2014-04karlcow/markdown-testsuiteClose issue with better issues.
2014-03tigAccepted feature.
2014-03GitLabAccepted feature.
2014-03softcoverAccepted feature.
2014-03GitLabAdd useful information.
2014-03GitLabPoint duplicate.
2014-03GitLabPoint duplicate.
2014-03GitLabAccepted feature.
2014-02GitLabPoint duplicate.
2014-02GitLabAccepted feature.
2014-02OverleafFeature generated considerable interest.
2014-02GitLabPoint already fixed.
2014-02GitLabLink feature request to patch.
2013-10yakuakeBug confirmed.
2013-10okularBug confirmed.
2013-06krusaderBug confirmed.
2013-05NumPyBug confirmed + inner cause.
2012-05krusaderAccepted feature.
2012-05krusaderBug confirmed.
2012-05AutoKeyBug confirmed.
Csound Updated +Created
XML file format (but with 99% of the action of interest in a domain-specific language on the CsInstruments and CsScore elements) that can be played and the reference implementation. Offers complex effects out-of-box apparently.
Allows you to easily define instruments with seemingly arbitrary mathematical functions, and then use them to play notes at given time intervals.
The instrument functions can be parametrized, and each note played can have different parameters.
The instrument definition actually defines a block diagram graph, much like a hardware synthesizer would.
Csound is so not-bloated that it contains an UI system. And it includes an interactive virtual MIDI keyboard that interacts with parameter knobs: www.csounds.com/manual/html/MidiTop.html
But hey, it's fun. And like any other good domain-specific language, debugging it is barbaric of course.
If only it had been written in Python... the array manipulation boilerplate would be likely perfect for NumPy, and this would have been exactly what Ciro Santilli wanted!
CSound states that one of its design goals is backward compatibility, and it shows. Some of the stuff is utterly arcane, e.g. you have to remember what GEN10, GEN11, etc. mean instead of having named enums.
It just worked on Ubuntu 20.04 no questions asked:
sudo apt install csound
git clone https://github.com/csound/csound
cd csound
git checkout 92409ecce053d707360a5794f5f4f6bf5ebf5d24
csound examples/xanadu.csd
which runs this file: github.com/csound/csound/blob/92409ecce053d707360a5794f5f4f6bf5ebf5d24/examples/xanadu.csd and this plays a relly cool sound demo:
Video 1.
Xanadu Csound demo
. Source.
Save to file instead of playing:
csound -o xanadu.wav xanadu.csd
or direct ogg output:
csound --ogg -o xanadu.ogg xanadu.csd
or pipe to stdout to FFmpeg TODO: stackoverflow.com/questions/64970503/how-to-pipe-csound-output-to-ffmpeg-for-conversion-without-an-intermediate-file
TODO find the most amazing set of songs made with it on GitHub? Some examples:
Documentation-wise, it's a bit lacking. The only dude who can explain it really well, Dr Richard Boulanger, made the "The Csound Book" closed source, so, congrats, this will forever hurt the popularity of Csound.
Discrete Fourier transform of a real signal Updated +Created
See sections: "Example 1 - N even", "Example 2 - N odd" and "Representation in terms of sines and cosines" of www.statlect.com/matrix-algebra/discrete-Fourier-transform-of-a-real-signal
The transform still has complex numbers.
Summary:
  • is real
Therefore, we only need about half of to represent the signal, as the other half can be derived by conjugation.
"Representation in terms of sines and cosines" from www.statlect.com/matrix-algebra/discrete-Fourier-transform-of-a-real-signal then gives explicit formulas in terms of .
Figure 1.
DFT of with 25 points
. Source at: numpy/fft_plot.py. This plot illustrates how the DFT of a real signal is symmetric around the middle point, and so only half of the transform points are needed to reconstruct the original signal. We also see how the phase of the sinusoids determines if their DFT components are real or imaginary.
Mass fraction summary plot analysis Updated +Created
Let's look into a sample plot, out/manual/plotOut/svg_plots/massFractionSummary.svg, and try to understand as much as we can about what it means and how it was generated.
This plot contains how much of each type of mass is present in all cells. Since we simulated just one cell, it will be the same as the results for that cell.
We can see that all of them grow more or less linearly, perhaps as the start of an exponential. We can see that all of them grow more or less linearly, perhaps as the start of an exponential. We can see that all of them grow more or less linearly, perhaps as the start of an exponential.
  • total dry mass (mass excluding water)
  • protein mass
  • rRNA mass
  • mRNA mass
  • DNA mass. The last label is not very visible on the plots, but we can deduce it from the source code.
By grepping the title "Cell mass fractions" in the source code, we see the files:
models/ecoli/analysis/cohort/massFractionSummary.py
models/ecoli/analysis/multigen/massFractionSummary.py
models/ecoli/analysis/variant/massFractionSummary.py
which must correspond to the different massFractionSummary plots throughout different levels of the hierarchy.
By reading models/ecoli/analysis/variant/massFractionSummary.py a little bit, we see that:
  • the plotting is done with Matplotlib, hurray
  • it is reading its data from files under ./out/manual/wildtype_000000/000000/generation_000000/000000/simOut/Mass/, more precisely ./out/manual/wildtype_000000/000000/generation_000000/000000/simOut/Mass/columns/<column-name>/data. They are binary files however.
    Looking at the source for wholecell/io/tablereader.py shows that those are just a standard NumPy serialization mechanism. Maybe they should have used the Hierarchical Data Format instead.
    We can also take this opportunity to try and find where the data is coming from. Mass from the ./out/manual/wildtype_000000/000000/generation_000000/000000/simOut/Mass/ looks like an ID, so we grep that and we reach models/ecoli/listeners/mass.py.
    From this we understand that all data that is to be saved from a simulation must be coming from listeners: likely nothing, or not much, is dumped by default, because otherwise it would take up too much disk space. You have to explicitly say what it is that you want to save via a listener that acts on each time step.
Figure 1.
Minimal condition mass fraction plot
. Source. File name: out/manual/plotOut/svg_plots/massFractionSummary.svg
More plot types will be explored at time series run variant, where we will contrast two runs with different growth mediums.
Output overview Updated +Created
Run output is placed under out/:
Some of the output data is stored as .cpickle files. To observe those files, you need the original Python classes, and therefore you have to be inside Docker, from the host it won't work.
We can list all the plots that have been produced under out/ with
find -name '*.png'
Plots are also available in SVG and PDF formats, e.g.:
  • PNG: ./out/manual/plotOut/low_res_plots/massFractionSummary.png
  • SVG: ./out/manual/plotOut/svg_plots/massFractionSummary.svg The SVGs write text as polygons, see also: SVG fonts.
  • PDF: ./out/manual/plotOut/massFractionSummary.pdf
The output directory has a hierarchical structure of type:
./out/manual/wildtype_000000/000000/generation_000000/000000/
where:
  • wildtype_000000: variant conditions. wildtype is a human readable label, and 000000 is an index amongst the possible wildtype conditions. For example, we can have different simulations with different nutrients, or different DNA sequences. An example of this is shown at run variants.
  • 000000: initial random seed for the initial cell, likely fed to NumPy's np.random.seed
  • genereation_000000: this will increase with generations if we simulate multiple cells, which is supported by the model
  • 000000: this will presumably contain the cell index within a generation
We also understand that some of the top level directories contain summaries over all cells, e.g. the massFractionSummary.pdf plot exists at several levels of the hierarchy:
./out/manual/plotOut/massFractionSummary.pdf
./out/manual/wildtype_000000/plotOut/massFractionSummary.pdf
./out/manual/wildtype_000000/000000/plotOut/massFractionSummary.pdf
./out/manual/wildtype_000000/000000/generation_000000/000000/plotOut/massFractionSummary.pdf
Each of thoes four levels of plotOut is generated by a different one of the analysis scripts:
  • ./out/manual/plotOut: generated by python runscripts/manual/analysisVariant.py. Contains comparisons of different variant conditions. We confirm this by looking at the results of run variants.
  • ./out/manual/wildtype_000000/plotOut: generated by python runscripts/manual/analysisCohort.py --variant_index 0. TODO not sure how to differentiate between two different labels e.g. wildtype_000000 and somethingElse_000000. If -v is not given, a it just picks the first one alphabetically. TODO not sure how to automatically generate all of those plots without inspecting the directories.
  • ./out/manual/wildtype_000000/000000/plotOut: generated by python runscripts/manual/analysisMultigen.py --variant_index 0 --seed 0
  • ./out/manual/wildtype_000000/000000/generation_000000/000000/plotOut: generated by python runscripts/manual/analysisSingle.py --variant_index 0 --seed 0 --generation 0 --daughter 0. Contains information about a single specific cell.
@cirosantilli/_file/python/pytorch/python/pytorch/matmul.py Updated +Created
NumPy does not automatically use the GPU for it: stackoverflow.com/questions/49605231/does-numpy-automatically-detect-and-use-gpu, and PyTorch is one of the most notable compatible implementations, as it uses the same memory structure as NumPy arrays.
Sample runs on P51 to observe the GPU speedup:
$ time ./matmul.py g 10000 1000 10000 100
real    0m22.980s
user    0m22.679s
sys     0m1.129s
$ time ./matmul.py c 10000 1000 10000 100
real    1m9.924s
user    4m16.213s
sys     0m17.293s
Numerical computing language Updated +Created
All those dedicated applied mathematicians languages are a waste of society's time, Ciro Santilli sure applied mathematicians are capable of writing a few extra braces in exchange for a sane general purpose language, we should instead just invest in good libraries with fast C bindings for those languages like NumPy where needed, and powerful mainlined integrated development environments.
And when Ciro Santilli see the closed source ones like MATLAB being used, it makes him lose all hope on humanity. Why. As of 2020. Why? In the 1980s, maybe. But in the 2020s?
Quantum field theory simulations Updated +Created
TODO why is it so hard to find anything non perturbative :-(
On a quantum computer...:
Video 1.
Are we living in the matrix? by David Tong (2020)
Source. Talks about how the Nielsen-Ninomiya theorem means it is impossible to simulate QFT on a computer in the case of a lattice gauge theory.