Live data from Hacker News

Viewing profile — rogerbinns

rogerbinns

HN member
Joined
Mon, Nov 14, 2011, 11:29 PM UTC
HN karma
6,573
Public activity
2,091 items

About rogerbinns

rogerb@rogerbinns.com

https://www.rogerbinns.com

Recent public activity

  1. 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…

  2. 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…

  3. 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…

  4. 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 …

  5. 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…

  6. 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…

  7. 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…

  8. 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…

  9. 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…

  10. 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…

  11. 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 …

  12. 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…

  13. 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…

  14. 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…

  15. 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…

  16. 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…

  17. 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…

  18. 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…

  19. 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…

  20. 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…

  21. 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.…

  22. 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…

  23. 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…

  24. 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…

  25. 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…