19,785 Matching Annotations
  1. Last 7 days
    1. It’s also worth pointing out that an unfriendly unsubscribe experience is also a major driver of spam complaints. Half of U.S. consumers say they’ve reported a brand’s emails as spam because they couldn’t easily opt out, according to our Adapting to Consumers’ New Definition of Spam report. So putting up opt-out barriers not only jeopardizes your legal compliance but can also hurt your deliverability as well.
    2. ensure you’re following unsubscribe best practices:Don’t charge a fee.Don’t require any other information beyond an email address.Don’t require subscribers to log in.Don’t ask subscribers to visit more than one page to submit their request.
    1. Keep a clear record of how you obtained consent from your current subscribers When, how, and why (what for) you obtained their data – timestamp, wording, source.
    1. I've just experienced the same issue with confirmation links being executed in a sent email before the user has received them and invalidating the link. I got around the issue by modifying the page the URL links to. I've added a Confirm button on the page which the user has to click to confirm their email and this works nicely.
    2. I've seen the same issue. The links in emails opened in outlook seem to be crawled immediately by the 'BingPreview' bot.
    1. If the link you are trying to send is just some kind of harmless confirmation link (e.g. subscribe/unsubscribe from a newsletter), then at least use a form inside the web page to do the actual confirmation through a POST request (possibly also using a CSRF token), otherwise you will unequivocally end up with false positives.
    1. "this is a bug of the mail provider" Seriously, Drupal community bring less and less value. Unfollow this issue, but I perhaps time for me to delete my D.O. account. It's a critical issue that can lead to the impossibility for user to log-in. In the real world, nobody care if Microsft server "should" act differently.
    2. Drupal use a HTTP GET to change data witch is not how HTTP protocol is supposed to be work. A HTTP POST request should be used to change an account from blocked to active. It's a bug and a ugly one.
    1. Especially users working with Microsoft Office 365 and therefore Outlook noticed very often that login is not possible. Upon closer analysis, it was found that the MS/Bing crawlers are particularly persistent and repeatedly call the reset links, regardless of server configuration or the like. For this reason, a text field was implemented in the backend via the Drupal State API, in which selected user agents (always one per line) can be entered. These are checked by 'Shy One Time', in case of a hit a redirect to the LogIn form with a 302 status code occurs, the reset link is not invalidated.
    1. Another suggestion some senders are trying is to set up a “stealth” link, that human readers won’t see or click on but that parsing software might. Clicks on that link are a sign that the click was not done by the recipient.
    2. Confirmations are a little more difficult, as senders really do want to keep the transaction as low friction as possible. Adding a confirm button may result in people abandoning the confirmation process.
    3. This behaviour may affect one-click unsubscribe links. If clicking the link in an email automatically processes the unsubscribe, then Barracuda may unsubscribe users without their knowledge.
    4. This behaviour may affect opt-in confirmation links.
    1. I’ve implemented a form on the landings page that auto-submits (on DOMContentLoaded) and posts the token to the next page. Passwordless login is now working for my client despite their mail scanner.
    2. In June 2021 I can confirm Microsoft seem to be running a product that completes client side activities, like automatically submitting a form. I guess they are running a headless browser to do the scanning.

      That's unfortunate. Can't use auto-submit form to protect from such behavior then.

    3. Really appreciatie your suggestion. We hesitated between this solution and the one where the landing page auto-redirects/posts to the next page. I think both are good solutions. Yours a bit more secure. The other less clicks and less friction for the user.
    1. If you want to be (relatively) sure that any action is triggered only by a (specific) human user, then use URLs in emails or other kind of messages over the internet only to lead them to a website where they confirm an action to be taken via a form, using method=POST
    2. Links (GETs) aren't supposed to "do" anything, only a POST is. For example, your "unsubscribe me" link in your email should not directly unsubscribe th subscriber. It should "GET" a page the subscriber can then post from.
    1. The purpose of distinguishing between safe and unsafe methods is to allow automated retrieval processes (spiders) and cache performance optimization (pre-fetching) to work without fear of causing harm.
    2. Request methods are considered "safe" if their defined semantics are essentially read-only; i.e., the client does not request, and does not expect, any state change on the origin server as a result of applying a safe method to a target resource.
    3. For example, most servers append request information to access log files at the completion of every response, regardless of the method, and that is considered safe even though the log storage might become full and cause the server to fail. Likewise, a safe request initiated by selecting an advertisement on the Web will often have the side effect of charging an advertising account.
    1. For some reason, Microsoft decided to use the MS Word HTML rendering engine in Outlook 2007 to 2013 (desktop version) – this was even worse than the IE5/IE6 rendering engine which I believe was used in Outlook 2000, 2002 and 2003! As most large corporate businesses force their staff to use a version of desktop Outlook that hasn’t been updated in years, email is stuck in this hell of being held back in worse-than-IE6 web.
    1. We want users to unsubscribe to messages they don’t want; we don’t want them to mark them as spam and hurt the reputation of the sender. We have seen by implementing this unsubscribe affordance in the UI that spam marks go down and in some cases are being reduced by 30 to 40%.
    1. Some have likened anyone being able to issue a verifiable credential being like a shop clerk deciding if they should accept an out-of-state license as proof of age when purchasing alcohol.

      I don't understand. Shouldn't it be comparing to a verifier deciding if it should trust an issuer?

    1. It is now possible (but not easy) for anyone who is determined enough to create a xanadoc, and send it to others, who may open and use it.  (Note that the World Wide Web was available for several years before the Mosaic editor made it easy for the public.)

      fair enough...

    1. Transclusion facilitates modular design (using the "single source of truth" model, whether in data, code, or content): a resource is stored once and distributed for reuse in multiple documents. Updates or corrections to a resource are then reflected in any referencing documents.
    1. However, with verifiable credentials in a Solid Pod, the university issues some information stating that a student completed a course and cryptography signs that information. This is a verifiable credential. They then pass that credential to the student who stores it in their Solid Personal Online Datastore (Pod). When the student wants to apply for a job, all they need to do is grant access to the credential so the company can read it. The company can confirm that the credential isn’t faked because its cryptographically signed by the university.
    1. If all human data were structured in one massive knowledge-graph (a global knowledge graph), we could unlock this potential. Fortunately, Solid is that knowledge graph.
    2. Today, data is abundant, but for the most part, unusable. Seventy percent of a data scientist’s job is just cleansing data. The modern software architecture encourages data to be hoarded only accessible through proprietary APIs. And, even with proprietary APIs the market for data integrations is expected to grow to a trillion dollars by the end of the decade. When humanity is spending the GDP of Indonesia just so that the data in System X can work with the data in System Y, the field of software engineering has failed us. So much data - data that could be used by new startups and nonprofits that couldn’t exist today - goes unused because it’s so difficult to access.
  2. Jul 2024
    1. This is classic Rails Magic - a clever side effect that guarantees the token in the session cookie will always match the token on the page, because rendering the token to the page can't happen without inserting that same token into the cookie.
  3. Jun 2024
    1. I'd agree that much of the time 'not prefer' is a perfectly adequate way of conveying the same sense as 'disprefer' (just as 'not agree' will for most purposes convey the same sense as 'disagree', and 'not like' the same sense as 'dislike'). However, they aren't strictly equivalent; I might neither prefer nor disprefer Coke to Pepsi, but rather be neutral between them. Possibly the purpose for which 'disprefer' is most useful is cancelling implications – 'I don't prefer it – though I don't disprefer it either'.
    2. It's an interesting position and had me rethinking things a bit, but the way I look at it, the actions themselves are negative; it's their boundary conditions which are different. Take for instance embark/disembark. In pseudo-mathematical terms, I would tend to think they increment or decrement one's embarkedness, with an upper boundary of 1 (aboard), and a lower boundary of 0 (ashore). The non-existence of values >1 (super-aboard) or <0 (anti-aboard) shouldn't affect the relative polarity of the actions themselves. I think. Looking through the rest of the list, there's a variety of different boundary conditions. Prove/disprove would range from 1 to -1 (1=proven, 0=asserted but untested, -1=proven false), entangle/disentangle seems to range from 0 to infinity (because you can always be a little more entangled, can't you?), and please/displease is perhaps wholly unbounded (if we imagine that humanity has an infinite capacity for both suffering and joy).
    3. her first remark upon embarking would no doubt be "on a scale from one to on a boat, we're on a boat!
    4. snowcloning
    5. It was enclosed in scare quotes, a sort of acknowledgment that the author knew it was non-standard, but was too apt for the purpose to resist. I remember reading it and trying to think of the “real” word that would be employed there, but could not find a satisfactory alternative. Since then, I’ve found myself unable to resist using the word when appropriate, due to its utility!

      "too apt for the purpose to resist" :kiss:

    6. I'm surprised no one has mentioned disambiguate in this context. It sounds horrible and outlandish on first hearing, has a reasonably transparent meaning (which may shed some light on the semantics of dis-), and seems to be used almost exclusively by linguists.
    7. I am disinterested and uninterested in this debate.
    8. If you disprove something, you haven't necessarily proved the opposite. If you disprove something, you have indeed proved its negation. If you disapprove of an action, you do indeed approve of not doing that action (so, disapproving X is approving not-X).
    9. (That is, when you disprefer that George be elected, you prefer the negation, that George not be elected, rather than just you do not prefer that George be elected, which is compatible with indifference.)
    10. Who says it's not a word? Not a word, simply because lexicographers have not recognized it? When a lexicographer recognizes it, it has already been in use! Even Mr. Fiske says it is a word, although he obviously disprefers it.

      by the time a lexicographer recognizes it, it has already been in use

    11. I believe it is possible to disprefer something while either 1. not disliking it, or 2. liking it but not intensely enough to be the preference. As in, "I like tart apples, but I sometimes disprefer them as an ingredient on a green salad." It doesn't and hasn't, meant I would refuse to eat a salad with this ingredient included, but there are times when my preference would have been to have a salad without them.
    12. idiolect
    13. "Disprove" is fairly negative. "Prove" -> establish as true; "disprove" -> establish as false. I'd say "disprove" is like "disagree".
    14. I think you linguists worry too much. It's a simple enough formation using a very common prefix, and while it is not clear whether "I disprefer" means "I do not prefer" or "I prefer something other than" or "I prefer the opposite of" or "I stop preferring", either it'll settle down to one meaning or it'll carry a range. So what? This is the first time I've heard the word but I don't find it particularly puzzling.
    15. Poetry and children both have many interesting warpages and torsionings of language, all legal but serving to make the brain choke slightly, as the lungs do with a sudden whiff of ammonia or other unpleasant gas. 'Disprefer' is another good one!
    16. 'Disprefer' is another good one! It fits well with a wonderful pungent comment about some holiday meal by my nephew when he was about 10: Well, I don't love the parsnips …. Apparently it was a common construction for his classmates in 4th grade, a truth-in-humor bit of sass enjoyed by all. I'll introduce 'disprefer' to him as a high-falutin' possibility for his more grown-up years.

      disprefer = don't love ?

    17. The problem with "object to" as an alternative to "disprefer" is it doesn't mean the same thing. And in the specific example, there's no evidence that people who commonly choose one word/phrase/construction over another object to the word/phrase/construction not chosen, so "object to" doesn't work.
    18. I have become a dyed in the wool descriptionist because of Language Log, and have been known to cite entries here in battle against of the prescriptionistas of the Axis of Evil within the blogosphere.
    19. on reasonable uses of "disprefer" — it's probably true that its meaning is not immediately apparent, and using it when addressing general audiences probably avoided (dispreferred?), but of course, it depends on the context I think. It is a term that has an obvious jargon aspect, but that doesn't seem to me to make it uniformly verboten. Other, DNA would never have entered the popular lexicon, or quantum… I'm sure those parallels are inapt in several ways, but my point, which I think still stands, is that while clarity to the broadest audience possible is often a laudable goal, this also doesn't mean it should be the only or always the chief goal. It seems to me technical words get disseminated and incorporated popularly through their use outside of strictly technical fora, and while several people said they did a double take or didn't immediately understand the word (or misunderstood its meaning), it's also true that this can happen with perfectly reasonable, standard vernacular constructions, especially reasonable standard constructions that are expressing a counter-intuitive (even if true) claim. Just sayin' — "can people understand this without giving it but a moment's thought" is a high (or ultra-low) car to hold all non-technical communication to. (That said, I also have a love for arcane words, shades of meaning, and being able to express certain moods/valences/concepts precisely. THAT said, I'm no linguist, and probably won't be using this word commonly for all my talk.)
    20. To me, dis- negates in words like disagree, and displease. If you disagree with a position, that (generally) implies that you agree with the opposite position. If you displease someone, you make them angry or unhappy, you don't leave them feeling neutral.
    21. On the other hand, I feel that dis- neutralises in words like disprove, disapprove, disenchant, disentangle, disembark, discharge, and so on. If you disprove something, you haven't necessarily proved the opposite. If you disapprove of an action, that doesn't mean you would approve of the opposite action. If you're disenchanted, it doesn't necessarily mean you now hate what you were formerly enchanted with. And clearly once you disentangle something it's back to zero; you haven't "anti-tangled" it.
    22. The main problem with disprefer is that it violates de Buitléir's rule: If *I* use a word you're not familiar with, your education or experience is lacking. If *you* use a word I'm not familiar with, you're being a show-off or making up words.
    23. I also like "infelicitous" for this purpose.

      infelicitous

    24. On lackey, more or less following up on Mark Liberman's comment above: except in period references (where it refers to 'a footman, esp. a running footman; a valet' — OED2, citations from 1529), the word now comes with a sneer.
    25. So what's the problem here? The problem is that it's not a word except to small, relatively closed circles of specialists such as linguists (saving your reverences). And, pace those people who think its meaning is clear on first sight, it's not (and it's telling that some people's response to Amy's saying that she hadn't understood it was to chastise her rather than admit that perhaps they were wrong about its transparency). Hell, I have an MPhil in linguistics, and even I dislike it and would try to avoid it if possible. I think it's fine for use in the field, where you can expect that your readers will be familiar with it, but it's solipsistic verging on insulting to use it with the public at large; showing off specialist vocabulary (which this is) is not polite.

      I don't think it's that specialist of a word... :shrug:

    26. Having read this, it appears that there is a reasonable consensus and, given that, I will probably add it to my vocabulary as it does fill a niche – but I'll be careful where and with whom I use it.
    27. I wonder what makes it so ugly — its newspeakiness?
    28. rant against the horrible solecism, duck tape
    29. And the exact meaning of "dis-" varies from word to word, but it always includes reversing the polarity of some semantic component (rather than just neutralizing it). Connect X to Y = position X such that it is joined to Y Disconnect X from Y = position X such that it is separated from Y Approve X = assert that X is good Disapprove X = assert that X is bad Prefer X = when selecting from a set choices, choice X first Disprefer X = when selecting from a set of choices, chose X last
    30. I don't think "disprefer X to Y" is a mistake, but I do think it is almost always more awkward-sounding to me than "prefer Y to X", and the meaning is equivalent.
    31. prescriptivist habits, but "disprefer" seems a straightforward, useful coining to me.
    32. Computer programmer here. 'Disprefer' is a somewhat uncommon, but entirely standard, word at my work. I would guess that it's most common use is in restricting some other preference. E.g. "sort by age, but disprefer objects that need disk access".
    33. The ones which are close to the meaning of 'not X' are so only because the phenomena of often (though not always) viewed as binary. But, as the remain forms clearly indicate, this doesn't come automatically from the meaning of the prefix.
    34. Don't prefer A = not prefer A Disprefer A = prefer not-A
    35. OK apparently meaning isn't immediately clear to some. But I disapprove of your approach, and disagree with your conclusion. I don't need to disinter my dictionary to understand the word. Simple comparison with other words that use the prefix will disgorge the meaning with a minimum of discomfort, all from the comfort of your armchair. I don't mean to discourage dictionary use, but rather, to encourage examining the language you already know. Without such comparison, blind prescriptionist obedience to dicta from the dictionary may lead one astray. For even in the pages of the dictionary, one may find numerous examples of disobedience to its every dictum.
    36. There's a void — a need where a word should fit. There's a construction — a prefix and a root, which fit together to fill the void. Meaning is clear on first encounter. A need is met. What is the problem?
    37. John: But that's exactly what I did! Dis- + prefer should theoretically mean "don't prefer" or "unprefer". So what does that mean? You're neutral? I understand the meaning now from the comments. But I don't think the meaning is clear from the components. Just to check my understanding of dis-, I checked a few online dictionaries, and roughly speaking… dis- = lack of, not, apart, away, undo, remove The reason I was confused was that to me, dis- simply neutralises a word. It multiplies the meaning by zero, yielding zero. It's not like anti-, which multiplies by minus one, changing the sign and changing the meaning to the opposite. If you said anti-prefer, I'd have a better idea of what the word meant.
    38. If you said anti-prefer, I'd have a better idea of what the word meant.
    39. I'm no linguist, and can barely aspire to lackeydom (takers?), but I'm taking quite a shine to "disprefer". Meanwhile… to "object to" something, it seems to me you have to express your objection, where to prefer or disprefer you need only choose, possibly with no one else the wiser. So, he's wrong again.
    40. So what's the problem here? The obvious reasoning is that "dis-" is a common English prefix, and "prefer" is a common English verb. You don't need a dictionary entry to explain or justify combining them. The dictionary entries for "dis-" and "prefer" should be all that's needed, and any reasonably fluent speaker should be able to make or understand the combination. Granted, "disprefer" may not be a common word, but it shouldn't be a mystery to anyone with any familiarity with English.
    41. I've never come across this word before, but I immediately understood it and see its usefulness. I'm likely to use it in the future.
    42. Amy: It's a real word. I use it all the time (of course, I'm a linguist, and I allow the possibility that I picked it up from my linguist chums, though it doesn't seem particularly jargony to me). For me, "disprefer X" means something like "not choose X when other options are available". This is subtly different from "prefer anything over X", quite different from "not prefer X", and totally distinct from "dislike X" or "object to X".
    43. Perfectly useful jargon: if we say that of alternatives ABCD, we disprefer C, we mean "definitely choose something else if possible", almost as strongly as if we said C was the worst alternative.
    44. It baffled me, because I wasn't sure whether it meant simply "don't prefer", or the stronger "dislike". Despite having read the article, the possibility that it meant that "prefer anything over" didn't occur to me until I saw blahedo's comment. "Disprefer" is the most disunconfusing word I've heard in a long time.
    45. *Other things being equal, we should disprefer blogs to journalism. USE prefer journalism to blogs.* I can't say he's clearly wrong about this one, depending on the information structure of discourse or text. If blogs are the topic, there's a lot to be said for making it the direct object rather than an oblique, the object of a preposition.
    46. *It's interesting as a spelling pronunciation, preferred by some speakers, dispreferred by others. USE not* Fiske fails to note that dispreferred expresses a contrary negation, not simply a contradictory one. The writer is excluding the possibility that the dispreferring speakers might be merely indifferent to the pronunciation in question, but the use of not would include that possibility.

      Appropriate word choice in the same way that "liked by some, disliked by others" is appropriate.

    47. The most important nontechnical use of 'disprefer' (for me) is to say that among a sea of choices to which I am largely indifferent, there is some choice that is particularly my least favourite—I may not have any legal, moral, or other objection to it, I just don't like it. I wouldn't say I use this all the time, but I certainly use it regularly when it's appropriate.
    1. The linguistic phenomenon of "a multi-use, customizable, instantly recognizable, time-worn, quoted or misquoted phrase or sentence that can be used in an entirely open array of different variants" was originally described by linguist Geoffrey K. Pullum in 2003.[2] Pullum later described snowclones as "some-assembly-required adaptable cliché frames for lazy journalists".[1]
    1. At the entry for irregardless, we provide a paragraph in which we note that the use of the word is still met with considerable objection, and we even go so far as to advise the reader to use regardless instead—which is about as close as we get to offering a usage prescription in our dictionaries.
    1. Lexicography is the practice of creating books, computer programs, or databases that reflect lexicographical work and are intended for public use.
    1. "Less favored" or "less preferred" may be the preferable word choice most of the time (because it's usually about degree of preference, not merely a binary "preferred or not")

      Because it's about degree (on a continuum), it would usually be clearer (and therefore preferred) to specify whether, for instance, you mean "less preferred" or "least preferred". "dispreferred" is ambiguous in that regard: I had assumed it meant (was using it to mean) less preferred ( not the most preferred), but apparently others (https://languagelog.ldc.upenn.edu/nll/?p=2186) read it and see "least preferred".

    2. Why invent ugly new words when there is adequate vocabulary available?

      Because it's neither a new word, nor an ugly word, any more than "distaste", "dislike" is an ugly word.

    3. Not preferring is not the opposite of preferring, but rather the absence of preferring.

      Referring to how "dis-" might imply it's the opposite.

      I can see their point,which I think is that "To favor or prefer (something) less than the alternatives." simply makes it not your maximum preference (so in that sense, it would merely be the absence of the state of being the maximum), not necessarily your minimum (least favorite) rated/preferred choice.

      But I think it can actually mean the opposite of preferring. To me, to disprefer something is nearly the same as if you show a distaste for something.

    1. If you want to stop receiving this email, then hit the Unsubscribe link. Because you asked for this email and confirmed that you wanted it, the right thing to do is to follow the directions to unsubscribe from it.
    1. it is important to regularly clean your email list to avoid sending emails to individuals who have previously asked to be removed.

      Is that all it means? Usually when I see this term, it sounds like they mean cleaning out inactive contacts, not just those that have asked to be removed.

      I mean, obviously you would remove those who ask to be removed... But it seems you would do so immediately, not "regularly" at some later time. I guess it depends how you implement your list system?

    1. How can I wait for container X before starting Y? This is a common problem and in earlier versions of docker-compose requires the use of additional tools and scripts such as wait-for-it and dockerize. Using the healthcheck parameter the use of these additional tools and scripts is often no longer necessary.
    1. Locking the conversation in this issue for the reason @stevvoe mentioned above; comments on closed issues and PRs easily go unnoticed - I'm locking the conversation to prevent that from happening
    2. docker inspect --format='{{.State.Health.Status}}'
    1. created against https://github.com/docker-library/official-images (which is the source-of-truth for the official images program as a whole)
    2. On Windows, that interface doesn't really exist (and is really difficult to emulate properly)
    3. we leave it up to each image maintainer to make the appropriate judgement on what's going to be the best representation / most supported solution for the upstream project they're representing
    4. Explicit health checks are not added to official images for a number of reasons, some of which include:
    1. Rootless mode executes the Docker daemon and containers inside a user namespace. This is very similar to userns-remap mode, except that with userns-remap mode, the daemon itself is running with root privileges, whereas in rootless mode, both the daemon and the container are running without root privileges.
    1. Running Docker inside Docker lets you build images and start containers within an already containerized environment.
    2. If your use case means you absolutely require dind, there is a safer way to deploy it. The modern Sysbox project is a dedicated container runtime that can nest other runtimes without using privileged mode. Sysbox containers become VM-like so they're able to support software that's usually run bare-metal on a physical or virtual machine. This includes Docker and Kubernetes without any special configuration.
    3. Bind mounting your host's daemon socket is safer, more flexible, and just as feature-complete as starting a dind container.
    4. Docker-in-Docker via dind has historically been widely used in CI environments. It means the "inner" containers have a layer of isolation from the host. A single CI runner container supports every pipeline container without polluting the host's Docker daemon.
    5. While it often works, this is fraught with side effects and not the intended use case for dind. It was added to ease the development of Docker itself, not provide end user support for nested Docker installations.
    6. This means containers created by the inner Docker will reside on your host system, alongside the Docker container itself. All containers will exist as siblings, even if it feels like the nested Docker is a child of the parent.
    1. Root-privileges: As a container runtime, Sysbox requires root privileges to operate. As a result, the Sysbox-In-Docker container must be launched in "privileged" mode.
    2. Note that, for the general use-case, Sysbox is expected to operate in a regular (non-containerized) environment (i.e., host installation).
    3. As its name implies, Sysbox-In-Docker aims to provide a containerized environment where to execute the Sysbox runtime.
    1. Isn't a simple go get github.com/mayflower/docker-ls/cli/... sufficient, you ask? Indeed it is, but including the generate step detailed above will encode verbose version information in the binaries.
  4. May 2024
    1. Please note that '+' characters are frequently used as part of an email address to indicate a subaddress, as for example in <bill+ietf@example.org>.

      Nice of them to point that this is a common scenario, not just a hypothetical one.

    1. Choosing names from a list is a lot more user-friendly and less error-prone than asking them to blindly type in an e-mail address and hope that it is correct and matches an existing user (or at least a real e-mail account that can then be sent an invitation to register). In my opinion, this is a big reason why Facebook became so popular — because it let you see your list of friends, and send message to people by their names instead of having to already know/remember/ask for their e-mail address.
    1. You cannot sell or distribute Content (either in digital or physical form) on a Standalone basis. Standalone means where no creative effort has been applied to the Content and it remains in substantially the same form as it exists on our website.

      That seems fair enough...

    1. This is probably confusing because the "host" in --network=host does not mean host as in the underlying runner host / 'baremetal' system. To understand what is happening here, we must first understand how the docker:dind service works. When you use the service docker:dind to power docker commands from your build job, you are running containers 'on' the docker:dind service; it is the docker daemon. When you provide the --host option to docker run it refers to the host network of the daemon I.E. the docker:dind container, not the underlying system host.
    2. When you specify FF_NETWORK_PER_BUILD that was specifying the docker network for the build job and its service containers that encapsulates all of your job's containers.
    1. return &container.HostConfig{ DNS: e.Config.Docker.DNS, DNSSearch: e.Config.Docker.DNSSearch, RestartPolicy: neverRestartPolicy, ExtraHosts: e.Config.Docker.ExtraHosts, Privileged: e.Config.Docker.Privileged, NetworkMode: e.networkMode, Binds: e.volumesManager.Binds(), ShmSize: e.Config.Docker.ShmSize, Tmpfs: e.Config.Docker.ServicesTmpfs, LogConfig: container.LogConfig{ Type: "json-file", },
    1. For Linux systems, you can – starting from major version 20.04 of the Docker engine – now also communicate with the host via host.docker.internal. This won't work automatically, but you need to provide the following run flag: --add-host=host.docker.internal:host-gateway
    1. While the RSpec team now officially recommends system specs instead, feature specs are still fully supported, look basically identical, and work on older versions of Rails.

      Whose recommendation should one follow?

      RSpec team's recommendation seems to conflict with this project's: https://rspec.info/features/6-0/rspec-rails/request-specs/request-spec/:

      Capybara is not supported in request specs. The recommended way to use Capybara is with feature specs.

    2. RSpec Rails defines ten different types of specs for testing different parts of a typical Rails application. Each one inherits from one of Rails’ built-in TestCase
    1. I want RSpec Rails development to be fast, and lightweight, much like it was when I joined the RSpec project.
    2. As of right now the full build takes over an hour to run, and this makes cycling for PRs and quick iterative development very difficult.
    3. If we do this, it will become deeply unsustainable for us to maintain RSpec Rails in the future. We have too many Rails versions today, and we expect the rate of Rails releases to increase as time goes on.
    4. this has now become unsustainable and we want to take this tradeoff to best serve the needs of the community
    5. This makes ongoing maintenance difficult, as it requires that RSpec Rails' maintainers be conscious of every Rails version that might be loaded.
    6. Our need is therefore best characterised by cost of maintenance. Having to maintain several versions of Rails and Ruby costs us a lot. It makes our development slower, and forces us to write against Rails versions that most people no longer use.
    1. SO MOVED! This is a common statement which means nothing. One must state the actual motion so as to avoid confusion in the audience. Everyone has the right to know exactly what is being moved and discussed. "So moved!" is vague and pointless. Do not allow your club members to be vague and pointless.
    1. Strictly speaking, a cell (cellular) phone is a mobile phone, but a mobile phone may not necessarily be a cell phone. "Cellular" refers to the network technology

      Exactly!

    2. The cell phone providers usually call them "mobile" phones which is more precise since "cell" refers to a kind of technology.

      Exactly!

    3. However, it is increasingly becoming just a "phone", as landlines continue to disappear from households.
    4. In Australia, it has traditionally been a "mobile" - never a "cell" (unless you are deliberately trying to sound American!).

      regional diferences

    5. The one clarifying term might be "my phone" - this would guarantee it to be a mobile phone, rather than a landline.
    1. 81 View upvote and downvote totals. This answer is not useful Save this answer. Show activity on this post. Most people are focused on attribution (and rightfully so), but it seems that not much attention is being paid to the share alike part of the CC license. In AI contexts, copyright law is still being tested in court and many things are uncertain. There is a very real risk that training an AI on this site's data will not necessarily be considered "fair use" (it fails the "serves as a substitute for the original" test, among other things), which means there's a risk that the trained model will be considered a derivative work and thus required to carry a license similar to CC-BY-SA 4.0.
    2. One of the key elements was "attribution is non-negotiable". OpenAI, historically, has done a poor job of attributing parts of a response to the content that the response was based on.
    3. We contributed free work to the company because the content is under a CC BY-SA license. It is fine to make money off our content as long as they adhere to the license. This forbids selling the content to OpenAI, though, since they do not provide attribution or release their derivative works under a compatible license.
    4. One way to look at it is that corporations are never your friend. They love talking about building communities and ecosystems, but eventually they need to monetize user-generated content and change licensing to make your content their property. When their policies and promises change overnight 180° all you get "we are sorry you feel that way", "our hopes and prayers" and "that was a deliberate business decision we had to make with a heavy heart". And then they laugh all the way to the bank.
    5. Doing free work for a company to make THEIR place a better one, only because you were gamed into doing that. The solution is never contribute to anything that is controlled by private company.
    6. Humans are meant to exploit machines, not the other way round. Exploiting us, who helped make the world a little bit better, in this way, is a turning point. It makes the world for us worse instead of better.
    7. I feel violated, cheated upon, betrayed, and exploited.
    8. I wouldn't focus too much on "posted only after human review" - it's worth noting that's that's worth nothing. We literally just saw a case of obviously riduculous AI images in a scientific paper breezing through peer review with noone caring, so quality will necessarily go down because Brandolini's law combined with AI is the death sentence for communities like SE and I doubt they'll employ people to review content from the money they'll make
    9. "that post is written in a very indirect and unclear way" -- that is intentional, no? The company has been communicating in this style for quite some time now. Lots of grandiose phrases to bamboozle the audience while very little is actually being said. It's infuriating.
    10. On the surface, this is a very nice sentiment - one that we can all get behind.
    11. What could possibly go wrong? Dear Stack Overflow denizens, thanks for helping train OpenAI's billion-dollar LLMs. Seems that many have been drinking the AI koolaid or mixing psychedelics into their happy tea. So much for being part of a "community", seems that was just happy talk for "being exploited to generate LLM training data..." The corrupting influence of the profit-motive is never far away.
    12. If you ask ChatGPT to cite it will provide random citations. That's different from actually training a model to cite (e.g. use supervised finetuning on citations with human raters checking whether sources match, which would also allow you to verify how accurately a model cites). This is something OpenAI could do, it just doesn't.
    13. There are plenty of cases where genAI cites stuff incorrectly, that says something different, or citations that simply do not exist at all. Guaranteeing citations are included is easy, but guaranteeing correctness is an unsolved problem
    14. GenAIs are not capable of citing stuff. Even if it did, there's no guarantee that the source either has anything to do with the topic in question, nor that it states the same as the generated content. Citing stuff is trivial if you don't have to care if the citation is relevant to the content, or if it says the same as you.
    15. LLMs, by their very nature, don't have a concept of "source". Attribution is pretty much impossible. Attribution only really works if you use language models as "search engine". The moment you start generating output, the source is lost.
    1. Podman provides some extra features that help developers and operators in Kubernetes environments. There are extra commands provided by Podman that are not available in Docker.
    2. This is because Podman’s local repository is in /var/lib/containers instead of /var/lib/docker.  This isn’t an arbitrary change; this new storage structure is based on the Open Containers Initiative (OCI) standards.
    3. Podman commands are the same as Docker’s When building Podman, the goal was to make sure that Docker users could easily adapt. So all the commands you are familiar with also exist with Podman. In fact, the claim is made that if you have existing scripts that run Docker you can create a docker alias for podman and all your scripts should work (alias docker=podman). Try it.
    4. This article does not get into the detailed pros and cons of the Docker daemon process.  There is much to be said in favor of this approach and I can see why, in the early days of Docker, it made a lot of sense.  Suffice it to say that there were several reasons why Docker users were concerned about this approach as usage went up. To list a few: A single process could be a single point of failure. This process owned all the child processes (the running containers). If a failure occurred, then there were orphaned processes. Building containers led to security vulnerabilities. All Docker operations had to be conducted by a user (or users) with the same full root authority.
    1. AI-powered code generation tools like GitHub Copilot make it easier to write boilerplate code, but they don’t eliminate the need to consult with your organization’s domain experts to work through logic, debugging, and other complex problems.Stack Overflow for Teams is a knowledge-sharing platform that transfers contextual knowledge validated by your domain experts to other employees. It can even foster a code generation community of practice that champions early adopters and scales their learnings. OverflowAI makes this trusted internal knowledge—along with knowledge validated by the global Stack Overflow community—instantly accessible in places like your IDE so it can be used alongside code generation tools. As a result, your teams learn more about your codebase, rework code less often, and speed up your time-to-production.
    1. When a job uses needs, it no longer downloads all artifacts from previous stages by default, because jobs with needs can start before earlier stages complete. With needs you can only download artifacts from the jobs listed in the needs configuration.
    1. The asset pipeline is a collection of components that work together. Here's a list of what they might be.Concatenation for merging together many files into one big file.Minification for compressing the contents of a file to make it smaller in size.Pre-compilation for using your language of choice to write CSS or Javascript.Fingerprinting to force reloading of asset changes (i.e., cache busing).
    1. It’s generally good from a separations of concerns point of view and to reduce risk – migrations are scary enough as it is!
    2. Personally I’m not a fan of running migrations in an ENTRYPOINT script.I think it’s best suited to run this separately as part of your deploy process
    3. COPY --chown=ruby:ruby
    4. Debian Slim is a variant of Debian that’s optimized for running in containers. It removes a ton of libraries and tools that’s normally included with Debian.
    5. I know Alpine is also an option but in my opinion it’s not worth it. Yes, you’ll end up with a bit smaller image in the end but it comes at the cost of using musl instead of glibc. That’s too much of a side topic for this post but I’ve been burned in the past a few times when trying to switch to Alpine – such as having network instability and run-time performance when connecting to Postgres. I’m very happy sticking with Debian.
    1. If you are okay with the user appending arbitrary query params without enforcing an allow-list, you can bypass the strong params requirement by using request.params directly:
    2. Performing a redirect by constructing a URL based on user input is inherently risky, and is a well-documented security vulnerability. This is essentially what you are doing when you call redirect_to params.merge(...), because params can contain arbitrary data the user has appended to the URL.
    1. This is essentially what --update-refs does, but it makes things a lot simpler; it rebases a branch, "remembers" where all the existing (local) branches point, and then resets them to the correct point afterwards.
    2. An alternative approach would be to rebase the "top" of the stack, part-3 on top of dev. We could then reset each of the branches to the "correct" commit in the newly-rebased branch, something like this:
    3. Don't think that I just naturally perfectly segment these commits when creating the feature. I heavily rebase and edit the commits before creating a PR.
    1. We train our models using:
    2. We exclude sources we know to have paywalls, primarily aggregate personally identifiable information, have content that violates our policies, or have opted-out.
    3. We recently improved source links in ChatGPT(opens in a new window) to give users better context and web publishers new ways to connect with our audiences.