45 Matching Annotations
  1. Aug 2022
    1. Additionally, by delegating the HTTP code generation to Smithy4s we make an explicit choice to deal only with high level entities within our domain. In other words, when we write business logic we don't think about
  2. Jun 2022
    1. Difference between Map and HashMap The Map is an interface in Java used to map the key-pair values. It is used to insert, update, remove the elements. Whereas the HashMap is a class of Java collection framework. The Map interface can only be used with an implementing class. It allows to store the values in key-pair combination; it does not allow duplicate keys; however, we can store the duplicate values. Its implementing classes are as follows: HashMap Hashtable TreeMap ConcurrentHashMap LinkedHashMap HashMap is a powerful data structure in Java used to store the key-pair values. It maps a value by its associated key. It allows us to store the null values and null keys. It is a non-synchronized class of Java collection.
  3. May 2022
    1. Finally, and as fundamentally as there is a numerical memory and a dia-lectical memory, there is a geometry of memory too. Almost every monas-tic mnemotechnical scheme—ladders, roses, buildings, maps—was based ongeometrical figures: squares, rectangles, triangles, circles, and complex refor-mations of these, including three-dimensional structures

      She doesn't mention it, but they're not only placing things in order for potential memory purposes, but they're also placing an order on their world as well.

      Ladders and steps were frequently used to create an order of beings as in the scala naturae or the Great Chain of Being.

      Some of this is also seen in Ramon Lull's Ladder of Ascent and Descent of the Mind, 1305 (Ars Magna)

  4. Mar 2022
    1. Capitalization conveys a certain distinction, the elevated position of humans and their creations in the hierarchy of beings. Biologists have widely adopted the convention of not capital-izing the common names of plants and animals unless they include the name of a human being or an official place name. Thus, the first blossoms of the spring woods are written as bloodroot and the pink star of a California woodland is Kellogg’s tiger lily. This seemingly trivial grammatical rulemaking in fact expresses deeply held assump-tions about human exceptionalism, that we are somehow different and indeed better than the other species who surround us. Indigenous ways of understanding recognize the personhood of all beings as equally important, not in a hierarchy but a circle.

      Rules for capitalization in English give humans elevated hierarchical positions over animals, plants, insects, and other living things. We should revise this thinking and capitalize words like Maple, Heron, and Mosquito when we talking of beings and only use only use the lower case when referring to broad categories or concepts like maples, herons, and humans.

  5. Dec 2021
    1. I mean how are they gonna learn the ten commandments if they don't ever command each other you know no kidding order is necessary it's a moral duh so it's exactly the opposite you know of 00:42:38 the the opinions that most people would have today

      Is it possible that the delivery of the ten commandments was a moral and ethical ill brought upon Western culture? Was the fact of one person (or God, in this case) creating a hierarchical structure of one commanding another that began the idea of inequality in Western culture?

    1. ZLayer provided a very clean solution to the problems developers were havingwith ZIO Environment—not perfect, mind you, and I don’t think any solutionprior to Scala 3 can be perfect (every solution in the design space has differenttradeoffs). This solution became even better when the excellent consultancySeptimal Mind donated Izumi Reflect to the ZIO organization
    2. Has can be thought of as a type-indexed heterogeneous map, which is type safe,but requires access to compile-time type tag information. ZLayer can be thoughtof as a more powerful version of Java and Scala constructors, which can buildmultiple services in terms of their dependencies.
  6. Nov 2021
    1. Our elders say that ceremonies are the way we “remember to remember,”

      The Western word "ceremony" is certainly not the best word for describing these traditions. It has too much baggage and hidden meaning with religious overtones. It's a close-enough word to convey some meaning to those who don't have the cultural background to understand the underlying orality and memory culture. It is one of those words that gets "lost in translation" because of the dramatic differences in culture and contextual collapse.

      Most Western-based anthropology presumes a Western idea of "religion" and impinges it upon oral cultures. I would maintain that what we would call their "religion" is really an oral-based mnemonic tradition that creates the power of their culture through knowledge. The West mistakes this for superstitious religious practices, but primarily because we can't see (or have never been shown) the larger structures behind what is going on. Our hubris and lack of respect (the evils of the scala naturae) has prevented us from listening and gaining entrance to this knowledge.

      I think that the archaeological ideas of cultish practices or ritual and religion are all more likely better viewed as oral practices of mnemonic tradition. To see this more easily compare the Western idea of the memory palace with the Australian indigenous idea of songline.

    2. Sunlight streamed through the hole from the Skyworld, allowing the seeds to flourish. Wild grasses, flowers, trees, and medicines spread everywhere.

      Notice here that medicine is put in with grasses, flowers, trees and natural things. They are not something that is a chemical creation of man, but something from the Earth around us.

      In the Western framing of the scala naturae, this patently is not the case. Humans dominate nature in this framing and so we plunder and strip our medicines. Many of our medicines have a natural root from non-Western sources, but we analyze and remove the smallest pieces and purify them for commercial consumption.

    1. he Western tradition has never been more appealingly portrayed than in Rembrandt’s 1653 painting “Aristotle with a Bust of Homer.” Whether you stand in front of it at the Metropolitan Museum or look at it online, the painting turns you into a link in a chain that goes back three thousand years.

      Not sure how they manage not to link Rembrandt's 1653 painting "Aristotle with a Bust of Homer" here.

      Rembrandt - Aristotle with a Bust of Homer - WGA19232.jpg<br>By <span title="Dutch painter and etcher (1606-1669)">Rembrandt</span> - Unknown source, Public Domain, Link

      It might also be more interesting to use the metaphor of a ladder here than a chain to give a tangential nod to Western culture's scala naturae.

  7. Oct 2021
    1. Analog zur Struktur des Zettelkastens baut Luhmanns Systemtheorie nicht auf Axiome und bietet keine Hierarchien von Begriffen oder Thesen. Zentrale Begriffe sind, ebenso wie die einzelnen Zettel, stark untereinander vernetzt und gewinnen erst im Kontext Bedeutung.

      machine translation:

      Analogous to the structure of the card box, Luhmann's system theory is not based on axioms and does not offer any hierarchies of terms or theses. Central terms, like the individual pieces of paper, are strongly interlinked and only gain meaning in the context.

      There's something interesting here about avoiding hierarchies and instead interlinking things and giving them meaning based on context.

      Could a reformulation of ideas like the scala naturae into these sorts of settings be a way to remove some of the social cruft from our culture from an anthropological point of view? This could help us remove structural racism and other issues we have with genetics and our political power structures.

      Could such a redesign force the idea of "power with" and prevent "power over"?

  8. Aug 2021
    1. We can also define these properties for data types that we do not control, for example providing a custom way of hashing a data type implemented by someone else
    1. However, there is a definite trade off in these three snippets. The first one is overly specific but is understandable to any Scala programmer. The last one is beautiful and elegant if you understand the necessary concepts but incomprehensible otherwise.
    2. ZIO ecosystem libraries generally do not directly expose any functional abstractions but still expose a highly compositional interface because their design is based on algebraic properties like this. Users don't have to learn about these abstractions unless they want to, they just get to benefit from better library design.
  9. Jul 2021
    1. Uber and Booking.com’s ecosystem was originally JVM-based but they expanded to support Python models/scripts. Spotify made heavy use of Scala in the first iteration of their platform until they received feedback like:some ML engineers would never consider adding Scala to their Python-based workflow.

      Python might be even more popular due to MLOps

    1. “Although a seemingly mundane and simple innovation, Linnaeus' use of index cards marks a major shift in how eighteenth-century naturalists thought about the order of nature,” says Mueller-Wille. The natural world was no longer ordered on a fixed, linear scale, but came to be seen as a map-like natural system of multiple affinities.


      Roughly the idea I'd just written!

      The idea of reordering nature this way would have been fantastic, particularly in light of the general prior order of the cosmos based on the scala naturae or Great Chain of Being.

      Compare this with Ernst Haeckel's Tree of Man. What year was this in relation? Was the idea of broader biological networks and network-like structure thought of prior to this?

  10. Mar 2021
  11. Feb 2021
  12. Dec 2020
    1. By harnessing emotion, the individual can move up the steps of

      the ladder of spiritual betterment."

      This evokes the idea of moving up the scala naturae.

  13. Jun 2020
  14. May 2020
    1. Programming languages These will probably expose my ignorance pretty nicely.

      When to use different programming languages (advice from an Amazon employee):

      • Java - enterprise applications
      • C# - Microsoft's spin on Java (useful in the Microsoft's ecosystem)
      • Ruby - when speed is more important then legibility or debugging
      • Python - same as Ruby but also for ML/AI (don't forget to use type hinting to make life a little saner)
      • Go/Rust - fresh web service where latency and performance were more important than community/library support
      • Haskell/Erlang - for very elegant/mathematical functional approach without a lot of business logic
      • Clojure - in situation when you love Lisp (?)
      • Kotlin/Scala - languages compiling to JVM bytecode (preferable over Clojure). Kotlin works with Java and has great IntelliJ support
      • C - classes of applications (operating systems, language design, low-level programming and hardware)
      • C++ - robotics, video games and high frequency trading where the performance gains from no garbage collection make it preferable to Java
      • PHP/Hack - testing server changes without rebuilding. PHP is banned at Amazon due to security reasons, but its successor, Hack, runs a lot of Facebook and Slack's backends
  15. Mar 2020
  16. Mar 2018
    1. Mixin’ traits ‘statically’

      静态的 mixin a trait 是说:这个 trait 的成员(method, field) 可以有一个 default implementation. 这样你 mixin 这个 trait 的时候,可以只提供那些没有 Implementation 的抽象函数。 当然也可以都自己实现一遍。

    2. val singingPerson = new Person with Singerperson.sing

      val singingPerson = new Person with Singer 倒是很像 组合

    1. A Scala function that’s created with val is very different than a method created with def.


    2. By all accounts, creating a Scala def method creates a standard method in a Java class

      当你用 def 创建了一个函数,你其实就是创建了一个 java class 中的方法(method)

    3. if i != 0


      if i != 0

      会被 compiler 自动解析为 PF 的 isDefinedAt() 函数,这个函数返回 boolean,用来确定 PF 的定义域。

    4. a val function, all you’re really doing with code like this is assigning a variable name to an anonymous function

      val function like

      val f = (a:Int, b:Int) => a+b

      就是定义了一个 literal function, 然后给他一个名字 : f

    5. A block of code with one or more case expressions is a legal way to define an anonymous function

      用 case 构建 literal function

    1. Ordered特质更像是rich版的Comparable接口

      Ordered 青出于 Comparable 而胜于 Comparable

  17. Sep 2017
    1. echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823 sudo apt-get update sudo apt-get install sbt
  18. Jun 2017
    1. Vmay only extenduniversaltraitsTraits in Scala extendAnyRefby default, so value classes cannot extend them. Traitswhich explicitly extendAnyare called universal, they do not extendAnyRefand valueclasses can extend them. Like value classes and for the same reasons, universal traitsneed to be ephemeral.
    2. On line 2,xneeds to be boxed because the expected type of the expression isAnyValand primitives on the JVM do not have a common supertype.
  19. Aug 2016
    1. The stringSingleton() method of the Module object appears to be indistinguishable from a first-class function value. But the appearances are deceptive. The method isn’t free-standing: we could have used this in its body and it would have referred to the Module singleton object, even after the import. And it’s not the method which is passed to map — instead a transient function value is implicitly created to invoke the stringSingleton() method (this is a process known as eta-expansion) and it’s that function-value which is passed to map.
    2. Here the method subtypePolymorphic() has no type parameters, so it’s parametrically monomorphic. Nevertheless, it can be applied to values of more than one type as long as those types stand in a subtype relationship to the fixed Base type which is specified in the method signature — in other words, this method is both parametrically monomorphic and subtype polymorphic.
  20. Dec 2015
    1. Figuring out all subclasses of a class is called Class Hierarchy Analysis, and doing static CHA in a language with dynamic code loading is equivalent to solving the Halting Problem.

      Answer to question:

      Why can't the Scala compiler give pattern matching warning for nonsealed classes/traits?


      one of the goals of Scala is separate compilation and deployment of independent modules, so the compiler simply cannot know whether or not a class is subclass in another module, because it never looks at more than one module.

      Example: ??? When I try it, it seems to work, but this may be because everything I need is already loaded in the same compilation context. A subsequent answer seems to confirm this:

      It can be done (at least for all classes known at compile time), it's just expensive. You'd completely destroy incremental compilation, because everything that contains a pattern match would effectively have to be recompiled every time any other file changed.

  21. Jul 2015
  22. proquest.safaribooksonline.com proquest.safaribooksonline.com

      It would be good if there was a way to do effect-tracking, similar as in ATS, so you could enforce this rather than making it style only. But, not a huge issue either.

    1. Keeping unpure functions clearly named and organized in such a way that they can be easily identified versus pure functions is a common goal of modularizing and organizing Scala applications.
    2. Even though the value given to the match expression has the type Any, the data it is storing was created as an Int. The match expression was able to match based on the actual type of the value, not just on the type that it was given. Thus, the integer 12180, even when given as type Any, could be correctly recognized as an integer and formatted as such.

      This is interesting and I believe quite different from how ATS handles types, aside from the fact that it can't match against non-algebraic datatypes. I think this is probably easier to understand as well, since it appears to not rely on constraint solving in order to determine types.

    3. To prevent errors from disrupting your match expression, use a wildcard match-all pattern or else add enough patterns to cover all possible inputs. A wildcard pattern placed as the final pattern in a match expression will match all possible input patterns and prevent a scala.MatchError from occurring.

      In ATS you can specify 'case+' to denote an exhaustive pattern match and have it type checked (though here in Scala it would look more like 'match+'). There are other variations.

    4. | case

      These vertical bars do not seem to work for me, in either the regular input mode or ":paste" mode.

    5. An alternate form of creating a 2-sized tuple is with the relation operator (->). This is a popular shortcut for representing key-value pairs in tuples:

      Also very Perl-like.

    6. val pattern(amountText) = input

      I find this to be slightly strange syntax and non-functional; it is almost as if pattern is applied as if it were pattern-inverse.