120 Matching Annotations
  1. Jul 2021
    1. In the examples above, the number 42 on the left hand side isn’t a variable that is being assigned. It is a value to check that the same element in that particular index matches that of the right hand side.
  2. May 2021
    1. By contrast, in our work we have centred circumstances of cultural diversity and human relationships.

      I'm glad to see that we didn't retreat from the critical stance that we initially brought forward. Our perspective was that Kostakis et al. tended towards a 'provisionist' and paternalistic sort of development trajectory, a kind of neo-colonialism, even though they are pitching their work from within peer-to-peer and free software settings. The same issue could easily come up with patterns, i.e., if they are offered as the solution. Realistically, it's possible to read a lot of the patterns literature this way (including Alexander), regardless of what they say about adapting their patterns for local circumstances. The medium of print holds the more egalitarian process of pattern development hostage, and makes pattern authors seem much more arrogant than they ever intended to be! This is why we've focused on participatory processes of pattern development here. Furthermore we're not saying that this is an exhaustive treatment of that topic! Hopefully it is clear (though, if not, this will take more work) that what we're trying to develop is the opposite of 'provisionist' thinking. (BTW, for this term, Cf. Boud and Lee "‘Peer learning’ as pedagogic discourse for research education"

    2. Pattern language development can give us another way to think and talk about the “process of language development” that already goes on inside institutions

      This part could be relevant for thinking about 'pattern mining' and how to contextualise it. Consider the various situations where we run into a problem of language, i.e., where we don't have any language to talk about something that actually urgently matters to the parties involved. Things can either end badly there, or the parties can engage in a process of language development.

  3. Apr 2021
    1. colonial officials in Africa and
      • Colonialism in India affected colonialism in other places by leading by example
    2. hus, they destroyed anything that represent: the authority of the company:

      Very similar to the French Revolution, immense oppression boils to extreme revolution against everything

    3. it was the duty of the wealthy
      • Pattern: underprivileged groups convincing people in power (wealthy Indians) to support a cause for a reason (loss of religious practices) that is only one of the many reasons the underprivileged people support the cause (heavy taxation, loss of rights, etc.).
    4. the import of British
      • Putting a colonized nation in a trade deficit is a common pattern in imperialism (ex. the colonies and Britain)
    5. In return, the Mughal emperor would receive a hefty annual pension.
      • People originally in power in colonized territories striking a deal with the colonizers for their benefit is a common pattern
    6. rebels were tied to cannons and blown to bits to teach Indians a lesson in power

      Brutal punishment used to show colonized peoples who has the power

      • Reminds me of control tactics in slavery
  4. Mar 2021
  5. Feb 2021
    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. Uses
    3. 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.
  6. Jan 2021
    1. Popper for Svelte with actions, no wrapper components or component bindings required! Other Popper libraries for Svelte (including the official @popperjs/svelte library) use a wrapper component that takes the required DOM elements as props. Not only does this require multiple bind:this, you also have to pollute your script tag with multiple DOM references. We can do better with Svelte actions!
  7. Dec 2020
  8. Nov 2020
    1. With Lotus Notes, I can combine a hierarchically organized outline view of the documents, with full text searching, hypertext links and traditiona l relational database like reports (for example, a sorted view of items to do).

      What Lotus Notes allowed you to do is to combine a hierarchical organized overview, achieved through an outliner, with search, hyperlinks and relational-database-like reports. Lotus Notes also allowed you to organized different document formats (Word, emails, etc.)

    1. Alexanderproposeshomesandofficesbedesignedandbuiltbytheireventualoccupants.Thesepeople,hereasons,knowbesttheirrequirementsforaparticularstructure.Weagree,andmakethesameargumentforcomputerprograms.Computerusersshouldwritetheirownprograms.KentBeck&WardCunningham,1987 [7]

      Users should program their own programs because they know their requirements the best.

      [7]: Beck, K. and Cunningham, W. Using pattern languages for object-oriented programs. Tektronix, Inc. Technical Report No. CR-87-43 (September 17, 1987), presented at OOPSLA-87 workshop on Specification and Design for Object-Oriented Programming. Available online at http://c2.com/doc/oopsla87.html (accessed 17 September 2009)

    2. Before the publication of the ‘Gang of Four’ book that popularised software patterns [4], Richard Gabriel described Christopher Alexander’s patterns in 1993 as a basis for reusable object‐oriented software in the following way:Habitabilityisthecharacteristicofsourcecodethatenablesprogrammers,coders,bug­fixers,andpeoplecomingtothecodelaterinitslifetounderstanditsconstructionandintentionsandtochangeitcomfortablyandconfidently.

      Interesting concept for how easy to maintain a piece of software is.

    1. Connected to this are Andy Matuschak’s comments about contextual backlinks bootstrapping new concepts before explicit definitions come into play.

      What Joel says here about Contextual Backlinks is that they allow you to "bootstrap" a concept (i.e. start working with it) without explicit definitions coming into play (or as Andy would say, the content is empty).

    2. Easily updated pages: don’t worry about precisely naming something at first. Let the meaning emerge over time and easily change it (propagating through all references).

      Joel highlights a feature here of Roam and ties it to incremental formalisms.

      In Roam you can update a page name and it propagates across all references.

    3. Cognitive Overhead (aka Cognitive Load): often the task of specifying formalism is extraneous to the primary task, or is just plain annoying to do.

      This is the task that you're required to do when you want to save a note in Evernote or Notion. You need to choose where it goes.

    4. The basic intuition is described well by the Shipman & Marshall paper: users enter information in a mostly informal fashion, and then formalize only later in the task when appropriate formalisms become clear and also (more) immediately useful.

      Incremental formalism

      Users enter information in an informal fashion. They only formalize later when the appropriate formalism becomes clear and/or immediately useful.

    5. It’s important to notice something about these examples of synthesis representations: they go quite a bit further than simply grouping or associating things (though that is an important start). They have some kind of formal semantic structure (otherwise known as formality) that specifies what entities exist, and what kinds of relations exist between the entities. This formal structure isn’t just for show: it’s what enables the kind of synthesis that really powers significant knowledge work! Formal structures unlock powerful forms of reasoning like conceptual combination, analogy, and causal reasoning.

      Formalisms enable synthesis to happen.

    1. Systems which display backlinks to a node permit a new behavior: you can define a new node extensionally (rather than intensionally) by simply linking to it from many other nodes—even before it has any content.

      Nodes in a knowledge management system can be defined extensionally, rather than intensionally, through their backlinks and their respective context.

  9. Oct 2020
    1. withindex.js, we have a single source of truth, giving fine grained control on what we expose to the outside world.
    2. import statements will become much smaller, as we will be importing stuff from less files. For example AbstractNode.js has only on import statement now, where it had two before.
    3. The reason that this solves our problem is: we now have full control over the module loading order. Whatever the import order in internal.js is, will be our module loading order.
    4. Here are few, real-life commits of refactorings that make use of this solution:
    5. The crux of this pattern is to introduce an index.js and internal.js file.
    6. However, after solving this problem a few times, a pattern appeared.
    1. Since “virtual DOM” is more of a pattern than a specific technology, people sometimes say it to mean different things. In React world, the term “virtual DOM” is usually associated with React elements since they are the objects representing the user interface
  10. Sep 2020
    1. I don't understand why it just launches the mutation once and then it throws the error Function called outside component initialization, the only way to make it work is to do something like $: result = mutation(...) but it doesn't make sense, I don't want to run the mutation after each keystroke.
    2. We’re still working on idiomatic Svelte APIs so this one’s also on our list to figure out what the best way forward is
    1. in constructing representations of how to supportlearning in particular cases

      It reminds me of conjecture mapping. Are we going to make the similar thing?

  11. Aug 2020
  12. Jul 2020
    1. Zhong, H., Wang, Y., Shi, Z., Zhang, L., Ren, H., He, W., Zhang, Z., Zhu, A., Zhao, J., Xiao, F., Yang, F., Liang, T., Ye, F., Zhong, B., Ruan, S., Gan, M., Zhu, J., Li, F., Li, F., … Zhao, J. (2020). Characterization of Microbial Co-infections in the Respiratory Tract of hospitalized COVID-19 patients. MedRxiv, 2020.07.02.20143032. https://doi.org/10.1101/2020.07.02.20143032

  13. Jun 2020
  14. May 2020
  15. Apr 2020
    1. The result, all too often, is that we decide (often unconsciously) that the sweeping change just isn't worth it, and leave the undesirable pattern untouched for future versions of ourselves and others to grumble about, while the pattern grows more and more endemic to the code base.
  16. Mar 2020
    1. But even cookiebot.com is doing it the wrong way. As far as I know and have read the user should opt-in which info/cookie(s) he/she would like to approve or accept. With cookiebot.com all the boxes are already marked but maybe one can change that in the settings!?
    1. It is recommended that a library should have one subclass of StandardError or RuntimeError and have specific exception types inherit from it. This allows the user to rescue a generic exception type to catch all exceptions the library may raise even if future versions of the library add new exception subclasses.
    1. The pattern below has become exceptionally useful for me (pun intended). It's clean, can be easily modularized, and the errors are expressive. Within my class I define new errors that inherit from StandardError, and I raise them with messages (for example, the object associated with the error).
    1. A majority also try to nudge users towards consenting (57%) — such as by using ‘dark pattern’ techniques like using a color to highlight the ‘agree’ button (which if clicked accepts privacy-unfriendly defaults) vs displaying a much less visible link to ‘more options’ so that pro-privacy choices are buried off screen.
    1. Earlier this year it began asking Europeans for consent to processing their selfies for facial recognition purposes — a highly controversial technology that regulatory intervention in the region had previously blocked. Yet now, as a consequence of Facebook’s confidence in crafting manipulative consent flows, it’s essentially figured out a way to circumvent EU citizens’ fundamental rights — by socially engineering Europeans to override their own best interests.
    2. So it’s not surprising that Facebook is so coy about explaining why a certain user on its platform is seeing a specific advert. Because if the huge surveillance operation underpinning the algorithmic decision to serve a particular ad was made clear, the person seeing it might feel manipulated. And then they would probably be less inclined to look favorably upon the brand they were being urged to buy. Or the political opinion they were being pushed to form. And Facebook’s ad tech business stands to suffer.
    3. design choices are being selected to be intentionally deceptive. To nudge the user to give up more than they realize. Or to agree to things they probably wouldn’t if they genuinely understood the decisions they were being pushed to make.
  17. Jan 2020
    1. Fundamental to any science or engineering discipline is a common vocabulary for expressing its concepts, and a language for relating them together. The goal of patterns within the software community is to create a body of literature to help software developers resolve recurring problems encountered throughout all of software development. Patterns help create a shared language for communicating insight and experience about these problems and their solutions. Formally codifying these solutions and their relationships lets us successfully capture the body of knowledge which defines our understanding of good architectures that meet the needs of their users. Forming a common pattern language for conveying the structures and mechanisms of our architectures allows us to intelligibly reason about them. The primary focus is not so much on technology as it is on creating a culture to document and support sound engineering architecture and design.

      Without reference to software development, this reads as:

      Fundamental to any science or engineering discipline is a common vocabulary for expressing its concepts, and a language for relating them together. [...] Patterns help create a shared language for communicating insight and experience about these problems and their solutions. [...] Forming a common pattern language for conveying the structures and mechanisms of our architectures allows us to intelligibly reason about them. The primary focus is not so much on technology as it is on creating a culture to document and support sound engineering architecture and design.

  18. Nov 2019
    1. That's especially useful when combining it with React's slot pattern, which is used for passing multiple composed components to different places within a (render prop) component, but then advancing it with a render prop function to pass the state from the render prop component to the composed components.
  19. Oct 2019
    1. Rack middleware is more than "a way to filter a request and response" - it's an implementation of the pipeline design pattern for web servers using Rack. It very cleanly separates out the different stages of processing a request - separation of concerns being a key goal of all well designed software products.
  20. Sep 2019
  21. Aug 2019
  22. Feb 2019
    1. Historians call it the “conquest pattern”, which unfolds in three phases: legalistic measures to provide the invasion with a gloss of justification, a declaration of territorial claims, and the founding of a town to legitimate the declaration.
  23. Jan 2019
  24. Oct 2018
    1. A variant is useful in standards work, where I ask collaborators to search for the worst possible name for something, in order to avoid long arguments about which is best. You can have a good laugh when someone invokes the "worst is best" rule, and get on with the real work of working together.

      Almost like a pattern. Start off with something, anything, and improve from there.

  25. Mar 2018
  26. Oct 2017
    1. handing a shilling to a weary-looking man. I found myself in a big hall girdled at half its height by a gallery. Nearly all the stalls were closed and the greater part of the hall was in darkness.

      There is a stark contrast to his previous trip to the market:

      "I imagined that I bore my chalice safely through a throng of foes."

    2. her name was like a summons to all my foolish blood.

      The boy/narrator is obviously in love, yet he never says the girl's name. She is initially introduced as "Mangan's sister", and afterwards she is only mentioned by pronouns. An essay by Richard J. Gerber, titled "Joyce's 'Araby' and the Mystery of Mangan's Sister", explores the varying views on the significance of omitting her name:

      • William Bysshe Stein describes "the young boy’s adoration of Mangan’s sister, and his reluctance to speak her name, as a form of religious devotion: 'This awe and reverence literally manifest an impulse toward deification". Judaic tradition states that God's name, Yahveh, was so holy "'that it was sacrilege...to pronounce it'".

      • Ben L. Collins believes that Joyce is making a joke about Jesus Christ. He "cites Joyce’s well-known allusion to Irish poet James Clarence Mangan (and his poems about love, religion, and nationality)...[Collins] concludes that 'The role of Mangan’s sister as deity is made known, if it cannot establish itself in any other way, comically, for one little knows Joyce who feels he is unaware of or incapable of using Mangan’s initials—J. C.'" In other words, J. C. Mangan shares the same initials as Jesus Christ.

      • The essay by Gerber examines these interpretations, but he ultimately comes to a different conclusion. J. C. Mangan had a sister; she is mentioned in his autobiography, as well as a biography about him. However, her name is never known. Moreover, "Joyce also adapted other significant portions of J. C. Mangan’s early life story for use in 'Araby'...Joyce’s appropriation (and fictionalization) of details taken from Mangan’s life explains Mangan’s sister’s missing name in 'Araby' because she is also nameless in the biographies of J. C. Mangan and in his autobiographical writings".

      The stories in Dubliners incorporate complex layers of meaning into straightforward plot lines.

      source: https://muse-jhu-edu.jpllnet.sfsu.edu/article/605563

    3. She could not go, she said, because there would be a retreat that week in her convent.

      The narrator reveled in the moment when the "Christian Brothers’ School set the boys free". Now the convent/church is preventing the girl he loves from being free.

    4. In front of me was a large building which displayed the magical name.

      Earlier, Mangan's sister told him it would be a "splendid bazaar"; even "The syllables of the word Araby were called to me through the silence in which my soul luxuriated and cast an Eastern enchantment over me". That was in his imagination, but now he's in reality.

    5. we played till our bodies glowed. Our shouts echoed in the silent street. The career of our play brought us through the dark muddy lanes behind the houses where we ran the gauntlet of the rough tribes from the cottages, to the back doors of the dark dripping gardens where odours arose from the ashpits, to the dark odorous stables where a coachman smoothed and combed the horse or shook music from the buckled harness.

      The boy and his friends are still ordinary kids. They like to be adventurous, run through the avenues, and let their imaginations run wild. Later on, the boy's interests evolve, as do the interests of all children as they grow up.

    6. Christian Brothers’ School set the boys free

      "Araby" is filled with religious allusions; religion was important in Ireland. This passage could be interpreted in a number of ways. In one sense, the boys being set "free" could mean that they are finally able to enjoy being kids. They are literally released from the rigid structure of school, and now they can do what boys do: play. Furthermore, Khorand observes that it is possible that the school "constrains and limits [the boys] so much more with it's didactic religious teachings".

      source: http://epiphany.ius.edu.ba/index.php/epiphany/article/view/109/106

    7. I could interpret these signs.

      It seems his uncle likes to drink, and the boy knows what he sees. He may be used to seeing his uncle drunk, or perhaps he is able to glean new information from the world because he is spending less time with his friends and more time at home with the adults. After all, he doesn't seem to go out and play anymore, and he was just sitting with Mrs. Mercer during tea-time while she gossiped at him. He may still be a boy, but he has some insight into the world of adults.

    8. I sat staring at the clock for some time and, when its ticking began to irritate me, I left the room.

      In The Egoist, Ezra Pound asserts that "Araby" "is much better than a 'story', it is a vivid waiting". Indeed, the boy in "Araby" is often waiting for that which he desires the most. His thoughts are consumed by the magical bazaar called Araby: "I wished to annihilate the tedious intervening days...I had hardly any patience with the serious work of life which, now that it stood between me and my desire, seemed to me child's play, ugly monotonous child's play". Later on, while waiting for his uncle, he is forced to "endure the gossip of the tea-table. The meal was prolonged beyond an hour and still my uncle did not come". He is repeatedly waiting for the moment that he believes will bring him happiness.

  27. Jan 2016
    1. “participation architectures.”

      I much prefer this nomenclature especially since it allows me to add Christopher Alexander to the mix. He argued that there are machine systems and growing systems. Or perhaps we can think of the distinction as between engineered and rhizomatic? Or using James Scott's terms: legible v illegible.