385 Matching Annotations
  1. May 2022
  2. Apr 2022
    1. James Boswell (1740–95) defended the state of learning in his day: “It has been maintained that this superfoetation, this teeming of the press in modern times, is prejudicial to good literature, because it obliges us to read so much of what is of inferiour value, in order to be in the fashion; so that better works are neglected for want of time, because a man will have more gratification of his vanity in conversation, from having read modern books, than from having read the best works of antiquity. But it must be con-sidered that we now have more knowledge generally diffuse; all our ladies read now, which is a great extension.”

      Link to earlier note about Caleb Deschanel

    2. Citing Pliny’s “no book so bad,” Gesner made a point of accumulating information about all the texts he could learn about, barbarian and Christian, in manuscript and in print, extant and not, without separating the good from the bad: “We only wanted to list them, and we have left to others free selection and judgment.”202
    1. Please keep in mind that your definition of “unsolicited” or “unwanted” mail may differ from your email recipients’ perception. Exercise judgment when sending email to a large number of recipients, even if the recipients elected to receive emails from you in the past.
    1. Here, we’ll talk about how much time you need to invest for the successful development of an app. This blog addresses three questions: “How long does it take to construct an app?”, “how to create an app from scratch?” and “how to speed up the process?”. This post is for you if you want to try your hand at app development for your business.
  3. Mar 2022
    1. GitLab self-monitoring gives administrators of self-hosted GitLab instances the tools to monitor the health of their instances. This feature is deprecated in GitLab 14.9, and is scheduled for removal in 15.0.

      motivated by profit?

  4. Feb 2022
    1. In addition to its stake in Rosneft, BP had three joint ventures with Russia's biggest oil company — a 20% stake in the Taas-Yuryakh oil project in eastern Siberia, 49% of Yermak Neftegaz in Western Siberia and 49% in the Kharampur oil and gas project.

      Will BP divest in these as well?

    1. Coming from a functional programming background, I feel there is a profound distinction between function and method. Mainly methods have side effects, and that functions should be pure thus giving a rather nice property of referential transparency
    2. I agree it might be nice if "function" and "method" meant what you wanted them to, but your definitions do not reflect some very common uses of those terms.
  5. Jan 2022
    1. Yes, precisely because I've been involved in maintaining codebases built without real full stack frameworks is why I say what I said.The problem we have in this industry, is that somebody reads these blog posts, and the next day at work they ditch the "legacy rails" and starts rewriting the monolith in sveltekit/nextjs/whatever because that's what he/she has been told is the modern way to do full stack.No need to say those engineers will quit 1 year later after they realize the mess they've created with their lightweight and simple modern framework.I've seen this too many times already.It is not about gatekeeping. It is about engineers being humble and assume it is very likely that their code is very unlikely to be better tested, documented, cohesive and maintained than what you're given in the real full stack frameworks.Of course you can build anything even in assembler if you want. The question is if that's the most useful thing to do with your company's money.
  6. Dec 2021
    1. The main feature of iA Writer is not having many features. The program is, essentially, a white rectangle, where the user can do little else but type in a custom monospaced font. There are no headers, footers, drawing tools, or chatty paper-clip assistants. The bare-bones interface uses special characters in a simple formatting language called Markdown to bold, italicize, or otherwise transform text—a way of encouraging writers to keep their hands on the keyboard and their minds on their work.

      Using a completely blank page as the start of any creative endeavor is a miserable choice for writing. Start with some other object and annotate either on it or next to it. Look at something else as a base. Starting with blank nothing is a recipe for loneliness and disaster. So-called distraction free writing tools are the worst.

      Didn't Ernest Hemmingway analogize staring at a blank page like facing a white bull? There is a litany of quotes about writers facing the blank page.

      Why not, instead, use the advice of ancient rhetors by starting with the best? Become a bee and collect the best materials for your honey first. If we don't look to them, then perhaps follow the lesson taught by Benjamin Franklin on writing or the same lesson repeated in the movie Finding Forrester. Start with someone else's work and rewrite that until you find your own words. This is what makes writing while annotating so easy and simple. You've got a nice tapestry of textures to begin your work.

      Giving birth to something fully formed as if from the head of Zeus is a fallacy. It only works for the gods.

  7. Nov 2021
    1. Land rezoning and infrastructure decisions, such as rezoning from industrial or farmland to residential land, or building a new transport hub, generate windfall gains to private owners. While some of this is captured in the form of development contributions, the private value capture is much greater than what it contributes back to public coffers.Rezoning of land and infrastructure investment decisions undertaken by government create enormous amounts of private value:Throughout Australia, when land is rezoned from industrial to high-rise residential, a charge is levied to help fund the required infrastructure. A well-situated industrial site in Sydney’s inner west was bought for $8.5 million, rezoned high density residential, then sold again for $48.5 million. The 470% windfall was the result of a government decision: rezoning.

      Rezoning is a key leakage of value from the commons to the private sector. This needs to be addressed in creative ways so that the commons can flourish. Rezoning can be viewed as a form of predatory capitalism, a form of theft from the commons by the private sector. Land owners who reap the benefits don't even think they are committing this theft because it is such normative behavior!

    1. And it's this process, the gravitational dance of 100,000 galaxies swirling together, 00:05:25 which drive the process of galaxies colliding, which drive massive star formation, which drive the process of creating the iron that courses through each one of our veins with every heartbeat.

      For a deeper explanation outside of the TED Talk format, it would be enlightening to unpack a bit of the science behind how astronomers come to these conclusions.

    1. you can define locally parse and it should take precedence over the one in the library: interface JSON { parse(text: string, reviver?: (key: any, value: any) => any): unknown; }
  8. Oct 2021
    1. This function allows you to modify (or replace) a fetch request for an external resource that happens inside a load function that runs on the server (or during pre-rendering). For example, your load function might make a request to a public URL like https://api.yourapp.com when the user performs a client-side navigation to the respective page, but during SSR it might make sense to hit the API directly (bypassing whatever proxies and load balancers sit between it and the public internet).
    1. The references were probably worth more than reading the article. I can't say that there is anything new here to take away - who would reference wikipedia or the encyclopedia britannica these days? - as there is plenty of literature on Stoicism. Pigliucci is a central figure in modern Stoicism, but his tweets are not very scholarly, to be honest.

    1. journalism historian David Mindich

      The View from Somewhere

      Hallin’s spheres

      At 11 minutes into this podcast episode, David Mindich provides an overview of Hallin’s spheres.

      Hallin divides the world of political discourse into three concentric spheres: consensus, legitimate controversy, and deviance. In the sphere of consensus, journalists assume everyone agrees. The sphere of legitimate controversy includes the standard political debates, and journalists are expected to remain neutral. The sphere of deviance falls outside the bounds of legitimate debate, and journalists can ignore it. These boundaries shift, as public opinion shifts.

      Wikipedia: Hallin's spheres

      I learned about this podcast from Sandy and Nora in their episode, Canada’s democratic deficit.

    1. The podcast focuses on the troubled history of “objectivity” and how it has been used to gatekeep and exclude people of color, queer and trans people, and people organizing for their labor rights and communities.

      I learned about this podcast through Sandy and Nora.

  9. Sep 2021
    1. The number of complaints across the issue tracker and the lack of substantive followup on many of those complaints should be ample evidence that these frustrated users exist and are likely about to leave Fenix behind in droves, if they haven't already.
    2. I honestly believe that if more people aren't aware of these issues, Firefox for Android might soon end up dying a slow, painful death as its users give up in frustration and leave for better web browsers.
    1. This is no different from other popular libraries or frameworks making huge architectural changes (think React 16.8 with hooks or Python 3). The longer you wait to make the switch, the more painful it will be for your project when you finally do. And in the meantime, you’ll be missing out on valuable improvements to a fundamental part of the workflow of every single project you work on.
    1. Quora+ is a subscription to the best of Quora.Access great writing, straight-from-the-source knowledge, and stories you can’t find anywhere else while supporting creators who matter to you.

      Another example of a service that tries to entice users with a free service (and writers with a financial incentive) and then once they achieve enough popularity, they make some of "their" content "premium".

      (YouTube Premium, ...)

      This is why we should distrust and avoid using "free" services.

  10. Aug 2021
    1. when you're reading some fresh code in your browser, do you really want to stop to configure that test harness

      Running the tests should be as easy as opening something in the browser.

  11. Jul 2021
    1. Are you exploring how to create an app from scratch? But have no idea what you actually need and how to execute this idea? Well! No need to worry. I have written this blog precisely to help you with this dilemma.
    1. Looking deeper, you can see a large amount of issues open, bugs taking months to fix, and pull requests never seem to be merged from outside contributors. Apollo seems unfocused on building the great client package the community wants.
    2. This sort of behaviour indicates to me that Apollo is using open-source merely for marketing and not to make their product better. The company wants you to get familiar with Apollo Client and then buy into their products, not truly open-source software in my opinion. This is one of the negatives of the open-core business model.
  12. Jun 2021
    1. "Courageous conversation is a strategy for breaking down racial tensions and raising racism as a topic of discussion that allows those who possess knowledge on particular topics to have the opportunity to share it, and those who do not have the knowledge to learn and grow from the experience." Singleton and Hays

    1. Whether you agree or not, to me there's nothing in this world that is entirely apolitical - when there are people there is politics. You don't have to agree with my views, nor do I expect you to. Diversity and disagreement is what drives mankind forward.
    2. Personally I think it is a very bad idea to leverage political views, even if I may share them, through software.
    3. In the context of git, the word "master" is not used in the same way as "master/slave". I've never known about branches referred to as "slaves" or anything similar.
    1. Same feature in TypeScript¶ It's worth mentioning that other languages have a shortcut for assignment var assignment directly from constructor parameters. So it seems especially painful that Ruby, despite being so beautifully elegant and succinct in other areas, still has no such shortcut for this. One of those other languages (CoffeeScript) is dead now, but TypeScript remains very much alive and allows you to write this (REPL): class Foo { constructor(public a:number, public b:number, private c:number) { } } instead of this boilerplate: class Foo { constructor(a, b, c) { this.a = a; this.b = b; this.c = c; } } (The public/private access modifiers actually disappear in the transpiled JavaScript code because it's only the TypeScript compiler that enforces those access modifiers, and it does so at compile time rather than at run time.) Further reading: https://www.typescriptlang.org/docs/handbook/2/classes.html#parameter-properties https://basarat.gitbook.io/typescript/future-javascript/classes#define-using-constructor https://kendaleiv.com/typescript-constructor-assignment-public-and-private-keywords/ I actually wouldn't mind being able to use public/private modifiers on instance var parameters in Ruby, too, but if we did, I would suggest making that be an additional optional shortcut (for defining accessor methods for those instance vars) that builds on top of the instance var assignment parameter syntax described here. (See more detailed proposal in #__.) Accessors are more of a secondary concern to me: we can already define accessors pretty succinctly with attr_accessor and friends. The bigger pain point that I'm much more interested in having a succinct shortcut for is instance var assignment in constructors. initialize(@a, @b, @c) syntax¶ jsc (Justin Collins) wrote in #note-12: jjyr (Jinyang Jiang) wrote: I am surprised this syntax has been repeatedly requested and rejected since 7 years ago. ... As someone who has been writing Ruby for over 10 years, this syntax is exactly that I would like. I grow really tired of writing def initialize(a, b, c) @a = a @b = b @c = c end This would be perfect: def initialize(@a, @b, @c) end I'm a little bit sad Matz is against this syntax, as it seems so natural to me. Me too!! I've been writing Ruby for over 15 years, and this syntax seems like the most obvious, simple, natural, clear, unsurprising, and Ruby-like. I believe it would be readily understood by any Rubyist without any explanation required. Even if you saw it for the first time, I can't think of any way you could miss or misinterpret its meaning: since @a is in the same position as a local variable a would normally be, it seems abundantly clear that instead of assigning to a local variable, we're just assigning to the variable @a instead and of course you can reference the @a variable in the constructor body, too, exactly the same as you could with a local variable a passed as an argument. A workaround pattern¶ In the meantime, I've taken to defining my constructor and list of public accessors (if any) like this: attr_reader \ :a, :b def new( a, b) @a, @b = a, b end ... which is still horrendously boilerplatey and ugly, and probably most of you will hate — but by lining up the duplicated symbols into a table of columns, I like that I can at least more easily see the ugly duplication and cross-check that I've spelled them all correctly and handled them all consistently. :shrug: Please??¶ Almost every time I write a new class in Ruby, I wish for this feature and wonder if we'll ever get it. Can we please?
    1. TypeScript offers special syntax for turning a constructor parameter into a class property with the same name and value. These are called parameter properties

      Doesn't thisk violate their own non-goal #6, "Provide additional runtime functionality", since it emits a this.x = x run-time side effect in the body that isn't explicitly written out in the source code?

  13. basarat.gitbook.io basarat.gitbook.io
    1. Having a member in a class and initializing it like below:class Foo { x: number; constructor(x:number) { this.x = x; }}is such a common pattern that TypeScript provides a shorthand where you can prefix the member with an access modifier and it is automatically declared on the class and copied from the constructor. So the previous example can be re-written as (notice public x:number):class Foo { constructor(public x:number) { }}
    1. when it first came out, cubicity: slide puzzle was full of mobile shenanigans, but based on feedback the developers quickly 'de-mobilized' it during launch week
  14. May 2021
    1. if (parsed.protocol) { // external fetch response = await fetch(parsed.href, /** @type {import('node-fetch').RequestInit} */ (opts)); } else { // otherwise we're dealing with an internal fetch const resolved = resolve(request.path, parsed.pathname);
    1. CSR asking my Python backed directly (over nginx). Basically, in my particular situation, I want to use most shorter paths for SSR or CSR cases when I have a separate API server under the same domain and nginx frontend.
    2. on CSR it connects to the svelte-kit endpoint which just use a localhost connection. and to optimize this you can use unix sockets in your endpoints to connect to backend server
    3. ah you are talking about a external api endpoint server? then you could use the svelte-kit endpoints as proxy handler
    1. This looks cool but right now, let's say i have an external api which depends on users cookies, the cookies only gets send through internal sk endpoints while ssr even if its the same domain. Couldn't we pass the 'server' request to the serverFetch hook? I would currently have to patch package svelte kit to pass request headers to the external api or create an sk endpoint which proxies the request.
    1. Our institutions are colonial systems, the ivory towers render the people leading and running them to become disconnected from the very public they are supposed to be representing, ending up only serving themselves. “Do we have to burn it down and start again? Do we have to completely recalibrate it from the inside?

  15. Apr 2021
    1. I don't know why but they just removed some featuresAt first, you can't play this with your friend online except waiting for random matchingYou can't invite your friends to your closed room and play togheter
    1. “It is less clear that way” — that is just arbitrary, even uninformed. There is nothing clearer about def self.method. As demonstrated earlier, once you grasp the true meaning of it, def self.method is actually more vague as it mixes scopes
  16. Mar 2021
    1. I find it convenient to change proxy and other settings through gui window by right-clicking on launcher icon on my desktop. I mostly start slack by clicking desktop launcher, but also want to be able to start it from command line in some cases.
    2. If you really want this, I suggest you write a little function that extracts the executable name from the .desktop file and runs it. Add these lines to your shell's initialization file (e.g. ~/.bashrc): runDesktop () { eval "$(awk -F= '$1=="Exec"{$1=""; print}' "$1")" } Then, you can run your .desktop file with runDesktop ~/Desktop/slack.desktop
    1. We could add heuristics like: is the file inside XDG_DATA_DIRS/applications? if not, is the file inside XDG_DATA_HOME/applications? if not, is the file marked as executable? if not, open with the text editor
    2. Hello , since I made a modification in gio-tool (#2098 (closed)) , I seen this issue and decide to give it go. I implemented an unix only solution only for launching a