164 Matching Annotations
  1. Last 7 days
  2. May 2022
    1. Principles of Shaping

      When we shape the work, we need to do it at the right level of abstraction: not too vague and not too concrete. Product managers often err on one of these two extremes.



  3. Apr 2022
  4. Mar 2022
    1. Capybara can get us part of the way there. It allows us to work with an API rather than manipulating the HTML directly, but what it provides isn't an application specific API. It gives us low-level API methods like find, fill_in, and click_button, but it doesn't provide us with high-level methods to do things like "sign in to the app" or "click the Dashboard item in the navigation bar".
    1. Each highlighted statement expresses political talking points aligned to induce trump-like support.

      Trump introduced new marketing and strategy, formulated using concepts and metrics mastered by Reality TV and Hollywood and then paired with advertising propaganda and "selling" techniques to create a "Brand". This is after-all Donald Trump, this is what he does, has done and is the only way he has found to make money. Trump built the "brand" (just barely) while teetering on self destruction.

      His charismatic persona became "the glue" that allowed creative narratives to stick to certain types of people in-spite of risk. Trump learned OTJ how to capture a specific type of audience.

      The mistake people make about Trump is assuming his audience to be "Joe Six-Pack", redneck's with limited education! This assumption does not have merit on its own.<br /> * There is a common "follower" theme among his audience that is exploited by those who: * Bought the "licensing rights" to the master-class Trump "how-to" course.

  5. Feb 2022
  6. Jan 2022
    1. Another company, Pietra, connects influencers with manufacturers in order to help them launch their own product lines.

      When manufacturers, like Pietra, help influencers manufacture their own product lines, we've taken another step from big celebrities having their own product lines (think Martha Stewart cookware and other lifestyle plays her company has made).

      This is splitting the difference between the Tupperware parties of old where you're empowering your users to sell your product and having celebrities sell your product.

      What is the next step along this evolutionary path of breaking down the sales funnel? Can it be disintermediated further?

      Another example of this are the thousands of small Etsy shops that are churning out products as intermediaries. An example of this is the proliferation of sticker companies that are selling somewhat custom designs for 2-3x the going rate and adding a rather large mark up for themselves. In this case there are at least some modest creative pieces being added in the value chain, but at what overall cost?

      Will everyone be a manufacturer? When does it all become Amway?

  7. Dec 2021
    1. After all, imagine we framed the problem differently, the way itmight have been fifty or 100 years ago: as the concentration ofcapital, or oligopoly, or class power. Compared to any of these, aword like ‘inequality’ sounds like it’s practically designed toencourage half-measures and compromise. It’s possible to imagineoverthrowing capitalism or breaking the power of the state, but it’snot clear what eliminating inequality would even mean. (Which kindof inequality? Wealth? Opportunity? Exactly how equal would peoplehave to be in order for us to be able to say we’ve ‘eliminatedinequality’?) The term ‘inequality’ is a way of framing social problemsappropriate to an age of technocratic reformers, who assume fromthe outset that no real vision of social transformation is even on thetable.

      A major problem with fighting to "level the playing field" and removing "inequality" is that it doesn't have a concrete feel. What exactly would it mean to eliminate inequality? What measures would one implement? To fix such a problem the issue needs to be better defined. How can the issue be better framed so that it could be fought for or against?

  8. Nov 2021
    1. Nuance and ambiguity are essential to good fiction. They are also essential to the rule of law: We have courts, juries, judges, and witnesses precisely so that the state can learn whether a crime has been committed before it administers punishment. We have a presumption of innocence for the accused. We have a right to self-defense. We have a statute of limitations.

      Great quote by itself.

      How useful is the statute of limitations in cases like slavery in America? It goes against a broader law of humanity, but by pretending there was a statue of limitations for going against it, we have only helped to institutionalize racism in American society. The massive lack of a level playing field makes it all the harder for the marginalized to have the same freedoms as everyone else.

      Perhaps this is why the idea of reparations is so powerful for so many. It removes the statue of limitations and may make it possible to allow us to actually level the playing field.


      Luke 12:48 states, "From everyone who has been given much, much will be demanded; and from the one who has been entrusted with much, much more will be asked." Is this simply a statement for justifying greater taxes for the massively wealth?

    1. I created a social justice metaphor library to help explain concepts like why you can't just create a "level playing field" without acknowledging the economic impacts of history (see, even saying it like that is complicated).

      I love that Dave has started a list of these useful social justice metaphors.

      I got side tracked by the idea this morning and submitted a handful I could think of off the top of my head.

      • Baseball fence
      • Parable of the Polygons
      • Unpacking the Invisible Knapsack

      I'm curious if there are any useful ones in the neurodiversity space? I feel like I need more of these myself.

  9. Oct 2021
  10. Sep 2021
  11. Aug 2021
    1. The rate of GMSL rise for 2006–2015 of 3.6 mm yr–1 (3.1–4.1 mm yr–1, very likely range), is unprecedented over the last century

      That's only for 2006-2015 period. So 许艺炜 & 胡修棉 is bullshiting when they write "自工业革命以来,全球海平面以3.6mm/yr速度上升(IPCC, 2019)"

  12. Jul 2021
  13. Jun 2021
    1. "Many North American music education programs exclude in vast numbers students who do not embody Euroamerican ideals. One way to begin making music education programs more socially just is to make them more inclusive. For that to happen, we need to develop programs that actively take the standpoint of the least advantaged, and work toward a common good that seeks to undermine hierarchies of advantage and disadvantage. And that, inturn, requires the ability to discuss race directly and meaningfully. Such discussions afford valuable opportunities to confront and evaluate the practical consequences of our actions as music educators. It is only through such conversations, Connell argues, that we come to understand “the real relationships and processes that generate advantage and disadvantage”(p. 125). Unfortunately, these are also conversations many white educators find uncomfortable and prefer to avoid."

    1. When we use a GraphQL API there are two kinds of errors we may encounter: Network Errors and GraphQL Errors from the API. Since it's common to encounter either of them, there's a CombinedError class that can hold and abstract either.
    1. In general, top-level errors should only be used for exceptional circumstances when a developer should be made aware that the system had some kind of problem. For example, the GraphQL specification says that when a non-null field returns nil, an error should be added to the "errors" key. This kind of error is not recoverable by the client. Instead, something on the server should be fixed to handle this case. When you want to notify a client some kind of recoverable issue, consider making error messages part of the schema, for example, as in mutation errors.
    1. For me the diagrams make it easier to talk about what the tests do without getting bogged down by how they do it.
    2. I’m going to add the API Server as an actor to my first test sequence to give some granularity as to what I’m actually testing.
    3. For features like websocket interactions, a single full-stack smoke test is almost essential to confirm that things are going as planned, even if the individual parts of the interaction are also covered by unit tests.
    1. How to test at the correct level?
    2. As many things in life, deciding what to test at each level of testing is a trade-off:
    3. Unit tests are usually cheap, and you should consider them like the basement of your house
    4. A system test is often better than an integration test that is stubbing a lot of internals.
    5. Only test the happy path, but make sure to add a test case for any regression that couldn’t have been caught at lower levels with better tests (for example, if a regression is found, regression tests should be added at the lowest level possible).
    6. White-box tests at the system level (formerly known as System / Feature tests)
    7. Black-box tests at the system level (aka end-to-end or QA tests)
    8. White-box tests at the system level (aka system or feature tests)
  14. May 2021
    1. First of all, I would start off presenting yourself: Dear XYZ support team I am the web developer in charge of example.com website. By presenting you this way, you are establishing the frame to treat you, hinting that you should be presupposed to be somewhat proficient, so they could choose to answer in a more technical detail.
    2. Feel free to hint, brag, or both! The best CS reps should easily take a hint from clear language and a signature like John Appleseed, JavaScript/Ruby Developer, but any will catch on with a simple line like "I know what I'm doing, so I'd appreciate an extra-technical explanation!"
    3. One solution that fixed this issue with my ISP was that when I went through the first and second line and got in touch with the people that fixed my problem, I asked them if they could give me one of their personal numbers in case the same problem happened again. The problem did occur a couple more times, and I just directly called the same guy.
    4. Hey, I'm a PhD in [field] and do [whatever] professionally. Before calling you, I've narrowed down the problem to [something on their end], so that's what needs to be addressed. If I could speak to an engineer about [specific problem], that'd be great; but if we've gotta walk through the script, let's just knock it out quickly. If they end up requiring the script, then the best way to use your expertise is to run through it quickly. Keep the chit-chat to a minimum and just do the stuff efficiently. If they start describing how to perform some step, you might interrupt them with, "Got it, just a sec.", then let them know once you're ready for the next step.
    5. My advice is if you are looking for a quick and accurate answer ask to have the trouble ticket elevated immediately and to speak with an engineer that will recognize your knowledge and speak with you on your level.
    6. I typically request to speak with an engineer when I find myself detecting an inexperienced support person.
    7. I find most tech support is filled with inexperienced and frustrated staff who just run off a script. They're not paid well. They are Tier One support to filter out most of the incoming calls. Tech support is designed in tiers.
    8. However, what speaks against just straight up telling them that you're working as [Insert title of your position] and you know what you're talking about?
    9. So what can you do to demonstrate your technical knowledge? Well, you are doing the right thing by using the correct technical terms. That will give an indication to the person handling the ticket. Explicitly explaining your role as the administrator or developer should also help.
    10. From experience I can say that professionals will be more forgiving if you go through things at a basic level than amateurs who have no idea what you're talking about, so people will probably err on the side of caution and not assume the customer has a high level of expertise.
    11. In one of my internship, I got to befriend a level 2 tech support, so learned a couple thing of how it worked (in that company). Level 1 was out-sourced, and they had a script to go from, regularly updated. From statistics, this took care of 90% of issues. Level 2 was a double handful of tech people, they had basic troubleshooting tools and knowledge and would solve 90% of the remaining issues. Level 3 was the engineering department (where I was), and as a result of level 1 and 2 efficiency less than 1% of issues ever got escalated. The process worked!
    12. OP is referring to letting people know they can speak like proper adults when talking about technical terms, without going through the usual nanny-like discourse that tech support has to provide to non-techies. For instance, it happened to me with Amazon support. The speaker told me exactly where to touch in order to clear the cache of the Android Amazon App Store. Given that I work as an app developer the guy could have just said "please clear the cache". No need to go through "tap here, then here, now you should see this, tap that"...
    13. I have tried different tactics of showing the tech support that I am proficient in their field of work (I work as a web developer). Specifically: using accurate terms and technologies to show my knowledge of them and telling the support that I am the "administrator" of the website in question.
    14. How to let tech support subtly know that I am proficient without showing off?
    15. Unfortunately the tech support people you are speaking to are probably as frustrated as you are at having to go through the basic stuff with you.
    16. Large companies especially deal with the massive volume of tech support calls they receive by employing some staff on lower pay as a "buffer," dealing with simple or "known" issues so that they don't need to employ as many higher paid "second line" support staff.
    17. Very often the first people you get through to on tech support lines are reading from a script.
    1. Wellenius, G. A., Vispute, S., Espinosa, V., Fabrikant, A., Tsai, T. C., Hennessy, J., Dai, A., Williams, B., Gadepalli, K., Boulanger, A., Pearce, A., Kamath, C., Schlosberg, A., Bendebury, C., Mandayam, C., Stanton, C., Bavadekar, S., Pluntke, C., Desfontaines, D., … Gabrilovich, E. (2021). Impacts of social distancing policies on mobility and COVID-19 case growth in the US. Nature Communications, 12(1), 3118. https://doi.org/10.1038/s41467-021-23404-5

  15. Mar 2021
    1. I’m proposing that writing those tests from the perspective of specifying the behaviors that we want to create is a highly valuable way of writing tests because it drives us to think at the right level of abstraction for creating behavioral tests and that allow us the freedom to refactor our code without breaking it
    2. I am a big advocate of having a complete test base and even erring on the side of caution when it comes to quality engineering and software validation but that is not what we’re talking about here. What we’re talking about here are the tests that we write when we’re doing test-first development and I’m proposing that writing those tests from the perspective of specifying the behaviors that we want to create is a highly valuable way of writing tests because it drives us to think at the right level of abstraction for creating behavioral tests and that allow us the freedom to refactor our code without breaking it.
    1. Having an understanding of higher level abstractions, such as tasks, activities and the historical code path taken, its debugging trace is much closer to how you, as an engineer, think about your code.
    2. Admittedly, both the signature and the return values of invoke feel a bit clumsy. That’s becaus we’re currently working with the low-level interfaces.
  16. Feb 2021
    1. Please note that this is a higher-level debugging tool that does not confront you with a 200-lines stack trace the way Ruby does it, but pinpoints the exceptional code and locates the problem on a task level. This is possible due to you structuring code into higher abstractions, tasks and activities.
    1. When compiling assets with Sprockets, Sprockets needs to decide which top-level targets to compile, usually application.css, application.js, and images.
    1. Using a terminus to indicate a certain outcome - in turn - allows for much stronger interfaces across nested activities and less guessing! For example, in the new endpoint gem, the not_found terminus is then wired to a special “404 track” that handles the case of “model not found”. The beautiful thing here is: there is no guessing by inspecting ctx[:model] or the like - the not_found end has only one meaning!
    1. But all of these attempts misunderstand why the Open Source ecosystem is successful as a whole. The ecosystem of fairly standard licenses provides a level playing field that allows collaboration with low friction, and produces massive value for everyone involved – both to those that contribute and to those that don't. It is not without problems (there are many essential but unsexy projects that are struggling with funding), but introducing more friction won't improve the success of this ecosystem – it will just lead to some parts of the ecosystem to break off.
  17. Jan 2021
    1. From morn to night

      We started the poem at the beginning of the day and now end at night. Not only does this show the "circle motif" in this poem - what I mean is how "all things come to a close" and then restart anew - but it also parallels the journey of the youth, from being naive and blissful to being to falling victim to that naivety and becoming unaware of their fictitious bliss in the unknown; the journey leads to isolation from reality.

    2. folly=inescapable

      Blake shows how youth can be unaware that they have been corrupted. When they are brought down a path of ignorance, they become trapped in the dark, unless a light appears to guide them. Youth have few doubts, and when that is fed into, they continue without doubts, content with not having opposing views and nuance - stuck in their own folly.

    3. Doubt is fled=stuck to their opinions

      Doubt is fled seems very much like a point on the youths lack of internal questioning. They do not think there is room for doubt, as they must be right - a point made from their lack of understanding the nuance of truth and reality.

    4. delight=bliss in not understanding?

      Does this mean that there is delight in not understanding truth? It is the youths who are delighted, relating to their lack of experience.

      p.s This poem is taken from Selected Poetry and Prose of Blake (section Songs of Experience)

  18. Nov 2020
  19. Oct 2020
    1. (One can already destructure the loop variable but using a store obtained that way currently throws an error - Stores must be declared at the top level of the component (this may change in a future version of Svelte))
  20. Sep 2020
  21. Aug 2020
    1. Consiglio, C. R., Cotugno, N., Sardh, F., Pou, C., Amodio, D., Zicari, S., Ruggiero, A., Pascucci, G. R., Rodriguez, L., Santilli, V., Tan, Z., Eriksson, D., Wang, J., Lakshmikanth, T., Marchesi, A., Lakshmikanth, T., Campana, A., Villani, A., Rossi, P., … Brodin, P. (2020). The Immunology of Multisystem Inflammatory Syndrome in Children with COVID-19. MedRxiv, 2020.07.08.20148353. https://doi.org/10.1101/2020.07.08.20148353