10,000 Matching Annotations
  1. Jan 2024
    1. Personally I think we could get a ton more benefits and would also be able to pull new users into our platform by finding better ways to integrate/link/connect/display Figma in our work item objects. Today the biggest downside for "Design management" is that it's basically just a copy of what's happening inside of Figma that has to be manually kept in sync and requires users to constantly switch back and forth:
    1. Most art refers to itself in some way, but nowadays almost every film has some straightforward self-reference in the form of being about some kind of show. There must have been a very influential executive producer some time back pushing this idea for it to be so common.The notion of these kinds of films is to create another world, so combine that with the self-reference gimmick and you have a fantasy kiddie show about a fantasy kiddie show.
    2. More, essentially all research in self-reference for decades has been in artificial intelligence, which is the device around which this plot turns. The language of AI is LISP, the name of the archvillain. In the heyday of LISP machines, the leading system was Flavors LISP Object Oriented Programming or: you guessed it -- Floop. I myself worked on a defense AI program that included the notion of a `third brain,' that is an observer living in a world different than (1) that of the world's creator, and (2) of the characters.
    3. I suppose that what movies should be aiming for: entertainment. Obviously a good movie needs good plot; score; direction; writing; cinematography and acting (all of which this movie has), but what makes me actually care about the movie is the question of 'if I enjoyed the movie'
    1. less secure sign-in technology

      What does that mean exactly?

      All of a sudden my Rails app's attempts to send via SMTP started getting rejected until I enabled "Less secure app access". It would be nice if I knew what was necessary to make the access considered "secure".

      Update: Newer information added to this article (as well as elsewhere) leads me to believe that it is specifically sending password directly as authentication mechanism which was/is no longer permitted.

      This is the note that has since been added on this page, which clarifies this point:

      To help keep your account secure, from May 30, 2022, ​​Google no longer supports the use of third-party apps or devices which ask you to sign in to your Google Account using only your username and password.

    1. If you already have computer-based hobbies such as gaming or a social-media addiction, why not learn to run your own services as a hobby? Note, this is very different from learning to code. It's more about learning to be your own sysadmin and tech support, rather than being a programmer.
    2. this is kinda the concept of Patreon and other "tipping" services ... honestly I am pleasantly surprised at how widespread this has become! :) Almost all the YouTubers I follow, who still rely on Google/YouTube ad revenue to some degree, also rely on their Patreon funding to a significant degree. (Crucially the Patreon funding is more dependent on audience desires than advertiser desires, e.g. less sensitive to "The Algorithm.")It's pretty interesting ... given the voluntary dynamic of paying for the media. I personally doubt Hollywood (or any national newspapers or "magazines") would ever adopt this "voluntary" model (instead attempting to enforce per-unit sales via DRM), but without question "pay what you want" is remarkably sustainable for smaller creators.
    3. Actually, that subscription or donation model is fairly different from micro-payments. I want to pay for exactly what I find useful, not all output of some artist or organization. I want the payment to be shared if there are multiple authors or ownership. I want everyone to be able to pay on the spur of the moment, not only in some planned monthly subscription or something.
    4. The model of Spotify in particular - paid tier alongside a free tier with ads - seems like the simplest sustainable solution I see. Having paid features is the most obvious way to make money, but you want to enable adoption as much as you can. It's the same idea as companies dangling "free trial" in front of you at every turn - in a competitive environment, you want to remove barriers for users to try your product or service. This is essentially the idea of a "loss leader" for a grocery store, or any business really.
    5. just shooting from the hip, to me, I'm glad that subscription services like Netflix and Spotify are becoming more popular. That means that the companies (as opposed to Google & Facebook) don't have the incentive to follow this "surveillance capitalism," i.e. building increasingly sophisticated advertising technology predicated upon the behavioral history of users.(my bias is showing through - marketing people don't call it surveillance capitalism, to be fair. That's a pejorative term. They just call it doing their job, generating leads, and increasing conversions.)
    6. It's better than Chrome, sure. But Firefox, and Mozilla as a company, are going downhill and have been for a few years. How can they be truly against the kind of web that Google pushes for if they're entirely reliant on their partnership with Google to be featured as the default search engine?
    7. Also just by observing what they’re doing it becomes pretty clear. For example: Facebook recently purchased full-page ads on major newspapers entirely dedicated to “denounce” Apple. Why? Because Apple has built a system-level feature on iPhones that allows users to very easily disable every kind of advertising tracking and profiling. Facebook absolutely relies on being able to track you and profile your interests, so they immediately cooked up some cynical reasons why Apple shouldn’t be allowed to do this.But the truth is: if Facebook is fighting against someone on privacy matters, that someone is probably doing the right thing.
    8. Completely get away from everything Facebook: FB, Messenger, WhatsApp, Instagram, Oculus. (Yes, I know it’s hard because people are on these platforms, but it is possible to explain your reasoning to those who care about you and establish contact with them on different apps. I moved a ton of people to Telegram for example.)
    9. The answers you seek are difficult ones. The internet isn't free, so someone somewhere along the chain will need to pay for the content. As consumers we pay for internet access, and may sometimes pay for premium content (news site subscriptions, Patreon, etc.) but usually the content that we consume is free to us. Instead, it's the ad services that are paying. The internet content being "free" to consumers can really be a great thing, and equalize the playing field for people of different means. But it does come with its issues.
    10. I share your frustration. This was how I felt when they split off Messenger as a separate mobile app from the main Facebook app. Messaging had been working just fine in the Facebook app, so there seemed to be no discernible reason other than pure greed. No attempt to make anything better or easier for the consumer, no innovation, nothing good for the people using the product. It was really just to inflate their download numbers and somehow make more money off of us. No thank you. I have stopped using Facebook since then.
    11. What they say is this is due to is new EU policies about messenger apps. I'm not in the EU. I reckon it's really because there's a new Messenger desktop client for Windows 10, which does have these features. Downloading the app gives FB access to more data from your machine to sell to companies for personalized advertising purposes.
    1. Instead of using a backup service like Google Photos or iCloud, you host your own backup and viewing platform using Nextcloud Photos, PhotoPrism, or such. Instead of using a password management system like LastPass or 1Password, you host your own password manager like BitWarden.
    1. The conflation of this vast array of companies, in and out of Silicon Valley, into the singular “Big Tech” does blur some of the important differences in the unique problems they each pose to society,
    1. I want some work done and call someone to do it and have to put their business number in to be recognized but they call with their cell phone which is not recognized. I have to answer in case it is them. If it is then I have to add that contact for the future.

    2. Agree. I have 3 seconds of silence as my ringtone. Been using that since I had a clamshell phone. Everyone in my contacts list has a custom ringtone so they will ring. Anyone I don't know won't ring and if it is important they'll leave a message. Spammers usually don't leave messages.

    1. Getting the EPP/Auth code of your own domain should be instantaneous. I know of no other registrar, besides Network Solutions, that makes the process so painful. It's a multi-step process to make the request, during which they wave both carrot and stick at you to try and stop you going ahead… and when you do forge ahead, they make you wait 3 days for the code, as if to punish you for daring to ask for the right to transfer your own domain name. What are these guys smoking if they think that's how you keep customers?!
    2. Network Solutions basically does not want to provide EPP code. On website it says requesting EPP would take 3 days to get approved (which doesn't make any sense), and in fact they never send out any EPP code. Instead, you will have to call them and ask for EPP code in person. They claimed that their system had some problems sending those emails, however do you really believe that? I don't think it is indeed a "problem" if it's been there for over one year.
    3. Network solutions is awful. They behave like mobsters. If you make changes on your account such as changing the e-mail, they very conveniently lock your domain so it cannot be transfered for 60 days. They say that block it's for 'your security'.
    1. Just one of the reasons why I prefer GOG over Steam. No DRM or other artificial restrictions to worry about, let alone an internet connection required in order to play or to install, since I can simply backup all the (stand-alone) installers onto my NAS. And I can even unpack those with open-source tools if I want to.
    1. If you have studied the historical campaign, you may wonder if the same operational plan can be duplicated in the game—with the same results.  The answer is yes.  The unit capabilities and game mechanics allow for a repeat of history, but there is always the other player to consider.  As with history, the two sides have nearly the same number of infantry divisions, tanks, mobile units and artillery.  The German advantage is most evident in airpower—the Luftwaffe dramatically outclassed the Allied air forces in the campaign (and so it is with the game).  Only the German player who knows exactly how to employ their units with careful attention to the movement and combat sequences, event card use, the hidden unit dynamic, and especially the air rules—will be able to duplicate the historic success of the 1940 Wehrmacht.  And even then, the historic result was only possible because the Allied response played almost perfectly into Germany’s hand.  But there is more than one path to a decisive result, and the game allows for multiple campaign plans for both sides.  The rules are set up to mirror the operational, command, and doctrinal differences between the two opposing sides, but the contest is designed simply to re-create the same historic “canvas” upon which both players may then paint—the issue will be decided by a combination of player decisions and the fortunes and fog of war.
  2. Dec 2023
    1. Authorization scopes are a way to determine to what extent the client can use resources located in the provider. When the client requests the authorization it specifies in which scope they would like to be authorized. This information is then displayed to the user - resource owner - and they can decide whether or not they accept the given application to be able to act in specified scopes.
    1. THANK YOU! I gave up on this a long time ago but today I had to complete the project. I came back here intending to post this question again and found your answer. It was exactly what I was looking for. THANK YOU!
    1. && nil

      first sighting: I don't think I've seen someone write exactly && nil before.

      Apparently to avoid having the return value from errors.add — which should be done solely for its side effect, not to get a return value -- inadvertently being used as a return value for user. It wouldn't make sense to return from user. That should only return a User or nil. And more statically typed languages would allow that to be expressed/enforced from type annotations alone, which would have caught the mistake of returning errors.add if someone had accidentally attempted to return that.

      Having user (and therefore call) return nil is key to the unless @current_user working.

    1. The thing most obvious about the type systems of Java, C, C++, Pascal, and many other widely-used “industry” languages is not that they are statically typed, but that they are explicitly typed.In other words, they require lots of type declarations. (In the world of less explicitly typed languages, where these declarations are optional, they are often called “type annotations”.) This has nothing to do with static types. continued
    1. describe AuthenticateUser do subject(:context) { described_class.call(username, password) } describe '.call' do context 'when the context is successful' do let(:username) { 'correct_user' } let(:password) { 'correct_password' } it 'succeeds' do expect(context).to be_success end end context 'when the context is not successful' do let(:username) { 'wrong_user' } let(:password) { 'wrong_password' } it 'fails' do expect(context).to be_failure end end end end
    1. I disagree. What is expressed is an attempt to solve X by making something that should maybe be agnostic of time asynchronous. The problem is related to design: time taints code. You have a choice: either you make the surface area of async code grow and grow or you treat it as impure code and you lift pure synchronous logic in an async context. Without more information on the surrounding algorithm, we don't know if the design decision to make SymbolTable async was the best decision and we can't propose an alternative. This question was handled superficially and carelessly by the community.

      superficially and carelessly?

    2. because the value isn't there yet. A promise is just a marker that it will be available at some point in the future. You cannot convert asynchronous code to synchronous, though. If you order a pizza, you get a receipt that tells you that you will have a pizza at some point in the future. You cannot treat that receipt as the pizza itself, though. When you get your number called you can "resolve" that receipt to a pizza. But what you're describing is trying to eat the receipt.
    1. for security, app access token should never be hard-coded into client-side code, doing so would give everyone who loaded your webpage or decompiled your app full access to your app secret, and therefore the ability to modify your app. This implies that most of the time, you will be using app access tokens only in server to server calls.
    2. once you have an access token you can use it to make calls from a mobile client, a web browser, or from your server to Facebook's servers. If a token is obtained on a client, you can ship that token down to your server and use it in server-to-server calls. If a token is obtained via a server call, you can also ship that token up to a client and then make the calls from the client.
    3. A User access token is used if your app takes actions in real time, based on input from the user. This kind of access token is needed any time the app calls an API to read, modify or write a specific person's Facebook data on their behalf. A User access tokens is generally obtained via a login dialog and requires a person to permit your app to obtain one.
    1. Are you two serious? Instead of advocating to fix this bug you go out of your way to post another bug report to advocate the devs to dig in their heels?! How about standardizing some devastating needed questions in the technology industry: 1. How does this help productive members of society? 2. Does this serve a useful purpose? 3. Should I be doing this? 4. Have I had a full, non-interrupted, rational conversation with multiple people who disagrees to help determine if I have objectively determined my answers to the first three questions?
    1. In cases where Google is authoritative the user is confirmed to be the legitimate account owner.

      What about in other cases? The user may have created an account using someone else's e-mail address? Isn't e-mail verification a required step to create the Google Account though? I think so. I think the only case it is trying to warn us of is the one mentioned below:

      email_verfied can also be true as Google initially verified the user when the Google Account was created, however ownership of the third party email account may have since changed.

    1. An invariant (in common sense) means some conditions that must be true at some point in time or even always while your program is executing. e.g. PreConditions and PostConditions can be used to assert some conditions that must be true when a function is called and when it returns. Object invariants can be used to assert that a object must have a valid state throughout the time it exists. This is the design by contract principle.
    2. In OOP, an invariant is a set of assertions that must always hold true during the life of an object for the program to be valid. It should hold true from the end of the constructor to the start of the destructor whenever the object is not currently executing a method that changes its state.
    1. an invariant is something like of a fixed relationship between varying entities. For example, your age will always be less than that compared to your biological parents. Both your age, and your parent's age changes in the passage of time, but the relationship that i mentioned above is an invariant.
    2. For instance, a binary search tree might have the invariant that for every node, the key of the node's left child is less than the node's own key. A correctly written insertion function for this tree will maintain that invariant. As you can tell, that's not the sort of thing you can store in a variable: it's more a statement about the program. By figuring out what sort of invariants your program should maintain, then reviewing your code to make sure that it actually maintains those invariants, you can avoid logical errors in your code.
    1. The secure OAuth 2.0 protocol lets you safely link a user's Google Account with their account on your platform, thereby granting Google applications and devices access to your services.

      What I still don't understand is... How do you even initiate the Google app to request such access? How would you trigger that? It's not going to show a list of all 100,000 registered apps and ask which of those you'd like to add...

    1. This describes account linking from the opposite direction than I'm used to: starting with the Google App, which requests your app to share data from your service with Google.

      As it says on https://developers.google.com/identity/account-linking overview:

      The secure OAuth 2.0 protocol lets you safely link a user's Google Account with their account on your platform, thereby granting Google applications and devices access to your services.

    1. A traditional account linking flow requires the user to enter their credentials in the browser. The use of App Flip defers user sign-in to your Android app, which allows you to leverage existing authorizations. If the user is signed in to your app, they don't need to re-enter their credentials to link their account.
    1. To perform account linking with OAuth and Google Sign-In, follow these general steps: First, ask the user to give consent to access their Google profile. Use the information in their profile to check if the user account exists. For existing users, link the accounts. If you can't find a match for the Google user in your authentication system, validate the ID token received from Google. You can then create a user based on the profile information contained in the ID token.
    1. Don't reply or click any links in a spam message Replying to, clicking on links within, or even attempting to unsubscribe from spam emails typically only informs the sender that they have found an active email address to which they'll send more spam emails.
    1. A personalized button gives users a quick indication of the session status, both on Google's side and on your website, before they click the button. This is especially helpful to end users who visit your website only occasionally. They may forget whether an account has been created or not, and in which way. A personalized button reminds them that Sign In With Google has been used before. Thus, it helps to prevent unnecessary duplicate account creation on your website.

      first sighting: sign-in: problem: forgetting whether an account has been created or not, and in which way

    1. After you have verified the token, check if the user is already in your user database. If so, establish an authenticated session for the user. If the user isn't yet in your user database, create a new user record from the information in the ID token payload, and establish a session for the user. You can prompt the user for any additional profile information you require when you detect a newly created user in your app.
  3. Nov 2023
    1. We didn't add this initially because Google is not the only form of authentication we offer and it could get annoying for users that sign up with GitHub or username and password to see the Google popup all the time.
    1. The Sign in with Google button redirect flow always uses the POST method to submit the credential to your web server, whereas OAuth redirect normally uses the GET method.

      How does it both do a POST and a redirect? A redirect is by definition a GET. So I assume it does the POST first with the more sensitive and then a GET without the more sensitive data to the redirect URI?

    2. The user's Google account sign-in status and your app are independent of each other, except during the sign-in moment itself when you know that the user has successfully authenticated and is signed into their Google account. Users may remain signed in, they may sign out, or switch to a different Google account while maintaining an active, signed-in session on your website.