533 Matching Annotations
  1. Sep 2021
    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.

  2. 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.

  3. Jul 2021
    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.
  4. 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?
  5. 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
  6. 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?

  7. 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
  8. 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 desktop file through gio command, see !1779 (merged)
    3. In the meantime, people do seem to appreciate a developer spending 2 minutes to reply to comments on old issues, just so they’re not ignored and to manage expectations.
    4. When one is searching for it on the internet, there are many many people wondering how one can open .desktop files. It seems trivial, since one usually just has to click an item on the launcher so one thinks there must be some way.
    5. I have to agree with Raphael here that this should probably be handled in gnome-open, its a pain to have to implement .desktop parsing code in every beagle front end when I can't really think of an instance where the expected behavior wouldn't be to execute the associated command.
    6. I don't know what nautilus does, but i think when you double click a .desktop file it launches the associated program, i guess they don't use gnome-open then..
    7. deskbar should probably detect their extension and execute the relevant command as opposed to opening the file for editing.
    1. Meh... as I said earlier, I think using Webpack is the recommended way now. Another issue is there is no way to generate source maps in production.
    2. But last I have seen comments from DHH, he considered webpack(er) recommended for JS, but Sprockets still the preferred solution for (S)CSS.
    3. I agree about lack of maintenance. It's probably because people use more and more Webpack.
    1. OpenFaaS is hosted by OpenFaaS Ltd (registration: 11076587), a company which also offers commercial services, homepage sponsorships, and support.
    1. Degg naa ko muy tari Alxuraan.

      Je l'ai entendu réciter des versets du Coran.

      degg v. -- hear.

      naa -- I already/definitely.

      ko -- him, her, it.

      muy -- from -- he, she, it (?).

      tari -- recitation.

      alxuraan ji -- (Arabic: al-Qurʼān) the Koran.

    2. Ci taatu guy googu la jigéeni Ajoor yi di jaaye sanqal.

      C'est sous ce baobab que les femmes originaires du Kayor vendent de la semoule de mil.

      ci -- close; at @, in, on, inside, to.

      taat+u (taat) wi -- base, bottom, foundation, buttocks.

      guy gi -- baobab. 🌴

      googu -- that (closeness).

      la -- (?).

      jigéen+i (jigéen) bi ji -- sister versus brother; woman as opposed to man. 👩🏽

      ajoor bi -- person from Kayor.

      yi -- the (plural).

      di -- be; mark of the imperfective affirmative not inactual.

      jaay+e (jaay) v. -- sell.

      sanqal si -- millet semolina. 🌾

  9. Feb 2021
    1. Now if you think about it, PJAX sounds a lot like Turbolinks. They both use JS to fetch server-rendered HTML and put it into the DOM. They both do caching and manage the forward and back buttons. It's almost as if the Rails team took a technique developed elsewhere and just rebranded it.
  10. Jan 2021
    1. the bloody mount points. I couldn't believe that when I realised what was going on. I got the wire brush and dettol out and scraped it off my drive. Never, ever again.
    2. There's a lot of advice online showing how to get rid of snap. (e.g.: https://cialu.net/how-to-disable-and-remove-completely-snaps-in-ubuntu-linux/ worked for me) so the only result (so far, a few months later) is that Chromium has lost a user, and having upgraded Ubuntu since the original Warty, if snap becomes obligatory I'll have to take a look at Mint, or Devuan.
    3. Well, that user can safely stay with Windows. Hiding these things from me makes wish that.
    1. In other words, programs that send messages to other machines (or to other programs on the same machine) should conform completely to the specifications, but programs that receive messages should accept non-conformant input as long as the meaning is clear.
    2. be conservative in what you do, be liberal in what you accept from others
  11. Dec 2020
    1. Much like civil engineering and chemical engineering in decades past, this new discipline aims to corral the power of a few key ideas, bringing new resources and capabilities to people, and doing so safely. Whereas civil engineering and chemical engineering were built on physics and chemistry, this new engineering discipline will be built on ideas that the preceding century gave substance to — ideas such as “information,” “algorithm,” “data,” “uncertainty,” “computing,” “inference,” and “optimization.” Moreover, since much of the focus of the new discipline will be on data from and about humans, its development will require perspectives from the social sciences and humanities.

      Michael Jordan draws the analogy with the emergence of civil and chemical engineering, building with the building blocks of the century prior: physics and chemistry. In this case the building blocks are ideas such as: information, algorithm, data, uncertainty, computing, inference and optimization.

    1. Treating the web as a compile target has a lot of implications, many negative. For example “view source” is a beloved feature of the web that’s an important part of its history and especially useful for learning, but Svelte’s compiled output is much harder to follow than its source. Source maps, which Svelte uses to map its web language outputs back to its source language, have limitations.
  12. Nov 2020
    1. obviously it's too late, but it's a good practice to keep the 3rd party dependencies mirrored in your own infrastructure :) There is NO GUARANTEE that even a huge site (like launchpad for downloading DEBs) won't go down over a period of time.
    2. It is impossible to rebuild the base from the Dockerfile as the 3rd party dependencies have changed significantly since 8 months ago when the base was last built. The tags for my base image have been overwritten and I can only restore them from a descendant image. With Docker 1.8 I simply pulled the descendant image, tagged the base layer and I was done. With Docker 1.10+ I'd need to save, then manually construct the base image descriptor and reload it. Doable but sad that it's far more complex.
    3. Allowing parent layer metadata to be saved for a layer, regardless if the parent layer is in the save command, would be a huge win for those of us working on CI/remote systems. Reusing parent layers used to be ridiculously easy. It would be good if we could get some comparably easy way to do it now.
    4. It used to be great that I was able to select a layer from any image and use it as a starting point. Currently, I am given an image that has 4 layers to be stripped off to get to the original base image. The original image is not reconstructable in any other way.
    1. I also like that the folksonomic approach (as in, there are no “pre-established groups”) allows for a great deal of expression, of negotiation (I imagine that #barcamp will be a common tag between events, but that’s fine, since if there is a collision, say between two separate BarCamps on the same day, they’ll just have to socially engineer a solution and probably pick a new tag, like #barcampblock) and of decay (that is, over time, as tags are used less frequently, other people can reuse them — no domain squatting!).

      The folksonomic approach (user-generated tagging) is beneficial because it allows complexity to emerge bottom-up.

    1. In Angular CLI 6 this command has been removed, and it will not come back. Instead there is a new concept called Builders.With the new Angular CLI you can customize the build process by defining your own builders as well as using one of the builders provided by the community.

      Why did they remove it if it was useful? They wanted people to be stuck in Angular CLI world? Couldn't they still provide that escape route / migration path for those that really do need/want to eject?

    1. Gracious, father! What a fright you gave me! Have you just come home? Why isn’t Charles here to help you off with your coat?

      This paragraph is just an example of the richness of emotions in this short story (two exclamation marks and two question marks). I wonder if emotions can be studied by counting all exclamation marks or question marks in a text (Katherine Mansfield definitely instills rich emotions to her short stories).

  13. Oct 2020
    1. Focus on your application: forget about forms details like I'm dirty, field touched...
    2. You can try to build a solution to tackle these issues on your own, but it will cost you time and money... why not use a battle-tested solution to handle all this complexity?
    3. If you want to implement a form with a superb User Experience, you have to take care of many variables:
    4. Form validation can get complex (synchronous validations, asynchronous validations, record validations, field validations, internationalization, schemas definitions...). To cope with these challenges we will leverage this into Fonk and Fonk Final Form adaptor for a React Final Form seamless integration.
    5. Managing Form State (holding field information, check if a control has been touched, if the user has clicked the submit button, who owns the current focus...) can be tedious and prone to errors. We can get help from React Final Form to handle these challenges for us.
    1. Subgroups of the computer underground with different attitudes and motives use different terms to demarcate themselves from each other. These classifications are also used to exclude specific groups with whom they do not agree.
    1. If you define a variable outside of your form, you can then set the value of that variable to the handleSubmit function that 🏁 React Final Form gives you, and then you can call that function from outside of the form.
    1. This is valid javascript! Or harmony or es6 or whatever, but importantly, it's not happening outside the js environment. This also allows us to use our standard tooling: the traceur compiler knows how to turn jsx`<div>Hello</div>`; into the equivalent browser compatible es3, and hence we can use anything the traceur compile accepts!
    1. About the argument against it, "{@const will make code less consistent ": I think the same is true now, since people can come up with very different ways of dealing with the "computed value inside each loop/if function" problem. Some extract components, some use functions, some will prepare the array differently beforehand.
    2. it also allows for more divergence in how people write there code and where they put their logic, making different svelte codebases potentially even more different due to fewer constraints. This last point is actually something I really value, I read a lot of Svelte code by a lot of different people and broadly speaking things look the same and are in the same places.
    1. Are there any rehearsal or set up dates on campus? Yes No Please enter any rehearsal or set up dates here

      add verbiage here from Chuck about facilities concerns

  14. Sep 2020
    1. yet when I thought of my beloved Elizabeth, of her tears and endless sorrow, when she should find her lover so barbarously snatched from her, tears, the first I had shed for many months, streamed from my eyes,

      It's interesting to me that Victor only cries when thinking of how upset Elizabeth is going to be when he's the one who's going to die. He fits the whole "man be rational and women emotional" cultural phenomenon of the time to a tee. He's stone faced going into losing battle, but Elizabeth will be just soooooooooo sad and sooooooooo sorrowful. While I'm on the topic, the characterization of Elizabeth TOTALLY fits in while the "passive wife who's in charge of the emotional side of family," to a point where Mary Shelley is a satirist. Also the use of barbarous to describe the Creature is just textbook Othering in the way that demotes the Creature to a irrational and animalistic creature.

    1. “You are free to eat from any tree in the garden;(W) 17 but you must not eat from the tree of the knowledge of good and evil,(X) for when you eat from it you will certainly die.”

      God instructed Adam and Eve to eat whatever they desired, though prohibited them to eat from the tree of the knowledge of good and evil. In Robin Wall Kimmerer's "Skywoman Falling", she explained how in Indigenous culture, they follow Original Instructions. These "instructions" are not rules but rather guidelines for each person. Kimmerer explains how during Skywoman's time, the first people's understanding of the Original Instructions were to care for the and have respect for hunted animals, value family, and hold respectful ceremonies for their beliefs.

    1. One key advantage of 'HTML-plus' languages is that you don't actually need tooling in order to be productive — most editors give you out-of-the-box support for things like syntax highlighting (though imperfect, as JavaScript expressions are treated as strings) and auto-closing tags. Tools like Emmet work with no additional setup. HTMLx should retain that benefit.
    2. benefited from a shared set of tools for syntax highlighting, autocomplete, linting and so on.
    1. By the way, stuff like this is why I can’t quit Twitter even though I’d like to — we get to witness, and be part of, conversations like these between world-class programmers like Yehuda and Sebastian. It’s pretty cool!

    1. Secure-by-default is a great approach, but this is not that. It's not even, we know what's best. It's clean up your act or you're out. You really should provide an opt-in to running with scissors. Maybe like config.opt_in_to_dynamic_routes_you_dumbass = true. 1 Pick your reaction
    2. I too would like to know more about the security concerns that are the motivation to remove these useful dynamic routing components. The only thing I can think off is someone who accidentally exposes a private method public, is there more? The dynamic routes are a great way to keep the routing.rb DRY and avoid unneeded dependencies between the routing and the controller files, it has been quintessential Rails magic since version 1.0, surely there must be more serious security concerns to give up such important benefits? What are they? Do we really need to completely remove this from the code base, when removing it from the default routes.rb already would get you most of the security benefit?
    3. I'm sure the security overlords have our best interest in mind and I'd be happy to change my opinion if someone can explain this tradeoff better. I know I can recreate the functionality for myself but I also like to keep in mind what's best for Rails. Just a hand wavy "we've had this for almost 10 years, but it might become an issue in the future so let's preventively eliminate it" does not seem a good enough reason to cut a feature that can make code much more DRY and elegant.
  15. Aug 2020
    1. If you are a senior, try talking to a junior or someone less experienced than you. Many companies are running what is called ”reverse mentoring” programs where juniors coach senior members of a company. Senior’s experience is traded for a fresh perspective from a junior. You’d be amazed at how much you could learn and share.
  16. Jul 2020
    1. And on the topic of this particular article you need to own bigger mistakes too. It doesn't matter if the Apache board genuinely believed in 2014 that this was a good idea, it should now be obvious to everyone that it wasn't. Board members allowing it to continue can't fall back to "Well we didn't know...", because they do now. Every day that they have the evidence in front of them that the project is failing and do nothing they're _culpable_ for that as members of the board.
    2. "that text has been removed from the official version on the Apache site." This itself is also not good. If you post "official" records but then quietly edit them over time, I have no choice but to assume bad faith in all the records I'm shown by you. Why should I believe anything Apache board members claim was "minuted" but which in fact it turns out they might have just edited into their records days, weeks or years later? One of the things I particularly watch for in modern news media (where no physical artefact captures whatever "mistakes" are published as once happened with newspapers) is whether when they inevitably correct a mistake they _acknowledge_ that or they instead just silently change things.
  17. Jun 2020
    1. Governments’ use of purchased location data has exploded in recent months, as officials around the world have sought insights on how people are moving around during the Covid-19 pandemic. In general, governments have assured their citizens that any location data collected by the marketing industry and used by public health entities is anonymous. But the movements of a phone give strong clues to its ownership—for example, where the phone is located during the evenings and overnight is likely where the phone owner lives. The identity of the phone’s owner can further be corroborated if their workplace, place of worship, therapist’s office or other information about their real-world activities are known to investigators.

      private data is not anonymous as is purported