318 Matching Annotations
  1. Jan 2024
    1. Its instance variables are the involved protagonists of the game

      Proposal

      Its internal collaborators are the main protagonists of the game.

    2. We want a meaningful class name.

      Suggest removal

    3. entry

      entrypoint

    4. After defining the classes involved in the game design, we now define several states of these classes:

      I'd rather stop using “states” and start talking about ”internal collaborators“. For example:

      After discerning the classes that our game needs, we can now assign them responsibilities and internal collaborators:

    1. These two overriding methods are more efficient as they avoid unnecessary checks and ifTrue/ifFalse branches. Polymorphism is often used to avoid unnecessary checks and code branches.

      The goal is not computing efficiency but flexibility, scalability, simplicity, readability; that is, the goal is human efficiency.

  2. Dec 2023
    1. Link to or mention the Cuis Smalltalk terse guide

    2. There are two kinds of message cascades.

      For some reason, before reading this, I misunderstood the “cascade” as a metaphor for composition, were the water fallen from a first cascade might flow as input to a second cascade; but now I see this is clearly wrong and the cascade means exactly the contrary, since the punctuation :: and ; breaks that continuity. It means a jump in the regular flow of evaluation, as a cascade means a jump.

      The double colon syntax is specific to Cuis; at least it is not valid syntax in Squeak.

    3. Include a note about specific Cuis idioms, explain why they exist, and link to discussion and documentation: * backticks for compound literals * double colon as an alternative to parentheses * #[aFloat] for Float64Array * #[anInteger] for ByteArray

      See the thread Language Constructs initiated by Erik Stel in the Cuis-dev mailing list in 2020-05; especially the answers by Juan Vuletich.

      Backtick compound literals

      ... In some cases it can improve performance or reduce memory usage. But the deeper reason is to put all classes in equal footing with those privileged ones that are known by the Compiler.

      More here

    4. Backticks (`) can be used to create compound literals at compile time. All components of a compound literal must be known when the code is compiled.
    1. the class Transcript

      At this point, where classes have not yet been discussed, maybe it is best to rewrite:

      the object Transcript

    1. the policy

      the tradeoffs

    2.   Not to save the image is just best practice advice for you when your primary goal is to create new code. We already discussed the caveats of saving the image concerning code management (See The Image). But from time to time, you’ll find yourself in the position of an explorer when you open multiple code browsers and workplaces to figure something out. In this case, the state of the system, the open windows and code snippets, holds the value you care about, and saving the image is the right way to preserve the system’s state.27

      This should go in the previous section Daily Workflow.

      I submitted a PR

    1. If I give you something that you can play with and extend, even a piece of paper with a paragraph and I say it’s not written well, rewrite it, that’s easier than giving you nothing and say make something; you know, giving a blank sheet of paper and starting to write. So the lovely part that has proven true for professional programmers as well as kids is when you start with something, an object that does something, and then you put many objects like those together and have them interact, and then you extend and make them behave a little differently, you can take a very incremental approach to learning how to control a computer system. — Adele Goldberg
    1. (28) https://quoteinvestigator.com/2015/07/23/great-power/

      Do we really need to read a discussion on the origin of this sentence?

    2. Well, this looks familiar. I know what to do here.

      If this is a rethorical device, I'd prefer to replace it.

    1.   The String class has several method category names starting with fileman- for converting pathnames (system names for files and directories) into FileEntry and DirectoryEntry objects. String>>asFileEntry gives examples.

      Moved up to CharacterSequence. The categories are: fileman-converting, fileman-testing, and fileman-accessing.

    2. out of synch

      “synch” is an alternative spelling sanctioned by dictionaries. I wouldn't mind using this expression colloquially but in the context of a book perhaps I can find a better way to rewrite this. Not very important.

    1. This is another area where the actual mechanics are complex, but the basic ideas are simple.

      This is an excellent opportunity to link to an official video showing how to use the debugger.

    1. We think of Morphs and “data objects” as able to present themselves to be inspected, but Smalltalk’s runtime state is also presentable.

      The mention of Morphs is pertinent as an example because they were discussed recently and moreover, because they are blatantly visible and reactive. The mention of “‘data objects’” between double quotes, on the other hand, doesn't bring much to the table and is potentially confusing.

      Proposed alternative

      As Morphs and objects in general, are able to present themselves to be inspected, so is Smalltalk’s runtime state also presentable.

    1. self runningWorld doOneCycleNow.

      Again, explain why do we have to send #doOneCycleNow once more.

      As we changed several visual parts, we request one update cycle of the environment

      Is not enough.

    2. self runningWorld doOneCycleNow.

      This is necessary for the changes to actually show. I'd add a footnote explaining why it is necessary.

    3.   In addition to adding a package preload requirement, you can also select a requirement and delete or update it using the buttons at the lower right. Sometimes a package changes which your code depends on and you have to change your code to accord. When this happens, to want to be sure to require the newer, changed version. Selecting a requirement and pressing update will update the requirement to use the latest loaded package version.

      This should go in the previous section The Package.

      I submitted a PR.

    4. list := UISupervisor ui submorphs reject: [:aMorph | aMorph is: #TaskbarMorph]. list do: [:each | each delete].

      Alternative implementation:

      Smalltalk userInterface := UISupervisor ui. taskbar := userInterface taskbar. userInterface submorphs do: [:morph | morph delete] without: taskbar.

    5. encoded for latin alphabet (ISO 8859-15)

      Why not UTF-8?

    1. Observe how each category – class or method one – of an extension is prefixed with a *.

      Change

      Alternative 1

      Observe how each category —regardless of wether it applies to a class or to a method— of an extension is prefixed with a *.

      Alternative 2:

      Observe how class categories and method categories of an extension are prefixed with a *.

      I prefer the alternative 2.

    2. Now we are facing a problem. For the need of the TheBook package we extend the Integer class with a method printStringToc, however this method addition is part of the Cuis-Smalltalk core system and its associated default change set.

      Proposed change along these lines:

      Now we are facing a problem: we extended the Integer class with #printStringToc, however, because we didn't categorize it properly, this method addition is by default part of the Cuis-Smalltalk core system and its associated default change set instead of being part of TheBook

    3. Let’s say that in our clock morph we want to use color named as in the Color-Extra package. So to be able to load our Morphic-Learning package which makes use of this we need to select our new package and click on the add Requirement button at center, right.

      This is an example of adding a requirement to a package but it is difficult to understand

    4. version level

      proposed change to “version number”

    1. This is a drawback when using the image as your sole source code repository. The net result could be loosing your work.

      Then the problem is not keeping backups, and not the fact that we are working with an image.

    2. file system may be unstable

      The underlying file system? If so, why is this pertinent? Unless for example the image file gets corrupted, but if that is the case, say that instead.

    3. the environment may be in a lock down state

      What does this mean?

    1. Change is easy, except for the changed part. — Alan Kay

      Look for the source. I'm pretty sure I've heard it on more than one video recording with a slight difference:

      Change is easy, except for the “change” part.

    1. One of the advantages of this media extended plugin is that it can handle more than just YouTube videos. It can handle videos and also some audio notes as well. And I don't think I've tried it with anything else but really I just need YouTube videos.

      Video Title: Taking notes from YouTube videos in Obsidian

      Various ways and plugins to annotate or take notes on videos (e.g. YouTube) in Obsidian

      Audio notes? How?

    1. Basically,

      Again, why basically?

    2. Basically,

      Why basically?

    3. Modern integrated System On a Chip (SOC) hardware has many circuits which are active at the same time. So one kind of event is sensing something happening in the world. Class EventSensor handles keyboard key press and mouse hardware interrupts, translating between hardware signals and software event objects.

      Confusing paragraph. How does the first sentence relate to the second? How does the second relate to the third?

    1. Footnotes (23) In a quartz clock, the hand for the seconds moves every second. (24) In an automatic clock, the hand for the seconds moves every fraction of a second. The smaller the fraction, the more premium the clock is. (25) A Japanese automatic clock will be just fine too.

      All these could be a single footnote.

    1. rect

      Why use “rect” as an abbreviation for rectangle? Is confusing since it has another meaning.

    1. (17 * 13 > 220) ifTrue: [ 'bigger' ] ifFalse: [ 'smaller' ] ⇒ 'bigger' The class Boolean offers a fascinating insight into how much of the Smalltalk language has been pushed into the class library. Boolean is the abstract superclass of the Singleton classes True and False19. Most of the behaviour of Boolean instances can be understood by considering the method ifTrue:ifFalse:, which takes two blocks as arguments: (4 factorial > 20) ifTrue: [ 'bigger' ] ifFalse: [ 'smaller' ] ⇒ 'bigger'

      I don't see a need for two examples of #ifTrue:ifFalse.

    1. divisors := [:x | (1 to: x) select: [:d | x \\ d = 0] ].

      Smalltalk divisors := [:m | (1 to: m) select: [:n | m isDivisibleBy: n]].

      Yet, there ought to be better algorithms to compute divisors.

    1. just sends the #allClasses method

      just sends the #allClasses message

    2. The evaluation of any expression preceded by a ^ (typed as ^) will cause the method to exit at that point, returning the value of that expression.

      Insert comment about full closures and what they enable compared to non-full closures.

    1. TODO: Build the html from the texinfo sources locally in order to find out why there is an extra empty bullet point at the begining of this itemized list, and verify if this still happens.

    1. Dictionary. A dictionary is a list of associations between a key and an object. Of course a key is an object, but it must respond to equality tests. Most of the time, symbols are used as keys.

      I don't think that -> was introduced before as a shorthand for associationts, tuples, cons pairs. For example: Smalltalk Association key: #red value: Color red can be rewritten as: ```Smalltalk

      red -> Color red

      ```

    2. Observe how pi is the first element of the set:

      Observe how pi which was added last, is shown first, because of how Set >> #add: is implemented.

    3.   How to add ’Orange’ after ’Apple’ in coll1?

      How to add ’Orange’ after ’Apple’ and before 2@1 in coll1?

      or alternatively:

      How to insert ’Orange’ between ’Apple’ and 2@1 in coll1?

    1. When searching perfect cubic roots, it is useful to know about some cubes:

      Consider removal or rephrasing. Maybe rewiting ”For example, when searching...”, etc.

    2. and block of code

      Missing article

      and a block of code

    3. Comparing objects deserves its own section.

      This looks more like a comment by the author.

    1. Therefore, to declare a method variable we just name it at the beginning of the script and surround it by pipe characters “|”.

      Why start with “Therefore”?

    1. to two or only one object depending computational history

      Unclear choice of words. Maybe: “to two different or to a single object”.

      “depending computational history” is also unclear.

    1. LargePositiveInteger LargeNegativeInteger

      Cuis and Squeak share this same design but other dialects make LargePositiveInteger and LargeNegativeInteger suclassify `LargeInteger.

      Ask Juan?

    2. These are the messages an object instance responds to.

      These are the messages an object knows how to respond to.

    1. Tip. In the workspace Ctrl-b (Browse) on the class name will open a Browser on the named class:

      Alternatives

      Using “that”

      Tip. In the workspace Ctrl-b (Browse) on the class name will open a Browser on that class:

      using “named”

      Tip. In the workspace Ctrl-b (Browse) on the class name will open a Browser on the class named so:

    2. Tip. In the workspace Ctrl-b (Browse) on the class name will open a Browser on the named class:

      Alternatives:

      1

      Tip. In the workspace Ctrl-b (Browse) on the class name will open a Browser on that class:

      Tip. In the workspace Ctrl-b (Browse) on the class name will open a Browser on the class named so:

    1. Like #shuffled, all collections answer to the message #sorted, which answers a sorted collection.

      The original reads kind of funny. Besides that, #shuffled is a message, not a collection. This paragraph could be rewritten as follows:

      Similarly as with #shuffled, all collections know how to answer #sorted with a sorted copy of themselves.

  3. Nov 2023
    1. In the Spacewar! code snippet below, the parentheses make it more clear that the addition happens first:

      In the Spacewar! code snippet below, the parentheses aren't necessary but clarify that the addition happens first:

    1.   Because you are not using the base image but one used to teach classes, you will likely see a much larger number.

      Proposed change:

      When you are not using the base image...

    2. ProtoObject

      TODO inquire about ProtoObject. See post by Christoph Tiede entitled [Bug & design issue] Messages understood or not understood by ProtoObject on squeak-dev

      However, the crucial question is: What special messages should an instance of ProtoObject understand? On the one hand, the idea of ProtoObjects is to work as total proxies with a maximum amount of forwarding potential, which implies a minimum number of methods. On the other hand, certain aspects such as accessing instvars or executing messages are really identity-related. Looking forward to your comments :-)

    1. https://superuser.com/questions/1683607/how-do-i-fix-audio-video-sync-in-ffmpeg#comment2856481_1683607

      you can also pass an integer fraction to atempo: atempo=23980/24000

      Check the frame rate for both, check the audio sampling frequency for both. Make sure they're the same or you'll have to include that in your calculations.

      in my experience, only the video framerate matters, the audio sampling frequency has no effect on audio/video sync

  4. Oct 2023
  5. Jul 2023
    1. The problem is that the OUnit library hasn’t been loaded into utop yet. It can be with the following directive

      What's the difference between load and require directives?

      "Load" uses .cmo files built from those of your directory. "Require" get them from libraries, is that right? But where from?

  6. Jun 2023
    1. click “Submit”

      This is always grayed out for me. I've tried different sizes and types. Eventually trying a 711x711 .webp, which I took from another avatar (#palnet). But nothing works. So I'll investigate further.

  7. May 2023
    1. (** [fact_aux n acc] is [n! * acc]. *)

      Shouldn't the doc string be:

      (* [fact_aux n acc] is [(n - 1)! * acc]. )

      ???

      Given definition is valid for acc = 1, but for recursive cases where acc = (n - m)! the definition above seems clearer for me.

    1. A perhaps surprising result from the Gilbert paper is that no implementation of an atomic register in an asynchronous network can be available at all times, and consistent only when no messages are lost. This result depends upon the asynchronous network property, the idea being that it is impossible to tell if a message has been dropped and therefore a node cannot wait indefinitely for a response while still maintaining availability, however if it responds too early it might be inconsistent.

      ?

    1. However the quorum is only used to detect the failure. In order to actually perform a failover, one of the Sentinels need to be elected leader for the failover and be authorized to proceed. This only happens with the vote of the majority of the Sentinel processes.

      why?

  8. Apr 2023
    1. Holder is lying to us: even though we instantiate a HolderFactory, the singleton is already initialized, and just sits there in a static field. The performance data for this idiom is unreliable.

      为什么不准确?

    1. solution to list max exn, above

      See my comments for the question above.

    2. list max exn string [★★] Write a function list_max_string

      Perhaps the heading referred to a description similar to the body of this exercise, but where an exception was raised when the list is empty. Relates to my reversed observation in the following exercise.

    3. but a function that says that January 100, 2013 comes after February 34, 2013 is also valid

      Miswriting here? Perhaps the meaning was the respective tuples, (2013, 1, 100) and (2013, 2, 34) are valid (considering arbitrary date-like triples, without validation). As is seems a contradiction to previous statement: "because any date in January comes before any date in February".

  9. Mar 2023
    1. Let q1..qn be that subsequence of patterns (without the exception keyword), and let r1..rm be the subsequence of non-exception patterns

      The indices ranges are swapped - it should be 1..m for try clause and 1..n for non exception patterns, using match clause.

  10. Feb 2023
    1. 在你开始之前,你应当了解一些 OVPs (在线视频提供商) 例如 YouTube 、Dailymotion 、Vimeo、Bilibili等,以及在线音频提供商例如 Soundcloud。这些公司提供方便、简单的方式来支持视频,所以你不必担心庞大的带宽消耗。OVPS 甚至提供现成的代码用于为你的 web 网页嵌入视频/音频。如果你使用这样的服务,你便可以避免在这篇文章中我们将讨论的一些难题。在下一篇文章中,我们将会再讨论这样的服务。
  11. Dec 2022
    1. Other authors found other angles on this question: the first book in Hannu Rajaniemi's Jean Le Flambeur trilogy (The Quantum Thief starts with the exact opposite—a thief sentenced to spend a subjective eternity in an escape-proof prison, as a punishment of sorts.
    2. Which leads me to ask: in a transhumanist society—go read Accelerando, or Glasshouse, or The Rapture of the Nerds
    1. ConvertSaveload

      It would be good to describe why ConvertSaveload is used here, as well as how to configure it in Cargo.toml.

      [dependencies] changes I needed in Cargo.toml:

      serde = { version = "1.0.148", features = ["derive"]} specs = { version = "0.18.0", features = ["serde"]}

      and imports:

      ``` use serde::{Deserialize, Serialize}; use specs::{ prelude::*, saveload::{ConvertSaveload, Marker}, Entity, };

      use specs_derive::{Component, ConvertSaveload}; use std::convert::Infallible;

      // NoError alias is deprecated in specs ... but specs_derive needs it pub type NoError = Infallible; ```

  12. Nov 2022
    1. Stockage d’eau chaude

      ajouter le stockage DHW

    2. !! les données sont pas ds l’ordre (selon ordre de tableau)

      Correction à apporter

    Tags

    Annotators

    1. context

      should introduce the context earlier, as well as the main function's BError type.

    2. You can find the glyphs available here.

      Link is dead, maybe use wikipedia instead.

    3. In our tick function

      Need to introduce the tick function and GameState here.

  13. Oct 2022
    1. how sophisticated modern systems of Internet censorship would become.

      I want to look into examples of this

    1. The app will take care of setting up the proxy address, you don’t have to do anything. 
    2. Share WiFi from Android to Windows 1. Open up your Windows PC, and connect to the WiFi hotspot that says – DIRECT-Android and enters the password that you saw on the app in step 2. If you open up the browser now, you won’t see get internet access even though you are connected to the network. To fix that, you need to set up a proxy IP.

      Tod

    3. And the app called NetShare no root tethering works smartly around this restriction. It first creates a workgroup, which takes the other devices on the same network. Do note, that as of now, the other device doesn’t have access to the internet.  Now, in order to share the internet, the app creates a VPN in Android, which you’ll have to
  14. Jul 2022
  15. Jun 2022
    1. The great irony of science is that as we’ve learned more about the world around us, we have forgotten the world within.

      Find example of this in fiction. GTP3 or whatever language model we use to develop the AI from westworld should be able to find all examples of this in all of fiction PLUS create a map/ontology of them

  16. May 2022
  17. Mar 2022
    1. subcortical structures, which also undergo significant development, were not available from the official ABCD data release
    2. longitudinal component of ABCD is essential to begin to delineate causal longitudinal pathways
  18. Feb 2022
    1. But.... what I found was a morass of academic philosophy, sketchy anthropology, even sketchier archeology and ancient history, all woven into some kind of a discourse around the details of Marx's particular view.

      If this is true, this is a serious problem. Maybe someone has already written a good review of the sources [[Kōjin Karatani]] has used?

    1. В Кройдоне стоит зайти в известный среди рэперов чикен-шоп "Morleys", рекомендую куриные крылышки и местный бургер.
  19. Jan 2022
    1. It has been speculated that the ‘placebo’ response in antidepressant trials has been increasing during recent years

      why is this?

    2. Montgomery-Asberg Depression Rating Scale

      look this up

    3. Hamilton Depression Rating

      note to self, research what this means

    1. I think it sounds kinda [[cute]] and slightly [[quirky]]. At least, that's the [[tone]] I wanted to achieve. At the very least that's how I want myself to be: kinda cute and slightly quirky.

      I like it, thank you for writing it!

      I'll fix the pulls :)

  20. Dec 2021
  21. Nov 2021
    1. raise issues if something in the instructions is unclear.

      File bug after having configured [[promensia]]:

      • twitter-archive cannot work alone (without twint).
    1. Merging distribute knowledge is an excersize on the abstractness of ontologies vs the practicality of schema-less graph knowledge.

      Maybe a bit vague (the article), maybe re-read it. But i really appreciate the boldness [[agora]] try to solve the same problem.

    1. You have to interpret your sources and then rely on your own thoughts henceforth to get the maximum benefit. Collecting information does not increase your knowledge.

      Useful tip about personal notes.

  22. Oct 2021
  23. Aug 2021
    1. All rights reserved © Wireframes Corporation 2021 About Company Services Testimonials Get in Touch

      Make these Footer Links Work

    2. Sign up to our newsletter

      Create a General List in Mautic and setup a Broadcast Email Segment. Create a Mautic form for the broadcast list and link form data in here

    3. I Teach Men To Expand Their Limits.

      What is your mission statement?

    4. You're amazing. Start Acting Like It. Live a limitless life of your own design. Step up and answer a few questions on the form to connect!

      What text should I put here?

    5. Live your best life. In a collaboration with Rooz Yavari of Boundless Embodiment, this weeklong event will get you over your fears, inner demons, and push you to step up to the next level of your potential.

      Put a button below this that Links to the Advanced Seminar Landing Page

    6. Come for the weekend in a city near you and work with David and his coaches to crush inner doubts and fears, releasing you to the next level.

      Put a button below to link to the schedule page

    7. David Sekera is a Veteran Dating coach with 4 years experience in the field.

      What test should I put here?

    8. Come get the limitless experience live.

      Put a button below this that leads to the Week Long Advanced Landing Page. See Github Issue #4

  24. Jul 2021
  25. arxiv.org arxiv.org
    1. a general science of systems and processes

      canonical link missing?

      https://en.wikipedia.org/wiki/Systems_science does not mention category theory. Perhaps this paper could be added as a reference and the page could be enriched?

    1. Es besteht eine Pflicht zur Mund-Nasen-Bedeckung in allen Schulräumen.
    2. Die jeweils gültigen Hygienevorschriften sind einzuhalten. Die Musterhygienepläne werden fortgeschrieben.
    3. Für die ersten Unterrichtswochen nach den Sommerferien gelten besondere Infektionsschutzmaßnahmen, um eine erneute Ausbreitung des Coronavirus zu verhindern.
    4. Die Testpflicht für Schülerinnen und Schüler und pädagogisches Personal wird bis auf Weiteres beibehalten.
    5. Präsenzpflicht für Schülerinnen und Schüler.
    6. Vollständiger Präsenzunterricht in allen Jahrgangsstufen und Schularten.
    7. Die ergänzende Förderung und Betreuung (Hortbetreuung) wird ebenfalls wieder ab dem 09.06 2021 angeboten.
    8. Die Präsenzpflicht bleibt ausgesetzt.
    9. Lüften und Testungen (wie bisher zwei Mal wöchentlich).
    10. Tragen einer medizinischen Mund-Nasen-Bedeckung im Schulgebäude. Auf dem Schulhof wird die Maskenpflicht hingegen aufgehoben.
    11. Jeder ab zwölf Jahre darf sich impfen lassen, wenn er das möchte.
    12. Die Impfreihenfolge ist aufgehoben worden.
    13. Für die Corona-Schutzimpfung gilt seit Montag (07.06.2021) keine Beschränkung auf bestimmte Risikogruppen mehr.
  26. Jun 2021
    1. Die Innenbereiche von Zoo, Tierpark und Botanischem Garten dürfen öffnen, allerdings besteht Reservierungs- und Testpflicht.

      § 21 (4) 2. InfSchMV

    1. But I like Zendegi for almost the opposite reasons; it’s full of lots of serendipitous things that could easily have been different
    1. Wer seine Wohnung „ohne glaubhaften Grund“ verlässt, begeht eine Ordnungswidrigkeit.
    2. Wer an unzulässigen Veranstaltungen teilnimmt oder einen Betrieb geöffnet hält, macht sich strafbar.

      § 75 (1) IfSG i.V.m. § 32 S. 1 IfSG i.V.m. § 2 (1) SARS-CoV-2-EindmaßnV i.V.m. § 1 (1) SARS-CoV-2-EindmaßnV

    1. Η βραβευμένη στο Σάντανς ταινία του «Γιάλντα, η νύχτα της συγχώρεσης» βγαίνει την επόμενη εβδομάδα στα θερινά.

      Του Μασούντ Μπακσί, 2020, ριαλιτυ οπου οι καταδικασμενοι σε θανατο ζητουν συγχωρεση απο την οικογενεια του θυματος, "live".

  27. May 2021
    1. As Sirianni documents, in the first months of the revolution hundreds of firms were taken over spontaneously from below by groups of workers forming factory committees. But as he also documents, the Bolshevik leadership sought very strenuously to hold back and reverse this wave of spontaneous expropriations

      Interesting book of Carmen Siriani about the factory soviets.

    2. Indeed, as T. H. Rigby demonstrates in his study of the formation of the ‘Soviet’ system of government in Russia

      Must be interesting study to read about soviet Russia.

    1. TED CHIANG: So there’s this computer programmer named Steve Grand. And he wrote a book called “Creation,” which is partly about artificial intelligence, but I guess partly about artificial life. That book, I think, sort of made the most convincing case, I thought, for if we’re going to actually create something that merits the term of being a living thing in software, I feel like sort of the ideas in that book are the ones that I think are most promising. So I guess I’d recommend that.
    1. This point is made beautifully in another favorite book of mine, A Computer Scientist’s Guide to Cell Biology, by William W. Cohen:
    2. One of my favorite books is called The Machinery of Life, by David Goodsell.
    1. The command nix-shell will build the dependencies of the specified derivation, but not the derivation itself. It will then start an interactive shell in which all environment variables defined by the derivation path have been set to their corresponding values, and the script $stdenv/setup has been sourced. This is useful for reproducing the environment of a derivation for development.

      QUESTION: What exactly does nix-shell execute from the Nix expression (i.e., shell.nix, default.nix, etc.)?

      ANSWER: Based on my current understanding, the answer is everything. It calls $stdenv/setup (see annotation below) to set up the most basic environment variables (TODO: expand on this), and "injects" the most common tools (e.g., gcc, sed) into it.

      It also defines the phases (TODO: verify this) and builder functions, such as genericBuilder. For example, the default builder is just two lines:

      source $stdenv/setup
      genericBuild
      

      TODO: pkgs/stdenv/generic/builder.sh is a mystery though.

      QUESTION: Once dropping into nix-shell, how do I know what phases to execute by looking at a default.nix? (E.g., [..]freeswitch/default.nix)

      ANSWER: As far as I can tell, one can override the phases in their Nix build expression (to build the derivation, see at the bottom), but they won't get executed as only the $stdenv/setup (see above) will get sourced, and no builders are called that, in return, invoke the phases (again, see above).

      So if one is using nix-shell

      • to create/hack on a package, the person has to manually invoke the builder or phases (TODO: still fuzzy on this subject)

      • to set up an environment, then one doesn't even have to worry about builders/phases because we just use nix-shell to clear the environment and to inject tools that we need for a given task

      QUESTION: When dropping into nix-shell, is this Nix expression (i.e., freeswitch/default.nix) executed? Or just parts of it?

      ANSWER: As stated above, all of the input Nix expression is evaluated, but no builders and build phases are called; although, nothing prevents one to override the phases, in case they are creating/hacking on a package.

      QUESTION:

      The command nix-shell will build the dependencies of the specified derivation, but not the derivation itself.

      What is the "derivation" here exactly? I know that it is a build expression, but does that mean the default.nix (or other Nix expression) nix-shell is invoked with?

      <sup>This statement also seems like a contradiction with how `nix-shell` works (i.e., if one issues `nix-shell -p curl`, then `curl` will be available in that sub-shell), but `-p` acts like a shortcut to as if `curl` had been listed in `buildInputs` so this is not the case.</sup>

      ANSWER: I have the feeling my confusion comes from the fact that the term "derivation" is used ambiguously in the manuals, sometimes to mean multiple things (see list below).

      TODO: Substantiate this claim, and make sure that it not coming from my misunderstanding certain topics.

      • Nix build expression (such as default.nix) whose output is going to become the store derivation itself (see last item at the bottom about the Nix manual's glossary definition)

      • store derivation.

      Had multiple cracks at unambiguously define what a derivation is, and here's a list of these:

      QUESTION: What is the difference between nix-shell -p and nix-shell invoked with a Nix expression of mkShell (or other that achieves the similar effect)?

      QUESTION: nix-shell does not create a sub-shell, so what does it do? (clarification: so nix-shell indeed does it; I confused it with nix shell)

  28. Apr 2021
    1. Όποιος δεν θέλει έναν στενό ορισμό του gaslighting τον παραπέμπω στην ταινία του Netflix “Death to 2020” και στον εξαιρετικό ρόλο της Λίζα Κούντροου (η Φοίβη από τα Φιλαράκια) όπου ενσαρκώνει εξαιρετικά την Αριστοτελία Πελώνη του Τράμπ.

      Documentary: Death to 2020

  29. Mar 2021
  30. Feb 2021
    1. ότι δήθεν ο Δ. Κουφοντίνας πήγε σε αγροτική φυλακή λόγω κάποιου ευνοϊκού νόμου του Σύριζα

      Δεν είναι έτσι??

    1. φωτογραφία της νεκροτομής του 33χρονου Χόγκερ Μάινς, μέλους της δυτικογερμανικής ένοπλης ακροαριστερής οργάνωσης «Φράξια Κόκκινος Στρατός» (RAF), μετά το θάνατό του στις φυλακές Βίτλιχ (9/11/1974) ύστερα από απεργία πείνας 58 ημερών.

      Εχουν κι οι Γερμανοί νεκρούς από απεργία πείνας. Η φωτό δεν υπαρχει στην wikipedia.

    1. A Nix expression describes everything that goes into a package build action (a “derivation”)

      Come up with an ultimate definition for what a "derivation" is.

      So round up all the places where it is mentioned across Nix* manuals, and check out these:


      From Nix Pills section 6.1. The derivation function (see annotation):

      A derivation from a Nix language view point is simply a set, with some attributes. Therefore you can pass the derivation around with variables like anything else.

      So there is clearly an ambiguity between what derivations are perceived to be and what is stated in the Eelco Dolstra's PhD thesis. Or maybe I'm having issues with reading comprehension again...

    2. substitute

      this is another key topic. Also:

      • substitute vs. substituter => this (I think)

      See annotations with the substitute tag

    3. garbage collector roots

      Definitely avoid this, when a term is used but only introduced formally way later. (There is also a reference to "garbage collector roots" almost at the beginning as well.)

    4. user environment
    5. 4.3.1. Change the Nix store path prefix

      There is a lot of place in this manual (and probably in the others as well) where the prefix is referred to (usually with italics, such as "prefix/store"), so in the book

      • this should be linked to this section (or the one in the book), and

      • establish a clear and well-communicated notation to convey this

    6. You can uninstall Nix simply by running: $ rm -rf /nix
    1. Сбор актуальных новостей с учётом фильтров.Просмотр отфильтрованных новостей.

      axol

      • Establish the number of Rubik's cube combinations.
      • Establish "algorithm" capabilities based on the x12 "impossible" cubes.
      • "Signmaster notation" for describing algorithm moves.
      • x2 links to youtube tutorials.
    1. 18.6. Patches Patches available online should be retrieved using fetchpatch. patches = [ (fetchpatch { name = "fix-check-for-using-shared-freetype-lib.patch"; url = "http://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=8f5d285"; sha256 = "1f0k043rng7f0rfl9hhb89qzvvksqmkrikmm38p61yfx51l325xr"; }) ];

      ... and from Chapter 11:

      fetchpatch works very similarly to fetchurl with the same arguments expected. It expects patch files as a source and and performs normalization on them before computing the checksum. For example it will remove comments or other unstable parts that are sometimes added by version control systems and can change over time.

      ... and also adding highlight of 19.3. Submitting security fixes

      because these are the only places I've seen fetchpatch mentioned.

      From the wild in freeswitch/default.nix in Nixpkgs:

      stdenv.mkDerivation rec {
        pname = "freeswitch";
        version = "1.10.5";
        src = fetchFromGitHub {
          owner = "signalwire";
          repo = pname;
          rev = "v${version}";
          sha256 = "18dhyb19k28dcm1i8mhqvvgm2phsrmrwyjmfn79glk8pdlalvcha";
        };
      
        patches = [
          # https://github.com/signalwire/freeswitch/pull/812 fix mod_spandsp, mod_gsmopen build, drop when updating from 1.10.5
          (fetchpatch {
            url = "https://github.com/signalwire/freeswitch/commit/51fba83ed3ed2d9753d8e6b13e13001aca50b493.patch";
            sha256 = "0h2bmifsyyasxjka3pczbmqym1chvz91fmb589njrdbwpkjyvqh3";
          })
        ];
        postPatch = ''
          patchShebangs     libs/libvpx/build/make/rtcd.pl
          substituteInPlace libs/libvpx/build/make/configure.sh \
            --replace AS=\''${AS} AS=yasm
      
          # Disable advertisement banners
          for f in src/include/cc.h libs/esl/src/include/cc.h; do
            {
              echo 'const char *cc = "";'
              echo 'const char *cc_s = "";'
            } > $f
          done
        '';
      
    2. 6.5. Phases

      Not sure why this isn't called build phases... See also.