• 1 Post
  • 28 Comments
Joined 2 years ago
cake
Cake day: June 29th, 2023

help-circle
  • You can store the Merkle trees inside of a SQLite database as extra columns attached to the data.

    That way you get the benefits of a high-level query language and a robust storage layer as well as the cryptographic verification.

    In fact, there is a version control system called Fossil which does exactly that:

    https://fossil-scm.org/home/doc/trunk/www/fossil-v-git.wiki

    The baseline data structures for Fossil and Git are the same, modulo formatting details. Both systems manage adirected acyclic graph (DAG) of Merkle tree structured check-in objects. Check-ins are identified by a cryptographic hash of the check-in contents, and each check-in refers to its parent via the parent’s hash.

    The difference is that Git stores its objects as individual files in the .git folder or compressed into bespoke key/value pack-files, whereas Fossil stores its objects in a SQLite database file which provides ACID transactions and a high-level query language. This difference is more than an implementation detail. It has important practical consequences.

    […]

    The SQL query capabilities of Fossil make it easier to track the changes for one particular file within a project. For example, you can easily find the complete edit history of this one document, or even the same history color-coded by committer, Both questions are simple SQL query in Fossil, with procedural code only being used to format the result for display. The same result could be obtained from Git, but because the data is in a key/value store, much more procedural code has to be written to walk the data and compute the result. And since that is a lot more work, the question is seldom asked.





  • Small correction to an otherwise great explanation: SSNs are not recycled after death.

    **Q20:  *Are Social Security numbers reused after a person dies?*****A:  No. We do not reassign a Social Security number (SSN) after the number holder’s death. Even though we have issued over 453 million SSNs so far, and we assign about 5 and one-half million new numbers a year, the current numbering system will provide us with enough new numbers for several generations into the future with no changes in the numbering system.

    https://www.ssa.gov/history/hfaq.html



  • For the first part, I was like, yeah, that’s pretty much how all C++ GUIs work: a markup file describes the structure, a source file controls the behavior, and a special compiler generates more C++ code based on the markup file to act as glue.

    That’s all pretty standard, and it’s annoying, but I didn’t really get why they were making such a big deal out of it.

    Missing documentation is also annoying but not uncommon for internal widgets.

    What really elevates this from simply annoying to transcendentally bad, is the lack of error messages, the undocumented requirements that resource IDs be sequential, and the mandatory IDE plugin. That’s all unforgivable.


  • What you are looking for is some way to shortcut the process of learning to write an operating system by re-using your existing knowledge of Python.

    (I’m not judging that; I understand why you want to do it)

    The simple truth is that there is no way to do that. Any solution that involves using Python in a kernel would cost you more in terms of complexity and time than learning C would.

    It is rarely worth it to use a language outside of the domains that it is normally used for.


  • I assume that they mean that OpenCL, which is a traditional GPGPU language, is a very restrictive subset of either C or C++ (both are options) plus some annotations.

    In fact, OpenCL toolchains already use the Clang frontend and the LLVM backend, so the experience of using and compiling them is very close to C++.

    The talk mentions all of this; it says that a benefit of using full C++ on the GPU over using OpenCL is that you don’t have to deal with all the annoying restrictions and annotations.


  • I received an actual email requesting a donation from the “Harris Victory Fund” two hours ago.

    Here’s the fine print from the email on where the money would go:

    The first $41,300/$15,000 from a person/multicandidate committee (“PAC”) will be allocated to the DNC. The next $3,300/$5,000 from a person/PAC will be allocated to Harris for President’s Recount Account. The next $510,000/$255,000 from a person/PAC will be split equally among the Democratic state parties from these states: AK, AL, AR, AZ, CA, CO, CT, DC, DE, FL, GA, HI, IA, ID, IL, IN, KS, KY, LA, MA, MD, ME, MI, MN, MO, MS, MT, NC, ND, NE, NH, NJ, NM, NV, NY, OH, OK, OR, PA, RI, SC, SD, TN, TX, UT, VA, VT, WA, WI, WV, and WY. Any additional funds will be allocated to the DNC, subject to applicable contribution limits.







  • The way the article makes it sound is, if individual employees download OracleJDK while on the company network, and use it for small personal scripts or automation, then that might be enough to trigger Oracle to act.

    If your company is large enough, then enough employees may have done that to make you a reasonable target for litigation if you don’t work something out with Oracle. And Oracle is an expert at litigation.

    I think that the best defense for a large company would be to IP block all Oracle domains and periodically scan employee laptops for any Oracle products (especially JDK and VirtualBox guest additions) and delete them.

    You really have to treat anything that Oracle touches as malware if you want to protect yourself.