Viewing profile — rogerbinns
rogerbinns
HN member- Joined
- Mon, Nov 14, 2011, 11:29 PM UTC
- HN karma
- 6,573
- Public activity
- 2,091 items
- HN profile
- View on Hacker News ↗
About rogerbinns
https://www.rogerbinns.com
Recent public activity
-
comment
Comment #48875209
That is documented behaviour - think of it as making a best effort, and not losing the value. As of January 2006 you could add CHECK constraints using the TYPEOF function to reject…
-
comment
Comment #48874865
SQLite was originally started as a local database library for use during development for times when the main networked database was not available. It used dbm as the underlying sto…
-
comment
Comment #48733746
SQLite has code to work around anti-virus scanning, by doing retries while the anti-virus tool is processing an operation. I've not seen anti-virus tools result in corruption on th…
-
comment
Comment #47934871
Check out wastrel https://codeberg.org/andywingo/wastrel Of note WASM 3 has garbage collection (GC), multi-memory, exception handling, tail calls and more which can be challenging …
-
comment
Comment #47875746
> ... why it was simpler. In the early 90s I implemented a gateway between Novell email and X.400. What amused me the most was X.400 specified an exclusive enumerated list of reaso…
-
comment
Comment #47848165
That is something you can do in cahoots with a regular cashier and the reason places like Costco check your receipt. The cashier just has to fake scan an item, and nobody would not…
-
comment
Comment #47678157
Related, there is also sqlite3_rsync that lets you copy a live database to another (optionally) live database, where either can be on the network, accessed via ssh. A snapshot of t…
-
comment
Comment #47024264
I remembered Weitek as making math co-processors but it turns out they did an 80287 equivalent, and nobody appears to have done an 8087 equivalent. Wikipedia claims the later co-pr…
-
comment
Comment #47020408
I was one of those students saving up the large sum for the book, when Linux was announced. There were other tensions at the time - the biggest was that Minix on 8086 was 16 bit re…
-
comment
Comment #47020346
Do you know what other prior systems did for co-processor instructions? The 8086 and 8087 must have been designed together for this approach to work, so presumably there is a reaso…
-
comment
Comment #46738969
Did it make things simpler or more complex for the byte order they picked? It is notable that new RISC designs not much later all started big endian, implying that is simpler. Can …
-
comment
Comment #46488844
Pelican is what I use, and it works well. I used to use Nikola, but gave up on that for two reasons. One was it was adding every possible feature which meant an ever growing number…
-
comment
Comment #46370271
In 1994 at the second WWW conference we presented "An API to Mosaic". It was TCL embedded inside the (only![1]) browser at the time - Mosaic. The functionality available was substa…
-
comment
Comment #46263485
Another excellent GUI is gitg. You can select specific lines for staging, but also for discarding. The latter is especially useful for temporary debug only changes that you want to…
-
comment
Comment #45837835
Heap allocation does also allow other things. For example stack frames (PyFrame) are also heap allocated. When there is an exception, the C stack gets unwound but the heap allocate…
-
comment
Comment #45802377
You aren't forced to use a GIL as I keep stating. You can set an environment variable or a command line flag to Python and the GIL will remain disabled. My package will work just f…
-
comment
Comment #45790492
I provide 3 options: 1) Use regular GIL Python and you get the highest levels of integrity and correctness of operation of my package 2) Use a free threaded Python, the GIL will be…
-
comment
Comment #45790429
What is better: 1) Saying your package supports free threading, but it isn't safe - ie concurrent mutation can result in corruption and crashes 2) Allowing the package to be loaded…
-
comment
Comment #45783223
Yes. The interpreter warns by default, and requires steps to disable the warning. My release notes say that the GIL will be enabled when the package is loaded. Is it madness that o…
-
comment
Comment #45781641
As I stated: > so that you don't have to keep separate GIL full and free threaded interpreters around It means the user doesn't have to keep two Pythons around, install packages in…
-
comment
Comment #45777133
Note that free threaded compatible doesn't necessarily mean the package supports free threading (concurrent execution), just that it can be loaded into a free threaded interpreter.…
-
comment
Comment #45708017
It is multiple fine grained locking versus a single global lock. The latter lets you do less locking, but only have a single thread of execution at a time. The former requires more…
-
comment
Comment #45706833
Some examples of what it could do when using the C Python APIs: * Point out using APIs that return borrowed references * Suggest assertions that critical sections are held when ope…
-
comment
Comment #45706809
The core Python data structures are atomic to Python developers. eg there is no way you can corrupt a list or dictionary no matter how much concurrency you try to use. This was tra…
-
comment
Comment #45706634
This has already been done. There is a 't' suffix in the ABI tag. You have to explicitly compile the extension against a free threaded interpreter in order to get that ABI tag in y…