194 Matching Annotations
  1. Oct 2021
    1. DIRECTORY (in progress): This post is my directory. This post will be tagged with all tags I ever use (in chronological order). It allows people to see all my tags, not just the top 50. Additionally, this allows me to keep track. I plan on sorting tags in categories in reply to this comment.

      External links:

      Tags categories will be posted in comments of this post.

  2. Sep 2021
    1. I feel like that is a very broad generalization but I would agree that most people have read something about technology. I'm also not sure if I agree that learning devices enhance learning outcomes for kids. I know there have been studies done that say if you use pencil and paper to write your notes, you are more likely to remember information.

    1. But it is always important to remember that those are not language concepts. Those are community concepts that only exist in our heads and in the names of some library methods.

      I'm not sure about this. I get what he's saying and agree that singleton methods are nothing but a naming convention for the more fundamental/atomic construct called instance methods (which indeed are the only kind of method that exist in Ruby, depending how you look at it), but I think I would actually say that singleton methods are language concepts because those methods like Object#define_singleton_method, ... are always available in Ruby (without needing to require a standard library first, for example). In other words, I would argue that something belonging in the Ruby core "library" (?) by definition makes it part of the language -- even if it in turn builds on even lower-level Ruby language features/constructs.

    2. The important thing to understand is that there is no such thing as a class method in Ruby. A class method is really just a singleton method. There is nothing special about class methods. Every object can have singleton methods. We just call them "class methods" when the object is a Class because "singleton method of an instance of Class" is too long and unwieldy.
  3. Aug 2021
  4. Jun 2021
    1. "In Colormute, Pollock(2004) makes specific suggestions for addressing the fear of talking about race: “In all conversations about race, I think, educators should be prepared to do three things:ask provocative questions, navigate predictable debates,and talkmore about talking”(p. 221, italics in original)"

    2. "Although in the United States it is common to use the term multiculturalism to refer to both liberal forms of multiculturalism and to describe critical multicultural pedagogies, in Canada, Great Britain, Australia, and other areas,anti-racism refers to those enactments of multiculturalism grounded in critical theory and pedagogy. The term anti-racism makes a greater distinction, in my opinion, between the liberal and critical paradigms of multiculturalism, and is one of the reasons I find the anti-racism literature useful for analyzing multiculturalism in music education."

    1. We should think about the number of simultaneous connections (peak and average) and the message rate/payload size. I think, the threshold to start thinking about AnyCable (instead of just Action Cable) is somewhere between 500 and 1000 connections on average or 5k-10k during peak hours.
      • number of simultaneous connections (peak and average)

      • the message rate/payload size.

    1. Configuration style is exactly the same for env_bang and env_setting, only that there's no "ENV!" method... just the normal class: EnvSetting that is called and configured.
  5. May 2021
    1. MJML has been designed with responsiveness in mind. The abstraction it offers guarantee you to always be up-to-date with the industry practices and responsive. Email clients update their specs and requirements regularly, but we geek about that stuff - we’ll stay on top of it so you can spend less time reading up on latest email client updates and more time designing beautiful email.
  6. Apr 2021
    1. (Ideally the run-time library would treat a pipe in the same way as a console, but it seems that most don't.)

      Often/usually treating a pipe/redirect differently is in fact what you want.

      Like if you output to a file, you don't necessarily want colors or real-time progress/status outputted along with it: you want just the bare data to be saved, which can then be filtered in useful ways with other standard tools like grep and sed.

    1. If no file is detected (in case, it's being run as part of a script or the command is being piped)

      How does it detect that it's being run non-interactively as part of a script?

      Is that distinct/different from detecting whether the command is being piped?

    1. can be easily invoked directly from shell prompt or script

      Can't expect / unbuffer / etc. (whatever this is attempting to contrast itself with) be easily invoked directly from shell prompt or script too??

      Okay, I guess you have to know more about how expect is invoked to understand what they mean. One glance at the examples, comparing them, and all becomes clear:

      #!/bin/sh
      empty -f -i in -o out telnet foo.bar.com
      empty -w -i out -o in "ogin:" "luser\n"
      

      I didn't realize that expect required/expected (no pun intended) to be used in scripts with its own shebang line:

      #!/usr/bin/expect
      
      spawn telnet foo.bar.com 
      expect ogin {send luser\r}
      

      That does make it less easy/normal to use expect within a shell script.

      I was coming to the expect project from/for the unbuffer command, which by contrast, is quite easy to include/use in a shell script -- almost the same as empty, in fact. (Seems like almost a mismatch to have unbuffer command in expect toolkit then. Or is expect command the only odd one out in that toolkit?)

    1. “Who cares? Let’s just go with the style-guide” — to which my response is that caring about the details is in the heart of much of our doings. Yes, this is not a major issue; def self.method is not even a code smell. Actually, that whole debate is on the verge of being incidental. Yet the learning process and the gained knowledge involved in understanding each choice is alone worth the discussion. Furthermore, I believe that the class << self notation echoes a better, more stable understanding of Ruby and Object Orientation in Ruby. Lastly, remember that style-guides may change or be altered (carefully, though!).
    1. Valleyspeak

      "Spaces" is not an official entry here, but svdictionary is a good resource for all sorts of technical jargon common in the valley, and the site itself gives plenty of insight into the internal culture at these companies. Interested readers will also appreciate this guardian article from 2019 which covers a bunch of commonly used silicon valley terms.

    1. Tangentially is defined as briefly mentioning a subject but not going into it in detail, or is defined as going off in a different direction.

      in the case of

      briefly mentioning a subject but not going into it in detail the topic/subject need not be related at all (it sounds like).

      What about in the case fo:

      is defined as going off in a different direction. Does the fact that it's going off in a different direction imply that it at least starts out connected/related to the original (starting point) subject (as it does in the geometry sense of tangential)? Or does it permit "jumping" to another topic (in another direction) without being related/connected at all??

      I don't think I like this definition very much. It doesn't quite fit the sense I'm trying to use it for in my tag:

      tangentially related content (aside)

      Ah, here's a definition that matches what I thought it meant (one of the senses anyway): https://hyp.is/3Bn2bpZ7Eeu3Ok8vg03AVA/www.merriam-webster.com/dictionary/tangential

  7. Mar 2021
    1. Your validation functions should also treat undefined and '' as the same. This is not too difficult since both undefined and '' are falsy in javascript. So a "required" validation rule would just be error = value ? undefined : 'Required'.
    1. Visible spectrum wrapped to join blue and green in an additive mixture of cyan

      the rainbow as a continuous (repeating) circle instead of semicircle

    1. Nevertheless, co-hyponyms are not necessarily incompatible in all senses. A queen and mother are both hyponyms of woman but there is nothing preventing the queen from being a mother.

      not necessarily incompatible in all senses.

      so is this only a concern/possibility when the word in question is a polyseme?

      but there is nothing preventing the queen from being a mother

      The meaning of the "incompatibility" relation seems really ambiguous. What does that mean precisely?

      And how would we know for sure if an incompatibility (such as a peach is not a plum) or lack of incompatibility (a queen can be a mother and a mother can be a queen) is a sufficient condition to cause it to be or not be a co-hyponym?

      Oh. I guess it says

      Co-hyponyms are often but not always related to one another by the relation of incompatibility.

      so it actually can't ever be used to prove or disprove (sufficient/necessary condition) that something is a co-hyponym. So that observation, while interesting, is not helpful in a practical / deterministic way...

    2. It consists of two relations; the first one being exemplified in "An X is a Y" (simple hyponymy) while the second relation is "An X is a kind/type of Y". The second relation is said to be more discriminating and can be classified more specifically under the concept of taxonomy.

      So I think what this saying, rather indirectly (from the other direction), if I'm understanding correctly, is that the relationships that can be inferred from looking at a taxonomy are ambiguous, because a taxonomy includes 2 kinds of relationships, but encodes them in the same way (conflates them together as if they were both hyponyms--er, well, this is saying that the are both kinds of hyponyms):

      • "An X is a Y" (simple hyponymy)
      • "An X is a kind/type of Y".

      Actually, I may have read it wrong / misunderstood it... While it's not ruling out that simple hyponymy may sometimes be used in a taxonomy, it is be saying that the "second relation" is "more specifically under the concept of taxonomy" ... which is not really clear, but seems to mean that it is more appropriate / better for use as a criterion in a taxonomy.


      Okay, so define "simple hyponymy" and name the other kind of hyponymy that is referenced here.

    1. semantic domain or semantic field

      What, then, is the difference between a semantic domain and a semantic field? The way they are used here, it's almost as if they are listing them in order to emphasis that they are synonyms ... but I'm not sure.

      From the later examples of basketball (https://hyp.is/ynKbXI1BEeuEheME3sLYrQ/en.wikipedia.org/wiki/Semantic_domain) and coffee shop, however, I am pretty certain that semantic domain is quite different from (broader than) semantic field.

    1. (Not answered on this stub article)

      What, precisely, is the distinction/difference between a semantic class and a semantic field? At the very least, you would say that they are themselves both very much within the same semantic field.

      So, is a semantic class distinct from a semantic field in that semantic class is a more well-defined/clear-cut semantic field? And a semantic field is a more fluid, nebulous, not well-defined field (in the same sense as a magnetic field, which has no distinct boundary whatsoever, only a decay as you move further away from its source) ("semantic fields are constantly flowing into each other")?

      If so, could you even say that a semantic class is a kind of (hyponym) of semantic field?

      Maybe I should pose this question on a semantics forum.

    1. As to why both is_a? and kind_of? exist: I suppose it's part of Ruby's design philosophy. Python would say there should only be one way to do something; Ruby often has synonymous methods so you can use the one that sounds better. It's a matter of preference.
    1. those aspects of a linguistic unit, such as a morpheme, word, or sentence,

      Speaking of ambiguity...

      Are the examples in the list "such as a morpheme, word, or sentence" examples of

      • aspects of a linguistic unit or of:
      • linguistic units themselves ?

      Unless you are already fairly familiar with those terms -- in particular, linguistic unit -- it may not be clear.

      I believe these are given as examples of "linguistic unit", in order to clarify what we mean by "linguistic unit" — perhaps (ironically) precisely because many people would be unfamiliar with that expression/term.

    1. Function (computer science) Function (engineering) Function (mathematics)

      Is this a polyseme?

      Or is that only the case if the different distinct senses are all within the same "field"?

    1. However, since you haven't yet provided any details about how you built with Qt (Qt isn't officially supported, so you must have used a third party derivative of vim), and you haven't provided any detailed information about what error messages or malfunctions you're having with python-complete, it's not really possible to tell you how to fix the problem and get vim working with Qt.
    1. I don't understand why this isn't being considered a bigger deal by maintainrs/the community. Don't most Rails developers use SCSS? It's included by default in a new Rails app. Along with sprockets 4. I am mystified how anyone is managing to debug CSS in Rails at all these days, that this issue is being ignored makes sprockets seem like abandonware to me, or makes me wonder if nobody else is using sprockets 4, or what!
    2. I don't myself understand what's going on, it clearly has something to do with source maps, but may also have to do with other sprockets changes.
    3. I don't really understand what's going on. Clearly source maps have something to do with it -- a source map feature that doesn't handle SCSS very well, apparently.
  8. Feb 2021
    1. Currently, only Right signals are wired up.

      So what happens if a task returns a Left signal?? Will it still go Right? Will it error?

    1. The latter are important examples which usually also exist in "purely" functional programming languages.

      How can they exist and it still be considered pure??

      I guess that's not quite the same / as bad as saying something had side effects in a purely functional programming context, right?

    1. And a word of warning. If you haven’t come across things like monads before, they might seem really… different. Working with tools like these takes a mind shift. And that can be hard work to start with.
    1. provide interfaces so you don’t have to think about them

      Question to myself: Is not having to think about it actually a good goal to have? Is it at odds with making intentional/well-considered decisions?  Obviously there are still many of interesting decisions to make even when using a framework that provides conventions and standardization and makes some decisions for you...

    1. What is the opposite of free content?

      The opposite of free/open-source software is proprietary software or non-free software (https://en.wikipedia.org/wiki/Proprietary_software).

      So should we call the opposite of free content "non-free content"? Or "proprietary content"?

      Seems likes either would be fine.

      Looks like https://en.wikipedia.org/wiki/Wikipedia:Non-free_content prefers the term "non-free content".

      Couldn't find anyone contrasting these 2 terms (like I could no doubt find for software):

      Not to be confused with:

      • paid content ... just like:
      • free content should not be confused with gratis content (?)
      • free software should not be confused with freeware
    1. a framework containing the basic assumptions, ways of thinking, and methodology that are commonly accepted by members of a scientific community. such a cognitive framework shared by members of any discipline or group:
    1. compose(Add, x: x, y: 3)

      How is this better than simply:

      Add.run(x: x, y: 3)
      

      ?

      I guess if we did that we would also have to remember to handle merging errors from that outcome into self...

    2. This probably looks a little different than you're used to. Rails commonly handles this with a before_filter that sets the @account instance variable.
    1. class FormsController < ApplicationController class SearchForm < ActiveModel::Form

      I kind of like how they put the form class nested directly inside the controller, although I would probably put it in its own file myself, unless it was quite trivial.

    1. This column and last month's article are about design. Design, by nature, is a series of trade-offs. Every choice has a good and bad side, and you make your choice in the context of overall criteria defined by necessity. Good and bad are not absolutes, however. A good decision in one context might be bad in another.
    2. Consequently, you act irresponsibly when you adopt any programming practice simply because "that's the way you're supposed to do things."
    3. My point is that you should not program blindly. You must understand the havoc a feature or idiom can wreak. In doing so, you're in a much better position to decide whether you should use that feature or idiom. Your choices should be both informed and pragmatic.
    4. This article explains why you shouldn't use getters and setters (and when you can use them) and suggests a design methodology that will help you break out of the getter/setter mentality.
    1. you'll want to update Devise's generated views to remove references to passwords, since you don't need them any more

      Doesn't this contradict the statement

      This strategy plays well with most other Devise strategies

      (which includes password strategies)?


      One thing that wasn't clear from their instructions was whether magic links could be used as an option in addition to regular password log-ins. On the one hand they say:

      This strategy plays well with most other Devise strategies (see notes on other Devise strategies).

      but on the other hand they say:

      you'll want to update Devise's generated views to remove references to passwords, since you don't need them any more

    1. The only problem is that our PJAX library is no longer maintained and was preventing us from updating jQuery (ugh). So it had to go.

      https://github.com/MoOx/pjax doesn't say it's no longer maintained (though hasn't been updated in 2 years), and does say that it doesn't use jQuery. Oh well.

    1. It’s always about the money… Fish got’a swim, birds got’a fly, and development has to have money. If you think otherwise you’re a fool!
  9. Jan 2021
    1. Volkswagen, the world’s largest car maker, has outspent all rivals in a global bid by auto incumbents to beat Tesla. For years, industry leaders and analysts pointed to the German company as evidence that, once unleashed, the old guard’s raw financial power paired with decades of engineering excellence would make short work of Elon Musk’s scrappy startup. What they didn’t consider: Electric vehicles are more about software than hardware. And producing exquisitely engineered gas-powered cars doesn’t translate into coding savvy.

      Many thought Volkswagen would crush Tesla as soon as they put their weight behind an electric car initiative. What they didn't consider was that an electric car is more about software than it is about hardware.

    1. When there are imperfections, we rely on users and our active community to tell us how the software is not working correctly, so we can fix it. The way we do that, and have done for 15 years now, is via bug reports. Discussion is great, but detailed bug reports are better for letting developers know what’s wrong.
    1. What if there's an icon that I need that's not in this set?

      How do I add a custom icon to the set for use on a web page and have the custom icon styled the same way as these "standard" icons?

      Like how they have instructions for adding an icon here, for example: https://www.digitalocean.com/community/tutorials/angular-custom-svg-icons-angular-material#custom-svg-icons

  10. Dec 2020
    1. This can be used to perform actions once the navigation has completed, such as updating a database, store

      Wouldn't/shouldn't it be the other way around — wouldn't we wait until the save is completed (database is updated) successfully before we navigate away from the current page/form??

    1. It's true that Svelte does not allow you to map over children like React, but its slot API and <svelte:component> provide similarly powerful composition. You can pass component constructors as props and instantiate them with <svelte:component>, and use slots and their let bindings for higher order composition. It sounds like you're thinking in virtual DOM idioms instead of Svelte's.
    2. However, Svelte isn't React or Vue or any other framework, the same approach will not always work and given that Svelte has very different constraints and approach that works well in another framework is not suitable with Svelte. Trying to apply approaches use with other frameworks to Svelte will invariably end in frustration.
    1. Each area requires specific learning and thinking in a certain way. Front-end is user centric, back-end is closer to algorithms and parallel programming, databases require thinking in streams of data based on a model (similar to set theory and model checking).
  11. Nov 2020
    1. Svelte by itself is great, but doing a complete PWA (with service workers, etc) that runs and scales on multiple devices with high quality app-like UI controls quickly gets complex. Flutter just provides much better tooling for that out of the box IMO. You are not molding a website into an app, you are just building an app. If I was building a relatively simple web app that is only meant to run on the web, then I might still prefer Svelte in some cases.
    1. What vaults this well past SNCF for me (setup time aside), is the limited company choice; it prevents a feedback loop of sorts where a game devolves into running each company in the ground.
    1. Man, for some reason, I really like this answer. I recognize it's a bit more complicated, but it seems so useful. And given that I'm no bash expert, it leads me to believe that my logic is faulty, and there's something wrong with this methodology, otherwise, I feel others would have given it more praise. So, what's the problem with this function? Is there anything I should be looking out for here?

      I think the main thing wrong with it is the eval (which I think can be changed to $("$@") and it's pretty verbose.

      Also, there are more concise ways to do it that would probably appeal more to most bash experts...

      like set -x

      and it does unnecessary things: why save output to a variable? Just let output go to where it would normally go...

      So yeah, I can see why this solution isn't very popular. And I'm rather surprised by all the praise comments it's gotten.

    1. Svelte slots are much easier to use and reason about than Angular transclude, especially in cases where you don't want an extra wrapper element around the slot content.
    1. The Chinese Internet also illustrates the importance of theorizing online expression based on a representative spectrum of digital environments.

      How does Chinese cancel culture differ from American cancel cuture? Is this phenomenon different worldwide?

  12. Oct 2020
    1. I'm afraid there's only so much the docs & tutorials can do about something like this actually. When you first read them, you don't get Svelte well enough (since you're reading a tutorial...) for this to make sense to you. Then you try something, encounter a behaviour, question it, understand better... That's learning.
    1. “"

      Which character is this referring to exactly?

      It looks like the empty string, which wouldn't make sense.

      https://www.postgresql.org/docs/13/functions-matching.html only lists these 2:

      If pattern does not contain percent signs or underscores, then the pattern only represents the string itself; in that case LIKE acts like the equals operator. An underscore (_) in pattern stands for (matches) any single character; a percent sign (%) matches any sequence of zero or more characters.

    1. Another example:

      const expensiveOperation = async (value) => {
        // return Promise.resolve(value)
          // console.log('value:', value)
          await sleep(1000)
          console.log('expensiveOperation: value:', value, 'finished')
          return value
      }
      
      var expensiveOperationDebounce = debounce(expensiveOperation, 100);
      
      // for (let num of [1, 2]) {
      //   expensiveOperationDebounce(num).then(value => {
      //     console.log(value)
      //   })
      // }
      (async () => { await sleep(0   ); console.log(await expensiveOperationDebounce(1)) })();
      (async () => { await sleep(200 ); console.log(await expensiveOperationDebounce(2)) })();
      (async () => { await sleep(1300); console.log(await expensiveOperationDebounce(3)) })();
      // setTimeout(async () => {
      //   console.log(await expensiveOperationDebounce(3))
      // }, 1300)
      

      Outputs: 1, 2, 3

      Why, if I change it to:

      (async () => { await sleep(0   ); console.log(await expensiveOperationDebounce(1)) })();
      (async () => { await sleep(200 ); console.log(await expensiveOperationDebounce(2)) })();
      (async () => { await sleep(1100); console.log(await expensiveOperationDebounce(3)) })();
      

      Does it only output 2, 3?

    1. I don't understand the need for the name "Open–closed principle". It doesn't seem meaningful or clear to me.

      Can't we just call it "extensibility" or "easily extendable"? Doesn't "extensibility" already imply that we are extending it (adding new code on top of it, to interoperate with it) rather than modifying its source code?

    1. Don’t indent code blocks.

      Sure, we don't need to add any additional indent. But what if your code block contains indentation (function body)? It would look silly to remove all leading indentation.

  13. Sep 2020
    1. Actually just returning the loginDaoCall works fine. I dont really get what's different as it is the looked like it was the same instance, but probably not.

      So the posted answer wasn't necessary/correct? Which part of the answer was incorrect/unneeded?

      I wish this OP comment included the full version of code that worked.

      I don't understand this OP comment. Wasn't OP already returning loginDaoCall? So maybe the only thing they could mean is that they just needed to change it to return loginDaoCall.then(...) instead...

      That would be consistent with what the answer said:

      the promise returned by the further .then() does also get rejected and was not handled.

      So I guess the unnecessary part of the answer was adding the return true/false...

    2. It is showed as an error, but it is a warning as it doesn't break anything. I hate having warning/error in my console not coming from me. It is not justified as it's not bad practice imho
    1. You must: reference each element you are extending using refs or an id add code in your oncreate and ondestroy for each element you are extending, which could become quite a lot if you have a lot of elements needing extension (anchors, form inputs, etc.)
    2. This is where hooks/behaviors are a good idea. They clean up your component code a lot. Also, it helps a ton since you don't get create/destroy events for elements that are inside {{#if}} and {{#each}}. That could become very burdensome to try and add/remove functionality with elements as they are added/removed within a component.
    1. The more I think about this, the more I think that maybe React already has the right solution to this particular issue, and we're tying ourselves in knots trying to avoid unnecessary re-rendering. Basically, this JSX... <Foo {...a} b={1} {...c} d={2}/> ...translates to this JS: React.createElement(Foo, _extends({}, a, { b: 1 }, c, { d: 2 })); If we did the same thing (i.e. bail out of the optimisation allowed by knowing the attribute names ahead of time), our lives would get a lot simpler, and the performance characteristics would be pretty similar in all but somewhat contrived scenarios, I think. (It'll still be faster than React, anyway!)