grep by Ciro Santilli 40 Updated 2025-07-16
If you are a programmer, grep becomes a verb: "to grep" means "to search text files", much like "to Google" means "to search random stuff online".
Also known as: Quantitative PCR (qPCR).
Like PCR, but the amplification machine measures the concentration of DNA at each step.
This describes one possible concentration detection method with fluorescent molecules that only become fluorescent when the DNA is double stranded (SYBR Green)
Video 1.
Polymerase Chain Reaction (PCR) - Quantitative PCR (qPCR) by Applied Biological Materials (2016)
Source.
This allows you to predict the exact initial concentration by extrapolating the exponential curve backwards.
TODO: vs non-real-time PCR. Why can't you just divide by 2 for every heating step to reach back the original concentration? Likely the reaction reach saturation at an unknown step.
TODO: vs non-real-time PCR in medical diagnostics: do you really need to know concentration for diagnostics? Isn't it enough to know if the virus is present or not?
Isothermal means "at fixed temperature".
This is to contrast with the more well established polymerase chain reaction, which requires heating and cooling the sample several times.
The obvious advantage of isothermal methods is that their machinery can be simpler and cheaper, and the process can happen faster, since you don't have to do through heating and cooling cycles.
gnuplot by Ciro Santilli 40 Updated 2025-07-16
Tends to be Ciro Santilli's first attempt for quick and dirty graphing: github.com/cirosantilli/gnuplot-cheat.
domain-specific language. When it get the jobs done, it is in 3 lines and it feels great.
When it doesn't, you Google for an hours, and then you give up in frustration, and fall back to Matplotlib.
Suikoden by Ciro Santilli 40 Updated 2025-07-16
This game (1 or 2, can't remember) made an impression on Ciro Santilli for some reason.
Only many many years after playing it, after Ciro started getting more interested, did he learn that it was actually an adaptation of the Chinese mega-classic Water Margin.
"Suikoden" is the actual Japenese transliteration for the Chinese name of the original Water Margin novel.
The game puts great emphasis on the concept of the 108 Stars of Destiny, which never left Ciro's mind: making 108 allies, the main collectible of the game, allows you to make a more powerful alliance, and unlock better endings.
Heroku by Ciro Santilli 40 Updated 2025-07-16
This feels good.
One problem though is that Heroku is very opinionated, a likely like other PaaSes. So if you are trying something that is slightly off the mos common use case, you might be fucked.
Another problem with Heroku is that it is extremely difficult to debug a build that is broken on Heroku but not locally. We needed a way to be able to drop into a shell in the middle of build in case of failure. Otherwise it is impossible.
Deployment:
git push heroku HEAD:master
View stdout logs:
heroku logs --tail
Drop and recreate database:
heroku pg:reset --confirm <app-name>
All tables are destroyed.
Restart app:
heroku restart
Borlotti beans by Ciro Santilli 40 Updated 2025-07-16
This looks a lot like the beans that Brazilians venerate and can be easily found in the United Kingdom as of 2020.
The more exact type seems to be pinto bean, but this is close enough.
2021-03: same but 2.5 teaspons, seems to be the right ammount.
2021-02-10: attempt 3: 500g 1 hour 30 minutes no pressure, uncontrolled water. Salt with one chorizo: put 3 teaspoons, it was a bit too much, going to do 2 next time and see.
2020-12-14: attempt 3: 250g of beans, 1.5l of water, 30 minutes pressure.
2020-11-30: attempt 2: 275ml of dry beans, about 50% of 500g bag, putting 1650 ml (6x) of water on pressure cooker Still had to throw out some water.
Density dry raw: 216 g/250 ml = 432 g / 500 ml = 500 g / 580 ml = 864 g/L
500 g dry expands to in water after 12 hours: 1200 ml
Therefore 500 g dry = 864 / 2 L = 432 ml expands about 3x.
Therefore, to the maximum 2.5L of the cooker with 8x dry volume water from this recipe I can use:
2500 = volume expanded bean + volume water = 3 volume dry bean + 8 volume dry bean = 11 volume dry bean
and so:
volume dry bean = 2500/11 = 227ml
which is about 227 / 580 = 40% of the 500 g bag.
After first try, I found that 8x volume of water is way, way too much. Going to try 6x next time.
Pinto bean by Ciro Santilli 40 Updated 2025-07-16
This seems to be the "brown Brazilian bean" that many Brazilians eat every day.
Edit: after buying it, not 100% sure. This one felt smaller than what Ciro had in Brazil, borlotti beans might be closer. Pinto beans are smaller, and creamier, and have softer peel, possibly produced less natural gas.
2021-04: second try.
2021-03: did for first time, started with same procedure as borlotti beans 2021-03. Maybe 1h30 is too much. Outcome was still very good.
As mentioned at Section "Plancherel theorem", some people call this part of Plancherel theorem, while others say it is just a corollary.
This is an important fact in quantum mechanics, since it is because of this that it makes sense to talk about position and momentum space as two dual representations of the wave function that contain the exact same amount of information.

Pinned article: Introduction to the OurBigBook Project

Welcome to the OurBigBook Project! Our goal is to create the perfect publishing platform for STEM subjects, and get university-level students to write the best free STEM tutorials ever.
Everyone is welcome to create an account and play with the site: ourbigbook.com/go/register. We belive that students themselves can write amazing tutorials, but teachers are welcome too. You can write about anything you want, it doesn't have to be STEM or even educational. Silly test content is very welcome and you won't be penalized in any way. Just keep it legal!
We have two killer features:
  1. topics: topics group articles by different users with the same title, e.g. here is the topic for the "Fundamental Theorem of Calculus" ourbigbook.com/go/topic/fundamental-theorem-of-calculus
    Articles of different users are sorted by upvote within each article page. This feature is a bit like:
    • a Wikipedia where each user can have their own version of each article
    • a Q&A website like Stack Overflow, where multiple people can give their views on a given topic, and the best ones are sorted by upvote. Except you don't need to wait for someone to ask first, and any topic goes, no matter how narrow or broad
    This feature makes it possible for readers to find better explanations of any topic created by other writers. And it allows writers to create an explanation in a place that readers might actually find it.
    Figure 1.
    Screenshot of the "Derivative" topic page
    . View it live at: ourbigbook.com/go/topic/derivative
  2. local editing: you can store all your personal knowledge base content locally in a plaintext markup format that can be edited locally and published either:
    This way you can be sure that even if OurBigBook.com were to go down one day (which we have no plans to do as it is quite cheap to host!), your content will still be perfectly readable as a static site.
    Figure 5. . You can also edit articles on the Web editor without installing anything locally.
    Video 3.
    Edit locally and publish demo
    . Source. This shows editing OurBigBook Markup and publishing it using the Visual Studio Code extension.
  3. https://raw.githubusercontent.com/ourbigbook/ourbigbook-media/master/feature/x/hilbert-space-arrow.png
  4. Infinitely deep tables of contents:
    Figure 6.
    Dynamic article tree with infinitely deep table of contents
    .
    Descendant pages can also show up as toplevel e.g.: ourbigbook.com/cirosantilli/chordate-subclade
All our software is open source and hosted at: github.com/ourbigbook/ourbigbook
Further documentation can be found at: docs.ourbigbook.com
Feel free to reach our to us for any help or suggestions: docs.ourbigbook.com/#contact