Harvard University Updated 2025-07-16
How to decide if an ORM is good? Updated 2025-07-16
How to decide if an ORM is decent? Just try to replicate every SQL query from nodejs/sequelize/raw/many_to_many.js on PostgreSQL and SQLite.
There is only a very finite number of possible reasonable queries on a two table many to many relationship with a join table. A decent ORM has to be able to do them all.
If it can do all those queries, then the ORM can actually do a good subset of SQL and is decent. If not, it can't, and this will make you suffer. E.g. Sequelize v5 is such an ORM that makes you suffer.
The next thing to check are transactions.
Basically, all of those come up if you try to implement a blog hello world world such as gothinkster/realworld correctly, i.e. without unnecessary inefficiencies due to your ORM on top of underlying SQL, and dealing with concurrency.
How to diagnose a genius by Wilhelm Ostwald (1909) Updated 2025-07-16
From the abstract:Ciro Santilli couldn't agree more... notably students must have a flexible choice of what to learn.
Much money, his student went on to say, is spent by various Governments in attempting to discover those people whose thorough education may be expected to bring in a return of value to the State, and the question how best to discover latent genius is an eminently practical one. After cogitation, Prof. Ostwald came to the conclusion that it is those students who cannot be kept on the rails - that is, who are not contented with methodical teaching - who have within them the seeds of genius
How to exit from repl in rshell? Updated 2025-07-16
Ctrl + X. Documented by running
help repl from the main shell. How to make animations of molecular biology processes Updated 2025-07-16
How to use an Oxford Nanopore MinION to extract DNA from river water and determine which bacteria live in it PCR Updated 2025-07-16
More generic PCR information at: Section "Polymerase chain reaction".
Because it is considered the less interesting step, and because it takes quite some time, this step was done by the event organizers between the two event days, so participants did not get to take many photos.
PCR protocols are very standard it seems, all that biologists need to know to reproduce is the time and temperature of each step.
This process used a Marshal Scientific MJ Research PTC-200 Thermal Cycler:
We added PCR primers for regions that surround the 16S DNA. The primers are just bought from a vendor, and we used well known regions are called 27F and 1492R. Here is a paper that analyzes other choices: academic.oup.com/femsle/article/221/2/299/630719 (archive) "Evaluation of primers and PCR conditions for the analysis of 16S rRNA genes from a natural environment" by Yuichi Hongoh, Hiroe Yuzawa, Moriya Ohkuma, Toshiaki Kudo (2003)
One cool thing about the PCR is that we can also add a known barcode at the end of each primer as shown at Code 1. "PCR diagram".
This means that we bought a few different versions of our 27F/1492R primers, each with a different small DNA tag attached directly to them in addition to the matching sequence.
This way, we were able to:
- use a different barcode for samples collected from different locations. This means we
- did PCR separately for each one of them
- for each PCR run, used a different set of primers, each with a different tag
- the primer is still able to attach, and then the tag just gets amplified with the rest of everything!
- sequence them all in one go
- then just from the sequencing output the barcode to determine where each sequence came from!
Input: Bacterial DNA (a little bit)
... --- 27S --- 16S --- 1492R --- ...
|||
|||
vvv
Output: PCR output (a lot of)
Barcode --- 27S --- 16S --- 1492RCode 1.
PCR diagram
. Finally, after purification, we used the Qiagen QIAquick PCR Purification Kit protocol to purify the generated from unwanted PCR byproducts.
How to run a MicroPython script from a file on the Raspberry Pi Pico W from the command line? Updated 2025-07-26
The first/only way Ciro could find was with ampy: stackoverflow.com/questions/74150782/how-to-run-a-micropython-host-script-file-on-the-raspbery-pi-pico-from-the-host/74150783#74150783 That just worked and it worked perfectly!
pipx install adafruit-ampy
ampy --port /dev/ttyACM0 run blink.py How to show that a group is simple Updated 2025-07-16
scholarworks.sjsu.edu/cgi/viewcontent.cgi?referer=https://www.google.com/&httpsredir=1&article=5051&context=etd_theses proves that the Mathieu group is simple in just 200 pages. Nice.
How to teach Advertise your material Updated 2025-07-16
Once you have crated something awesome, you have to advertise it, otherwise no one will ever find it.
This means:
- Then ask them if they want to talk about anything.
- whenever someone asks as question on an online forum, answer it, and link to the section of your material that also answers that question.The material will answer many of their future questions.
Eventually, people will find you on the front page of Google searches, and then you will know that you've truly made something useful.
How to teach Become famous through teaching Updated 2025-07-16
How to use an Oxford Nanopore MinION to extract DNA from river water and determine which bacteria live in it Qiagen DNeasy PowerWater Kit Updated 2025-07-16
www.qiagen.com/gb/products/discovery-and-translational-research/dna-rna-purification/dna-purification/microbial-dna/dneasy-powerwater-kit (archive) Here is its documentation: www.qiagen.com/gb/resources/download.aspx?id=bb731482-874b-4241-8cf4-c15054e3a4bf&lang=en (archive).
How to use an Oxford Nanopore MinION to extract DNA from river water and determine which bacteria live in it Sample collection Updated 2025-07-16
As you would expect, not much secret here, we just dumped a 1 liter glass bottle with a rope attached around the neck in a few different locations of the river, and pulled it out with the rope.
How to use an Oxford Nanopore MinION to extract DNA from river water and determine which bacteria live in it Using the Oxford Nanopore Updated 2025-07-16
With all this ready, we opened the Nanopore flow cell, which is the 500 dollar consumable piece that goes in the sequencer.
We then had to pipette the final golden Eppendorf into the flow cell. My anxiety levels were going through the roof: Figure 4. "Oxford nanopore MinION flow cell pipette loading.".
At this point bio people start telling lab horror stories of expensive solutions being spilled and people having to recover them from fridge walls, or of how people threw away golden Eppendorfs and had to pick them out of trash bins with hundreds of others looking exactly the same etc. (but also how some discoveries were made like this). This reminded Ciro of: youtu.be/89UNPdNtOoE?t=919 Alfred Maddock's plutonium spill horror story.
Luckily this time, it worked out!
As can be seen from Video 1. "Oxford Nanopore MinION software channels pannel on Mac." the software tells us which pores are still working.
Pores go bad sooner or later randomly, until there are none left, at which point we can stop the process and throw the flow cell away.
48 hours was expected to be a reasonable time until all pores went bad, and so we called it a day, and waited for an email from the PuntSeq team telling us how things went.
We reached a yield of 16 billion base pairs out of the 30Gbp nominal maximum, which the bio people said was not bad.
How to teach Give examples Updated 2025-07-16
Keep the example/theory ratio high, very, very high.
How to teach Let students learn by teaching Updated 2025-07-16
Tell students to:
- make suggestions to the course material themselves, since you have used text and published your source.Review their suggestions, and accept the best ones.
- answer the questions of other students on your online forum. Let them work instead of you.
Praise those that do this very highly, and give them better grades if you have that superpower.
Whatever you do, even if it is playing video games: if you manage to produce related content that will interest other people, and possibly allow you to get paid, it will much much fun to do that thing.
How to teach Projcts must aim for novelty Updated 2025-07-16
How to teach Use the Internet Updated 2025-07-16
Sponsor Ciro Santilli's work on OurBigBook.com Updated 2025-11-05
Ciro Santilli is actively looking for donations and contracts so he can continue to work full time on OurBigBook.com sustainably, and develop free hardcore university-level STEM education for all ages!
For 300k USD I will quit my job or not get a new job and work on OurBigBook full time for a second year to try and kickstart The Higher Education Revolution. Status: ~44k / 300k USD. At 2M USD I retire and work on open STEM forever.
I first quit my job 1st June 2024 to work on the project for 1 year after I reached my initial 100k goal mostly via a 1000 Monero donation. In this first year I improved project tech, but didn't go and solve university courses to create super targeted content, and didn't obtain a single contributing user except myself, see a summary at Section "OurBigBook Project Update March 2025".
For a followup, it would be an interesting experiment to spend on year full time solving as many courses as I can from a world class university in the city where I live in the UK, and adding that as content to the platform to see if that would attract interest, and reaching out directly to course takers at their university environment to try and help them. I intended to do that in year one but my got distracted by tech. It is quite possible that no one has ever done that before in history: a highly motivated technical person with the time and opportunity to do one single thing: help top university students learn their STEM courses better and have more fun doing so. I have in particular identified one course where this would be particularly feasible: the mathematics course, given that much of their course materials, and also their building are quite open. I do sometimes wonder if doing this would be just a waste of my life. But part of me tells me it could generate big interest and is worth a try. It would also be fun for you to watch me continue to commit career seppuku.
For a second follow up year, I increased my requirement to 300k USD to give me more peace of mind. So the total donation so far is 244k, and if I reach a total of 300k USD, then I'll work on the project for a second year.
At 2M USD I retire and work on open STEM projects forever. At these timelines, I can't guarantee it will be specifically on education technology specifically all the way, but I guarantee that whatever it is it will be open and extremely well explained as usual.
It's necessary to be slightly underemployed if you are to do something significant - James Watson
Total donations to date ~244k USD. Donation breakdown:More details: Section "Accounting method"
- 2024-03-18: $126,352 (!!!): anonymous 1000 Monero donation to self-custody wallet. Further comments: Section "1000 Monero donation"
- 2024-03-13: $1,375: anonymous 10 Monero donation to self-custody wallet
- 2023-11-20: $14.563: anonymous 100 Monero donation to Binance wallet
- 2023-09: $810: anonymous 0.032 Bitcoin donation to Coinbase wallet
- subscriptions up to 2024-01: $143,795
How to give:And if you have a different preferred payment mechanism not listed above, please contact Ciro, and he will set it up.
- one time donations:
- cryptocurrency: note that Ciro is not a regular crypto user, so you might want to make a smaller test donation and confirm that it worked by contacting Ciro before going for colossal amounts (one can dream):
- Monero address: 4A1KK4uyLQX7EBgN7uFgUeGt6PPksi91e87xobNq7bT2j4V6LqZHKnkGJTUuCC7TjDNnKpxDd8b9DeNBpSxim8wpSczQvzf. Secret view key: 7ccaf885ff5540b0ff18927e6ac5da30130afb1eaee09ad95d3c4536a6337e0f. This is a self-custody wallet on a "clean" dedicated Monero laptop connected the Internet. I check for incoming transactions from my dirty main laptop via a view-only wallet each weekend. The cash out method used is latest simplest thing that wasn't yet blocked in my country on a given week, the last time that was centralized swappers[ref]. The fact that the cash out method changes weekly confirms that Monero privacy hadn't yet been broken by countries and that Monero is still one of the most useful cryptocurrencies: Section "Are cryptocurrencies useful?". For transparency, I announce all non-trivial transactions on social media, and the full list of transactions can be seen by anyone with the secret view key provided. I previously had different addresses, so pre-existing donations on older addresses will not be visible there.
- Bitcoin address: 3KRk7f2JgekF6x7QBqPHdZ3pPDuMdY3eWR. This is a Coinbase wallet, off-chain transactions with no transaction fees accepted from other Coinbase users. This method has been tested, I have been able to receive funds from this address in 2023. Fees: non-fixed trading fees[ref] + 0% withdrawal fee on top of any Bitcoin network for on-chain transactions[ref]
- Ethereum address: 0x44cF8C9C015F46d3b2Df730b6492823FD7A91044. Test transaction recommended.
- Solana address: DjdaGawoVFdqxJEqpBGsSWuR4G4MVFNiNkAEu89HuKcE. Test transaction recommended.
- TransferWise tag: wise.com/pay/me/cirod3. It shows as "Ciro Duran Santilli" and that's correct. No fees apparently? Love it!
- PayPal: paypal.me/cirosantilli. Note that dots in Gmail address are ignored, and it is perfectly normal if the email you see has some extra dots in it. Fees: 2.9% + 0.30 GBP[ref].
- cryptocurrency: note that Ciro is not a regular crypto user, so you might want to make a smaller test donation and confirm that it worked by contacting Ciro before going for colossal amounts (one can dream):
- monthly subscriptions of 1$/month or more on either:Symbolic 1 dollar/month donation are extremely welcome to signal your interest! This way if a certain critical mass of sponsors is ever reached (~100?), Ciro can start to more actively asking slightly higher amounts to really try to achieve full time self sufficiency.
- GitHub Sponsors: github.com/sponsors/cirosantilli. Fees: 0% for individuals, up to 6% for organizations[ref]
- Patreon: www.patreon.com/cirosantilli. Fees: 8% pro plan + 1% PayPal withdrawal capped at 20 USD[ref]. We are waiting to reach the cap to withdraw!
- larger grants/contracts from filthy rich individuals or organizations: contact Ciro as mentioned at: Section "How to contact Ciro Santilli" to discuss.Ciro is interested in contracts/voluntary work that would be compatible/synergic with the OurBigBook.com project. Some possibilities include:
- interacting directly with classes of university students to help them learn the class subject, while at the same time spreading the university knowledge outside of the university walls
- one-to-one mentoring of individuals of any age that are looking to make an impact in the world, and not just pass their exams
- fixing specific bugs in related projects Ciro has experience in. These could be either via one-off contracts, or on platforms such as:
Ciro's current ambitions require him to remain in developed countries, because Ciro wants to document advanced science and technology by liaising with top universities, and there is not nearly as much high technology in poor countries. Remaining in developed countries is also a required due to family reasons.
Note to potential anonymous crypto donors: I live in the UK, and after some messy back and forth that included freezing my account at one point, Barclays finally decided that they do not allow me to receive anonymous donations. And I'm pretty sure that the same would happen on any other British bank sooner or later. Therefore, while I continue to accept anonymous donations, they will not count towards my "if I get X I do Y"-type donation goals, since I can't reliably spend that money. If you want to donate in crypto, and clearly give me your real identity and an explanation of how you got the money, then that is fine, it can count. Just be warned that I will need to give that information to my bank and clear it with them beforehand, and if they are still not happy with it, I'll just give it all back. Your identity does not have to be publicly disclosed, only the dates and amounts. But my bank has to know.
If you would like public acknowledgement for your support, Ciro will very gladly give it, just let Ciro know how you'd prefer it. Due to Ciro Santilli's campaign for freedom of speech in China, many supporters have chosen to be anonymous, and that is totally fine, not everyone is interested in politics, or has a situation where going public is acceptable, so we don't have a standard setup yet, let's build it together. A acknowledgement section at the bottom of this page would be a minimum, but I for larger donations we could add a your advertisement in a locations such as:
- near the top of of the accounts controlled by Ciro Santilli, e.g. one of Ciro Santilli's Twitter accounts, github.com/cirosantilli or stackoverflow.com/users/895245
- near the top of cirosantilli.com
100k USD/year is a semi arbitrary amount that sounds nice. My last day job total compensation as of 2024 was about 150k USD/year.
Ciro Santilli playing with a pipette at the University of Cambridge circa 2017
. Although totally disqualified for it, Ciro would really like to understand and explain cool scientific experiments in insane detail much as he does with computer software, related:Maybe if he ever gets enough credibility, such opportunities would actually materialize. It could be a bit like Periodic Videos, but for molecular biology and physics, and backed by OurBigBook text/tree with minimal openly licensed videos. The fact that such opportunities are essentially impossible outside of the boredom of the university system is something we should really change about education.
How to use a single source multiple times in a Wikipedia article? Updated 2025-07-16
en.wikipedia.org/wiki/Help:Footnotes#Footnotes:_using_a_source_more_than_once gives the following method:
Definition, anywhere on article, likely ideally as the first usage:
<ref name="myname">{{cite web ...}}</ref>And then you can use it later on as:which automatically expands the exact same thing, or using the shortcut:
<ref name="myname" />{{r|myname}}To cite multiple pages of a book: en.wikipedia.org/wiki/Wikipedia:Citing_sources#Citing_multiple_pages_of_the_same_source, the best method is to define and use the reference without adding the Do not set the page in or for multiple pages:
p or location in cite as:<ref name="googleStory">{{cite book |title=The Google Story}}</ref>{{rp|p=123}}cite, otherwise it shows up on the references. Instead we use the {{rp}} template. And then use the reference with the {{r}} template as:{{r|googleStory|p=456}}{{r|googleStory|pp=123, 156-158}} How to view only posts by followed on Facebook feed? Updated 2025-07-16
Circa 2023, the feed is an unbearable list of stupid suggestions, never-ending idiotic memes, and you just end up missing posts you actually care about from people you actually follow.
- www.komando.com/social-media/facebook-customized-feeds/847500/
- www.quora.com/How-do-I-limit-my-news-feed-to-friends-only-on-Facebook
- www.youtube.com/watch?v=SIA8VydqiNQ OK they split their feed into multiple feeds. However on page follows www.facebook.com/?filter=pages&sk=h_chr you very quickly reach:the history doesn't go back even a few days as of November 2023! And the favorites feed www.facebook.com/?filter=favorites&sk=h_chr is more explicit on their ridiculous timing:OMG!
You're all caught up on Most Recent posts Check back later for more updates
Unlisted articles are being shown, click here to show only listed articles.













