Pangaea by Ciro Santilli 35 Updated +Created
Ubuntu 21.10 does not wake up from suspend by Ciro Santilli 35 Updated +Created
Does not happen every time, only some times. Can't figure out why. Usually happens when has suspended for a longer time.
bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-470/+bug/1946303 sounds like a likely report, Nvidia driver version 470, but can't find those error messages anywhere. The last line of:
journalctl -o short-precise -k -b -1
once was:
PM: suspend entry (deep)
which is when sleep starts.
This suggests that it is not a video bug then, seems that it is not waking up at all? Gotta try to SSH into it. OK. I did SSH into it, and that was fine, so it is just the video that won't start.
PM: suspend exit
bugs.launchpad.net/ubuntu/+source/linux/+bug/1949977 is another possible bug, based on kernel version. I'm running 5.13, which is one of the failing versions on the report. Can't find any interesting dmesg though.
In another crash:
journalctl -o short-precise -k -b -1
had the following interesting lines:
nvidia-modeset: WARNING: GPU:0: Lost display notification (0:0x00000000); continuing.
[24307.640014] NVRM: GPU at PCI:0000:01:00: GPU-18af74bb-7c72-ff70-e447-87d48378ea20
[24307.640018] NVRM: Xid (PCI:0000:01:00): 79, pid=8828, GPU has fallen off the bus.
[24307.640021] NVRM: GPU 0000:01:00.0: GPU has fallen off the bus.
[24328.054022] nvidia-modeset: ERROR: GPU:0: The requested configuration of display devices (LGD (DP-4)) is not supported on this GPU.
[repeats several more times]
[24328.056767] nvidia-modeset: ERROR: GPU:0: The requested configuration of display devices (LGD (DP-4)) is not supported on this GPU.
[24328.056951] nvidia-modeset: ERROR: GPU:0: Failed to query display engine channel state: 0x0000927c:0:0:0x0000000f
[24328.056955] nvidia-modeset: ERROR: GPU:0: Failed to query display engine channel state: 0x0000927c:1:0:0x0000000f
[24328.056959] nvidia-modeset: ERROR: GPU:0: Failed to query display engine channel state: 0x0000927c:2:0:0x0000000f
[24328.056962] nvidia-modeset: ERROR: GPU:0: Failed to query display engine channel state: 0x0000927c:3:0:0x0000000f
[24328.056983] nvidia-modeset: ERROR: GPU:0: DP-4: Failed to disable DisplayPort audio stream-0
[24328.056992] nvidia-modeset: ERROR: GPU:0: Failed to query display engine channel state: 0x0000947d:0:0:0x0000000f
and there was a corresponding /var/crash/_usr_sbin_gdm3.0.crash.
Sequelize example by Ciro Santilli 35 Updated +Created
To run examples on a specific database:
  • ./index.js or ./index.js l: SQLite
  • ./index.js p: PostgreSQL. You must manually create a database called tmp and ensure that peer authentication works for it
All examples can be tested on all databases with:
cd sequelize
./test
Overview of the examples:
Raspberry Pi Pico W UART by Ciro Santilli 35 Updated +Created
You can connect form an Ubuntu 22.04 host as:
screen /dev/ttyACM0 115200
When in screen, you can Ctrl + C to kill main.py, and then execution stops and you are left in a Python shell. From there:
  • Ctrl + D: reboots
  • Ctrl + A K: kills the GNU screen window. Execution continues normally
but be aware of: Raspberry Pi Pico W freezes a few seconds after after screen disconnects from UART.
Superconducting qubits are regarded as promising because superconductivity is a macroscopic quantum phenomena of Bose Einstein condensation, and so as a macroscopic phenomena, it is easier to control and observe.
This is mentioned e.g. in this relatively early: physicsworld.com/a/superconducting-quantum-bits/. While most quantum phenomena is observed at the atomic scale, superconducting qubits are micrometer scale, which is huge!
Physicists are comfortable with the use of quantum mechanics to describe atomic and subatomic particles. However, in recent years we have discovered that micron-sized objects that have been produced using standard semiconductor-fabrication techniques – objects that are small on everyday scales but large compared with atoms – can also behave as quantum particles.
Experiment background by Ciro Santilli 35 Updated +Created
PuntSeq is a side project led by a few University of Cambridge PhDs that aims to determine which bacteria are present in the River Cam.
In July 2019, the PuntSeq team got together with the awesome Cambridge Biomakespace, an awesome biology makerspace open to all, to create a two day science outreach activity showing their procedures.
The data collected in this experiment, together with other collection sessions done by the organizers actually led to a publication on eLife: elifesciences.org/articles/61504 "Freshwater monitoring by nanopore sequencing" by Lara Urban et al. (2021), so it is awesome to see that were are actual being part of "real science".
Ciro knows nothing about biology, but since he is very curious about it, he jumped at this opportunity, and decided to document things as well as his limited knowledge would allow.
All participants chipped in some money to help cover the experiment's costs. Ciro suspects that this activity was done partially to help crowdfund the experiment, but it was a worthy investment!
The impressions you get from the experiment as a software engineer will be:
  • OMG, this is so labour intensive, why haven't they automated this
  • OMG, this is frightening, all the 8 hours of work I've just done are present in that tiny plastic tube
  • Amazing! Look at that apparatus! And the bio people are like: I've used this a million times, it's cheap and every lab has one, just work faster and don't break you piece of junk!
PCR by Ciro Santilli 35 Updated +Created
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.
We did 35 cycles of:
  • 94˚C for 30 seconds
  • 60˚C for 30 seconds
  • 72˚C for 45 seconds
Figure 1.
Marshal Scientific MJ Research PTC-200 Thermal Cycler.
Source.
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 --- 1492R
Code 1.
PCR diagram
.
Finally, after purification, we used the Qiagen QIAquick PCR Purification Kit protocol to purify the generated from unwanted PCR byproducts.
Protocols used by Ciro Santilli 35 Updated +Created
Protocols are the biologist term for "recipe".
I found that a lot of biology comes down to this: get the right recipe, follow it well even though you don't understand all the proprietary details, and pray.
Microwave transmission by Ciro Santilli 35 Updated +Created
lujakob/nestjs-realworld-example-app SQLite port by Ciro Santilli 35 Updated +Created
Tried a quick port to SQLite to get rid of annoying local databases for development, but failed, at c1c2cc4e448b279ff083272df1ac50d20c3304fa
npm install sqlite3 --save-dev
and
{
  "type": "sqlite",
  "database": "db.sqlite3",
  "entities": ["src/**/**.entity{.ts,.js}"],
  "synchronize": true
}
then:
npm start
fails with:
DataTypeNotSupportedError: Data type "timestamp" in "ArticleEntity.created" is not supported by "sqlite" database.
Attempt to hack it:
--- a/src/article/article.entity.ts
+++ b/src/article/article.entity.ts
@@ -20,10 +20,10 @@ export class ArticleEntity {
   @Column({default: ''})
   body: string;

-  @Column({ type: 'timestamp', default: () => "CURRENT_TIMESTAMP"})
+  @Column({ default: () => "CURRENT_TIMESTAMP"})
   created: Date;

-  @Column({ type: 'timestamp', default: () => "CURRENT_TIMESTAMP"})
+  @Column({ default: () => "CURRENT_TIMESTAMP"})
   updated: Date;
and after that it seems to run.
I can signup and login, terrible error reporting as usual, make sure to use long enough usernames/passwords.
However, article creation fails with:
Unhandled Rejection (TypeError): Cannot read property 'slug' of undefined
Fluorescent lamp by Ciro Santilli 35 Updated +Created
SHN_ABS by Ciro Santilli 35 Updated +Created
hello_world_len points to the special st_shndx == SHN_ABS == 0xF1FF.
0xF1FF is chosen so as to not conflict with other sections.
st_value == 0xD == 13 which is the value we have stored there on the assembly: the length of the string Hello World!.
This means that relocation will not affect this value: it is a constant.
This is small optimization that our assembler does for us and which has ELF support.
If we had used the address of hello_world_len anywhere, the assembler would not have been able to mark it as SHN_ABS, and the linker would have extra relocation work on it later.
Mineralogy by Ciro Santilli 35 Updated +Created
E. Coli K-12 MG1655 gene ytdX by Ciro Santilli 35 Updated +Created
Pi bond by Ciro Santilli 35 Updated +Created
WormAtlas by Ciro Santilli 35 Updated +Created
A collection of closely related and curated C. elegans datasets.
Vertebrate subclade by Ciro Santilli 35 Updated +Created
Ubuntu 22.04 by Ciro Santilli 35 Updated +Created

Unlisted articles are being shown, click here to show only listed articles.