969 Matching Annotations
  1. Jul 2022
    1. A key point I make is that that the boundary between knowledge and ignorance is not impermeable. It is open to political appropriation by less powerful groups. In other words, calling attention to the problem of strategic ignorance by elite actors – and demanding more accountability from those actors – can lead to a new "war of position", in a Gramscian sense. In my book, I term this argument the Lorde principle, after Audre Lorde, in homage to earlier academic and activist work that my argument builds upon. I suggest that the Lorde principle encompasses the way that unknowing can be a revolutionary force for good.

      The Lorde principle is a leverage point for activists representing and from the persecuted masses that can hold people in positions of power who abuse strategic ignorance for personal gain and collective harm.

  2. Jun 2022
    1. In game theory, a focal point (or Schelling point) is a solution that people tend to choose by default in the absence of communication. The concept was introduced by the American economist Thomas Schelling in his book The Strategy of Conflict (1960).[1] Schelling states that "(p)eople can often concert their intentions or expectations with others if each knows that the other is trying to do the same" in a cooperative situation (at page 57), so their action would converge on a focal point which has some kind of prominence compared with the environment. However, the conspicuousness of the focal point depends on time, place and people themselves. It may not be a definite solution.
    1. The experts were asked to independently provide a comprehensive list of levers and leverage points for global sustainability, based on the potential for disproportionate effects to address and reverse the deterioration of nature while meeting societal needs. They were asked to consider actions by the full range of possible actors, and both top-down and bottom-up effects across various sectors. The collection of all responses became our initial set of levers and leverage points. Ensuing processes were then informed by five linked conceptualizations of transformative change identified by the experts (Chan et al., 2019): ● Complexity theory and leverage points of transformation (Levin et al., 2013; Liu et al., 2007; Meadows, 2009); ● Resilience, adaptability and transformability in social–ecological systems (Berkes, Colding, & Folke, 2003; Folke et al., 2010); ● A multi-level perspective for transformative change (Geels, 2002); ● System innovations and their dynamics (Smits, Kuhlmann, & Teubal, 2010; OECD, 2015) and ● Learning sustainability through ‘real-world experiments’ (Geels, Berkhout, & van Vuuren, 2016; Gross & Krohn, 2005; Hajer, 2011).

      Set of levers and leverage points identified by the authors.

      Creating an open public network for radical collaboration, which we will call the Indyweb, can facilitate bottom-up engagement to both educate the public on these levers as well as be an application space to crowdsource the public to begin sharing local instantiations of these levers.

      An Indyweb that is in the form of an interpersonal space in which each individual is the center of their data universe, and in which they can see all the data from their diverse digital interactions across the web and in real life all consolidated in one place offers a profound possibility for both individual and collective learning. Such an Indyweb would bring the relational nature of the human being, the so called "human INTERbeing" alive, and would effortlessly emerge the human INTERbeing explicitly as the natural form merely from its daily use. One can immediately see the relational nature of individual learning, how it is so entangled with collective learning, and would be reinforced with each social interaction on the web or in real life. This is what is needed to track both individual inner transformation (IIT) as well as collective outer transformation (COT) towards a rapid whole system change mobilization. Accelerated by a program of open access Deep Humanity (DH) knowledge that plumbs the very depth of what it is to be human, this can accelerate the indirect drivers of change and provide practical tools for granular monitoring of both IIT and COT.

      Could we use AI to search for levers and leverage points?

    2. Two linked concepts are relevant to prioritizing indirect drivers: leverage points (where to intervene to change social–ecological systems) and levers (the means of realizing these changes, such as governance approaches and interventions). Both concepts are intended to identify which changes, for which social variables, are likely to have disproportionately large positive effects on social–ecological systems

      leverage points and levers can bring about disproportionately large positive effects.

    1. Logically, if you just want a distinct list of event_id values, what order they occur in should be irrelevant. If order does matter, then you should add the start_time to the SELECT list so that there is context for the order.
    1. Those communities that reject business as usual and cut their energy spending and all the materialist values that go with it, just might survive the long emergency and write a different ending to this story.

      Unfortunately, our fates are collectively tied so we must collectively do this at scale to prevent tipping points. The motto of the Tipping Point Festival: Reach Social tipping points before planetary ones are breached.

    1. right now we're not being honest with each other about our values and if that's happening then we cannot form norms you can't design norms they happen 00:47:46 out of human action not human design but they only emerge when there is a real consensus about our shared values and so we've got to get back to that i mean it seems almost like like self-evident and we'll duh but like 00:47:59 if if we're going to continue to self-silence or even lie about our beliefs like the result are going to be collective illusions at scale and whole societies can be taken down by those and listen it 00:48:11 would something like a free society living in a democracy like we take that for granted that is a blip in human history the idea that it can't disappear overnight is silly it can and it will 00:48:23 and it would be one thing if it disappeared because privately we collectively gave up on that experiment right but it's a tragedy if it disappears not because of 00:48:34 private change in values but because of collective illusions and that's that's what for me felt like the urgency to write the book right like that it just felt like things were spinning out of control 00:48:46 and yet we have more data on private opinion in america than probably anybody else i would argue um and i can tell you it's just not true right so i think that's both there's both a dangerous aspect to 00:48:58 illusions but also a hopeful one you know because history has shown us that if you recognize the illusion and you take an effort to dismantle it social change can happen at a scale and pace that would seem unimaginable 00:49:10 otherwise well i can't think of any other way to end in that message so thank you todd so much for this marathon you did with me and two parts thank you we obviously have so much shared values and we're not 00:49:22 as divided as people tell us we are [Laughter] but but now we know why right now we know why it feels that way and if we if we can recognize that we really can no longer trust our brain to accurately 00:49:36 read group consensus then we can get back to this it never really mattered right be who you are learn to be authentic um discover your real self and and work really hard to be congruent between your 00:49:48 private self and your public self the rest takes care of itself

      Exponential change can happen if social tipping points are triggered by a few influencers have a change of heart because they have become educated on how the collective illusion operations, and how congruency of these few influencers can cause exponential change.

    2. it's essential and i just love the idea of setting an example for others you know 00:44:40 that's that's that's the way out of this trap is you start doing that and then other people in your group start doing it and then all of a sudden your group's the whole illusion breaks down the emperor has no clothes 00:44:53 or the emperor has clothes the effort does have clothes eventually eventually guess what i'm trying to say eventually yeah what's great about illusions is that they're powerful when they're enforced but they're fragile because 00:45:04 they're social lies right like like you don't want it to be true you wish it weren't true and so what you're really looking for is is wait a minute like so for some of us we just need one 00:45:15 other person to speak up to give us the the the strength to do the same other people need more but what you see is once you start getting the crack in the illusion it affects what we call like bandwagon 00:45:28 change right like it'll just swerve quickly and suddenly it looks like almost overnight the group has shifted its view so whenever you see stuff um it's funny in politics they call it momentum there's no such thing as momentum that's not what that is that is 00:45:41 that is that is an illusion where people's private behavior is like oh wait a minute this is like i can now say what i really think right i feel comfortable saying what i really think um so when you see like sort of exponential change 00:45:53 in public opinion like that's usually the that's usually that there's an illusion underneath there um because if people privately believe something it is very hard to change that and so you know doing that is like one off right i have 00:46:05 to change your mind or change someone else's mind and so you'll usually see slow linear growth or change in in public opinion when you see it change really quickly like it did with marriage equality marriage equality the public 00:46:17 approval for that i mean it's unreal since what since 2003 to today it's basically flipped in terms of its its acceptance like that doesn't happen if privately most people were against it it just doesn't 00:46:30 such a good point so much the reason why it's so hard is because like the oxytocin bonding mechanism is run so deep in our dna and our biology and and overriding that is not easy 00:46:42 because once we feel this social trust we we can lie you know we can we'll do anything well i cheat steal for our in group

      One of the key triggers for social tipping points is shifting the values of influential people under the spell of collective illusion from incongruency to congruency.

    3. most people are dying to do 00:42:37 this like there's just something hollow to living someone else's life right and if i could impress anything on listeners or viewers like a lot of reasons why we're doing this 00:42:49 right now to ourselves is because we believe the group is against us but just think how would you behave if you knew that most people in your groups that matter to you we're in agreement with you like 00:43:02 think about what that changes about your behavior and and your your potential for happiness and flourishing and i'm telling you it's just where we are right now in this society and like i think social media has a lot of 00:43:14 upside but with respect to collective illusions it is a fun house of mirrors it is almost a guarantee to distort uh what you think the group consensus really is so we just got to be thoughtful about the ways not just the 00:43:26 ways we engage on online because that's just always going to be there but learning about collective illusions and getting some skill and not letting those distortions affect how we treat one another in real life because that's where it really really 00:43:39 becomes a problem

      If people who are incongruent can imagine how our societies would flourish were we as individuals more congruent, this could be a powerful leverage point for system change that dispells the collective illusion.

  3. May 2022
    1. Chinese scientists call for plan to destroy Elon Musk's Starlink satellites

      This is another example that our culture has reached an inflection point, when we begin to divert previous time and material resources on conflict because we are not wise enough to cooperate, instead of more urgent problems affecting us all.

      The journey of civilization to a technological modernity places us in a precarious position. The fundamental misunderstandings arising from a toxic mix of different political, religious and cultural ideologies threatens to destabilise the human project. We are spending ever increasing resources on defensive and offensive technologies to protect our ingroup against perceived outgroups instead of technologies for defending against the destruction of the global commons which e ourselves have brought about and which threatens our entire species.

      By so doing, we create a self-reinforcing feedback loop of antagonism which increases the likelihood of violence.

      This underscores the urgency for deep inner transformation, trapping into our deep Humanity to mitigate the social antagonism that is so destructive to global society.

    1. 1/ It fits into existing spec based testing infrastructure nicely, including running on travis, code coverage using SimpleCov, switching between generating a profile (RubyProf), a benchmark (Benchmark::IPS) or normal test run. 2/ Some of my benchmarks do have expect clauses to validate that things are working before invoking the benchmark.

      Answering the question:

      I don't understand the point of putting it in a spec. What does that gain you over using benchmark-ips the normal way?

    1. In 2022, the focus is exploring and envisioning the hyper-response and embarking on this mission. It will involve engaging and energizing people, analysis, planning, and some early actions. The “E” in PLAN E stands for “Earth,” “everyone,” “everything,” and “everywhere.”

      The global, open access Tipping Point Festival can be launched as a zero marginal cost festival (ZMCF) or a netfest for bottom-up, rapid whole system change to synchronize the ordinary citizens of the globe to deal with the hyperthreat.

    2. Design of a hyper-response will be dependent on a comprehensive strategic planning process being enacted and ongoing discourse and revision. This strategic concept focuses on phase 1 and provides introductory ideas for phase 2.

      The public Indyweb, which supports symmathesy, deep conversation, adjacent association space and private as well as publicly owned data can have a force multiplier effect by massive amounts of discoverable knowledge. If knowledge is what constrains good decisions, then discoverability of salient knowledge can lead to better decisions and better actions.

      Incorporating a cascading, iterative, recursive Social Tipping Point (STP) strategy is also highly salient and can accelerate the viral spread of scalable system change through the global population.

    3. Its success hinges on not only communication of the problem but also the capacity for humans to undertake synchronized action toward the same goal. Coordination, cooperation, teamwork, and leadership skills become significant to survival capacity.  

      A global syncrhonizing event such as a regularly held Tipping Point Festival (TPF) to promote and accelerate social tipping points, leverage points and idling resources amongst ordinary citizens and an open wisdom commons, open knowledge commons, open research commons for massive open online collaboration at zero marginal cost is what is required to support this. It would allow global syncrhronization and high efficacy discoverability of openly shared knowledge and solutions.and rapid dissemination and localized clean production for clean provisioning systems appropriate to each community on the planet. Such a system we have tentatively called the Indyweb, where data is privately owned and secure and any data made public is stored immutably. Indyweb becomes an asset owned by humanity itself, with no centralized authority claiming ownership. The technology now exists to make this feasible.

    1. Giants that prefer the hyphenated spelling—Merriam-Webster, The Chicago Manual of Style, and The New Yorker, have a good reason for doing so. E-mail is a compound noun, made out of two words—“electronic” and “mail.” The e in e-mail is an abbreviation for “electronic,” and it’s used in a lot of other words as well—e-commerce, e-learning, and e-business, for example. There are also other compound nouns formed from an abbreviation and a noun, like the H-bomb, which is short for hydrogen bomb. The general rule of hyphenation in compound words that combine a single letter (or a number) and a word is to hyphenate them. So, based on tradition, e-mail is the correct way to do it.
    1. Third, appetite. Instead of asking how much time it will take to do some work, we ask: How much time do we want to spend? How much is this idea worth? This is task of shaping: narrowing down the problem and designing the outline of a solution that fits within the constraints of our appetite.

    2. Second, we shape the work before giving it to a team. A small senior group works in parallel to the cycle teams. They define the key elements of a solution before we consider a project ready to bet on. Projects are defined at the right level of abstraction: concrete enough that the teams know what to do, yet abstract enough that they have room to work out the interesting details themselves.

  4. Apr 2022
    1. It's always a good idea to avoid things like 'both', since it's not future-proof — if we decided we wanted to support method overrides via headers, for example (which is sometimes used to get around firewalls that disallow non-GET/POST requests), then 'both' would need to become 'all', which would be a breaking change.
  5. Mar 2022
  6. Feb 2022
    1. The remaining problem should be how to declare Ruby-define methods to be 'non-block taking'. Under the current language spec, absence of '& argument' may or may not mean the method would take a block.
  7. Jan 2022
    1. A Mental Squeeze Point is when your unsorted knowledge becomes so messy it overwhelms and discourages you. Either you are equipped with frameworks to overcome the squeeze point, or you are discouraged and possibly abandon your project.

      Cross reference: https://hypothes.is/a/BuMcAnr4EeyxO-PwNBfPrg (Dan Allosso's analogy about the Kuiper Belt)

    1. Maybe once the core onError lifecycle is implemented (if maintainers decide to go that way) everyone will discover you're right and an implementation will be built in. I think that's probably what's going to happen. But until real life has proved it, it's usually best to go for the smallest most broadly applicable solution. I can definitely imagine <svelte:error> eventually being a thing, but it's a pretty dramatic change compared to an added importable function.
    2. I think the issue is that it's not totally perfect. It doesn't define what should happen in parent components, it's not as flexible as onError and it doesn't allow you (for instance) to nest a svelte:head inside, or decide what to do with the rest of the rendering. What do you do with <div>My component</div> in your example? What about changing the <title>? I assume you can inspect the error...does <svelte:error> allow specifying which error types to expect?
    1. it depends on the application but generally, if an authenticated user doesn't have sufficient rights on a resource, you might want to provide a way to change credentials or send a 401.

      A 403 doesn't tell the client / user agent what the next step is or provide a way to change credentials.

      So maybe a 302 redirect is the best answer after all? Even though it sadly lacks the nice semantic distinction that 401/403 provide...

    1. I find it disgusting and degrading that any parent would let their minor child run aroun in shorts and a bra anywhere

      The speaker of this text uses a negative tone (specifically a disgusted tone) when talking about minor children "running around in shorts and a bra". However, bra's are often tied to the female anatomy, however the speaker uses "child" when speaking about the intended argument. This could be because the speaker only has an issue with people who wear bras without a shirt while exercising but doesn't with people who society deems unrequired to wear bras.

    Tags

    Annotators

    1. Code that is per-component instance should go into a second <script> tag.

      But this seems to conflict with https://hyp.is/NO4vMmzVEeylBfOiPbtB2w/kit.svelte.dev/docs

      The load function is reactive, and will re-run when its parameters change, but only if they are used in the function.

      which seems to imply that load is not just run once for the component statically, but rather, since it can be reactive to:

      url, params, fetch, session and stuff

      may be sufficiently like a per-instance callback, that it could be used instead of onMount?

  8. Nov 2021
    1. i think the focus was very much on energy supply and to a limited extent on things like um yeah technologies and like vehicle 01:00:07 technologies for example but um much much less in terms of getting people to particularly in developed countries to use less energy and to change diet and to travel less and fly less and all these these things and i think part of 01:00:19 that and it is also reflected in the fact that it was fairly much absent in the uk's net zero strategy is that it is seen as being politically difficult that it might be a you know it might mean that they that politicians lose votes that 01:00:33 it's just too difficult to get people to change their behavior that it's threatening that it might mean lower standards of living um in developed countries etc so i think kind of it's still it's still seen as something and that that was quite explicit i think in 01:00:45 the forward to the uk strategy um so i think in terms of how we move beyond that that's that's difficult but i think it is about reframing behavior change and demand demand management in 01:00:58 much more positive terms to say this isn't a threat there are actually opportunities there are opportunities to improve people's health and well-being to create green jobs to reskill people in new sectors and 01:01:09 and so on and it is not about you know reducing uh quality of life or well-being it's not about people losing jobs etc so this is i think there's a job here to kind of reframe it in terms of those those opportunities and those 01:01:22 co-benefits so that would be my my initial thought

      Reframing loss as gain is one strategy worth exploring for behavior change. Also explore social tipping points of complex contagion.

    1. Social convention, which has for so long worked against us, can if flipped become our greatest source of power, normalising what now seems radical and weird. If we can simultaneously trigger a cascading regime shift in both technology and politics, we might stand a chance. It sounds like a wild hope. But we have no choice. Our survival depends on raising the scale of civil disobedience until we build the greatest mass movement in history, mobilising the 25% who can flip the system.

      This is the core philosophy behind Stop Reset Go, but NOT NECESSARILY just in the direction of civil disobedience. To invest only in that is to put all our eggs in one basket that top down actors will be pressured beyond a certain threshold. It may happen, it may not, or it may just take too long. We must diversify and also invest in systematized bottom-up efforts.

    2. Another paper explored the possibility that the Fridays for Future climate protests could trigger this kind of domino dynamics. It showed how, in 2019, Greta Thunberg’s school strike snowballed into a movement that led to unprecedented electoral results for Green parties in several European nations. Survey data revealed a sharp change of attitudes, as people began to prioritise the environmental crisis. Fridays for Future came close, the researchers suggest, to pushing the European political system into a “critical state”. It was interrupted by the pandemic, and the tipping has not yet happened. But witnessing the power, the organisation and the fury of the movements gathered in Glasgow, I suspect the momentum is building again.

      The space is ripe for interventions that can facilitate social tipping points.

    1. A final cluster gathers lenses that explore phenomena that are arguably more elastic and with the potential to both indirectly maintain and explicitly reject and reshape existing norms. Many of the topics addressed here can be appropriately characterized as bottom-up, with strong and highly diverse cultural foundations. Although they are influenced by global and regional social norms, the expert framing of institutions, and the constraints of physical infrastructure (from housing to transport networks), they are also domains of experimentation, new norms, and cultural change. Building on this potential for either resisting or catalyzing change, the caricature chosen here is one of avian metaphor and myth: the Ostrich and Phoenix cluster. Ostrich-like behavior—keeping heads comfortably hidden in the sand—is evident in different ways across the lenses of inequity (Section 5.1), high-carbon lifestyles (Section 5.2), and social imaginaries (Section 5.3), which make up this cluster. Yet, these lenses also point to the power of ideas, to how people can thrive beyond dominant norms, and to the possibility of rapid cultural change in societies—all forms of transformation reminiscent of the mythological phoenix born from the ashes of its predecessor. It is conceivable that this cluster could begin to redefine the boundaries of analysis that inform the Enabler cluster, which in turn has the potential to erode the legitimacy of the Davos cluster. The very early signs of such disruption are evident in some of the following sections and are subsequently elaborated upon in the latter part of the discussion.

      The bottom-up nature of this cluster makes it the focus area for civil society movements, human inner transformation (HIT) approaches and cultural methodologies.

      Changing the mindset or paradigm from which the system arises is the most powerful place to intervene in a system as Donella Meadows pointed out decades ago in her research on system leverage points: https://donellameadows.org/archives/leverage-points-places-to-intervene-in-a-system/

      The sleeping giant of billions of potential change actors remains dormant. How do we awaken them and mobilize them. If we can do this, it can constitute the emergence of a third unidentified actor in system change.

      The Stop Reset Go (SRG) initiative is focused on this thematic lens, bottom-up, rapid whole system change, with Deep Humanity (DH) as the open-source praxis to address the needed shift in worldview advocated by Meadows. One of the Deep Humanity programs is based on addressing the psychological deficits of the wealthy, and transforming them into heroes for the transition, by redirecting their WEALTH-to-WELLth.

      There are a number of strategic demographics that can be targeted in methodical evidence-based ways. Each of these is a leverage point and can bring about social tipping points.

      A number of 2021 reports characterize the outsized impact of the top 1% and top 10% of humanity. Unless their luxury, high ecological footprint behavior is reeled in, humanity won't stand a chance. Annotation of Oxfam report: https://hyp.is/go?url=https%3A%2F%2Foxfamilibrary.openrepository.com%2Fbitstream%2Fhandle%2F10546%2F621305%2Fbn-carbon-inequality-2030-051121-en.pdf&group=__world__ Annotation of Hot or Cool report: https://hyp.is/go?url=https%3A%2F%2Fhotorcool.org%2Fhc-posts%2Frelease-governments-in-g20-countries-must-enable-1-5-aligned-lifestyles%2F&group=__world__

  9. Oct 2021
  10. Sep 2021
    1. Conversely, the more dynamically typed the language is, the less I am using an IDE and the more I am using a text editor. Of course, my productivity plummets at that point. Refactoring becomes more difficult and more (completely) reliant on unit tests to ensure they are done properly.
  11. Aug 2021
    1. Also note thet width: 100% is relative to it's first parent with a layout. So if you have an element with width:100% inside another element that has a specific width, the child element will only take up the total width of that parent.
    1. The TypeScript team has made it clear. They do not follow semver. "minor" (X.X) releases can contain breaking changes. . The fact that someone has made a bad policy clear, does not mean that the policy is therefore good. Major releases (X) have very little meaning. This negates the usefulness of using such versioning in the first place.
    1. which seems to resolve the issue for me and makes no casts, ensuring that Typescript can keep doing its good job of widening as much as necessary and narrowing as much as possible without me having to claim I know better than the compiler. I'm posting it here since it doesn't seem to have been mentioned anywhere.

      makes no casts, ensuring that Typescript can keep doing its good job of widening as much as necessary and narrowing as much as possible without me having to claim I know better than the compiler.

    1. In the vast majority of cases when I'm using prettier-ignore I'm only really looking to prevent it from breaking my code into new lines, whilst keeping its other transformations such as switching quotes and adding space between brackets. When ignoring single lines, fixing these formatting problems by hand is very manageable. With the ability to have Prettier ignore entire blocks of code I think the ability to specify what you want it to ignore is essential.
  12. Jul 2021
  13. Jun 2021
    1. "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. I wouldn't consider it switching behavior. Ultimately it's including a module -- either a manually defined and referenced one from the user, or a RSpec::Core::SharedExampleGroupModule created for the user when they defined the shared example group and referenced via the group name.
    1. I've seen (and fixed) Ruby code that needed to be refactored for the client objects to use the accessor rather than the underlying mechanism, even though instance variables aren't directly visible. The underlying mechanism isn't always an instance variable - it can be delegations to or manipulations of a class you're hiding behind a facade, or a session store with a particular format, or all kinds. And it can change. 'Self-encapsulation' can help if you need to swap a technology, a library, an object specification, etc.
    2. a principle I use is: If you have an accessor, use the accessor rather than the raw variable or mechanism it's hiding. The raw variable is the implementation, the accessor is the interface. Should I ignore the interface because I'm internal to the instance? I wouldn't if it was an attr_accessor.
    1. Anne: And you think that when she told you that getting a job was not an option, you think that broke you?Mike: Yeah. That really hurt like a lot, a lot. Oh man, I'm getting emotional, now because that sucks when you hear that stuff.

      Time in the US, Immigration status, Lost opportunities; Time in the US - Feelings - Despair - Legal Status

  14. May 2021
    1. Linking directly to someone’s blog comment is very useful. Even if a blog doesn’t have an active link for each comment, it’s pretty easy to use developer tools to find the comment’s id and link to it. I’ve done this many times on Smashing Magazine (they don’t have live links on each comment). If there was no way to link to an individual blog comment, this would be a great hindrance to linking on the web. It would not be enough to link to the “#comments” section and then hope for the best. So CMSs like WordPress do the right thing by dynamically adding a unique identifier to each comment.
    2. Yes, the content creator should have the ability to decide how a page is generally divided, if they choose to do so. But the end user should not be restricted from linking to content fragments just because a developer couldn’t be bothered to add id attributes to every element on the page. And that’s besides the fact that it would be a waste of time for a developer to do that or to have to build a CMS that does it automatically.
    3. The simple problem that I see with fragment identifiers is that their existence and functionality relies completely on the developer rather than the browser. Yes, the browser needs to read and interpret the identifier and identify the matching fragment. But if the developer doesn’t include any id attributes in the HTML of the page, then there will be no identifiable fragments. Do you see why this is a problem? Whether the developer has coded identifiers into the HTML has nothing to do with whether or not the page actually has fragments. Virtually every web page has fragments. In fact, sectioning content as defined in the HTML5 spec implies as much. Every element on the page that can contain content can theoretically be categorized as a “fragment”.

      at the mercy of author

  15. Apr 2021
    1. From a practical point of view it's highly desirable to specify them to prevent page reflows as mentioned above. However those suggesting it should be in the html because of this are missing the fact browsers use css when building the page initially. If they didn't the page would have to be redrawn for floated elements, specified padding, margins etc.
    2. Neither question nor answer appears to understand the notion of semantic HTML. Height and width are presentational attributes regardless of where you put them. For semantics we establish what the image means to content in the alt tag. I don't remember why it was so important to width/height in the HTML but I suspect it was in case you hit browsers without CSS rendering. It's not a semantics issue. If anything it thwarts separation of concerns to a degree.

      claim: that the OP's question and this answer are incorrect

      Could we say that this answer (that this comment replies to) missed the point?

      I actually believed and thought this answer was spot on ... until I read this comment, and then I reversed my opinion.

    1. Yes, it shares the name and the look of those previous games, but it lacks the all-important creative heart of its predecessors, and ends up being a by-the-numbers affair that goes through the motions in a shallow attempt to turn Scribblenauts' unique premise into a multiplayer party game.
    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!).
  16. Mar 2021
    1. vim-athena doesn't depend on or use any version of GTK+. If you use sudo apt-get build-dep vim-athena, it probably will install GTK+ and GNOME related libraries, because the vim-athena binary package is built from the same source package as vim and other vim-providing packages. In any case, you shouldn't need to build from source, as the binaries provided by vim-athena are already built against Athena and not against GTK+ or other graphical toolkits.
    1. Generally, CSS selectors refer to markup or, in some cases, to element properties as set with scripting (client-side JavaScript), rather than user actions. For example, :empty matches element with empty content in markup; all input elements are unavoidably empty in this sense. The selector [value=""] tests whether the element has the value attribute in markup and has the empty string as its value. And :checked and :indeterminate are similar things. They are not affected by actual user input.
  17. Feb 2021
    1. Do you have collaborators who could have generated keys and sold them on their own? DIG's Steam keys and other stores' Steam keys must have some source, after all. Keys don't generate themselves, and only your accounts should be able to request them.This particular game was in Bunch Keys Indie Wizardry Bundle. I assume you had a proper contract for that. Maybe DIG or an intermediary bought 50-200 copies of it?
    2. It isn't stealing because you or an associate must have generated and given them the keys in some way or another?Ideally you would ask a DIG bundle buyer to show you their key for your game, so you can figure out what key request batch it came from, and then you can scratch your head and wonder who you gave those keys to and what journey they took afterwards.
    1. 17.3. Fixed point

      QUESTION: What is a fixed-point of a function?

      ANSWER: See this video) at least, and the Fixed-point (mathematics)) wikipedia article:

      In mathematics, a fixed point (sometimes shortened to fixpoint, also known as an invariant point) of a function is an element of the function's domain that is mapped to itself by the function. That is to say, c is a fixed point of the function f if f(c) = c. This means

      f(f(...f(c)...)) = f n(c) = c
      

      an important terminating consideration when recursively computing f. A set of fixed points is sometimes called a fixed set.

      For example, if f is defined on the real numbers by f(x)=x^{2}-3x+4,}, then 2 is a fixed point of f, because f(2) = 2.

      There is also the wiki article fixed-point combinator that actually plays a role here, but read through the articles in this order.

      Then dissect the Stackoverflow thread What is a Y combinator?, and pay attention to the comments! For example:

      According to Mike Vanier's description, your definition for Y is actually not a combinator because it's recursive. Under "Eliminating (most) explicit recursion (lazy version)" he has the lazy scheme equivalent of your C# code but explains in point 2: "It is not a combinator, because the Y in the body of the definition is a free variable which is only bound once the definition is complete..." I think the cool thing about Y-combinators is that they produce recursion by evaluating the fixed-point of a function. In this way, they don't need explicit recursion. – GrantJ Jul 18 '11 at 0:02

      (wut?)

      Other resources in no particular order:


      QUESTION: How the hell did they come up with the idea of using this with Nix and package management? (..and who? I remember a video saved somewhere, but maybe that was about overlays)


      QUESTION: ... and how does it work in this context?

      ANSWER: Well, not an answer yet, but this may be something in the right direction:

      http://blog.tpleyer.de/posts/2020-01-29-Nix-overlay-evaluation-example.html

    1. note that TRB source code modifications are not proprietary

      In other words, you can build on this software in your proprietary software but can't change the Trailblazer source unless you're willing to contribute it back.

      loophole: I wonder if this will actually just push people to move their code -- which at the core is/would be a direction modification to the source code - out to a separate module. That's so easy to do with Ruby, so this restriction hardly seems like it would have any effect on encouraging contributions.

    1. If any of the inputs are invalid, #execute won't be run.

      It does staged/pipelined execution/validation.

      If any of these stages has any errors, then no other stages will be executed:

      1. validations on the inputs of the interaction itself
      2. run execute, which may:
      3. may use compose, which will (IIUC) abort the entire execute/run early if any of them fail, even if there are later composed interactions still to be run
      4. may try to save inputs into models, which themselves may have validation errors, which (assuming we use errors.merge), will show up on the interaction.errors (but won't abort the rest of the execute)
    2. There are times where it is useful to know whether a value was passed to run or the result of a filter default. In particular, it is useful when nil is an acceptable value.

      Yes! An illustration in ruby:

      main > h = {key_with_nil_value: nil}
      => {:key_with_nil_value=>nil}
      
      main > h[:key_with_nil_value]
      => nil
      
      main > h[:missing_key]  # this would be undefined in JavaScript (a useful distinction) rather than null, but in Ruby it's indistinguishable from the case where a nil value was actually explicitly _supplied_ by the caller/user
      => nil
      
      # so we have to check for "missingness" ("undefinedness"?) differently in Ruby
      
      main > h.key?(:key_with_nil_value)
      => true
      
      main > h.key?(:missing_key)
      => false
      

      This is one unfortunate side effect of Ruby having only nil and no built-in way to distinguish between null and undefined like in JavaScript.

    3. When you run this interaction, two things will happen. First ActiveInteraction will type check your inputs. Then ActiveModel will validate them. If both of those are happy, it will be executed.

      Failed type checks generate run-time errors. So it's up to the develop to fix these, permanently, since the user can't (99% of time) do anything to fix these.

      Failed validations add errors to interaction.errors object. These are for the user to fix.

    4. Inside the interaction, we could use #find instead of #find_by_id. That way we wouldn't need the #find_account! helper method in the controller because the error would bubble all the way up. However, you should try to avoid raising errors from interactions. If you do, you'll have to deal with raised exceptions as well as the validity of the outcome.

      What they're referring to:

      Account.find('invalid') will raise an error but Account.find_by(id: 'invalid') will not.

    5. For this one we'll define a helper method to handle raising the correct errors. We have to do this because calling .run! would raise an ActiveInteraction::InvalidInteractionError instead of an ActiveRecord::RecordNotFound. That means Rails would render a 500 instead of a 404.

      True, but why couldn't it handle this for us?

    1. Amid awful suffering and deteriorating conditions, Texas Republicans decided to fight a culture war.

      The author has a criticizing tone, which can be implied by him emphasizing Texas's conditions using a negative diction. It is kind of humorous as he stated "cultural wars" instead of disputes. Usually wars leave a drastic impact on the land, but this time, the "war" is occurring on an already destroyed land, which reflects the author's point of view that leaving a conflict dissolved is worse than creating a new conflict.

    1. If the program was important enough, Microsoft might actually go ahead and add some hack to their implementation so the the program would continue to work, but the cost of that is increased complexity (with all the ensuing problems) of the Windows code. It also makes life extra-hard for the Wine people, because they try to implement the WinAPI as well, but they can only refer to the documentation for how to do this, which leads to many programs not working as they should because they (accidentally or intentionally) rely on some implementation detail.
    1. with ActiveForm-Rails, validations is the responsability of the form and not of the models. There is no need to synchronize errors from the form to the models and vice versa.

      But if you intend to save to a model after the form validates, then you can't escape the models' validations:

      either you check that the models pass their own validations ahead of time (like I want to do, and I think @mattheworiordan was wanting to do), or you have to accept that one of the following outcomes is possible/inevitable if the models' own validations fail:

      1. if you use object.save then it may silently fail to save
      2. if you use object.save then it will fail to save and raise an error

      Are either of those outcomes acceptable to you? To me, they seem not to be. Hence we must also check for / handle the models' validations. Hence we need a way to aggregate errors from both the form object (context-specific validations) and from the models (unconditional/invariant validations that should always be checked by the model), and present them to the user.

      What do you guys find to be the best way to accomplish that?

      I am interested to know what best practices you use / still use today after all these years. I keep finding myself running into this same problem/need, which is how I ended up looking for what the current options are for form objects today...

    1. The press will tell you that "the concept" is great but the execution is bad. What should I tell you? The experience is shallow. The game is mediocre. But listen carefully, when a game is mediocre and can't even make you feel something then it's the worst kind of gaming. I will give it a 4 out of 10. You know, if this was a test in a school then this game should be marked D (someone answered a few questions, but overall missed the point). I understand that many people care about the "concept" of this game, but why if the experience is just... not here. I'm talking about the experience becaus We. The Revolution tried to be an actual experience. And it fails so badly.
    1. Unlike naming children, coding involves naming things on a daily basis. When you write code, naming things isn’t just hard, it’s a relentless demand for creativity. Fortunately, programmers are creative people.
    1. Now let me ask you, do you write JS for a single page application differently from a "traditional" web application? I sure hope you do! In a "traditional" application, you can get away with being sloppy because every time the user navigates to a new page, their browser destroys the DOM and the JavaScript context. SPAs, though, require a more thoughtful approach.
    1. The key phrase here is “children of a grid container.” The specification defines the creation of a grid on the parent element, which child items can be positioned into. It doesn’t define any styling of that grid, not even going as far as to implement something like the column-rule property we have in Multi-column Layout. We style the child items, and not the grid itself, which leaves us needing to have an element of some sort to apply that style to.
  18. Jan 2021
    1. Blocks Don’t Need 100% Width When we understand the difference between block-level elements and inline elements, we’ll know that a block element (such as a <div>, <p>, or <ul>, to name a few) will, by default expand to fit the width of its containing, or parent, element (minus any margins it has or padding its parent has).
    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. 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)