- Jul 2023
-
-
I think the only purpose of this is to detain programmers from doing anything a non-Microsoft way.
Probably not really...
-
The distinction doesn't refer to the files _contents_ but how to the file is _treated_ when it is being read or written. In "rb"/"wb" modes files are left how they are, in "r"/"w" modes Windows programmers get line ends "\r\n" translated into "\n" what disturbs file positions and string lengths.
-
Dividing files into "text" and "binary" is the archetype misdesign in the operating system you use
-
-
stackoverflow.com stackoverflow.com
-
Ruby 2.5+ If your substring is at the beginning of in the end of a string, then Ruby 2.5 has introduced the methods for this: delete_prefix for removing a substring from the beginning of the string delete_suffix for removing a substring from the end of the string
-
-
community.cisco.com community.cisco.com
-
I understand Duo follows the spec and attempts to make life easier by giving users the full 30 seconds, but unfortunately service providers don’t honor that recommendation, which leads to lockouts and a bunch of calls to our 1st line teams. You can’t tell users to stop using {platform}, but we can tell them to switch TOTP providers.
-
-
github.com github.com
-
We recommend using both an issuer label prefix and an issuer parameter, described below.
-
-
stackoverflow.com stackoverflow.com
-
The threat is that you're posting a secret key to a third party which violates a dozen of security best practices, nullifies the assumption of the key being "secret" and most likely violates your organization's security policy. In authentication all the remaining information can be guessed or derived from other sources - for example Referrer header in case of Google - and this is precisely why secrets should be, well, secret.
-
-
www.theguardian.com www.theguardian.com
-
The lawsuit against OpenAI claims the three authors “did not consent to the use of their copyrighted books as training material for ChatGPT. Nonetheless, their copyrighted materials were ingested and used to train ChatGPT.”
-
-
www.forbes.com www.forbes.com
-
One federal judge in the Northern District of Texas issued a standing order in late May after Schwartz’s situation was in headlines that anyone appearing before the court must either attest that “no portion of any filing will be drafted by generative artificial intelligence” or flag any language that was drafted by AI to be checked for accuracy. He wrote that while these “platforms are incredibly powerful and have many uses in the law,” briefings are not one of them as the platforms are “prone to hallucinations and bias” in their current states.
Seems like this judge has a strong bias against the use of AI. I think this broad ban is too broad and unfair. Maybe they should ban spell check and every other tool that could make mistakes too? Ultimately, the humans using the tool shoudl be the ones responsible for checking the generaetd draft for accuracy and the ones to hold responsible for any mistakes; they shouldn't simply be forbidden from using the tool.
-
New York-based startup DoNotPay created an AI-based way for people to contest traffic tickets—a user would wear smart glasses that would feed it information to say in court generated by AI—but before the creator could introduce it in court, he said he got threats from multiple bar associations about “unauthorized practice of law,”
-
he had used ChatGPT to conduct legal research for the court filing that referenced the cases and that the artificial intelligence tool assured him the cases were real.
-
-
stackoverflow.com stackoverflow.com
-
a = A.arel_table b = B.arel_table c = C.arel_table a .join(b) .on(a[:id].eq(b[:a_id])) .join(c, Arel::Nodes::OuterJoin) .on(b[:id].eq(c[:b_id])).to_sql
-
-
dba.stackexchange.com dba.stackexchange.com
-
But there is no absolute reason to use JOIN LATERAL (...) ON TRUE because you could just write it as a CROSS JOIN LATERAL instead
-
If you want to return a NULL-extended row in the case where the lateral join returns no rows, then you would use LEFT JOIN LATERAL (...) ON TRUE. Any condition other than TRUE is not necessary, as you could have just wrote it into the subquery itself
-
-
m.egwwritings.org m.egwwritings.org
Tags
Annotators
URL
-
-
www.codewithjason.com www.codewithjason.com
-
The way to do this with Capybara is documented on StackOverflow but, unfortunately, the answer there is buried in a little too much noise. I decided to create my own tiny noise-free blog post that contains the answer. Here it is:
-
I commonly find myself wanting to assert that a certain field contains a certain value.
-
-
www.humblebundle.com www.humblebundle.com
-
How we arrived in a post-truth era, when “alternative facts” replace actual facts, and feelings have more weight than evidence.Are we living in a post-truth world, where “alternative facts” replace actual facts and feelings have more weight than evidence? How did we get here? In this volume in the MIT Press Essential Knowledge series, Lee McIntyre traces the development of the post-truth phenomenon from science denial through the rise of “fake news,” from our psychological blind spots to the public's retreat into “information silos.”What, exactly, is post-truth? Is it wishful thinking, political spin, mass delusion, bold-faced lying? McIntyre analyzes recent examples—claims about inauguration crowd size, crime statistics, and the popular vote—and finds that post-truth is an assertion of ideological supremacy by which its practitioners try to compel someone to believe something regardless of the evidence. Yet post-truth didn't begin with the 2016 election; the denial of scientific facts about smoking, evolution, vaccines, and climate change offers a road map for more widespread fact denial. Add to this the wired-in cognitive biases that make us feel that our conclusions are based on good reasoning even when they are not, the decline of traditional media and the rise of social media, and the emergence of fake news as a political tool, and we have the ideal conditions for post-truth. McIntyre also argues provocatively that the right wing borrowed from postmodernism—specifically, the idea that there is no such thing as objective truth—in its attacks on science and facts.McIntyre argues that we can fight post-truth, and that the first step in fighting post-truth is to understand it.
-
-
activerecord-hackery.github.io activerecord-hackery.github.io
-
If Arel does not have the predicate you are looking for, consider monkey patching it:
-
-
-
Please do not use the issue tracker for personal support requests. Stack Overflow or GitHub Discussions is a better place for that where a wider community can help you!
-
Please consider adding a branch with a failing spec describing the problem.
-
File an issue if a bug is caused by Ransack, is new (has not already been reported), and can be reproduced from the information you provide.
-
-
-
Is the column a boolean column? (i.e. what does User.columns_hash[:admin_created].type return?)
-
-
activerecord-hackery.github.io activerecord-hackery.github.io
-
args: [:parent, :ransacker_args] do |parent, args|
-
Arel::Nodes::InfixOperation.new('->>', parent.table[:properties], 'link_type')
-
A timestamp like 2019-07-18 01:21:29.826484 will be truncated to 2019-07-18. But for your Rails application 2019-07-18 01:21:29.826484 is 2019-07-17 22:21:29.826484 at your time zone (GMT -03:00). So it should be truncated to 2019-07-17 instead.So, you should convert the timestamp to your current Rails time zone before extracting the date.
-
-
stackoverflow.com stackoverflow.com
-
ActiveStorage::LogSubscriber.detach_from :active_storage
It's nice that it's that easy to "opt out" of the default provided log subscriber and (if desired) swap in your own custom one that does whatever you want.
-
-
-
github.com github.com
-
Rails' default approach to log everything is great during development, it's terrible when running it in production. It pretty much renders Rails logs useless to me.
Really? I find it even more annoying in development, where I do most of my log viewing. In production, since I can't as easily just reproduce the request that just happened, I need more detail, not less, so that I have enough clues about how to reproduce and what went wrong.
-
Lograge is an attempt to bring sanity to Rails' noisy and unusable, unparsable and, in the context of running multiple processes and servers, unreadable default logging output.
-
-
github.com github.com
-
german.stackexchange.com german.stackexchange.com
-
But in almost all English sentences containing »there is«, these words do not mean »in this place is« but »it exists«. But the German words »da ist« do not have the meaning »it exists«. They only mean »in this place is«.
-
-
stackoverflow.com stackoverflow.com
-
This lets your test express a concept (similar to a trait), without knowing anything about the implementation: FactoryBot.create(:car, make: 'Saturn', accident_count: 3) FactoryBot.create(:car, make: 'Toyota', unsold: true) IMO, I would stick with traits when they work (e.g. unsold, above). But when you need to pass a non-model value (e.g. accident_count), transient attributes are the way to go.
traits and transient attributes are very similar
traits are kind of like boolean (either has it or doesn't) transient attribute flags
-
-
activeadmin.info activeadmin.info
-
You can also use the ActiveAdmin::FormBuilder as builder in your Formtastic Form for use the same helpers are used in the admin file:
.
-
semantic_form_for [:admin, @post], builder: ActiveAdmin::FormBuilder
semantic_form_for [:admin, @post], builder: ActiveAdmin::FormBuilder
-
-
www.metacritic.com www.metacritic.com
-
I really feel the game is a strong 9 but I’m giving it a 10 to offset the trolls.
-
-
www.kickstarter.com www.kickstarter.com
-
We all like games with a wide variety of resources, but most board games or card games never seem to have all that many. So let's do a comparison with popular games out there.
-
-
guides.rubyonrails.org guides.rubyonrails.org
-
Making MoneySerializer reloadable would be confusing, because reloading an edited version would have no effect on that class object stored in Active Job.
-
There, the module object stored in MyDecoration by the time the initializer runs becomes an ancestor of ActionController::Base, and reloading MyDecoration is pointless, it won't affect that ancestor chain.
-
-
stackoverflow.com stackoverflow.com
-
As this answer warns placing the include at the top level pollutes the Object namespace. Instead, I should have written
-
-
24-seven.churchcenter.com 24-seven.churchcenter.com
-
Shareable Code
For a second there, I thought this website was promoting open source and was actually sharing the (source) code for their website...
But alas, it's actually for sharing a different kind (QR) of code instead...
-
-
www.nintendolife.com www.nintendolife.com
-
Due to specific circumstances, there may be some devices that are incompatible even if they meet the specification requirements above.
-
-
www.kickstarter.com www.kickstarter.comThiefdom1
-
Buyer pays actual shipping charges instead of artificially raising prices so that they can have "free shipping".
Pitched as a positive when buying multiple copies (unfortunately, few buyers will have any need or desire to do so).
-
- Jun 2023
-
stackoverflow.com stackoverflow.com
-
Excellent, underrated answer!
-
As far as I see the current version of arel gem is not support FROM keyword for the sql query. You can generate a query using the SET, and WHERE keywords only,
-
-
www.soulcutter.com www.soulcutter.com
-
I’ve heard-suggested that ActiveSupport, which does a ton of monkey-patching of core classes, would make potentially-nice refinements. I don’t hold this opinion strongly, but I disagree with that idea. A big value proposition of ActiveSupport is that it is “omnipresent” and sets a new baseline for ruby behaviors - as such, being global really makes the most sense. I don’t know that anyone would be pleased to sprinkle using ActiveSupport in all their files that use it - they don’t even want to THINK about the fact that they’re using it.
-
Refinements themselves present a significant hurdle to adoption by virtue of their limitations and overall introduction of conceptual complexity. So it’s a tough sell to recommend this for anything outside of personal projects or places with incredibly strong esoteric Ruby knowledge (like, say, hidden away within Rails).
-
Let’s check out what the refinement approach looks like and why I consider it the best way to implement conversion wrappers.
-
under the name “conversion functions.” These exist in Ruby’s standard library - for example Array() is one that you’re likely to see in real code.
-
in the 10 years since they have been a part of Ruby, real life usages are astonishingly rare.
Tags
- monkey patching
- ruby: core extensions
- why is nobody using this?
- Ruby: refinements
- ubiquity
- conversion (transform)
- unfamiliar
- good question
- familiarity
- where it shines / best application
- programming idiom
- Ruby
- issues/factors hindering adoption
- why isn't this more popular?
- education
Annotators
URL
-
-
interblah.net interblah.net
-
-
What I do care about, though, is that we might start to accept and adopt opinions like “that feature is bad”, or “this sucks”, without ever pausing to question them or explore the feature ourselves.
-
Please – make a little time to explore Ruby. Maybe you’ll discover something simple, or maybe something wonderful.
-
If we hand most, if not all responsibility for that exploration to the relatively small number of people who talk at conferences, or have popular blogs, or who tweet a lot, or who maintain these very popular projects and frameworks, then that’s only a very limited perspective compared to the enormous size of the Ruby community.
-
I think we have a responsibility not only to ourselves, but also to each other, to our community, not to use Ruby only in the ways that are either implicitly or explicitly promoted to us, but to explore the fringes, and wrestle with new and experimental features and techniques, so that as many different perspectives as possible inform on the question of “is this good or not”.
-
If you’ll forgive the pun, there are no constants in programming – the opinions that Rails enshrines, even for great benefit, will change, and even the principles of O-O design are only principles, not immutable laws that should be blindly followed for the rest of time. There will be other ways of doing things. Change is inevitable.
Tags
- thinking/deciding/evaluating for yourself
- good point
- why is nobody using this?
- Ruby: refinements
- self-learning
- from different perspective/point of view
- responsibility
- learning new things
- I agree
- newer/better ways of doing things
- exploring
- why isn't this more popular?
- differences of opinion/perspective are good
- it's up to you to decide
- community (for a project or product)
- critical thinking
Annotators
URL
-
-
stackoverflow.com stackoverflow.com
Tags
Annotators
URL
-
-
about.me about.me
-
-
stackoverflow.com stackoverflow.com
-
ON conflict (member_id) DO UPDATE SET
-
-
stackoverflow.com stackoverflow.com
-
rank() OVER (ORDER BY
first sighting: rank
-
-
github.com github.com
-
What is the Docker host filesystem owner matching problem?
-
-
stackoverflow.com stackoverflow.com
-
Using Time.now (which returns the wall-clock time) as base-lines has a couple of issues which can result in unexpected behavior. This is caused by the fact that the wallclock time is subject to changes like inserted leap-seconds or time slewing to adjust the local time to a reference time. If there is e.g. a leap second inserted during measurement, it will be off by a second. Similarly, depending on local system conditions, you might have to deal with daylight-saving-times, quicker or slower running clocks, or the clock even jumping back in time, resulting in a negative duration, and many other issues. A solution to this issue is to use a different time of clock: a monotonic clock.
-
-
stackoverflow.com stackoverflow.com
-
Certainly you could adapt the code to round rather than truncate should you need to; often I find truncation feels more natural as that is effectively how clocks behave.
What do you mean exactly? Compared clocks, or at least reading of them. What's a good example of this? If it's 3:55, we would say 3:55, or "5 to 4:00", but wouldn't probably say that it's "3".
-
-
stackoverflow.com stackoverflow.com
-
xargs -n 1 -I% git push origin :refs/tags/%
-
-
stackoverflow.com stackoverflow.com
-
First, although not directly relevant to the answer, it's important to remember that Git does not have remote tags. Git just has tags.
-
-
-
If you develop a pure frameworkless Ruby application or embed Ruby and don't need any of the listed integrations, you can depend on the airbrake-ruby gem and ignore this gem entirely.
Tags
Annotators
URL
-
-
bugs.ruby-lang.org bugs.ruby-lang.org
-
-
Random::Formatter#from_set(set, n = 16) (or Random::Formatter#from_set(n = 16, set: …))
-
I think that alphabet is still the right word here, as it’s sort of the "term of art" for this sort of thing, although set is probably a good name as well.
-
-
stackoverflow.com stackoverflow.com
-
What I have seen is situations where things were made horribly complicated to get around protections for which there was no need, and to try to guard the consistency of data structures that were horribly over-complicated and un-normalized.
-
Are protected members/fields really that bad? No. They are way, way worse. As soon as a member is more accessible than private, you are making guarantees to other classes about how that member will behave. Since a field is totally uncontrolled, putting it "out in the wild" opens your class and classes that inherit from or interact with your class to higher bug risk. There is no way to know when a field changes, no way to control who or what changes it. If now, or at some point in the future, any of your code ever depends on a field some certain value, you now have to add validity checks and fallback logic in case it's not the expected value - every place you use it. That's a huge amount of wasted effort when you could've just made it a damn property instead ;) The best way to share information with deriving classes is the read-only property: protected object MyProperty { get; } If you absolutely have to make it read/write, don't. If you really, really have to make it read-write, rethink your design. If you still need it to be read-write, apologize to your colleagues and don't do it again :) A lot of developers believe - and will tell you - that this is overly strict. And it's true that you can get by just fine without being this strict. But taking this approach will help you go from just getting by to remarkably robust software. You'll spend far less time fixing bugs.
In other words, make the member variable itself private, but can be abstracted (and access provided) via public methods/properties
-
Public and/or protected fields are bad because they can be manipulated from outside the declaring class without validation; thus they can be said to break the encapsulation principle of object oriented programming.
-
When you lose encapsulation, you lose the contract of the declaring class; you cannot guarantee that the class behaves as intended or expected.
-
Using a property or a method to access the field enables you to maintain encapsulation, and fulfill the contract of the declaring class.
-
It actually depends on if your class is a data class or a behaviour class.
first time I've come across this idea of data class vs. behavior class
-
Exposing properties gives you a way to hide the implementation. It also allows you to change the implementation without changing the code that uses it (e.g. if you decide to change the way data are stored in the class)
-
it still strikes me as something people believe in the abstract, rather than know from hard experience. I've always found that if you look behind/under widely held beliefs, you can find useful gems.
-
Python essentially doesn't have private methods, let alone protected ones, and it doesn't turn out to be that big a deal in practice.
-
Anything that isn't explicitly enforced by contract is vulnerable to misunderstandings. It's doing your teammates a great service, and reducing everyone's effort, by eliminating ambiguity and enforcing information flow by design.
-
Far more preferable is to minimize data structure so that it tends to be normalized and not to have inconsistent states. Then, if a member of a class is changed, it is simply changed, rather than damaged.
-
They are based on defensive coding carried to extremes.
-
Another point is that properties are good in that you can place breakpoints in them to capture getting/setting events and find out where they come from.
-
They sound like "argument by prestige". If MSDN says it, or some famous developer or author whom everybody likes says it, it must be so.
-
you nailed it! A consumer should only be able to set an object's state at initialization (via the constructor). Once the object has come to life, it should be internally responsible for its own state lifecycle. Allowing consumers to affect the state adds unnecessary complexity and risk.
-
to clarify, I am distinguishing between properties as representing state and methods representing actions
-
As soon as you make a member not-private, you are stuck with it, forever and ever. It's your public interface now.
-
also to clarify, by immutable I mean externally immutable - that is, consumers cannot affect the state. The class can internally affect its own state
-
Making a property writable adds an order of magnitude in complexity. In the real world it's definitely not realistic for every class to be immutable, but if most of your classes are, it's remarkably easier to write bug-free code. I had that revelation once and I hope to help others have it.
Tags
- normalizing data
- using properties to abstract, encapsulate, and control access to private instance variables/data
- defensive coding carried to extremes
- properties vs. methods
- to make debugging easier
- breaking encapsulation
- immutable data/objects/members to prevent bugs
- I agree
- learned from real-world experience
- contract (programming)
- data flow
- clarification
- eliminate ambiguity
- well-intentioned protections causing pain or overly complicated workarounds
- being explicit
- properties vs. direct access to instance variables
- +0.9
- theory vs. practice
- not actually a problem in practice
- good point
- explicit interfaces
- doing something because someone prestigious says to
- overly complicated
- encapsulation (programming)
- distinction
- first sighting
- good idea
- misunderstanding
- fallacy: treating an authority as infallible
- member visibility: once it is public, you're stuck with it in public API forever
- keeping software simple to prevent bugs
- member visibility: make it private unless you have a good reason not to
- by design
- Python
- avoid complexity
Annotators
URL
-
-
stackoverflow.com stackoverflow.com
-
Have you ever: Been disappointed, surprised or hurt by a library etc. that had a bug that could have been fixed with inheritance and few lines of code, but due to private / final methods and classes were forced to wait for an official patch that might never come? I have. Wanted to use a library for a slightly different use case than was imagined by the authors but were unable to do so because of private / final methods and classes? I have.
-
Conversely, I've never in 16+ years of professional development regretted marking a method protected instead of private for reasons related to API safety
-
Let me preface this by saying I'm talking primarily about method access here, and to a slightly lesser extent, marking classes final, not member access.
-
Typical control-freak opinion.
-
I just wanted to tweak Java's BufferedReader to handle custom line delimiters. Thanks to private fields I have to clone the entire class rather than simply extending it and overriding readLine().
-
Practically speaking, if you can't think of a reason why it would be dangerous then theres more to be gained by opting for extensibility.
-
Also, people prefer association over inheritance so protected as default is difficult to perceive
-
I'm not saying never mark methods private. I'm saying the better rule of thumb is to "make methods protected unless there's a good reason not to".
-
Marking methods protected by default is a mitigation for one of the major issues in modern SW development: failure of imagination.
-
If it's dangerous, note it in the class/method Javadocs, don't just blindly slam the door shut.
-
I can't count the number of times I've been wrong about whether or not there will ever be a need to override a specific method I've written.
-
It often eliminates the only practical solution to unforseen problems or use cases.
-
When a developer chooses to extend a class and override a method, they are consciously saying "I know what I'm doing." and for the sake of productivity that should be enough. period.
-
member access
I assume this is making a disctinction between methods (member functions) and member/instance variables
-
Been disappointed, surprised or hurt by a library etc. that was overly permissive in it's extensibility? I have not.
-
The old wisdom "mark it private unless you have a good reason not to" made sense in days when it was written, before open source dominated the developer library space and VCS/dependency mgmt. became hyper collaborative thanks to Github, Maven, etc. Back then there was also money to be made by constraining the way(s) in which a library could be utilized. I spent probably the first 8 or 9 years of my career strictly adhering to this "best practice". Today, I believe it to be bad advice. Sometimes there's a reasonable argument to mark a method private, or a class final but it's exceedingly rare, and even then it's probably not improving anything.
Tags
- member visibility: make it public/protected by default so others can override/extend as needed
- never say never
- well-intentioned protections causing pain or overly complicated workarounds
- failure of imagination
- rule of thumb
- give the benefit of the doubt
- don't be so rigid
- +0.9
- inadvertently causing problems for future users
- you can't possibly know
- member visibility: protected vs. private
- good point
- not extensible enough
- dangerous (programming)
- reasonable defaults
- taking on the responsibility
- member visibility
- annotation meta: may need new tag
- you can't know for sure
- inheritance (programming)
- extensibility
- surprising
- rigid/inflexible
- can't predict the future
- please elaborate
- inadvertently preventing possibility of solving unforseen problems or use cases
- inadvertently causing problems for future self
- learned from real-world experience
- subclassing/inheritance
- rigidness/inflexibility
- control freak
- it's your responsibility to handle that
- not:
- can't think of everything
- data/properties vs. methods
- member visibility: make it protected unless you have a good reason not to
- inextensible
- disappointing
- do pros outweigh/cover cons?
- what does this actually mean?
- member visibility: make it private unless you have a good reason not to
- software development
- allow others take the responsibility/risk if they want; don't just rigidly shut the door to even the possibility
- bad advice
- only supporting some/specific/limited use cases
Annotators
URL
-
-
en.wikipedia.org en.wikipedia.org
-
It is a type of class attribute (or class property, field, or data member).
Tags
Annotators
URL
-
-
www.typescriptlang.org www.typescriptlang.org
-
The main thing to note here is that in the derived class, we need to be careful to repeat the protected modifier if this exposure isn’t intentional.
-
Derived classes need to follow their base class contracts, but may choose to expose a subtype of base class with more capabilities. This includes making protected members public:
-
TypeScript offers special syntax for turning a constructor parameter into a class property with the same name and value. These are called parameter properties
Doesn't this violate their own non-goal #6, "Provide additional runtime functionality", since it emits a
this.x = x
run-time side effect in the body that isn't explicitly written out in the source code? -
Member Visibility
-
-
developer.mozilla.org developer.mozilla.org
-
-
The major use case of Reflect is to provide default forwarding behavior in Proxy handler traps. A trap is used to intercept an operation on an object — it provides a custom implementation for an object internal method. The Reflect API is used to invoke the corresponding internal method. For example, the code below creates a proxy p with a deleteProperty trap that intercepts the [[Delete]] internal method. Reflect.deleteProperty() is used to invoke the default [[Delete]] behavior on targetObject directly.
-
-
stackoverflow.com stackoverflow.com
-
Reflection adds the ability to reverse-engineer classes, interfaces, functions, methods and extensions. Additionally, they offers ways to retrieve doc comments for functions, classes and methods.
-
-
help.openai.com help.openai.com
-
What's the structure of the URL of a shared link?https://chat.openai.com/share/<conversation-ID>
I've never seen a website document something like this before... especially as part of a FAQ.
How/why is this information helpful to people?
-
If I continue the conversation after I create a shared link, will the rest of my conversation appear in the shared link?No. Think of a shared link as a snapshot of a conversation up to the point at which you generate the shared link. Once a shared link is created for a specific conversation or message, it will not include any future messages added to the conversation after the link was generated. This means that if you continue the conversation after creating the shared link, those additional messages will not be visible through the shared link.
-
The conversation will no longer be accessible via the shared link, but if a user imported the conversation into their chat history, deleting your link will not remove the conversation from their chat history.
-
Are shared links public? Who can access my shared links?Anyone who has access to a shared link can view and continue the linked conversation. We encourage you not to share any sensitive content, as anyone with the link can access the conversation or share the link with other people.
-
-
Shared links offer a new way for users to share their ChatGPT conversations, replacing the old and burdensome method of sharing screenshots.
-
-
www.imdb.com www.imdb.com
-
it's not asking anymore of you than to just enjoy
-
-
stackoverflow.com stackoverflow.com
-
Depends on the style guide you follow for your project. The popular Ruby Style Guide says to "Avoid using Perl-style special variables (like $:, $;, etc. ). They are quite cryptic and their use in anything but one-liner scripts is discouraged."
-
When I first got started with Ruby, I obviously thought that $LOAD_PATH was better. But once you've graduated from beginner status, I'd only use $LOAD_PATH if I was trying to make my code more readable to a beginner. Meh its a trade off.
-
The Ruby load path is very commonly seen written as $: , but just because it is short, does not make it better. If you prefer clarity to cleverness, or if brevity for its own sake makes you itchy, you needn't do it just because everyone else is. Say hello to ... $LOAD_PATH ... and say goodbye to ... # I don't quite understand what this is doing... $:
-
-
www.indiegogo.com www.indiegogo.com
-
“So superior mechanically to other crowdsourced games, it was banned on Kickstarter and Gamefound!”
-
-
-
global.rakuten.com global.rakuten.com
Tags
Annotators
URL
-
-
global.rakuten.com global.rakuten.com
-
Mikitani
-
-
www.postgresql.org www.postgresql.org
-
typical use would be to reference a json or jsonb column laterally from another table in the query's FROM clause.
-
Writing json_populate_record in the FROM clause is good practice, since all of the extracted columns are available for use without duplicate function calls.
-
-
www.optimizesmart.com www.optimizesmart.com
-
Debug mode allows you to see only the data generated by your device while validating analytics and also solves the purpose of having separate data streams for staging and production (no more separate data streams for staging and production).
good to know.
Seems to contradict their advice on https://www.optimizesmart.com/using-the-ga4-test-property/ to create a test property...
-
-
organicdigital.co organicdigital.co
-
They create a lot of useful content on there site, which they are happy for users to copy and paste for use elsewhere. They wanted to know how often this was happening, on which pages, and what text.
-
-
stackoverflow.com stackoverflow.com
-
but I literally posted a screenshot of it working. So you must be doing something wrong.
-
-
support.google.com support.google.com
-
To use the tool, you need the following access: Viewer role for the Universal Analytics property Editor role for the Google Analytics 4 property After you've installed and activated the Google Sheets add-on (below), follow these steps: Import audience definitions from your Universal Analytics property to a Google Sheet. Decide how you want to export audiences from your Google Sheet to your Google Analytics 4 property (e.g., using the existing definition or modifying the definition first in the tool, then exporting). Export your audiences from the Google Sheet to your Google Analytics 4 property.
Seems simple enough. With a lot of power/flexibility to make any changes in between the import and export steps.
-
-
support.google.com support.google.com
-
(New name for Collaborate permission.)
Analyst
-
Effective permissions are the roles and data restrictions that a member is assigned via other resources (like the organization, a user group, or an account that includes the current property) plus all the direct permissions assigned explicitly for the current resource. Direct permissions are role and data restrictions that a member is assigned explicitly for the current resource (e.g., organization, account, property).
-
-
support.google.com support.google.com
-
to recover loss of observability
Elaborate... what do you mean? How does it do so? Do they mean recover from loss of observability?
-
-
www.flexo.nz www.flexo.nz
-
Foreign companies selling into the U.S. are subject to sales tax regimes to the extent there is nexus with the state, which can be established, among other ways, through a physical contact with the state (payroll, property, agents, and inventory held under the Fulfillment by Amazon arrangement) or substantial sales exceeding economic thresholds enacted in light of the Wayfair decision.
-
-
-
Don’t confuse Consent Mode with Additional Consent Mode, a feature that allows you to gather consent for Google ad partners that are not yet part of the Transparency and Consent Framework but are on Google’s Ad Tech Providers (ATP) list.
-
-
developers.google.com developers.google.com
-
Will not read or write first-party [analytics cookies]. Cookieless pings will be sent to Google Analytics for basic measurement and modeling purposes.
-
If a user denies consent, tags no longer store cookies but instead send signals to the Google Server as described in the next section. This prevents the loss of all information about visitors who deny consent and it enables Google Analytics 4 properties to model conversions as described in About modeled conversions.
-
-
developers.google.com developers.google.com
-
By default, Google tags use automatic cookie domain configuration. Cookies are set on the highest level of domain possible. For example, if your website address is blog.example.com, cookies are set on the example.com domain.
-
This means that if cookie expiration is set to one week (604800 seconds), and a user visits using the same browser within five days, the cookie will be available for an additional week, and they will appear as the same visitor in your reports. If that same user instead visited after the original cookie had expired, a new cookie will be created, and their first and second visits will appear as coming from distinct visitors in your reports.
Not perfect, but at least that's simple enough to understand
-
-
gitlab.com gitlab.com
-
-
What we call the "super sidebar" will contain all the elements that pertain to moving around GitLab
-
There will no longer be a top bar
-
-
www.dekudeals.com www.dekudeals.com
-
Dialog that is reasonably funny
-
- May 2023
-
www.youtube.com www.youtube.com
Tags
Annotators
URL
-
-
lists.w3.org lists.w3.org
-
stackoverflow.com stackoverflow.com
-
while I'm not as strongly against the above example code as the others, specifically because you did call it out as pseudocode and it is for illustrative purposes only, perhaps all of the above comments could be addressed by replacing your query = ... lines with simple query = // Insert case-sensitive/insensitive search here comments as that keeps the conversation away from the SQL injection topic and focuses on what you're trying to show. In other words, keep it on the logic, not the implementation. It will silence the critics.
-
I know this is an old question but I just want to comment here: To any extent email addresses ARE case sensitive, most users would be "very unwise" to actively use an email address that requires capitals. They would soon stop using the address because they'd be missing a lot of their mail. (Unless they have a specific reason to make things difficult, and they expect mail only from specific senders they know.) That's because imperfect humans as well as imperfect software exist, (Surprise!) which will assume all email is lowercase, and for this reason these humans and software will send messages using a "lower cased version" of the address regardless of how it was provided to them. If the recipient is unable to receive such messages, it won't be long before they notice they're missing a lot, and switch to a lowercase-only email address, or get their server set up to be case-insensitive.
-
This is insightful application of Postel's law en.wikipedia.org/wiki/Robustness_principle. It remains wrong to write software that assumes local parts of email addresses are case-insensitive, but yes, given that there is plenty of wrong software out there, it is also less than robust to require case sensitivity if you are the one accepting the mail.
-
If you're already using PostgreSQL anyway, just use citext as the type of the email_address column.
-
Solution: Store emails with case sensitivity Send emails with case sensitivity Perform internal searches with case insensitivity
-
Robustness principle suggests that we accept case sensitive emails
-
I'd phrase it stronger: "you're unsafe to treat email-addresses as case-sensitive manner"
-
So yes, the part before the "@" could be case-sensitive, since it is entirely under the control of the host system. In practice though, no widely used mail systems distinguish different addresses based on case.
-
In short, you are safe to treat email addresses as case-insensitive.
Tags
- distracting from the issue at hand
- avoid doing (bad ideas)
- stronger wording
- good point
- be conservative in what you do, be liberal in what you accept from others (robustness principle)
- e-mail addresses: are they case sensitive?
- I agree
- distracting
- compromise
- bad idea
- PostgreSQL: citext
- robustness principle
- theory vs. practice
- opinion
Annotators
URL
-
-
en.wikipedia.org en.wikipedia.org
-
responded with typical self-effacing matter-of-factness
-
"Of course, there isn’t any 'God of the Internet.' The Internet works because a lot of people cooperate to do things together."
Tags
Annotators
URL
-
-
en.wikipedia.org en.wikipedia.org
-
A flaw can become entrenched as a de facto standard. Any implementation of the protocol is required to replicate the aberrant behavior, or it is not interoperable. This is both a consequence of applying the robustness principle, and a product of a natural reluctance to avoid fatal error conditions. Ensuring interoperability in this environment is often referred to as aiming to be "bug for bug compatible".
-
Rose therefore recommended "explicit consistency checks in a protocol ... even if they impose implementation overhead".
-
-
webmasters.stackexchange.com webmasters.stackexchange.com
-
However, some do differentiate between upper and lower case characters in the recipient part.
which ones, for example?
-
If you are storing email addresses then you probably should store them in their original case (the recipient at least) to be safe. However, always compare them case-insensitively in order to avoid duplicates.
-
-
github.com github.com
-
Please can we (a) retain case information from the email address the student uses to set up their account (in case their mailbox is case sensitive), and use that when sending password reset emails, etc., but also (b) when checking credentials for login or setting up an account, treat the email address as non-case-sensitive. The upshot would be if someone registered with Student@City.ac.uk, all emails would go to Student@City.ac.uk, but the student would be able to log in with student@city.ac.uk, and if someone later tried to set up an account with student@city.ac.uk they'd be told that the user already exists.
-
Although there's an argument for keeping case sensitivity for the local mailbox (as they can be case sensitive, depending on how they're set up, though I haven't come across case sensitivity in university emails), the domain part of the email address is not case sensitive and should not be treated as such. Please can we (a) retain case information from the email address the student uses to set up their account (in case their mailbox is case sensitive), and use that when sending password reset emails, etc., but also (b) when checking credentials for login or setting up an account, treat the email address as non-case-sensitive. The upshot would be if someone registered with Student@City.ac.uk, all emails would go to Student@City.ac.uk, but the student would be able to log in with student@city.ac.uk, and if someone later tried to set up an account with student@city.ac.uk they'd be told that the user already exists.
-
-
www.reddit.com www.reddit.com
-
However, it's difficult to rely on a case-sensitive email address in the real world because many systems (typically ones that have to handle data merging) don't preserve case. Notably systems that use email addresses for user IDs, or any system that has to collate data from multiple sources (CRMs, email broadcast systems, etc) will either normalise case or treat them case-insensitively.
-
However, for all practical purposes in the modern age, I believe you can consider email addresses to be case insensitive.
-
-
softwareengineering.stackexchange.com softwareengineering.stackexchange.com
-
a SHOULD is always trumped in RFCs by a MUST. The fact that hosts SHOULD do something means that they might not and I just wanted reassurance that, in reality, the SHOULD is a bit more widely adopted than its definition implies.
-
-
www.lifewire.com www.lifewire.com
-
Not many email services or ISPs enforce case-sensitive email addresses.
which ones do?
-
Since the case sensitivity of email addresses can create confusion and delivery problems, most email providers and clients either fix the case if the email address is entered in the wrong case, or they ignore upper-case entries. Not many email services or ISPs enforce case-sensitive email addresses.
-
-
www.alphr.com www.alphr.com
-
the above mentioned RFC 5321 recommends for new email addresses to be created with lower case letters only to avoid potential confusion and delivery problems.
it does? where does it say that?
-
While email addresses are only partially case-sensitive, it is generally safe to think of them as case insensitive. All major providers, such as Gmail, Yahoo Mail, Hotmail, and others, treat the local parts of email addresses as case insensitive.
-
According to RFC 5321, the local part of the email address is case sensitive. This means that, in theory, SoMething@something.com is not the same as something@something.com. However, email providers have the liberty to treat the local parts as both case sensitive and case insensitive.
-
-
www.outoftheweb.com www.outoftheweb.com
-
Are Email Addresses Case Sensitive? Technically, the answer is yes. However, email addresses are typically not case sensitive; if you type your email address into a form and accidentally capitalize one or two letters, it probably won’t prevent the sender from emailing you.
-
The local part does, in fact, take the case into account, as per RFC 5321. However, Email Service Providers (ESPs) are aware of the potential confusion that could result from allowing upper-case letters.
-
-
-
In short, while it’s technically possible to make the part before @ case sensitive, most popular email servers do not allow that.
-
Most big email providers like Gmail, Outlook and even company email address hosted on Google Suite are not case sensitive. Just to avoid any unnecessary confusion. However, in extreme cases, some large companies, implement case sensitivity on their server as some people can often have the same first and last name. But in general, this creates more confusion, than the usability, which is why most standard email providers avoid case sensitivity.
-
-
blog.teknkl.com blog.teknkl.com
-
This doesn't make any sense, though. Once you recognize that the two may represent different addresses, you're arbitrarily choosing the first one in your system as the right one, when the second one is just as right. Just give up at that point and lowercase ’em.
which one should be considered the correct one?
-
Some say you should treat addresses as case-preserving as opposed to case-sensitive, meaning you don't change IStillUse@AOL.COM to istilluse@aol.com but you still consider it a dupe of iSTilLUSE@aol.com.
-
Either way, at some point almost everyone started treating addresses as case-insensitive.
-
When an IETF RFC uses the keyword “MUST” it means business
-
Despite it being commonplace to “fix up” email addresses by lowercasing them — or, in financial/government contexts, uppercasing them — email addresses are clearly defined as case-sensitive in the only standard that matters.
-
-
ux.stackexchange.com ux.stackexchange.com
-
Since using case insensitivity is so widespread, take their sign up email address and make it lower case. Whenever they try to log in, convert that to lowercase as well, for comparison purposes, when you go to see if the user exists. As far as sign up and sign in go, do a case insensitive comparison. If the person signs up as Steve@example.com, you'll still want to allow them to sign in later with steve@example.com or sTeVE@example.com.
-
But you should also keep track of the email address that they signed up with in a case sensitive fashion. Any time you send an email to them, be sure to send it with that original casing. This allows the email server to handle it however it feels like it needs to. So even though the person may always be signing in to your site with steve@example.com, if they signed up as Steve@example.com, you'll always send email to Steve@example.com, just to be safe.
-
Some day, the de facto standard and the official standard will hopefully be the same. It's too bad we have to deal with this issue at all.
-
The de facto standard is to treat local mailboxes as case insensitive, but the official standard says case matters (though even the official standard mentions the de facto standard).
-
Gmail does something similar. You can register an email address with a . in it and Gmail just ignores that for its internal email address. So you can get Firstname.Surname@gmail.com and that's effectively the same email address as FirstnameSurname@gmail.com. Back in 2004 when Gmail launched, I found this to be an especially user friendly feature of their email service
-
-
www.getresponse.com www.getresponse.com
-
This ensures that GetResponse and our customers comply with Anti-Spam laws.
IMHO, the customer should be able to opt out of this automatic adding if they want more/full control over the footer. Then they can take on the responsibility themselves.
-
-
documentation.mailgun.com documentation.mailgun.com
-
An example of how to toggle tracking on a per-message basis. Note the o:tracking option. This will disable link rewriting for this message:
-