20 Matching Annotations
  1. Oct 2017
    1. he thing is, it’s really nice here, except when it isn’t. Those Seminole War soldiers would be stunned to see how this worthless hellscape of swarming mosquitoes and sodden marshes has become a high-priced dreamscape of swimming pools and merengue and plastic surgery and Mar-a-Lago. It probably isn’t sustainable. But until it gets wiped out—and maybe even after—there’s still going to be a market for paradise. Most of us came here to escape reality, not to deal with it.

      Nightfall -- night every 5000 (or whatever years) lead to the fall of civilizations. Helliconian winter did the same thing (I think).

      The amazing thing is that there the event was actually unexpected.

      In Florida and similar places, we repeat these mistakes, inspite of knowing that they are mistakes, because we've built structures [0] that almost compel them.

      Those structures were built because other structures -- political, capitalistic, whatever.

  2. Sep 2016
    1. all possible chains of composable graph edges

      How would you create peano numbers like this?

    1. pure functions

      Or alternately functions in their math sense (morphisms).

    2. operational semantics

      Just like operational definition

    3. A mathematical function does not execute any code — it just knows the answer. A Haskell function has to calculate the answer.
    4. you can’t have a set of all sets
    5. polymorphic functions that involve circular definitions

      Polymorphic functions, like foldr, id, map are functions which can act on a multiple types of sets.

      Higher level functions are arrows in categories whose objects are other categories.

      The circularity here comes in because higher order functions reference themselves -- via reduction sequences.

    6. types is that they are sets of values

      Going back to cat-theory for a bit, we had objects and we had arrows.

      Arrows are morphisms -- structure preserving map between objects. Now, we are talking about categorization of objects into separate sets.

    7. It’s a common practice in Haskell to start a project by designing the types. Later, type annotations drive the implementation and become compiler-enforced comments.

      Design the types, the structure, essentially the surface of the program.

      Then fill in the implementation, the volume and let the compiler take care of validating the implementation.

    8. Types Are About Composability

      Types enforce structure, which enables composability.

    1. morphisms,

      From wikipedia:

      morphism: *structure preserving map from one mathematical structure to another

      structure is an aggregate thing -- about the domain not about any one object in the domain.

      In set theory, morphisms are functions; in linear algebra, linear transformations; in group theory, group homomorphisms; in topology, continuous functions

      So, in set-theory functions are structure preserving maps from a set to another.

      In linear algebra, linear transformations are structure preserving maps from ...

      In group theory, group homomorphisms are structure preserving maps from elements of the group (?) to ...

      In Topology, continuous functions are structure preserving maps from one /region/ (?) to another.

      In category theory, morphism is a broadly similar idea, but somewhat more abstract: the mathematical objects involved need not be sets, and the relationship between them may be something more general than a map.

    2. ategory consists of objects and arrows that go between them

      Based on the arrow being a morphism/function (see below), it seems that the domain and the co-domain should be able to be disjoint.

      Also, here A->B and A->C; the dual map means that an arrow is not a function.

    3. essence of a category is composition. Or, if you prefer, the essence of composition is a category

      Alternately stated: All you can do with categories is composition?

  3. Aug 2016
    1. are given a transistor allocation

      which changes with process. But, perhaps slower now.

      But it does illustrate how much you design to a process.

    2. Opterons

      Opteron was 2003. Nehalem, 2009.

      That's a long gap. But of course they messed up with Barcelona.

    1. You have another function g that takes a B and returns a C. You can compose them by passing the result of f to g. You have just defined a new function that takes an A and returns a C.

      That clears that. Arrow A->B and arrow B->C are not necessarily the same arrow (function).

      Okay, so what are we doing here? Category is a set (?) of objects with arbitrary functions between them. The only property that this needs to satisfy is one of transitivity.

    1. locks don’t compose,

      They don't commute sure, but what if we are really careful with them and make sure there are no cycles.

      Of course you could have locks where they protect overlapping regions -- that seems problematic.

    2. Functional programming is not only about composing functions and algebraic data structures — it makes concurrency composable

      This seems to refer to my last comment: composition is not just about composing function and ADTs, but also makes concurrency composable.

      From this first lvar paper: http://lambda-the-ultimate.org/node/4823, if two sets of modifications can be structured to commute, then they are guaranteed to be thread safe and thus can be composed.

  4. Jul 2016
    1. When you set your official releases to build with -Wall -Werror or the equivalent, you're putting yourself on quicksand. It's basically guaranteed that future compiler versions will have different opinions on what to warn about, which means that official releases of your software are going to stop building at some point in the future for no good reason. Having your software stop building for no good reason is not helping people.

      TL;DR version.

    1. hile Oracle is building its own public cloud, it does not have the kind of scale that these companies do, but it does have something else that warrants customization and co-design up and down its stack: more than 420,000 customers who generate $38.5 billion in sales.

      Why would Oracle build custom hardware?

      Oracle does have few large customers. Note that the public cloud efforts of MSFT, GOOG, AMZN are trying the same thing -- just with different set of technologies.