174 Matching Annotations
  1. Last 7 days
  2. May 2024
    1. Scholars disagree on how Ulysses' speech functions in this format; it is not necessarily clear to whom Ulysses is speaking, if anyone, and from what location. Some see the verse turning from a soliloquy to a public address, as Ulysses seems to speak to himself in the first movement, then to turn to an audience as he introduces his son, and then to relocate to the seashore where he addresses his mariners.[5]

      To whom does Ulysses speak to?

  3. Mar 2024
    1. Frequent re- arrangements are a distinct disadvantage,for with every change the filer loses much time in becoming familiaragain with the new positions.

      While Kaiser recommends against the need to re-arrange physical cards from one drawer to another, which creates the need to refamiliarize oneself with their new locations, the same idea applies to switching from one digital note taking application to another as a similar switch of user interface functionality may cause additional overhead and stress thereby preventing quick use of the system itself.

    2. It is there-fore to be expected that the initial cost of the card system is nota fair criterion of its cost when in working order.

      Setting up and learning a note taking or card index system has a reasonably large up-front cost, but learning it well and being able to rely on it over long periods of time will eventually reap larger and cheaper long-term outcomes and benefits.

      Unless changing systems creates dramatically larger improvements, the cost of change will surely swamp the benefits making the switch useless. This advice given by Kaiser is still as true today as it was in 1908, we tend not to think about the efficiency as much now as he may have then however and fall trap to shiny object syndrome.

  4. Jan 2024
    1. A system is a composition of objects thatare abstractions, which hide data andexpose behavior*

      Composition Abstraction Hide data Expose behavior

    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

    1. You should take care, however, to make sure that your individual objects can stand alone as much as possible. Tightly coupled objects are objects that rely so heavily on each other that removing or changing one will mean that you have to completely change another one - a real bummer.

      Isn't there a conflict between this principle and code reusability?

  5. Dec 2023
    1. But just what is an object? At its simplest, an object has two components: Internal state. This is embodied by variables known only to the object. A variable only visible within the object is called a private variable. As a consequence, it is impossible – if the object decides so – to know the internal state of the object from another object. A repertoire of behaviors. These are the messages an object instance responds to. When the object receives a message it understands, it gets its behavior from a method with that name known by its class or superclass.

      Reductionistic vs other definitions

      Is the annotated paragraph describing what is an object or how is an object? This same criticism is also present in Dave West's Object Thinking.

      Other perspectives:

      Smalltalk's design—and existence—is due to the insight that everything we can describe can be represented by the recursive composition of a single kind of behavioral building block that hides its combination of state and process inside itself and can be dealt with only through the exchange of messages. Philosophically, Smalltalk's objects have much in common with the monads of Leibniz and the notions of 20th century physics and biology. Its way of making objects is quite Platonic in that some of them act as idealizations of concepts—Ideas—from which manifestations can be created. That the Ideas are themselves manifestations (of the Idea-Idea) and that the Idea-Idea is a-kind-of Manifestation-Idea—which is a-kind-of itself, so that the system is completely self-describing— would have been appreciated by Plato as an extremely practical joke.

      —Alan Kay Early History of Smalltalk (1972)

      So objects have something resembling agency, see the actor model.

      OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I'm not aware of them.

      —Alan Kay Clarification of "object-oriented", email reply to Stefan Ram

      I also like the complementary view that Gerald Sussman teaches on his video lecture 5A that informs chapter 2 and 3 of SICP; objects are a cheap way of modelling the world.

  6. Nov 2023
    1. the main reason for this lack of 00:11:50 awareness is that our attention is almost completely absorbed into the content the what or object of our experience to the detriment of the experience itself
      • for key insight: object overshadows subject

      • paraphrase

        • we become so focused on the object that we lose sight off our subjective involvement in the act of observation or participation.
        • she gives the example of writing in which we forget the sensations of the fingers because we are so engaged with the ideas flowing out
  7. Oct 2023
    1. Plex is a scientific philosophy. Instead of claiming that science is so powerfulthat it can explain the understanding of understanding in question, we takeunderstanding as the open question, and set about to determine what scienceresults. [It turns out to be precisely the science we use every day, so nothingneed be discarded or overturned - but many surprises result. Some very simpleexplanations for some very important scientific observations arise naturally inthe course of Plex development. For example, from the First Definition, thereare several Plex proofs that there was no beginning, contrary to StephenHawking's statement that "this idea that time and space should be finite withoutboundary is just a proposal: it cannot be deduced from some other principle."(A Brief History of Time, p. 136.) The very concept of a "big bang" is strictlyan inherent artifact of our science's view of the nature of nature. There was no"initial instant" of time.]Axioms are assumptions. Plex has no axioms - only definitions. (Only) Noth-ing is assumed to be known without definition, and even that is "by definition" ,

      It doesn't claim that science can explain everything, but rather, it uses science to explore and understand our understanding of the world. The surprising part is that the science it uses is the same science we use daily, so nothing new needs to be learned or old knowledge discarded.

      One example of a surprising discovery made through Plex is that, contrary to Stephen Hawking's theory, there was no beginning to time and space. This contradicts the popular "big bang" theory, which suggests there was an initial moment when time and space began. According to Plex, this idea of a "big bang" is just a result of how our current science views the nature of the universe.

      Plex also differs from other scientific approaches in that it doesn't rely on axioms, which are assumptions made without proof. Instead, Plex only uses definitions, meaning it only accepts as true what can be clearly defined and understood.

      We're saying let's consider the concept of a "big bang". In traditional science, we might assume the existence of a "big bang" like this:

      instead of thinking big_bang = True

      But in Plex, we would only accept the "big bang" if we can define it:

      python def big_bang(): # Define what a "big bang" is # If we can't define it, then it doesn't exist in Plex pass

      Let's not assume reality but rather just try to define the elements we need to use

  8. Sep 2023
    1. An object in object-oriented language is essentially a record that contains procedures specialized to handle that record; and object types are an elaboration of record types. Indeed, in most object-oriented languages, records are just special cases of objects, and are known as plain old data structures (PODSs), to contrast with objects that use OO features.
    1. According to the Bodhisattva model of intelligence, such deconstruction of the apparent foundations of cognition elicits a transformation of both the scope and acuity of the cognitive system that performs it.
      • for: deconstructing self, self - deconstruction, object agent action triplet, deconstructing cognition
      • comment
        • this is a necessary outcome of the self-reflective nature of human cognition.
        • English, and many other languages bake the (object, agent, action) triplet into its very structure, making it problematic to use language in the same way after the foundations of cognition have been so deconstructed.
        • Even though strictly speaking the self can be better interpreted as a psycho-social construct and an epiphenomena, it is still very compelling and practical in day-to-day living, including the use of languages which structurally embed the (object, agent, action) triplet.
    1. I’ve been flitting around loads of note taking platforms - each time, I bask in the glory of a new tool then about 3-4 weeks later I’m done.The one lasting tool is Roam, which I still like despite it being tossed aside by many for other tools. I use TickTick for my task management.I’ve recently returned to journaling or writing things down for that I’ve done and what I want to achieve. I still have an online and mobile task list but I really find writing useful for reflecting.Getting into Zettkekasten, I’m about to use a paper card based approach to do a spell of studying. Im looking forward to the analogue experience but almost feel like I’m being disloyal to the modern digital way. I’m looking forward to seeing if this method helps digest the learning and seeing where this takes me.

      reply to u/FilterGrad6 at https://www.reddit.com/r/Zettelkasten/comments/16iwdep/newbie/

      Digital is just a tool. Why necessarily chose it over analog unless you can specifically identify affordances which dramatically improve your experience or output?

      As you've discovered, shiny object syndrome may prevent you from collecting enough into one place to be truly useful and valuable. Pick one that seems to work for you and build from there.

      If paper was good enough for the practices and outputs of Carl Linnaeus, Konrad Gessner, Gottfried Wilhelm Leibnitz, John Locke, Hans Blumenberg, Roland Barthes, Beatrice Webb, Jacques Barzun, Niklas Luhmann, Gertrud Bauer, Marcel Mauss, Phyllis Diller, and so many others is there any reason it shouldn't work just as effectively for your work?

  9. Aug 2023
    1. Does anyone has it’s Zettelkasten in Google Docs, Microsoft Word or Plain Tex (without a hood app like obsidian or The Archive)? .t3_15fjb97._2FCtq-QzlfuN-SwVMUZMM3 { --postTitle-VisitedLinkColor: #9b9b9b; --postTitleLink-VisitedLinkColor: #9b9b9b; --postBodyLink-VisitedLinkColor: #989898; }

      reply to u/Efficient_Earth_8773 at https://www.reddit.com/r/Zettelkasten/comments/15fjb97/does_anyone_has_its_zettelkasten_in_google_docs/

      Experimenting can be interesting. I've tried using spreadsheet software like Google Sheets or Excel which can be simple and useful methods that don't lose significant functionality. I did separate sheets for zettels, sources, and the index. Each zettel had it's own row with with a number, title, contents, and a link to a source as well as the index.

      Google Docs might be reasonably doable, but the linking portion may be one of the more difficult affordances to accomplish easily or in a very user-centric fashion. It is doable though: https://support.google.com/docs/answer/45893?hl=en&co=GENIE.Platform%3DDesktop, and one might even mix Google Docs with Google Sheets? I could see Sheets being useful for creating an index and or sources while Docs could be used for individual notes as well. It's all about affordances and ease of use. Text is a major portion of having and maintaining a zettelkasten, so by this logic anything that will allow that could potentially be used as a zettelkasten. However, it helps to think about how one will use it in practice on a day-to-day basis. How hard will it be to create links? Search it? How hard will it be when you've got thousands of "slips"? How much time will these things take as it scales up in size?

      A paper-based example: One of the reasons that many pen and paper users only write on one side of their index cards is that it saves the time of needing to take cards out and check if they do or don't have writing on the back or remembering where something is when it was written on the back of a card. It's a lot easier to tip through your collection if they're written only on the front. If you use an alternate application/software what will all these daily functions look like compounded over time? Does the software make things simpler and easier or will it make them be more difficult or take more time? And is that difficulty and time useful or not to your particular practice? Historian and author David McCullough prefers a manual typewriter over computers with keyboards specifically because it forces him to slow down and take his time. Another affordance to consider is how much or little work one may need to put into using it from a linking (or not) perspective. Using paper forces one to create a minimum of at least one link (made by the simple fact of filing it next to another) while other methods like Obsidian allow you to too easily take notes and place them into an infinitely growing pile of orphaned notes. Is it then more work to create discrete links later when you've lost the context and threads of potential arguments you might make? Will your specific method help you to regularly review through old notes? How hard will it be to mix things up for creativity's sake? How easy/difficult will it be to use your notes for writing/creating new material, if you intend to use it for that?

      Think about how and why you'd want to use it and which affordances you really want/need. Then the only way to tell is to try it out for a bit and see how one likes/doesn't like a particular method and whether or not it helps to motivate you in your work. If you don't like the look of an application and it makes you not want to use it regularly, that obviously is a deal breaker. One might also think about how difficult/easy import/export might be if they intend to hop from one application to another. Finally, switching applications every few months can be self-defeating, so beware of this potential downfall as you make what will eventually need to be your ultimate choice. Beware of shiny object syndrome or software that ceases updating in just a few years without easy export.

  10. Jul 2023
  11. May 2023
    1. https://www.youtube.com/watch?v=dvLkVimqv8E

      Review of the Analog productivity system. Quick overview with generally positive tenor.

      The creator mentions that he collects productivity systems like Pokémon! A sort of affliction of shiny object syndrome in the productivity space.

      Passing mention of Patrick Rhone's dash/plus system

    1. I used Apple Notes, Evernote, Roam, Obsidian, Bear, Notion, Anki, RemNote, the Archive and a few others. I was pondering about different note types, fleeting, permanent, different organisational systems, hierarchical, non-hierarchical, you know the deal. I often felt lost about what to takes notes on and what not to take notes on.

      Example of someone falling prey to shiny object syndrome, switching tools incessantly, then focusing on too many of the wrong things/minutiae and getting lost in the shuffle.

      Don't get caught up into this. Understand the basics of types of notes, but don't focus on them. Let them just be. Does what you've written remind you of the end goal?

  12. Apr 2023
    1. AnthonyJohn @AnthonyJohn@pkm.socialDo you ever get the feeling that you're in an abusive relationship is note taking apps. I've used then all and in my pursuit for perfection have achieved absolutely nothing. This is the subject of my next long-form essay. subscribe for free at http://notentirelyboring.com to read it first. (And you'll also get a weekly newsletter thats not entirely boring)#PKM #NoteTaking #Obsidian #RoamResearch #Logseq #BearApr 20, 2023, 24:40

      reply to @AnthonyJohn@pkm.social at https://mastodon.social/@AnthonyJohn@pkm.social/110230007393359308

      Perfectionism and Shiny object syndrome are frequently undiagnosed diseases. Are you sure it's not preventing you from building critical mass in one place to actually accomplish your goals? Can't wait to see the essay.

      syndication link

  13. Mar 2023
    1. Another way to widen the pool of stakeholders is for government regulators to get into the game, indirectly representing the will of a larger electorate through their interventions.

      This is certainly "a way", but history has shown, particularly in the United States, that government regulation is unlikely to get involved at all until it's far too late, if at all. Typically they're only regulating not only after maturity, but only when massive failure may cause issues for the wealthy and then the "regulation" is to bail them out.

      Suggesting this here is so pie-in-the sky that it only creates a false hope (hope washing?) for the powerless. Is this sort of hope washing a recurring part of

  14. Feb 2023
    1. Stop Procrastinating With Note-Taking Apps Like Obsidian, Roam, Logseq https://www.youtube.com/watch?v=baKCC2uTbRc by Sam Matla

      sophisticated procrastination - tweaking one's system(s) or workflow with the anticipation it will help them in the long run when it is generally almost always make-work which helps them feel smart and/or productive. Having measurable results which can be used against specific goals will help weed this problem out.

    2. optimization-procrastination trap is related to shiny object syndrome - the idea of tweaking one's system constantly

      perfect tool trap - guess what? there isn't one

    1. I got rid of most of the features after I realized that they are redundant or a just plain harmful when they slowed me down.

      Many long time practitioners of note taking methods, particularly in the present environment enamored with shiny object syndrome, will advise to keep one's system as simple as possible. Sascha Fast has specifically said, "I got rid of most of the features after I realized that they are redundant or a (sic) just plain harmful when they slowed me down."

    1. Even after making positive changes through the LYT framework I’m still fighting my instincts to fiddle with all the things™ and not actually engage in the content. It’s totally a way I procrastinate or get hit with productivity paralysis, like @Erisred mentioned because everything has to be perfect before I can engage with it.
    1. According to Shulman, "Cargo-cult is a belief that mock airplanes made of manure and straw-bale may summon the real airplanes who bring canned beef. Reverse cargo-cult is used by the political elites in countries lagging behind who proclaim that, in the developed world, airplanes are also made of manure and straw-bale, and there is also a shortage of canned beef."[29]

      "Екатерина Шульман: Практический Нострадамус, или 12 умственных привычек, которые мешают нам предвидеть будущее". vedomosti/ (in Russian). Retrieved 24 June 2021.


      A Note on the Cargo Cult of Zettelkasten

      Modern cargo cults can be seen in many technology and productivity spaces where people are pulled in by exaggerated (or sometimes even real claims) of productivity or the general "magic" of a technology or method.

      An example is Niklas Luhmann's use of his zettelkasten which has created a cargo cult of zettelkasten aspirants and users who read one or more of the short one page blog posts about his unreasonable productivity and try to mimic it without understanding the system, how it works, or how to make it work for them. They often spend several months collecting notes, and following the motions, but don't realize the promised gains and may eventually give up, sometimes in shame (or as so-called "rubbish men") while watching others still touting its use.

      To prevent one's indoctrination into the zettelkasten cult, I'll make a few recommendations:

      Distance yourself from the one or two page blog posts or the breathless YouTube delineations. Ask yourself very pointedly: what you hope to get out of such a process? What's your goal? Does that goal align with others' prior uses and their outcomes?

      Be careful of the productivity gurus who are selling expensive courses and whose focus may not necessarily be on your particular goals. Some are selling very pointed courses, which is good, while others are selling products which may be so broad that they'll be sure to have some success stories, but their hodge-podge mixture of methods won't suit your particular purpose, or worse, you'll have to experiment with pieces of their courses to discover what may suit your modes of working and hope they'll suffice in the long run. Some are selling other productivity solutions for task management like getting things done (GTD) or bullet journals, which can be a whole other cargo cults in and of themselves. Don't conflate these![^1] The only thing worse than being in a cargo cult is being in multiple at the same time.

      If you go the digital route, be extremely wary of shiny object syndrome. Everyone has a favorite tool and will advocate that it's the one you should be using. (Often their method of use will dictate how much they love it potentially over and above the affordances of the tool itself.) All of these tools can be endlessly configured, tweaked, or extended with plugins or third party services. Everyone wants to show you their workflow and set up, lots of which is based on large amounts of work and experimentation. Ignore 99.999% of this. Most tools are converging to a similar feature set, so pick a reasonable one that seems like it'll be around in 5 years (and which has export, just in case). Try out the very basic features for several months before you change anything. Don't add endless plugins and widgets. You're ultimately using a digital tool to recreate the functionality of index cards, a pencil, and a box. How complicated should this really be? Do you need to spend hundreds of hours tweaking your system to save yourself a few minutes a year? Be aware that far too many people touting the system and marketers talking about the tools are missing several thousands of years of uses of some of these basic literacy-based technologies. Don't join their island cult, but instead figure out how the visiting culture has been doing this for ages.[^2] Recall Will Hunting's admonition against cargo cults in education: “You wasted $150,000 on an education you coulda got for $1.50 in late fees at the public library.”[^3]

      Most people ultimately realize that the output of their own thinking is only as good as the inputs they're consuming. Leverage this from the moment you begin and ignore the short bite-sized advice for longer form or older advice from those with experience. You're much more likely to get more long term value out of reading Umberto Eco or Mortimer J. Adler & Charles van Doren[^4] than you are an equivalent amount of time reading blog posts, watching YouTube videos, or trolling social media like Reddit and Twitter.

      Realize that reaching your goal is going to take honest-to-goodness actual work, though there is potential for fun. No matter how shiny or optimized your system, you've still got to do the daily work of reading, watching, listening and using it to create anything. Focus on this daily work and don't get sidetracked by the minutiae of trying to shave off just a few more seconds.[^5] In short, don't get caught up in the "productivity porn" of it all. Even the high priest at whose altar they worship once wrote on a slip he filed:

      "A ghost in the note card index? Spectators visit [my office to see my notes] and they get to see everything and nothing all at once. Ultimately, like having watched a porn movie, their disappointment is correspondingly high." —Niklas Luhmann. <small>“Geist im Kasten?” ZKII 9/8,3. Niklas Luhmann-Archiv. Accessed December 10, 2021. https://niklas-luhmann-archiv.de/bestand/zettelkasten/zettel/ZK_2_NB_9-8-3_V. (Personal translation from German with context added.)</small>


      [^1] Aldrich, Chris. “Zettelkasten Overreach.” BoffoSocko (blog), February 5, 2022. https://boffosocko.com/2022/02/05/zettelkasten-overreach/.

      [^2]: Blair, Ann M. Too Much to Know: Managing Scholarly Information before the Modern Age. Yale University Press, 2010. https://yalebooks.yale.edu/book/9780300165395/too-much-know.

      [^3]: Good Will Hunting. Miramax, Lawrence Bender Productions, 1998.

      [^4]: Adler, Mortimer J., and Charles Van Doren. How to Read a Book: The Classic Guide to Intelligent Reading. Revised and Updated edition. 1940. Reprint, New York: Simon & Schuster, 1972.

      [^5]: Munroe, Randall. “Is It Worth the Time?” Web comic. xkcd, April 29, 2013. https://xkcd.com/1205/.


      Recommended resources

      Choose only one of the following and remember you may not need to read the entire work:

      Ahrens, Sönke. How to Take Smart Notes: One Simple Technique to Boost Writing, Learning and Thinking – for Students, Academics and Nonfiction Book Writers. Create Space, 2017.

      Allosso, Dan, and S. F. Allosso. How to Make Notes and Write. Minnesota State Pressbooks, 2022. https://minnstate.pressbooks.pub/write/.

      Bernstein, Mark. Tinderbox: The Tinderbox Way. 3rd ed. Watertown, MA: Eastgate Systems, Inc., 2017. http://www.eastgate.com/Tinderbox/TinderboxWay/index.html.

      Dow, Earle Wilbur. Principles of a Note-System for Historical Studies. New York: Century Company, 1924.

      Eco, Umberto. How to Write a Thesis. Translated by Caterina Mongiat Farina and Geoff Farina. 1977. Reprint, Cambridge, MA, USA: MIT Press, 2015. https://mitpress.mit.edu/books/how-write-thesis.

      Gessner, Konrad. Pandectarum Sive Partitionum Universalium. 1st Edition. Zurich: Christoph Froschauer, 1548.

      Goutor, Jacques. The Card-File System of Note-Taking. Approaching Ontario’s Past 3. Toronto: Ontario Historical Society, 1980. http://archive.org/details/cardfilesystemof0000gout.

      Sertillanges, Antonin Gilbert, and Mary Ryan. The Intellectual Life: Its Spirit, Conditions, Methods. First English Edition, Fifth printing. 1921. Reprint, Westminster, MD: The Newman Press, 1960. http://archive.org/details/a.d.sertillangestheintellectuallife.

      Webb, Sidney, and Beatrice Webb. Methods of Social Study. London; New York: Longmans, Green & Co., 1932. http://archive.org/details/b31357891.

      Weinberg, Gerald M. Weinberg on Writing: The Fieldstone Method. New York, N.Y: Dorset House, 2005.

  15. Jan 2023
    1. the illusion of subject object duality 01:21:14 because the moment i think of myself as a self then i think that there's me a subject and then there's my objects there's the i and there's its visual field and they're totally different from one 01:21:26 another and that the basic structure of experience is there's me the subject who's always a subject and never an object and then all of those objects and i take that to be primordially given to 01:21:39 be the way experience just is instead of being a construction or superimposition so that's one illusion

      !- self illusion : creates illusion of duality - as soon as a self is imputed, that is metaphorically Wittgenstein's eye that stands in opposition to the visual field, the object - hence, existence of the imputed self imputes opposing objects

  16. Dec 2022
    1. So I’ve started a routine where every few years, I block out a couple of days to sit down and review all my idea tools—and other rituals of how I structure my creative thinking— to see if there's something that can be improved upon.

      As a strategy for avoiding shiny object syndrome, one can make a routine of making a "creative inventory" of one's tools.

      There is generally a high switching cost, so tools need to be an order of magnitude more useful, beneficial, or even fun to make it worthwhile.

    2. In my line of work as a writer, there’s a near endless stream of new applications coming out that touch different stages in my workflow: e-book readers, notetaking apps, tools for managing PDFs, word processors, bibliographic databases. The problem is that it’s very tricky to switch horses midstream with these kinds of tools, which means you have a natural tendency to get locked into a particular configuration, potentially missing out on better approaches.

      Steven Johnson indicates that it can be difficult to change workflows, tools, apps, etc.

    3. I quickly found myself in the ironic situation of spending so much time building a tool to help with my schoolwork that I stopped actually doing my schoolwork.

      Early example of being overwhelmed by one's tool.

    1. There are different kinds of information, some of which don't make sense being recorded at all. I was struggling with what to record and what not to record for a long time. For example, I took notes on programming syntax that are just useless (most of these things can be googled in seconds and they are usually decently documented already).

      How was this not obvious from the jump? Was the author of the essay so distracted by shiny object syndrome they failed to see the obvious?

      It's like taking notes in a language class... the goal is to read and write with fluency, so you practice these things regularly and gain fluency over time. Taking notes about the grammar and syntax of a language is highly unlikely to get you to fluency. Note taking is the wrong tool for a number of processes and the user should very quickly get a gut feeling for what's useful and what is not.

      This author obviously missed the boat here.

    2. But then life went on and nothing really happened.

      https://www.reddit.com/r/Zettelkasten/comments/zl2hwh/is_the_concept_of_personal_knowledge_management/

      This essay seems to be more about shiny object syndrome. The writer doesn't seem to realize any problems they've created. Way too much digging into tools and processes. Note the switching and trying out dozens of applications. (Dear god, why??!!) Also looks like a lot of collecting digitally for no clear goal. As a result of this sort of process it appears that many of the usual affordances were completely blocked, unrealized, and thus useless.

      No clear goal in mind for anything other than a nebulous being "better".

      One goal was to "retain what I read", but nothing was actively used toward this stated goal. Notes can help a little, but one would need mnemonic methods and possibly spaced repetition neither of which was mentioned.

      A list of specific building blocks within the methods and expected outcomes would have helped this person (and likely others), but to my knowledge this doesn't exist as a thing yet though bits and pieces are obviously floating around.<br /> TK: building blocks of note taking

      Evidence here for what we'll call the "perfect system fallacy", an illness which often goes hand in hand with "shiny object syndrome".

      Too many systems bound together will create so much immediate complexity that there isn't any chance for future complexity or emergence as the proximal system is doomed to failure. One should instead strive for immediate and excessive simplicity which might then build with time, use, and practice into something more rich and complex. This idea seems to be either completely missed or lost in the online literature and especially the blogosphere and social media.


      people had come up with solutions Sadly, despite thousands of variations on some patterns, people don't seem to be able to settle on either "one solution" or their "own solution" and in trying to do everything all at once they become lost, set adrift, and lose focus on any particular thing they've got as their own goal.

      In this particular instance, "retaining what they read" was totally ignored. Worse, they didn't seem to ever review over their notes of what they read.


      I was pondering about different note types, fleeting, permanent, different organisational systems, hierarchical, non-hierarchical, you know the deal.

      Why worry about all the types of notes?! This is the problem with these multi-various definitions and types. They end up confusing people without giving them clear cut use cases and methods by which to use them. They get lost in definitional overload and aren't connecting the names with actual use cases and affordances.


      I often felt lost about what to takes notes on and what not to take notes on.

      Why? Most sources seem to have reasonable guidance on this. Make notes on things that interest you, things which surprise you.

      They seem to have gotten lost in all the other moving pieces. Perhaps advice on this should come first, again in the middle, and a third time at the end of these processes.

      I'm curious how deeply they read sources and which sources they read to come to these conclusions? Did they read a lot of one page blog posts with summarizations or did they read book length works by Ahrens, Forte, Allosso, Scheper, et al? Or did they read all of these and watch lots of crazy videos as well. Doing it "all" will likely lead into the shiny object syndrome as well.

      This seems to outline a list of specifically what not to do and how not to approach these systems and "popular" blog posts that are an inch deep and a mile wide rather than some which have more depth.

      Worst of all, I spent so much time taking notes and figuring out a personal knowledge management system that I neglected the things I actually wanted to learn about. And even though I kind of always knew this, I kept falling into the same trap.

      Definitely a symptom of shiny object syndrome!

    1. Procs can't accept blocks as implicit arguments (the format you're trying). A proc can receive other proc objects as arguments, either explicitly, or using & arguments. Example: a = Proc.new do |&block| block.call end a.call() {puts "hi"}
  17. Nov 2022
    1. by using symbols as keys, you will be able to use the implicit conversion of a Mash via the #to_hash method to destructure (or splat) the contents of a Mash out to a block

      This doesn't actually seem to be an example of destructure/splat. (When it said "destructure the contents ... out to a block", I was surprised and confused, because splatting is when you splat it into an argument or another hash — never a block.)

      An example of destructure/splat would be more like

      method_that_takes_kwargs(**symbol_mash)

    1. I'm pretty much done thinking about "tools for thought". It quickly becomes an infinity of navel gazing and a complete waste of time. It's an easy topic for budding "influencers" because you don't actually need to know anything. All they need is to spend some time with a new bit of software and tell people how they should use it and the next thing you know they're selling an online course via their budding YouTube channel.

      scathing, but broadly true...

  18. Oct 2022
    1. If you're trying out @tana_inc and are not on the slack... why not?? There are so many talented people coming up with awesome workflows

      https://twitter.com/syncretizm/status/1581264527336669184

      So many in the tools for thought space either have shiny object syndrome or are focusing on "workflows". Eventually you have to quit looking at and building workflows to actually get some work done.

    1. i want to begin by talking about the imagine nature which is the first of those three natures um it's really tempting when i look at a flower like a rose um a nice red rose 00:35:22 to think that the color the redness is right on the rose unless you are extremely accomplished when you look at a red rose you see the color right out there in the rose and 00:35:34 you assume that your eyes are simply detecting color that is in the rose actually that can't possibly be true color is something that emerges um as 00:35:45 john pointed out this morning through the interaction of our sense faculties and whatever is happening outside of them and the color emerges in our minds but we imagine things to exist outside of consciousness just as we perceive 00:35:58 them and that nature that we ascribe to the objects of our experience is their imagined nature it's an imagined nature because we project it out there even though on reflection we each know 00:36:11 that the redness can't possibly be painted out there in the rose footnote it's uh equally stupid to think that when we detect the redness we're detecting in inner red paint that 00:36:23 somehow um is just detected by an inner eye i assure you that when you look inside your brain you will find no such inner red paint

      !- critical insight for : existentialism, existence of objects - color is perfect example to demonstrate that what we experience and construct in our body is not what exists as a property of the object

  19. Sep 2022
  20. Jun 2022
    1. "The idea is that over long periods of time, traces of memory for visual objects are being built up slowly in the neocortex," Clerkin said. "When a word is spoken at a specific moment and the memory trace is also reactivated close in time to the name, this mechanism allows the infants to make a connection rapidly." The researchers said their work also has significant implications for machine learning researchers who are designing and building artificial intelligence to recognize object categories. That work, which focuses on how names teach categories, requires massive amounts of training for machine learning systems to even approach human object recognition. The implication of the infant pathway in this study suggests a new approach to machine learning, in which training is structured more like the natural environment, and object categories are learned first without labels, after which they are linked to labels.

      visual objects are encoded into memory over a long period of time until it becomes familiar. When a word is spoken when the memory trace associated with the visual object is reactivated, connection between word and visual object is made rapidly.

  21. May 2022
    1. Common Pitfalls to Avoid When Choosing Your App

      What are the common pitfalls when choosing a note taking application or platform?

      Own your data

      Prefer note taking systems that don't rely on a company's long term existence. While Evernote or OneNote have been around for a while, there's nothing to say they'll be around forever or even your entire lifetime. That shiny new startup note taking company may not gain traction in the market and exist in two years. If your notes are trapped inside a company's infrastructure and aren't exportable to another location, you're simply dead in the water. Make sure you have a method to be able to export and own the raw data of your notes.

      Test driving many

      and not choosing or sticking with one (or even a few)<br /> Don't get stunned into inaction by the number of choices.

      Shiny object syndrome

      is the situation where people focus all attention on something that is new, current or trendy, yet drop this as soon as something new takes its place.<br /> There will always be new and perhaps interesting note taking applications. Some may look fun and you'll be tempted to try them out and fragment your notes. Don't waste your time unless the benefits are manifestly clear and the pathway to exporting your notes is simple and easy. Otherwise you'll spend all your time importing/exporting and managing your notes and not taking and using them. Paper and pencil has been around for centuries and they work, so at a minimum do this. True innovation in this space is exceedingly rare, and even small affordances like the ability to have [[wikilinks]] and/or bi-directional links may save a few seconds here and there, in the long run these can still be done manually and having a system far exceeds the value of having the best system.

      (Relate this to the same effect in the blogosphere of people switching CMSes and software and never actually writing content on their website. The purpose of the tool is using it and not collecting all the tools as a distraction for not using them. Remember which problem you're attempting to solve.)

      Future needs and whataboutisms

      Surely there will be future innovations in the note taking space or you may find some niche need that your current system doesn't solve. Given the maturity of the space even in a pen and paper world, this will be rare. Don't worry inordinately about the future, imitate what has worked for large numbers of people in the past and move forward from there.

      Others? Probably...

  22. Mar 2022
    1. A page object is a data structure that provides an interface to your web application for the purposes of test automation. For example, it could represent a single HTML page, or perhaps even a fragment of HTML on a page.
    2. A page object wraps an HTML page, or fragment, with an application-specific API, allowing you to manipulate page elements without digging around in the HTML.
    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. ● Relocatable object file (.o file)○ Code and data that can be combined with other relocatable object files to form executable object file■ Each .o file is produced from exactly one source (.c) file● Executable object file (a.out file)○ Code and data that can be copied directly into memory and then executed● Shared object file (.so file)○ Special type of relocatable object file that can be loaded into memory and linked dynamically, at either load time or run-time

      compile 之后的 object files 有哪几种类型?

  23. Feb 2022
    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. personally, i think this is useful when you have objects which are not stored in database, as shown in the database, e.g. temperature, gps location, balance, etc. You might ask then why those are not stored in the database? In the database we only store a value, but if we want to attach useful, relevant methods to that value,
    1. In computer science, a value object is a small object that represents a simple entity whose equality is not based on identity: i.e. two value objects are equal when they have the same value, not necessarily being the same object.
  24. Jan 2022
    1. // Without cloning this will point to the same object and they'll always be the same. // We'd basically change the object in the store without changing the store. let tmpCopyAsTemplates = deepClone($copyAsTemplates);
  25. Dec 2021
  26. worrydream.com worrydream.com
    1. Bret Victor: email (9/3/04) Interface matters to me more than anything else, and it always has. I just never realized that. I've spent a lot of time over the years desperately trying to think of a "thing" to change the world. I now know why the search was fruitless -- things don't change the world. People change the world by using things. The focus must be on the "using", not the "thing". Now that I'm looking through the right end of the binoculars, I can see a lot more clearly, and there are projects and possibilities that genuinely interest me deeply.

      Specifically highlighting that the "focus must be on the 'using', not the 'thing'".

      This quote is very reminiscent of John M. Culkin's quote (often misattributed to McLuhan) "We shape our tools and thereafter they shape us."

      <small><cite class='h-cite via'> <span class='p-author h-card'>Linus Lee</span> in Towards a research community for better thinking tools | thesephist.com (<time class='dt-published'>12/01/2021 08:23:07</time>)</cite></small>

  27. Nov 2021
    1. Since around 2010, Morton has become associated with a philosophical movement known as object-oriented ontology, or O.O.O. The point of O.O.O. is that there is a vast cosmos out there in which weird and interesting shit is happening to all sorts of objects, all the time. In a 1999 lecture, “Object-Oriented Philosophy,” Graham Harman, the movement’s central figure, explained the core idea:The arena of the world is packed with diverse objects, their forces unleashed and mostly unloved. Red billiard ball smacks green billiard ball. Snowflakes glitter in the light that cruelly annihilates them, while damaged submarines rust along the ocean floor. As flour emerges from mills and blocks of limestone are compressed by earthquakes, gigantic mushrooms spread in the Michigan forest. While human philosophers bludgeon each other over the very possibility of “access” to the world, sharks bludgeon tuna fish and icebergs smash into coastlines.We are not, as many of the most influential twentieth-century philosophers would have it, trapped within language or mind or culture or anything else. Reality is real, and right there to experience—but it also escapes complete knowability. One must confront reality with the full realization that you’ll always be missing something in the confrontation. Objects are always revealing something, and always concealing something, simply because they are Other. The ethics implied by such a strangely strange world hold that every single object everywhere is real in its own way. This realness cannot be avoided or backed away from. There is no “outside”—just the entire universe of entities constantly interacting, and you are one of them.

      Object Oriented Ontology - Objects are always revealing something, and always concealing something, simply because they are Other. ... There is no "outside" - just the entire universe of entities constantly interacting, and you are one of them.

      This needs to be harmonized with Stop Reset Go (SRG) complimentary Human Inner Transformation (HIT) and Social Outer Transformation (SOT) strategy.

    1. Object literals don't have index signatures. They are assignable to types with index signatures if they have compatible properties and are fresh (i.e. provably do not have properties we don't know about) but never have index signatures implicitly or explicitly.
  28. Oct 2021
  29. Aug 2021
    1. What if I told you there was a way to do this in Ruby?:destructure def adds(a: 1, b: 2) a + bendadds(a: 1, b: 2)# => 3adds(OpenStruct.new(a: 1, b: 2))# => 3Foo = Struct.new(:a, :b)adds(Foo.new(1,2))# => 3
  30. Jul 2021
    1. The operative content object is the content object to which a request is directed – this is the content object that the user specifically wants, and that the request primarily operates on.
  31. Jun 2021
  32. Mar 2021
    1. Normally you should not register a named module, but instead register as an anonymous module: define(function () {}); This allows users of your code to rename your library to a name suitable for their project layout. It also allows them to map your module to a dependency name that is used by other libraries.
    1. function isObject(o) { return o instanceof Object && o.constructor === Object; }
    2. An array is from a logical point of view not an object - although JavaScript handles and reports them as such. In practice however, it is not helpful to see them equal, because they are not.
    3. Arrays are definitely objects. Not sure why you think objects can't have a length property nor methods like push, Object.create(Array.prototype) is a trivial counterexample of a non-array object which has these. What makes arrays special is that they are exotic objects with a custom [[DefineOwnProperty]] essential internal method, but they are still objects.
    4. arrays are not objects from a logical point of view. I'm speaking about program logic. It is sometimes necessary to check if an array is a "real" array and definitely not an "real" object. That's what Array.isArray() is for. Imagine you have a function which accepts an object or an array of objects.
    5. function isObject (item) { return (typeof item === "object" && !Array.isArray(item) && item !== null); }
    1. Uber::Option implements the pattern of taking an option, such as a proc, instance method name, or static value, and evaluate it at runtime without knowing the option's implementation.
    1. Internally, it creates and returns a fresh, subclassed activity (via patching) whilst replacing the step for given :id. Be advised that this does not change the original activity class.
  33. Feb 2021
    1. # Yes, you can use lambdas as steps, too! step ->(ctx, params:, **) { params.is_a?(Hash) }
    2. a task in an activity can be any callable Ruby object
    3. Your actual logic happens in tasks, the labeled boxes. A task may be any callable Ruby object, an instance method or even another activity.
    1. Please note that the actual task doesn’t have to be a proc! Use a class, constant, object, as long as it exposes a #call method it will flow.
    1. It reminds us that rather than asking an object for data and acting on that data, we should instead tell an object what to do.
    1. The problem is that you what you want is actually not de-structuring at all. You’re trying to go from 'arg1', { hash2: 'bar', hash3: 'baz' }, { hash1: 'foo' } (remember that 'arg1', foo: 'bar' is just shorthand for 'arg1', { foo: 'bar' }) to 'arg1', { hash1: 'foo', hash2: 'bar', hash3: 'baz' } which is, by definition, merging (note how the surrounding structure—the hash—is still there). Whereas de-structuring goes from 'arg1', [1, 2, 3] to 'arg1', 1, 2, 3
    1. {a: 1, b: 2, c: 3, d: 4} => {a:, b:, **rest} # a == 1, b == 2, rest == {:c=>3, :d=>4}

      equivalent in javascript:

      {a, b, ...rest} = {a: 1, b: 2, c: 3, d: 4}
      

      Not a bad replacement for that! I still find javascript's syntax a little more easily readable and natural, but given that we can't use the same syntax (probably because it would be incompatible with existing syntax rules that we can't break for compatibility reasons, unfortunately), this is a pretty good compromise/solution that they've come up with.

    2. we’re going to look how improved pattern matching and rightward assignment make it possible to “destructure” hashes and arrays in Ruby 3—much like how you’d accomplish it in, say, JavaScript
    1. I think a better, more immediately understandable name for this concept would be command object, because it lets you pass around commands (or a list of commands) as objects.

      That's the only thing you really need to know abut this pattern. The rest seems like boring implementation details that aren't that important, and that naturally follow from the primary definition above.

    2. The central ideas of this design pattern closely mirror the semantics of first-class functions and higher-order functions in functional programming languages. Specifically, the invoker object is a higher-order function of which the command object is a first-class argument.
    1. In object-oriented programming, information hiding (by way of nesting of types) reduces software development risk by shifting the code's dependency on an uncertain implementation (design decision) onto a well-defined interface. Clients of the interface perform operations purely through it so if the implementation changes, the clients do not have to change.
    1. Though getter/setter methods are commonplace in Java, they are not particularly object oriented (OO). In fact, they can damage your code's maintainability. Moreover, the presence of numerous getter and setter methods is a red flag that the program isn't necessarily well designed from an OO perspective.
  34. Jan 2021
    1. The changes we needed to make to main to reassign post mean that this implementation doesn’t quite follow the object-oriented state pattern anymore: the transformations between the states are no longer encapsulated entirely within the Post implementation. However, our gain is that invalid states are now impossible because of the type system and the type checking that happens at compile time! This ensures that certain bugs, such as display of the content of an unpublished post, will be discovered before they make it to production.

      This is really an amazing chapter for comparing (some aspects) of object oriented and functional programming, and I have to admit I still prefer the functional approach as a default.

  35. Nov 2020
  36. Oct 2020
    1. You can set options.params to a POJO as shown above, or to an instance of the JavaScript's built-in URLSearchParams class. const params = new URLSearchParams([['answer', 42]]); const res = await axios.get('https://httpbin.org/get', { params });
    1. Checking if an object is a POJO can be somewhat tricky and depends on whether you consider objects created using Object.create(null) to be POJOs. The safest way is using the Object.getPrototypeOf() function and comparing the object's prototype.
    2. The intuition behind POJOs is that a POJO is an object that only contains data, as opposed to methods or internal state. Most JavaScript codebases consider objects created using curly braces {} to be POJOs. However, more strict codebases sometimes create POJOs by calling Object.create(null) to avoid inheriting from the built-in Object class.
    1. A reasonably clean alternative would be to map a function over the array and use destructuring in the each loop: {#each [1, 2, 3, 4].map(n => ({ n, sqr_n: n * n })) as { n, sqr_n }} {sqr_n} {sqr_n / 2}<br> {/each}
    1. If you prefer, you can use destructuring — each cats as { id, name } — and replace cat.id and cat.name with id and name.
  37. Sep 2020
    1. By default, in order to allow inline fat-arrow validation functions, the field will not rerender if you change your validation function to an alternate function that has a different behavior. If you need your field to rerender with a new validation function, you will need to update another prop on the Field, such as key
    1. A paradigm is a model or pattern. In JavaScript, there are a number of popular paradigms including object-oriented programming (OOP) and functional programming (FP). Paradigms are more important than is sometimes recognized. They help form mental models for solving problems. Becoming well-versed in the principles of a given paradigm can help accelerate development by providing mental shortcuts for solving the challenges that arise while building applications. They can also help produce higher quality software.