200 Matching Annotations
  1. Last 7 days
  2. Feb 2024
    1. The smallest collection of card catalogs is near the librarian’s information desk in the Social Science/Philosophy/Religion department on lower level three. It is rarely used and usually only by librarians. It contains hundreds of cards that reflect some of the most commonly asked questions of the department librarians. Most of the departments on the lower levels have similar small collections. Card catalog behind the reference desk on lower level three, photo credit: Tina Lernø

    1. Dr Minor would read a text not for its meaning but for its words. It wasa novel approach to the task – the equivalent of cutting up a book word byword, and then placing each in an alphabetical list which helped the editorsquickly find quotations. Just as Google today ‘reads’ text as a series of wordsor symbols that are searchable and discoverable, so with Dr Minor. A manualundertaking of this kind was laborious – he was basically working as acomputer would work – but it probably resulted in a higher percentage of hisquotations making it to the Dictionary page than those of other contributors.
  3. Jan 2024
    1. Instance methods Instances of Models are documents. Documents have many of their own built-in instance methods. We may also define our own custom document instance methods. // define a schema const animalSchema = new Schema({ name: String, type: String }, { // Assign a function to the "methods" object of our animalSchema through schema options. // By following this approach, there is no need to create a separate TS type to define the type of the instance functions. methods: { findSimilarTypes(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); } } }); // Or, assign a function to the "methods" object of our animalSchema animalSchema.methods.findSimilarTypes = function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); }; Now all of our animal instances have a findSimilarTypes method available to them. const Animal = mongoose.model('Animal', animalSchema); const dog = new Animal({ type: 'dog' }); dog.findSimilarTypes((err, dogs) => { console.log(dogs); // woof }); Overwriting a default mongoose document method may lead to unpredictable results. See this for more details. The example above uses the Schema.methods object directly to save an instance method. You can also use the Schema.method() helper as described here. Do not declare methods using ES6 arrow functions (=>). Arrow functions explicitly prevent binding this, so your method will not have access to the document and the above examples will not work.

      Certainly! Let's break down the provided code snippets:

      1. What is it and why is it used?

      In Mongoose, a schema is a blueprint for defining the structure of documents within a collection. When you define a schema, you can also attach methods to it. These methods become instance methods, meaning they are available on the individual documents (instances) created from that schema.

      Instance methods are useful for encapsulating functionality related to a specific document or model instance. They allow you to define custom behavior that can be executed on a specific document. In the given example, the findSimilarTypes method is added to instances of the Animal model, making it easy to find other animals of the same type.

      2. Syntax:

      Using methods object directly in the schema options:

      javascript const animalSchema = new Schema( { name: String, type: String }, { methods: { findSimilarTypes(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); } } } );

      Using methods object directly in the schema:

      javascript animalSchema.methods.findSimilarTypes = function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); };

      Using Schema.method() helper:

      javascript animalSchema.method('findSimilarTypes', function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); });

      3. Explanation in Simple Words with Examples:

      Why it's Used:

      Imagine you have a collection of animals in your database, and you want to find other animals of the same type. Instead of writing the same logic repeatedly, you can define a method that can be called on each animal instance to find similar types. This helps in keeping your code DRY (Don't Repeat Yourself) and makes it easier to maintain.

      Example:

      ```javascript const mongoose = require('mongoose'); const { Schema } = mongoose;

      // Define a schema with a custom instance method const animalSchema = new Schema({ name: String, type: String });

      // Add a custom instance method to find similar types animalSchema.methods.findSimilarTypes = function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); };

      // Create the Animal model using the schema const Animal = mongoose.model('Animal', animalSchema);

      // Create an instance of Animal const dog = new Animal({ type: 'dog', name: 'Buddy' });

      // Use the custom method to find similar types dog.findSimilarTypes((err, similarAnimals) => { console.log(similarAnimals); }); ```

      In this example, findSimilarTypes is a custom instance method added to the Animal schema. When you create an instance of the Animal model (e.g., a dog), you can then call findSimilarTypes on that instance to find other animals with the same type. The method uses the this.type property, which refers to the type of the current animal instance. This allows you to easily reuse the logic for finding similar types across different instances of the Animal model.

      Certainly! Let's go through each part and explain it in simple terms: ### 1. `this` in Mongoose: - **What is `this`?** In JavaScript, `this` refers to the current context or object. In Mongoose, particularly within methods and middleware functions, `this` represents the instance (document) the function is currently operating on. - **Why is it used?** `this` is used to access and modify the properties of the current document. For example, in a Mongoose method, `this` allows you to refer to the fields of the specific document the method is called on. ### 2. Example: Let's use the `userSchema.pre("save", ...)`, which is a Mongoose middleware, as an example: ```javascript userSchema.pre("save", async function (next) { if (!this.isModified("password")) { next(); } else { this.password = await bcrypt.hash(this.password, 10); next(); } }); ``` - **Explanation in Simple Words:** - Imagine you have a system where users can sign up and set their password. - Before saving a new user to the database, you want to ensure that the password is securely encrypted (hashed) using a library like `bcrypt`. - The `userSchema.pre("save", ...)` is a special function that runs automatically before saving a user to the database. - In this function: - `this.isModified("password")`: Checks if the password field of the current user has been changed. - If the password is not modified, it means the user is not updating their password, so it just moves on to the next operation (saving the user). - If the password is modified, it means a new password is set or the existing one is changed. In this case, it uses `bcrypt.hash` to encrypt (hash) the password before saving it to the database. - The use of `this` here is crucial because it allows you to refer to the specific user document that's being saved. It ensures that the correct password is hashed for the current user being processed. In summary, `this` in Mongoose is a way to refer to the current document or instance, and it's commonly used to access and modify the properties of that document, especially in middleware functions like the one demonstrated here for password encryption before saving to the database.

    Tags

    Annotators

    URL

  4. Dec 2023
    1. There will be errors in MESON – those I have copied from books, magazines and the card collections I have access to, those I have copied from the other free online databases and those I have perpetrated myself. If you find an error, do contact me about it, quoting the problem ids (PIDs).

      MESON is comprised in part of card index collections of chess problems and puzzles.

    2. http://www.bstephen.me.uk/meson/meson.pl?opt=top MESON Chess Problem Database

      Compiled using a variety of sources including card indexes.

      found via

      As for the Pirnie collection, not counted it, but I am slowly going through it for my online #ChessProblem database: https://t.co/eTDrPnX09b . Also going through several boxes of the White-Hume Collection which I have.

      — Brian Stephenson (@bstephen2) August 5, 2020
      <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
    1. It Took Decades To Create This Chess Puzzle Database (30 Thousand), 2020. https://www.youtube.com/watch?v=Y9craX0M_2A.

      A chess School named after Genrikh Kasparyan (alternately Henrik Kasparian) houses his card index of chess puzzles with over 30,000 cards.

      The cards are stored in stacked wooden trays in a two door cabinet with 4 shelves.

      There are at least 23 small wooden trays of cards pictured in the video, though there are possibly many more. (Possibly as many as about 35 based on the layout of the cabinet and those easily visible.)

      Kasparyan's son Sergei donated the card index to the chess school.

      Each index card in the collection, filed in portrait orientation, begins with the name of the puzzle composer, lists its first publication, has a chess board diagram with the pieces arranges, and beneath that the solution of the puzzle. The cards are arranged alphabetically by the name of the puzzle composer.

      The individual puzzle diagrams appear to have been done with a stamp of the board done in light blue ink with darker blue (or purple?) and red inked stamped pieces arranged on top of it.


      u/ManuelRodriguez331 in r/Zettelkasten - Chess players are memorizing games with index cards

  5. Nov 2023
    1. When Michael Wörgötter, a Munich-based designer and educator, came across his own Schriftenkartei set earlier this year, he understood their value for designers and researchers and wanted to make them as widely accessible as possible. He scanned each card at 1200 DPI, and reprinted them in two bound volumes, along with a handy supplementary guide, written in German and English, that offers historical background. The books are available for purchase directly from Wörgötter.

      Munich-based designer and educator Michael Wörgötter digitally scanned and then printed bound copies of the 638 cards of the Schriftenkartei into two volumes with a supplementary guide for additional historical background. He subsequently donated the Schriftenkartei to the Letterform Archive.

      Digital copies of the cards are available on Flicker (https://www.flickr.com/photos/letterformarchive/albums/72177720310834741) and the Letterform Archive intends to provide digital copies in their online archive.

    2. Coles, Stephen. “This Just In: Schriftenkartei, a Typeface Index.” Letterform Archive, November 3, 2023. https://letterformarchive.org/news/schriftenkartei-german-font-index/.

      Example of a zettelkasten covering the available typefaces produced from 1958 and 1971 in West Germany.

  6. Oct 2023
    1. Father emptied a card le for Margot and me and lled it withindex cards that are blank on one side. This is to become ourreading le, in which Margot and I are supposed to note down thebooks we’ve read, the author and the date. I’ve learned two newwords: “brothel” and “coquette.” I’ve bought a separate notebookfor new words.

      —Anne Frank (1929-1945), diary entry dated Saturday, February 27, 1943 (age 13)

      Anne Frank was given an empty card file by her father who filled it with index cards that were blank on one side. They were intended to use it as a "reading file" in which she and Margot were "supposed to note down the books we've read, the author and the date."


      In the same entry she mentioned that she'd bought a separate notebook for writing down new words she encountered. Recent words she mentions encountering were "brothel" and "coquette".

    1. Envisioning the next wave of emergent AI

      Are we stretching too far by saying that AI are currently emergent? Isn't this like saying that card indexes of the early 20th century are computers. In reality they were data storage and the "computing" took place when humans did the actual data processing/thinking to come up with new results.

      Emergence would seem to actually be the point which comes about when the AI takes its own output and continues processing (successfully) on it.

  7. Sep 2023
    1. I wonder what you think of a distinction between the more traditional 'scholar's box', and the proto-databases that were used to write dictionaries and then for projects such as the Mundaneum. I can't help feeling there's a significant difference between a collection of notes meant for a single person, and a collection meant to be used collaboratively. But not sure exactly how to characterize this difference. Seems to me that there's a tradition that ended up with the word processor, and another one that ended up with the database. I feel that the word processor, unlike the database, was a dead end.

      reply to u/atomicnotes at https://www.reddit.com/r/Zettelkasten/comments/16njtfx/comment/k1tuc9c/?utm_source=reddit&utm_medium=web2x&context=3

      u/atomicnotes, this is an excellent question. (Though I'd still like to come to terms with people who don't think it acts as a knowledge management system, there's obviously something I'm missing.)

      Some of your distinction comes down to how one is using their zettelkasten and what sorts of questions are being asked of it. One of the earliest descriptions I've seen that begins to get at the difference is the description by Beatrice Webb of her notes (appendix C) in My Apprenticeship. As she describes what she's doing, I get the feeling that she's taking the same broad sort of notes we're all used to, but it's obvious from her discussion that she's also using her slips as a traditional database, but is lacking modern vocabulary to describe it as such.

      Early efforts like the OED, TLL, the Wb, and even Gertrud Bauer's Coptic linguistic zettelkasten of the late 1970s were narrow enough in scope and data collected to make them almost dead simple to define, organize and use as databases on paper. Of course how they were used to compile their ultimate reference books was a bit more complex in form than the basic data from which they stemmed.

      The Mundaneum had a much more complex flavor because it required a standardized system for everyone to work in concert against much more freeform as well as more complex forms of collected data and still be able to search for the answers to specific questions. While still somewhat database flavored, it was dramatically different from the others because of it scope and the much broader sorts of questions one could ask of it. I think that if you ask yourself what sorts of affordances you get from the two different groups (databases and word processors (or even their typewriter precursors) you find even more answers.

      Typewriters and word processors allowed one to get words down on paper quicker by a magnitude of order or two faster, and in combination with reproduction equipment, made it easier to spin off copies of the document for small scale and local mass distribution a lot easier. They do allow a few affordances like higher readability (compared with less standardized and slower handwriting), quick search (at least in the digital era), and moving pieces of text around (also in digital). Much beyond this, they aren't tremendously helpful as a composition tool. As a thinking tool, typewriters and word processors aren't significantly better than their analog predecessors, so you don't gain a huge amount of leverage by using them.

      On the other hand, databases and their spreadsheet brethren offer a lot more, particularly in digital realms. Data collection and collation become much easier. One can also form a massive variety of queries on such collected data, not to mention making calculations on those data or subjecting them to statistical analyses. Searching, sorting, and making direct comparisons also become far easier and quicker to do once you've amassed the data you need. Here again, Beatrice Webb's early experience and descriptions are very helpful as are Hollerinth's early work with punch cards and census data and the speed with which the results could be used.

      Now if you compare the affordances by each of these in the digital era and plot their shifts against increasing computer processing power, you'll see that the value of the word processor stays relatively flat while the database shows much more significant movement.

      Surely there is a lot more at play, particularly at scale and when taking network effects into account, but perhaps this quick sketch may explain to you a bit of the difference you've described.

      Another difference you may be seeing/feeling is that of contextualization. Databases usually have much smaller and more discrete amounts of data cross-indexed (for example: a subject's name versus weight with a value in pounds or kilograms.) As a result the amount of context required to use them is dramatically lower compared to the sorts of data you might keep in an average atomic/evergreen note, which may need to be more heavily recontextualized for you when you need to use it in conjunction with other similar notes which may also need you to recontextualize them and then use them against or with one another.

      Some of this is why the cards in the Thesaurus Linguae Latinae are easier to use and understand out of the box (presuming you know Latin) than those you might find in the Mundaneum. They'll also be far easier to use than a stranger's notes which will require even larger contextualization for you, especially when you haven't spent the time scaffolding the related and often unstated knowledge around them. This is why others' zettelkasten will be more difficult (but not wholly impossible) for a stranger to use. You might apply the analogy of context gaps between children and adults for a typical Disney animated movie to the situation. If you're using someone else's zettelkasten, you'll potentially be able to follow a base level story the way a child would view a Disney cartoon. Compare this to the zettelkasten's creator who will not only see that same story, but will have a much higher level of associative memory at play to see and understand a huge level of in-jokes, cultural references, and other associations that an adult watching the Disney movie will understand that the child would completely miss.

      I'm curious to hear your thoughts on how this all plays out for your way of conceptualizing it.

  8. Aug 2023
    1. The first thing to do is to take that four-page synopsis and make a list of all the scenes that you’ll need to turn the story into a novel. And the easiest way to make that list is . . . with a spreadsheet.

      Of course spreadsheets are databases of information and one can easily and profitably put all these details into index cards which are just as easy (maybe even easier) to move around

    1. I think the problem with after_destroy is that it is triggered before the database commits. This means the change may not yet be seen by other processes querying the database; it also means the change could be rolled back, and never actually commited. Since shrine deletes the attachment in this hook, that would mean it might delete the attachment prematurely, or even delete the attachment when the record never ends up destroyed in the database at all (in case of rollback), which would be bad. For shrine's logic to work as expected here, it really does need to be triggered only after the DB commit in which the model destroy is committed.
    1. These index cards are organized alphabetically by subject ranging from accessories to world affairs and covering almost everything in between.

      Phyllis Diller's gag file was arranged alphabetically by subject and ranged from "accessories" to "world affairs".

    1. Thanks Sascha for an excellent primer on the internal machinations of our favorite machines beyond the usual focus on the storage/memory and indexing portions of the process.

      Said another way, a zettelkasten is part of a formal logic machine/process. Or alternately, as Markus Krajewski aptly demonstrates in Paper Machines (MIT Press, 2011), they are early analog storage devices in which the thinking and logic operations are done cerebrally (by way of direct analogy to brain and hand:manually) and subsequently noted down which thereby makes them computers.

      Just as mathematicians try to break down and define discrete primitives or building blocks upon which they can then perform operations to come up with new results, one tries to find and develop the most interesting "atomic notes" from various sources which they can place into their zettelkasten in hopes of operating on them (usually by juxtaposition, negation, union, etc.) to derive, find, and prove new insights. If done well, these newly discovered ideas can be put back into the machine as inputs to create additional newer and more complex outputs continuously. While the complexity of Lie Algebras is glorious and seems magical, it obviously helps to first understand the base level logic before one builds up to it. The same holds true of zettelkasten.

      Now if I could only get the printf portion to work the way I want...

  9. Jul 2023
    1. But I would do less than justice to Mr. Adler's achieve-ment if I left the matter there. The Syntopicon is, in additionto all this, and in addition to being a monument to the indus-try, devotion, and intelligence of Mr. Adler and his staff, astep forward in the thought of the West. It indicates wherewe are: where the agreements and disagreements lie; wherethe problems are; where the work has to be done. It thushelps to keep us from wasting our time through misunder-standing and points to the issues that must be attacked.When the history of the intellectual life of this century iswritten, the Syntopicon will be regarded as one of the land-marks in it.

      p xxvi

      Hutchins closes his preface to his grand project with Mortimer J. Adler by giving pride of place to Adler's Syntopicon.

      Adler's Syntopicon isn't just an index compiled into two books which were volumes 2 and 3 of The Great Books of the Western World, it's physically a topically indexed card index of data (a grand zettelkasten surveying Western culture if you will). It's value to readers and users is immeasurable and it stands as a fascinating example of what a well-constructed card index might allow one to do even when they don't have their own yet.

      Adler spoke of practicing syntopical reading, but anyone who compiles their own card index (in either analog or digital form) will realize the ultimate value in creating their own syntopical writing or what Robert Hutchins calls participating in "The Great Conversation" across twenty-five centuries of documented human communication.

      See also: https://hypothes.is/a/WF4THtUNEe2dZTdlQCbmXw


      The way Hutchins presents the idea of "Adler's achievement" here seems to indicate that Hutchins didn't have a direct hand in compiling or working on it directly.

  10. Jun 2023
  11. May 2023
    1. Discussing the documentary system of surveillance, Foucault points toa “partly official, partly secret hierarchy” in Paris that had been using a card index to managedata on suspects and criminals at least since 1833.

      source apparently from: “Apparition de la fiche et constitution des sciences humaines: encore une invention que les historiens célèbrent peu.” Michel Foucault, Surveillir et punir. Naissance de la prison (Paris: Gallimard, 1975), 287, referring to A. Bonneville, De la recidive (Paris, 1844), 92–93.

  12. Apr 2023
    1. Memindex Phondex Office Phone Number Organizer Styrene NOS

      Memindex, Inc. of Rochester, NY manufactured a plastic "Phonedex" in the mid-20th century. It was made of Dow Chemical Styrene and sat underneath a standard rotary dial telephone and contained index cards with one's lists of phone numbers on them.

      Phonedex

  13. Mar 2023
    1. Basic statistics regarding the TLL: - ancient Latin vocabulary words: ca. 55,000 words - 10,000,000 slips - ca. 6,500 boxes - ca. 1,500 slips per box - library 32,000 volumes - contributors: 375 scholars from 20 different countries - 12 Indo-European specalists - 8 Romance specialists - 100 proof-readers - ca. 44,000 words published - published content: 70% of the entire vocabulary - print run: 1,350 - Publisher: consortium of 35 academies from 27 countries on 5 continents

      Longest remaining words: - non / 37 boxes of ca 55,500 slips - qui, quae, quod / 65 boxes of ca. 96,000 slips - sum, esse, fui / 54.5 boxes of ca. 81,750 slips - ut / 35 boxes of ca 52,500 slips

      Note that some of these words have individual zettelkasten for themselves approaching the size of some of the largest personal collections we know about!

      [18:51]

    1. Ausgangspunkt und Zentrum der Arbeit am Altägyptischen Wörterbuch ist die Anlage eines erschöpfenden Corpus ägyptischer Texte.

      In the early twentieth century one might have created a card index to study a large textual corpus, but in the twenty first one is more likely to rely on a relational database instead.

  14. Feb 2023
    1. Lustig, Jason. “‘Mere Chips from His Workshop’: Gotthard Deutsch’s Monumental Card Index of Jewish History.” History of the Human Sciences, vol. 32, no. 3, July 2019, pp. 49–75. SAGE Journals, https://doi.org/10.1177/0952695119830900

      Cross reference preliminary notes from https://journals.sagepub.com/doi/abs/10.1177/0952695119830900

      Finished reading 2023-02-21 13:04:00

      urn:x-pdf:6053dd751da0fa870cad9a71a28882ba

    1. If you already have an instance of your model, you can start a transaction and acquire the lock in one go using the following code: book = Book.first book.with_lock do # This block is called within a transaction, # book is already locked. book.increment!(:views) end
    1. As our needs become more sophisticated we steadily move away from that model. We may want to look at the information in a different way to the record store, perhaps collapsing multiple records into one, or forming virtual records by combining information for different places. On the update side we may find validation rules that only allow certain combinations of data to be stored, or may even infer data to be stored that's different from that we provide.
  15. Jan 2023
    1. Since 2015 a digitalized card index of Greek functionwords in Coptic is available online (as part of the DDGCL)

      A digitized version of Gertrud Bauer's zettelkasten has been available online since 2015.

    1. Richter, Tonio Sebastian. “Whatever in the Coptic Language Is Not Greek, Can Wholly Be Considered Ancient Egyptian”: Recent Approaches towards an Integrated View of the Egyptian-Coptic Lexicon.” Journal of the Canadian Society for Coptic Studies. Journal de La Société Canadienne Pour Les Études Coptes 9 (2017): 9–32. https://doi.org/10.11588/propylaeumdok.00004673.

      Skimmed for the specifics I was looking for with respect to Gertrud Bauer's zettelkasten.

    2. Tami Gottschalk,

      As a complete aside I can't help but wonder if Tami Gottschalk is related to Louis R. Gottschalk, the historian who wrote Understanding history; a primer of historical method?

    3. The DDGLC data are not accessible online as of yet. A migration of the database and the data into aMySQL target system is underway and will allow us to offer an online user interface by the end of 2017 Whatwe can already offer now is a by-product of our work, the Gertrud Bauer Zettelkasten Online.6'

      61 Available online at http://research.uni-leipzig.de/ddglc/bauerindex.html. The Work on this parergon to the lexicographical labors of the DDGLC project was funded by the Gertrud-und Alexander Böhlig-Stiftung. The digitization of the original card index was conducted by temporary collaborators and volunteers in the DDGLC project: Jenny Böttinger, Claudia Gamma, Tami Gottschalk, Josephine Hensel, Katrin John, Mariana Jung, Christina Katsikadeli, and Elen Saif. The IT concept and programming were carried out by Katrin John and Maximilian Moller.

      Digitization of Gertrud Bauer's zettelkasten was underway in 2017 to put the data into a MySQL database with the intention of offering it as an online user interface sometime in 2017.

    1. After browsing through a variety of the cards in Gertrud Bauer's Zettelkasten Online it becomes obvious that the collection was created specifically as a paper-based database for search, retrieval, and research. The examples and data within it are much more narrowly circumscribed for a specific use than those of other researchers like Niklas Luhmann whose collection spanned a much broader variety of topics and areas of knowledge.

      This particular use case makes the database nature of zettelkasten more apparent than some others, particularly in modern (post-2013 zettelkasten of a more personal nature).

      I'm reminded here of the use case(s) described by Beatrice Webb in My Apprenticeship for scientific note taking, by which she more broadly meant database creation and use.

    1. In summer 2010, Professor Peter Nagel of Bonn forwarded seven cardboard boxes full of lexicographical slips to the DDGLC office, which had been handed over to him in the early '90s by the late Professor Alexander Böhlig.

      In the 1990s Professor Alexander Böhlig of the University of Tuebingen gave Gertrud Bauer's zettelkasten to Professor Peter Nagel of Bonn. He in turn forwardd the seven cardboard boxes of slips to the Database and Dictionary of Greek Loanwords in Coptic (DDGLC) office for their use.

    2. The original slips have been scanned and slotted into a database replicating the hierarchical structure of the original compilation. It is our pleasure to provide a new lexicographical tool to our colleagues in Coptology, Classical Studies, and Linguistics, and other interested parties.

      The Database and Dictionary of Greek Loanwords in Coptic (DDGLC) has scanned and placed the original slips from Gertrud Bauer's zettelkasten into a database for scholarly use. The database allows the replication of the hierarchical structure of Bauer's original compilation.

    1. Until the development of new digital tools, Goitein’s index cards providedthe most extensive database for the study of the documentary Geniza.

      Goitein's index cards provided a database not only for his own work, but for those who studied documentary Geniza after him.

  16. Dec 2022
    1. Goitein accumulated more than 27,000 index cards in his research work over the span of 35 years. (Approximately 2.1 cards per day.)

      His collection can broadly be broken up into two broad categories: 1. Approximately 20,000 cards are notes covering individual topics generally making of the form of a commonplace book using index cards rather than books or notebooks. 2. Over 7,000 cards which contain descriptions of a single fragment from the Cairo Geniza.

      A large number of cards in the commonplace book section were used in the production of his magnum opus, a six volume series about aspects of Jewish life in the Middle Ages, which were published as A Mediterranean Society: The Jewish communities of the Arab World as Portrayed in the Documents of the Cairo Geniza (1967–1993).

    2. https://genizalab.princeton.edu/resources/goiteins-index-cards

      <small><cite class='h-cite via'> <span class='p-author h-card'>u/Didactico</span> in Goitein's Index Cards : antinet (<time class='dt-published'>12/15/2022 23:12:33</time>)</cite></small>

    1. Postgres itself is a database “server.” There are several ways to connect to Postgres via “clients,” including GUIs, CLIs, and programming languages often via ORMs
  17. Nov 2022
    1. I work primarily on Windows, but I support my kids who primarily use Mac for their college education. I have used DT on Mac, IPOS, IOS for about a year. On Windows, I have been using Kinook’s UltraRecall (UR) for the past 15 years. It is both a knowledge outliner and document manager. Built on top of a sql lite database. You can use just life DT and way way more. Of course, there is no mobile companion for UR. The MS Windows echo system in this regard is at least 12 years behind.

      Reference for UltraRecall (UR) being the most DEVONthink like Windows alternative. No mobile companion for UR. Look into this being paired with Obsidian

  18. Oct 2022
    1. https://www.loom.com/share/a05f636661cb41628b9cb7061bd749ae

      Synopsis: Maggie Delano looks at some of the affordances supplied by Tana (compared to Roam Research) in terms of providing better block-based user interface for note type creation, search, and filtering.


      These sorts of tools and programmable note implementations remind me of Beatrice Webb's idea of scientific note taking or using her note cards like a database to sort and search for data to analyze it and create new results and insight.

      It would seem that many of these note taking tools like Roam and Tana are using blocks and sub blocks as a means of defining atomic notes or database-like data in a way in which sub-blocks are linked to or "filed underneath" their parent blocks. In reality it would seem that they're still using a broadly defined index card type system as used in the late 1800s/early 1900s to implement a set up that otherwise would be a traditional database in the Microsoft Excel or MySQL sort of fashion, the major difference being that the user interface is cognitively easier to understand for most people.

      These allow people to take a form of structured textual notes to which might be attached other smaller data or meta data chunks that can be easily searched, sorted, and filtered to allow for quicker or easier use.

      Ostensibly from a mathematical (or set theoretic and even topological) point of view there should be a variety of one-to-one and onto relationships (some might even extend these to "links") between these sorts of notes and database representations such that one should be able to implement their note taking system in Excel or MySQL and do all of these sorts of things.

      Cascading Idea Sheets or Cascading Idea Relationships

      One might analogize these sorts of note taking interfaces to Cascading Style Sheets (CSS). While there is the perennial question about whether or not CSS is a programming language, if we presume that it is (and it is), then we can apply the same sorts of class, id, and inheritance structures to our notes and their meta data. Thus one could have an incredibly atomic word, phrase, or even number(s) which inherits a set of semantic relationships to those ideas which it sits below. These links and relationships then more clearly define and contextualize them with respect to other similar ideas that may be situated outside of or adjacent to them. Once one has done this then there is a variety of Boolean operations which might be applied to various similar sets and classes of ideas.

      If one wanted to go an additional level of abstraction further, then one could apply the ideas of category theory to one's notes to generate new ideas and structures. This may allow using abstractions in one field of academic research to others much further afield.

      The user interface then becomes the key differentiator when bringing these ideas to the masses. Developers and designers should be endeavoring to allow the power of complex searches, sorts, and filtering while minimizing the sorts of advanced search queries that an average person would be expected to execute for themselves while also allowing some reasonable flexibility in the sorts of ways that users might (most easily for them) add data and meta data to their ideas.


      Jupyter programmable notebooks are of this sort, but do they have the same sort of hierarchical "card" type (or atomic note type) implementation?

    1. There is a difference between various modes of note taking and their ultimate outcomes. Some is done for learning about an area and absorbing it into one's own source of general knowledge. Others are done to collect and generate new sorts of knowledge. But some may be done for raw data collection and analysis. Beatrice Webb called this "scientific note taking".

      Historian Jacques Goutor talks about research preparation for this sort of data collecting and analysis though he doesn't give it a particular name. He recommends reading papers in related areas to prepare for the sort of data acquisition one may likely require so that one can plan out some of one's needs in advance. This will allow the researcher, especially in areas like history or sociology, the ability to preplan some of the sorts of data and notes they'll need to take from their historical sources or subjects in order to carry out their planned goals. (p8)

      C. Wright Mills mentions (On Intellectual Craftsmanship, 1952) similar research planning whereby he writes out potential longer research methods even when he is not able to spend the time, effort, energy, or other (financial) resources to carry out such plans. He felt that just the thought experiments and exercise of doing such unfulfilled research often bore fruit in his other sociological endeavors.

  19. Sep 2022
    1. Google Forms and Sheets allow users toannotate using customizable tools. Google Forms offers a graphicorganizer that can prompt student-determined categorical input andthen feeds the information into a Sheets database. Sheetsdatabases are taggable, shareable, and exportable to other software,such as Overleaf (London, UK) for writing and Python for coding.The result is a flexible, dynamic knowledge base with many learningapplications for individual and group work

      Who is using these forms in practice? I'd love to see some examples.

      This sort of set up could be used with some outlining functionality to streamline the content creation end of common note taking practices.


      Is anyone using a spreadsheet program (Excel, Google Sheets) as the basis for their zettelkasten?

      Link to examples of zettelkasten as database (Webb, Seignobos suggestions)

      syndication link


    1. arranged according to their subject-matter ;" that" epigraphic monuments belonging to the sameterritory mutually explain each other when placedside by side ;" and, lastly, that " while it is all butimpossible to range in order of subject-matter ahundred thousand inscriptions nearly all of whichbelong to several categories ; on the other hand,each monument has but one place, and a verydefinite place, in the geographical order."

      Similar to the examples provided by Beatrice Webb in My Apprenticeship, the authors here are talking about a sort of scientific note taking method that is ostensibly similar to that of the use of a modern day computer database or spreadsheet function, but which had to be effected in index card form to do the sorting and compiling and analysis.

      Do the authors here use the specific phrase scientific note taking? It appears that they do not.

    2. the method of slips is the only one mechanicallypossible for the purpose of forming, classifying, andutiUsing a collection of documents of any greatextent. Statisticians, financiers, and men of letterswho observe, have now discovered this as well asscholars.

      Moreover

      A zettelkasten type note taking method isn't only popular and useful for scholars by 1898, but is useful to "statisticians, financiers, and men of letters".

      Note carefully the word "mechanically" here used in a pre-digital context. One can't easily keep large amounts of data in one's head at once to make sense of it, so having a physical and mechanical means of doing so would have been important. In 21st century contexts one would more likely use a spreadsheet or database for these types of manipulations at increasingly larger scales.

  20. Jul 2022
    1. It wasnot until we had completely re-sorted all our innumerable sheets ofpaper according to subjects, thus bringing together all the facts relatingto each, whatever the trade concerned, or the place or the date—andhad shuffled and reshuffled these sheets according to various tentativehypotheses—that a clear, comprehensive and verifiable theory of theworking and results of Trade Unionism emerged in our minds; tobe embodied, after further researches by way of verification, in ourIndustrial Democracy (1897).

      Beatrice Webb was using her custom note taking system in the lead up to the research that resulted in the publication of Industrial Democracy (1897).

      Is there evidence that she was practicing this note taking/database practice earlier than this?

  21. May 2022
  22. Apr 2022
    1. These callbacks are smart enough to run after the final (outer) transaction* is committed. * Usually, there is one real transaction and nested transactions are implemented through savepoints (see, for example, PostgreSQL).

      important qualification: the outer transaction, the (only) real transaction

    1. These callbacks are focused on the transactions, instead of specific model actions.

      At least I think this is talking about this as limitation/problem.

      The limitation/problem being that it's not good/useful for performing after-transaction code only for specific actions.

      But the next sentence "This is beneficial..." seems contradictory, so I'm a bit confused/unclear of what the intention is...

      Looking at this project more, it doesn't appear to solve the "after-transaction code only for specific actions" problem like I initially thought it did (and like https://github.com/grosser/ar_after_transaction does), so I believe I was mistaken. Still not sure what is meant by "instead of specific model actions". Are they claiming that "before_commit_on_create" for example is a "specific model action"? (hardly!) That seems almost identical to the (not specific enough) callbacks provided natively by Rails. Oh yeah, I guess they do point out that Rails 3 adds this functionality, so this gem is only needed for Rails 2.

    1. In this case, the worker process query the newly-created notification before main process commits the transaction, it will raise NotFoundError, because transaction in worker process can't read uncommitted notification from transaction in main process.
    1. Generates the following sql in sqlite3: "SELECT \"patients\".* FROM \"patients\" INNER JOIN \"users\" ON \"users\".\"id\" = \"patients\".\"user_id\" WHERE (\"users\".\"name\" LIKE '%query%')" And the following sql in postgres (notice the ILIKE): "SELECT \"patients\".* FROM \"patients\" INNER JOIN \"users\" ON \"users\".\"id\" = \"patients\".\"user_id\" WHERE (\"users\".\"name\" ILIKE '%query%')" This allows you to join with simplicity, but still get the abstraction of the ARel matcher to your RDBMS.
  23. Mar 2022
    1. # Optionally, you can write a description for the migration, which you can use for # documentation and changelogs. describe 'The _id suffix has been removed from the author property in the Articles API.'
    1. Object hierarchies are very different from relational hierarchies. Relational hierarchies focus on data and its relationships, whereas objects manage not only data, but also their identity and the behavior centered around that data.
    1. If you need to ensure migrations run in a certain order with regular db:migrate, set up Outrigger.ordered. It can be a hash or a proc that takes a tag; either way it needs to return a sortable value: Outrigger.ordered = { predeploy: -1, postdeploy: 1 } This will run predeploys, untagged migrations (implicitly 0), and then postdeploy migrations.
    1. The code will work without exception but it doesn’t set correct association, because the defined classes are under namespace AddStatusToUser. This is what happens in reality: role = AddStatusToUser::Role.create!(name: 'admin') AddStatusToUser::User.create!(nick: '@ka8725', role: role)
    1. this gem promotes writing tests for data migrations providing a way allows to write code that migrates data in separate methods.
    2. having the code migrates data separately covered by proper tests eliminates those pesky situations with outdated migrations or corrupted data.
    1. There are three keys to backfilling safely: batching, throttling, and running it outside a transaction. Use the Rails console or a separate migration with disable_ddl_transaction!.
    2. Active Record creates a transaction around each migration, and backfilling in the same transaction that alters a table keeps the table locked for the duration of the backfill. class AddSomeColumnToUsers < ActiveRecord::Migration[7.0] def change add_column :users, :some_column, :text User.update_all some_column: "default_value" end end
  24. Feb 2022
    1. Okay, so what’s the blockchain? It’s a database. Unlike most databases, it’s not controlled by one entity and it’s not easily rewritten. Instead, it’s a ledger, a permanent, examinable, public database. One can use it to record transactions of various sorts. It would be a really good way to keep track of property records, for example. Instead, we have title insurance, unsearchable folders of deeds in City Hall and often dusty tax records.

      This wrongly assumes that

      • Permanent records are always desirable
      • Accountability undermines corporations
    1. A very visible aspect of the object-relational mismatch is the fact that relational databases don't support inheritance. You want database structures that map clearly to the objects and allow links anywhere in the inheritance structure. Class Table Inheritance supports this by using one database table per class in the inheritance structure.
    1. Tyler Black, MD. (2022, January 4). /1 =-=-=-=-=-=-=- Thread: Mortality in 2020 and myths =-=-=-=-=-=-=- 2020, unsurprisingly, came with excess death. There was an 18% increase in overall mortality, year on year. But let’s dive in a little bit deeper. The @CDCgov has updated WONDER, its mortality database. Https://t.co/DbbvvbTAZQ [Tweet]. @tylerblack32. https://twitter.com/tylerblack32/status/1478501508132048901

  25. Jan 2022
  26. Dec 2021
  27. Sep 2021
  28. Jun 2021
    1. Li, X., Ostropolets, A., Makadia, R., Shoaibi, A., Rao, G., Sena, A. G., Martinez-Hernandez, E., Delmestri, A., Verhamme, K., Rijnbeek, P. R., Duarte-Salles, T., Suchard, M. A., Ryan, P. B., Hripcsak, G., & Prieto-Alhambra, D. (2021). Characterising the background incidence rates of adverse events of special interest for covid-19 vaccines in eight countries: Multinational network cohort study. BMJ, 373, n1435. https://doi.org/10.1136/bmj.n1435

    1. For example, Database Cleaner for a long time was a must-have add-on: we couldn’t use transactions to automatically rollback the database state, because each thread used its own connection; we had to use TRUNCATE ... or DELETE FROM ... for each table instead, which is much slower. We solved this problem by using a shared connection in all threads (via the TestProf extension). Rails 5.1 was released with a similar functionality out-of-the-box.
  29. May 2021
    1. Robert Colvile. (2021, February 16). The vaccine passports debate is a perfect illustration of my new working theory: That the most important part of modern government, and its most important limitation, is database management. Please stick with me on this—It’s much more interesting than it sounds. (1/?) [Tweet]. @rcolvile. https://twitter.com/rcolvile/status/1361673425140543490

  30. Mar 2021
  31. Feb 2021
  32. Jan 2021
    1. IANA Time Zone Database Main time zone database. This is where Moment TimeZone sources its data from.

      every place has a history of different Time Zones because of the geographical, economical, political, religious reasons .These rules are present in IANA Time Zone database. Also it contains rules for Daylight Saving Time (DST) . Checkout the map on this page: https://en.wikipedia.org/wiki/Daylight_saving_time

  33. Dec 2020
    1. Databases If databases data is stored on a ZFS filesystem, it’s better to create a separate dataset with several tweaks: zfs create -o recordsize=8K -o primarycache=metadata -o logbias=throughput -o mountpoint=/path/to/db_data rpool/db_data recordsize: match the typical RDBMSs page size (8 KiB) primarycache: disable ZFS data caching, as RDBMSs have their own logbias: essentially, disabled log-based writes, relying on the RDBMSs’ integrity measures (see detailed Oracle post)
  34. Nov 2020
    1. Interaction with stable storage in the modern world isgenerally mediated by systems that fall roughly into oneof two categories: a filesystem or a database. Databasesassume as much as they can about the structure of thedata they store. The type of any given piece of datais known (e.g., an integer, an identifier, text, etc.), andthe relationships between data are well defined. Thedatabase is the all-knowing and exclusive arbiter of ac-cess to data.Unfortunately, if the user of the data wants more di-rect control over the data, a database is ill-suited. At thesame time, it is unwieldy to interact directly with stablestorage, so something light-weight in between a databaseand raw storage is needed. Filesystems have traditionallyplayed this role. They present a simple container abstrac-tion for data (a file) that is opaque to the system, and theyallow a simple organizational structure for those contain-ers (a hierarchical directory structure)

      Databases and filesystems are both systems which mediate the interaction between user and stable storage.

      Often, the implicit aim of a database is to capture as much as they can about the structure of the data they store. The database is the all-knowing and exclusive arbiter of access to data.

      If a user wants direct access to the data, a database isn't the right choice, but interacting directly with stable storage is too involved.

      A Filesystem is a lightweight (container) abstraction in between a database and raw storage. Filesystems are opaque to the system (i.e. visible only to the user) and allow for a simple, hierarchical organizational structure of directories.

    1. I've spent the last 3.5 years building a platform for "information applications". The key observation which prompted this was that hierarchical file systems didn't work well for organising information within an organisation.However, hierarchy itself is still incredibly valuable. People think in terms of hierarchies - it's just that they think in terms of multiple hierarchies and an item will almost always belong in more than one place in those hierarchies.If you allow users to describe items in the way which makes sense to them, and then search and browse by any of the terms they've used, then you've eliminated almost all the frustrations of a file system. In my experience of working with people building complex information applications, you need: * deep hierarchy for classifying things * shallow hierarchy for noting relationships (eg "parent company") * multi-values for every single field * controlled values (in our case by linking to other items wherever possible) Unfortunately, none of this stuff is done well by existing database systems. Which was annoying, because I had to write an object store.

      Impressed by this comment. It foreshadows what Roam would become:

      • People think in terms of items belonging to multiple hierarchies
      • If you allow users to describe items in a way that makes sense to them and allow them to search and browse by any of the terms they've used, you've solved many of the problems of existing file systems

      What you need to build a complex information system is:

      • Deep hierarchies for classifying things (overlapping hierarchies should be possible)
      • Shallow hierarchies for noting relationships (Roam does this with a flat structure)
      • Multi-values for every single field
      • Controlled values (e.g. linking to other items when possible)
  35. Oct 2020