LLMs accelerate the wrong part
【洞察】「LLM 加速了错误的部分」——这句话点破了 AI 编程工具的根本问题:它们加速了代码的「生成」(原本不是瓶颈),却无法加速代码的「理解、审查和维护」(真正的瓶颈)。与 a16z 报告的「10-20x 生产力提升」数据对照:生产力的提升是真实的,但被提升的维度是否是最应该被提升的维度,是一个完全不同的问题。
LLMs accelerate the wrong part
【洞察】「LLM 加速了错误的部分」——这句话点破了 AI 编程工具的根本问题:它们加速了代码的「生成」(原本不是瓶颈),却无法加速代码的「理解、审查和维护」(真正的瓶颈)。与 a16z 报告的「10-20x 生产力提升」数据对照:生产力的提升是真实的,但被提升的维度是否是最应该被提升的维度,是一个完全不同的问题。
if you put it out there as FOSS then you have to support it
unpublished reply to u/kinga_forrester at https://www.reddit.com/r/vintageads/comments/1rvqt0e/comment/oayqqbd/
Rightly or wrongly I'm sure a vanishing number of people at that time would have held your view.
You've got to remember the historical context of this ad. During World War II all but one typewriter manufacturer in the US ceased production of typewriters and the one remaining was really producing machines for the military. This ad from 1943 actually says in tiny print at the bottom: "Royal is making bullets, and parts for airplane engines, propellers, machine guns, rifles." Civilian groups did drives to collect typewriters to send them to the war effort. Many of the extant and upcoming generation of typewriter repairmen went off to the war effort. All this against the backdrop of people being used to taking their machines (especially office ones in use 8 hours a day) in for service every year or so for cleaning and adjustment. Most office typewriters of the time were in use for an average of 3 years before requiring complete overhauls or replacement. In addition to all of the other things being rationed, typewriters and typewriter service were also being heavily rationed, particularly because the manpower and steel was being diverted heavily to the war effort.
At the time, most typewriters were in the $125-200 range which is the equivalent to about $1,500 now. They were trying to help people preserve their machines and functionality. This was at a time when almost any sizeable town in the US had at least one repair shop busy with work. A city the size of Chicago probably had several dozens of repair shops working full time and that likely dropped to just a few during the war. (There's only one now, and it's only been open for a few years; it also has a wait list of several months for service because it's so busy.)
The issue of typewriter preservation was so great during the war that the U.S. Navy produced a series of videos about their proper use and maintenance of them *and other expensive office machines of the time). See videos at https://boffosocko.com/2025/06/06/typewriter-use-and-maintenance-for-beginning-to-intermediate-typists/ The government also got involved in creating maintenance manuals like Basic Typewriter Care and Maintenance, Equipment Maintenance Series No. 1 (US FWIP, 1945) and repair manuals like War Department Technical Manual TM 37-305: Typewriter Maintenance (1944) which is essentially the same as the [1945 Ames manual[(https://site.xavier.edu/polt/typewriters/AmesVol1-Standards.pdf).
Comparing this with today when the general value of typewriters is almost nil and we're lucky to have a few dozen professional typewriter repair shops still operating, but the rate of retirements and deaths has long been outstripping the replacement rate and you'll understand why self-service is necessary. Even given this, the number of typewriter fora on the internet, Facebook, Reddit, etc. the amount of tinkering knowledge is almost cripplingly bad but seems to chug along. You'll notice that there are an awful lot of people just trying to identify their machines much less carry out the most basic repairs. The number of "broken machines" I've acquired in my collection that only needed the ribbon color selector set to something besides "stencil" is a sad indicator of the state of typewriter knowledge now, much less what it may have been in their heyday, tinkering or not.
Even by 1983 as typewriters were already beginning to feel the pressure from the computer business, books like Bryan Kravitz and Nancy Gorrell's Hints for a Happy Typewriter were attempting to educate people on proper maintenance and light repair before needing to rely on repair shops that were already starting to feel the pinch.
Incidentally, IBM wasn't what put most typewriter companies out of business. It was vicious competition caused by offshoring and the cheapening of parts and materials while computers in general did the rest. And as for all those typewriter repair shops: most began selling/servicing word processors, office machines like fax machines, photo copiers, dictaphones, and even computers.
[deleted]
Original post by u/shapeless_nodule at https://reddit.com/r/typewriters/comments/1rp5mh6/brother_deluxe_220_jp1_typewriter_request_for/
Hi All, In a fit overconfidence a couple of years ago, I bought a brother Deluxe 220 typewriter which worked fine other than being sticky. I duly tore it down, cleaned it up, oiled it, put it back together and... watched as nothing happened because somehow all of the springs had fallen out and were now sitting on my workbench. I then put it on a shelf and forgot about it, until starting a clearout last week. I would be deeply indebted to you if anyone who has this typewriter (or one of its sister models, as I understand it most of the JP-1 models are the same) take either some photos or a good video of exactly where all of the springs inside it connect to?
Reply: <br /> This is fairly steep ask, particularly when, for a few dollars, you can get the location of all the springs in the repair manual:<br /> - https://www.lulu.com/shop/ted-munk/the-brother-jp-1-typewriter-repair-bible/paperback/product-186kzqem.html?q=brother&page=1&pageSize=4 - https://twdb.sellfy.store/brother-typewriters/
Everyone's probably wrong
for - adjacency - everyone's probably wrong - Donald Hoffman - science says 0% about ultimate reality - See the recent Youtube podcast of Diary of a CEO - interview with Donald Hoffman, where - he consistently argues that all scientific models teach us 0% about ultimate reality - https://via.hypothes.is/https://www.youtube.com/watch?v=W0vTZrZny6A
TheZIP64 EOCDL can be located by a fixed offset from the regu-lar EOCDR, or by searching for its signature
# result is 18
Actual result is 24
# result is 18
Actual result is 24
Do I imagine it. Or he did one day actually say in response 00:37:59 to an answer. That's so far off. It isn't even wrong
Epstein quoting Norman Maclean, the author of The River Runs Through It and a professor at University of Chicago.
John Stuart Mill once said, referring to the different sides in intellectual controversies, they tend to be “in the right in what they affirmed, though in the wrong in what they denied.”
for - quote - right in what is affirmed, wrong in what is denied - John Stuart Mill - adjacency - worldviews - metaphor - blind men and the elephant
Upgrading tools would frequently break compatibility with existing data. And it was difficult to make different tools interoperate if they couldn’t agree exactly on the format of their underlying JSON data.
Why should the app even know let alone care about which version of the serialization format is in play?
a wrong guess is a hundred times better than a right answer yeah that's just giving you the reason is a right answer closes your mind a wrong guess you're still open and that's the vital characteristic
for - quote - natural language acquisition - wrong guess - right answer - adjacency - natural language acquisition - open mind
the disease model of addiction isn't just wrong it's also harmful
> for - addiction - failure of rehabilitation is proof of the wrong model - the disease model - quote - the disease model of addiction is not only wrong, but harmful - Marc Lewis
The seeming luxury of having multiple words to choose from is not sufficient to offset the lingering fear that no matter which word you pick it will be the wrong one, causing people to silently laugh at you and judge both you and your grammar school teachers
If we can see how some of the basic assumptions that we bring to the development of computing technologies lead us away from improvement in our ability to solve problems collectively, we can reexamine those assumptions and chart a different course.
for - quote - Doug Engelbart\ - collective IQ - status quo heading in the wrong direction - Indyweb dev - flipping the web - Doug Engelbart - Collective IQ - the Flipped web
quote - Doug Engelbart - If we can see how some of the basic assumptions that we bring to the development of computing technologies - lead us away from improvement in our ability to solve problems collectively, - we can reexamine those assumptions and chart a different course.
Indyweb dev - flipping the web - Doug Engelbart - Collective IQ - Flip the current web - the Flipped web - leverage the decentralized design of the original web via named content of IPFS network
What's wrong with this?
for - climate crisis - psychology - wrong approach
summary - Climate scientist professor Mojib Latif explores why our best efforts at rapid intervention to deal with the climate crisis are failing - Near the end of the program, he interviews professor Henning Beck, a neuroscientist who suggests that human brains have evolved to be rewarded for securing more. - Dopamine is released when we get more and we have not designed our intervention strategies aligned with this basic property of our brains
for - transition - renewable energy - won't work - because - the price is wrong! - Brett Christopher - green energy - the price is wrong - transition - alternative to capitalism - book - The Price is Wrong: Why Capitalism won't Save the Planet - Brett Christopher
summary - This book provides rationale for why capitalism won't scale renewable energy, but a public sector government approach might - What about the alternative of community-owned or cooperative-owned energy infrastructure? A pipe dream? - Is renewable energy just not profitable and therefore has to be subsidized? - Perhaps it could be seen as a stopgap to buy us time until fusion, deep geothermal or other viable, scalable options become widespread?
from - Planet Critical podcast - 6th Mass Extinction - interview with paleontologist Peter Brennan - https://hyp.is/3ss3Vj9vEe-iDX-3vRVlFw/docdrop.org/video/cP8FXbPrEiI/
book that's sort of making its rounds in the climate World these days um by this author Brett Christopher I foret what it's called 00:31:25 um oh what is it called oh the price is wrong yeah about how Renewables yeah they're cheaper than ever which people always point at those graphs but just because of the way that you know utilities are set up and the energy system works they're not profitable and 00:31:38 they won't be in the near term
for - book - The Price is Wrong: Why Capitalism won't Save the Planet - Brett Christopher
to - book - The Price is Wrong: Why Capitalism won't Save the Planet - Brett Christopher - https://hyp.is/h01Tyj9uEe-rEhuQgFWRuQ/www.versobooks.com/en-gb/products/3069-the-price-is-wrong
here are so many loopholes in our current top AI Labs that we could literally have people who are infiltrating these companies and there's no way to even know what's going on because we don't have any true security 00:37:41 protocols and the problem is is that it's not being treated as seriously as it is
for - key insight - low security at top AI labs - high risk of information theft ending up in wrong hands
for - physiology rescues evolutionary biology - Denis Noble
from - youtube - IAI interview - Why Dawkins is Wrong - Denis Noble
for - paper - Physiology restores purpose to evolutionary biology - Denis Noble - Raymond Noble - year - 2023
from - youtube - IAI interview - Why Dawkins is wrong - Denis Noble - https://hyp.is/eqKOYhVVEe-XVKuwMtOTTg/docdrop.org/video/dCLRKP9NW8I/
if we didn't have people who were wrong we wouldn't be where we are
for - quote - being wrong - Denis Noble
quote - Being wrong - Denis Noble - If we didn't have people who were wrong - we wouldn't be where we are
read [[Pete Brown]] in On not engaging with people who are wrong on the internet
You can whip up cover letters in no time using ChatGPT! Just paste in your resume text, position title and company name and ask it to write a cover letter for you. It summarizes your skills really well in context of the position and company. Such a time saver. Like everything else AI does lately, it's absurdly good and in Ryan Reynold's words, "mildly terrifying." I have no idea who actually reads cover letters
[[Dan Allosso]] in Vague or Wrong?
He highlights the David Allen quote from Getting Things Done: "It is better to be wrong than to be vague."
most prolific taggers,those resources were cut in 2015.
i think this would be a better way to deal w the graffiti problem in Portland. Stop it at the source. Instead, the city chooses to punish property owners.
I reported this as a bug until proven otherwise
One of my inquiries was for anecdotes regarding mistakes made between the twins by their near relatives. The replies are numerous, but not very varied in character. When the twins are children, they are usually distinguished by ribbons tied round the wrist or neck; nevertheless the one is sometimes fed, physicked, and whipped by mistake for the other, and the description of these little domestic catastrophes was usually given by the mother, in a phraseology that is some- [p. 158] what touching by reason of its seriousness.
However, after finding the magic number, unzip does not check if the comment length correctly describes the comment that must follow. Rather, unzip only checks to make sure the comment length is small enough to not cause an out-of-bounds read beyond the end of the zip file. This means that unzip tolerates arbitrary data append to the end of a zipfile without even so much as a warning. The zip file spec does not allow this arbitrary data
Yeah, no.
overpopulation and degeneration caused by pacifism and civilization,<br /> and the long-overdue depopulation through mass murder on all levels.<br /> hell of a time to be alive... most of us will be dead soon. byee, i hate you all : D
when we get our story wrong we get our future wrong
for: quote - when we get our story wrong, we get our future wrong, quote - Thomas Homer-Dixon
quote
No author WANTS to mark emphasis or important text.
lol, what?
this God is very clearly a 00:09:27 human invention now it doesn't mean it's necessarily bad and it doesn't certainly doesn't mean it's unimportant the fictional stories humans invent are some of the most powerful forces in history 00:09:40 and very often they can also be positive forces there is nothing inherently wrong in fiction
for: quote - Yuval Noah Harari, quote - nothing wrong with fictions
quote -This God is very clearly a human invention. Now it doesn't mean it's necessarily bad. It doesn't certainly mean its unimportant.
So then they put it into lib only to find that they have to manually require it. Then later realize that this also means they now have to reboot their server any time they change the file (after a painfully long debugging time of "why what aren't my changes working?", because their lib folder classes are now second-class citizens). Then they go down the rabbit hole of adding lib to the autoload paths, which burns them because rake tasks then all get eager loaded in production. Then they inevitably realize anything inside app is autoloaded and make an app/lib per Xavier's advice.
I think the symmetry of the naming between lib and app/lib will lead a fresh Rails developer to seek out the answer to “Why are there two lib directories?", and they will become illuminated. And it will prevent them from seeking the answer to “How do I autoload lib?” which will start them on a rough path that leads to me advising them to undo it.
The story starts with the creation of the world, and ends with Moses dying on the wrong side of the Jordan and being buried in an unmarked grave.
"Wrong side of the Jordan" almost has the flavor of a biblical version of "the wrong side of the tracks".
There has also been special debate about the right way to think of development in infancy.
A thought does come around on the "right way to think" This seems like the perfect opportunity for the differences in right or wrong and how the outcome of the infant might be affected by it. The right way to think seems more of a realization on what is socially normal or socially acceptable when thinking of the right way to think. Now that thought is the process figures out, but what must an adult realize?
structure
The concept of structure really stands out to me. There is the everyday structure as I would call it in what this article is referring to, but what does it really mean by structure and if the structure is consider right or wrong. Everyone has a multitude of structure and what that looks like. For instance it reminds me of two set of parents where the kids have to figure out the structure in both houses. It shard because they go from one to another, but ending up becoming accustomed to both forms of structure. The author states, "structure gives rise to some patterns of observable evidence rather than others" Bad, & Olusegun, S (2015). Constructivism Learning Theory: A Paradigm for Teaching and Learning.
power does corrupt. We have plenty of evidence that it changes your psychology, it changes your neuroscience, it changes your brain, but it's only a small part of the story. And the much more interesting part of the story is how people interact with systems and why we end up with the wrong people in charge.
m <- floor(T^(1/3)) Using rule of thumb, the m is 8
这里忘乘0.75了,注意下,m应该是6.5..., 四舍五入是,7, 改过来应该是 m <- round(T^(1/3) * 0.75).
T是回归时间的数量,我看ppt上是这样的。
Most of them are, in general, moving in the right direction. They just aren’t aggressive enough yet to be consistent with the kind of transformative social change required to achieve the 1.5 C target.
Result of lots of searching on net is that pre-checkout hook in git is not implemented yet. The reason can be: There is no practical use. I do have a case It can be achieved by any other means. Please tell me how? Its too difficult to implement. I don't think this is a valid reason
Regex can do many things, but unbaking a cake isn't one of them.
I've worked with and have helped maintain paranoia for a while. I'm convinced it does the wrong thing for most cases. Paranoia and acts_as_paranoid both attempt to emulate deletes by setting a column and adding a default scope on the model. This requires some ActiveRecord hackery, and leads to some surprising and awkward behaviour.
<small><cite class='h-cite via'>ᔥ <span class='p-author h-card'>John Mount</span> in Good Stationery as a Tool of Thought | MZLabs (<time class='dt-published'>11/30/2022 13:11:31</time>)</cite></small>
Read 2022-12-31
Thinking it might be about performance is plain wrong for at least two reasons. Please read this info about the performance aspect
Economists explain that markets work bestwith “perfect information.” And visibilityfeeds this market by translating and sharingskills. But the price of transparency in themodern age is invaded privacy, as well as biasinherent in automated products and services
Even when reading a book,the goal-oriented nature and intention of reading is paramount.6
61 Mortimer Jerome Adler and Charles Van Doren, How to Read a Book, Rev. and updated ed (New York: Simon and Schuster, 1972), 45.
I see some of the sense of this footnote, which helps to establish some ethos by calling to mind Adler/Van Doren's classic, but this particular page in their text is really about paying enough attention not to fall asleep and thus doesn't underline Scheper's point as well as references to other portions of their book about goals and active reading.
Let’s say the recipient is considering unsubscribing. He or she may be too busy to search through the email to find the unsubscribe link, so he or she just clicks “Report as SPAM” to stop the emails from coming. This is the last thing any marketer wants to see happen. It negatively impacts sender reputation, requiring extra work to improve email deliverability. With the list-unsubscribe header, you will avoid getting into this kind of trouble in the first place.
Testing frameworks often introduce their own abstractions for e.g. evaluation order, data validation, reporting, scope, code reuse, state, and lifecycle. In my experience, these abstractions are always needlessly different from (and inferior to) related abstractions provided by the language itself.
But these two questions are interwoven (and you’ll find many answers to the wrong question in the Answers section).
Making MoneySerializer reloadable would be confusing, because reloading an edited version would have no effect on that class object stored in Active Job.
Indeed, if MoneySerializer was reloadable, starting with Rails 7 such initializer would raise a NameError.
Unless new evidence comes to bear that refutes the basic tenets of this analysis
that's a fun way to say this...
John Bye. (2022, January 6). Despite repeatedly being proven wrong by subsequent events, covid disinformation groups like HART have constantly been given a platform on TV and radio throughout the pandemic. Even after #hartleaks revealed many of their members to be anti-vax conspiracy cranks. 🧵2: Broadcast https://t.co/I3unq04gij [Tweet]. @_johnbye. https://twitter.com/_johnbye/status/1479202308139409413
ReconfigBehSci. (2022, January 24). I do think that if we had systematically kept score the quality of the ‘advice’ dispensed on Twitter would have been much better [Tweet]. @i. https://twitter.com/i/web/status/1485592942156951552
Same here, and I think this is not correct. The more I think about it, the more I am convinced it's a wrong mental model.
Carl T. Bergstrom. (2021, December 16). Indeed. Https://t.co/5xa28la941 [Tweet]. @CT_Bergstrom. https://twitter.com/CT_Bergstrom/status/1471345956981391360
If and when you need some kind of behaviour that waits for things, wait_until is a giant big sledgehammer. There are more fine grained, sophisticated tools built into Capybara, and I want you to learn about them, because those are some of the best features of the library. And when the built in tools aren’t enough, there are more sophisticated tools available than that clunky hammer. So hopefully the removal of wait_until encourages you to write better tests.
So if I just forward the cookie header (which contains the access-token), wouldn't that be just what I am not supposed to do. I mean what's the point of using 'HttpOnly' flag if I return the token to the client-side js on every request.
Miller, A. (2021, September 25). A Canadian COVID-19 study that turned out to be wrong has spread like wildfire among anti-vaxxers | CBC News. CBC. https://www.cbc.ca/news/health/covid-19-vaccine-study-error-anti-vaxxers-1.6188806
Update API usage of the view helpers by changing javascript_packs_with_chunks_tag and stylesheet_packs_with_chunks_tag to javascript_pack_tag and stylesheet_pack_tag. Ensure that your layouts and views will only have at most one call to javascript_pack_tag or stylesheet_pack_tag. You can now pass multiple bundles to these view helper methods.
Good move. Rather than having 2 different methods, and requiring people to "go out of their way" to "opt in" to using chunks by using the longer-named javascript_packs_with_chunks_tag, they changed it to just use chunks by default, out of the box.
Now they don't need 2 similar but separate methods that do nearly the same, which makes things simpler and easier to understand (no longer have to stop and ask oneself, which one should I use? what's the difference?).
You can't get it "wrong" now because there's only one option.
And by switching that method to use the shorter name, it makes it clearer that that is the usual/common/recommended way to go.
I still don't understand the difference between a script and a module
Now consider we want to handle numbers in our known value set: const KNOWN_VALUES = Object.freeze(['a', 'b', 'c', 1, 2, 3]) function isKnownValue(input?: string | number) { return typeof(input) === 'string' && KNOWN_VALUES.includes(input) } Uh oh! This TypeScript compiles without errors, but it's not correct. Where as our original "naive" approach would have worked just fine. Why is that? Where is the breakdown here? It's because TypeScript's type system got in the way of the developer's initial intent. It caused us to change our code from what we intended to what it allowed. It was never the developer's intention to check that input was a string and a known value; the developer simply wanted to check whether input was a known value - but wasn't permitted to do so.
Please correct me if anything in there is incorrect!
There is always a way to work around that by doing expr as unknown as T, but it stops people making basic errors.
This works nicely wherever we show authors, but after we deploy to production, the folks from other parts of the world won’t get notified anymore about their songs. Mistakes like these are easy to make when using concerns.
Note that & is a line terminator like ; (write command& not command&;).
Stack-exchange is not teaching or education. It's just giving out answers for upvotes. Just like some tech support is about closing tickets.
Furthermore many of them are paid or rated by the number of tickets they close, not solutions. It's a bad recipe and unfortunately it has become the norm.
Because constants in Ruby aren't meant to be changed, Ruby discourages you from assigning to them in parts of code which might get executed more than once, such as inside methods.
Actually, I've decided to stop using labels for a while. A "bug" label gives the impression that someone else is going to fix the problem. We don't have enough volunteers for that (new contributors welcome!). I try to help people working on issues, though. I've spent many hours on this one.
If anything it thwarts separation of concerns to a degree.
Of course you must not use plain-text passwords and place them directly into scripts. You even must not use telnet protocol at all. And avoid ftp, too. I needn’t say why you should use ssh, instead, need I? And you also must not plug your fingers into 220 voltage AC-output. Telnet was chosen for examples as less harmless alternative, because it’s getting rare in real life, but it can show all basic functions of expect-like tools, even abilities to send passwords. BUT, you can use “Expect and Co” to do other things, I just show the direction.
The question on the title: replace space with new line The simple, quick, brute force solution is to do exactly that, replace all spaces with new lines:
However you're probably asking the wrong question. (Not necessarily, for example this might come up in a makefile.)
What I dislike from the achievements is the "Dialogue Skipper". I really don't like it because you are encouraging people just to skim or even skip it at all and not get interested with the story. I earned this achievement on a 2nd run but I had a friend who just skipped it all on her 1st try.What devs should encourage is for the gamers to have a lot of playing time on their game so they would recommend it to others and not just do it for the cards and uninstalling it afterwards.
Rather than rewarding the player for discovering a well-thought-out or ideal solution (by picking up coins), the developer tacked on a timer to a game with non-fluid controls. The player feels rushed to discover an elaborate solution.
Yes, you are right. That was a very bad workaround. Stubbing methods on NilClass can be compared to switching to dark side of force. Powerful but comes with a huge price. I highly don't recommend using my workaround from 1 year ago.
Levine, E. (2021). Community standards of deception: Deception is perceived to be ethical when it prevents unnecessary harm. PsyArXiv. https://doi.org/10.31234/osf.io/g5trb
I suspect you aren't seeing much discussion because those who have a reasonable process in place, and do not consider this situation to be as bad as everyone would have you believe, tend not to comment on it as much.
This is a copy of the "AMD" document in the repo, kept here to maintain historical links. If this document differs from the one in the repo, the repo version is the correct one.
Why not just make this document empty (besides a link) and link/redirect to the canonical version?
That way it is impossible for them to disagree.
but I still have no idea if I'm writing this new file correctly.
Yes, but honestly, and no offense intended, but I don't see the harm in these type questions, nor why some people are offended when they are asked. If I owed a website, I wouldn't mind it because it just creates more pages that can be indexed. I see it as helping the website. But, I did look and didn't see a simple answer. Again, no offense is intended. I've just never understood the complaints.
i need to write review so i get my badge
Hey, that’s is an imaginary complication of our example - please don’t do this with every condition you have in your app.
For branching out a separate path in an activity, use the Path() macro. It’s a convenient, simple way to declare alternative routes
Seems like this would be a very common need: once you switch to a custom failure track, you want it to stay on that track until the end!!!
The problem is that in a Railway, everything automatically has 2 outputs. But we really only need one (which is exactly what Path gives us). And you end up fighting the defaults when there are the automatic 2 outputs, because you have to remember to explicitly/verbosely redirect all of those outputs or they may end up going somewhere you don't want them to go.
The default behavior of everything going to the next defined step is not helpful for doing that, and in fact is quite frustrating because you don't want unrelated steps to accidentally end up on one of the tasks in your custom failure track.
And you can't use fail for custom-track steps becase that breaks magnetic_to for some reason.
I was finding myself very in need of something like this, and was about to write my own DSL, but then I discovered this. I still think it needs a better DSL than this, but at least they provided a way to do this. Much needed.
For this example, I might write something like this:
step :decide_type, Output(Activity::Left, :credit_card) => Track(:with_credit_card)
# Create the track, which would automatically create an implicit End with the same id.
Track(:with_credit_card) do
step :authorize
step :charge
end
I guess that's not much different than theirs. Main improvement is it avoids ugly need to specify end_id/end_task.
But that wouldn't actually be enough either in this example, because you would actually want to have a failure track there and a path doesn't have one ... so it sounds like Subprocess and a new self-contained ProcessCreditCard Railway would be the best solution for this particular example... Subprocess is the ultimate in flexibility and gives us all the flexibility we need)
But what if you had a path that you needed to direct to from 2 different tasks' outputs?
Example: I came up with this, but it takes a lot of effort to keep my custom path/track hidden/"isolated" and prevent other tasks from automatically/implicitly going into those steps:
class Example::ValidationErrorTrack < Trailblazer::Activity::Railway
step :validate_model, Output(:failure) => Track(:validation_error)
step :save, Output(:failure) => Track(:validation_error)
# Can't use fail here or the magnetic_to won't work and Track(:validation_error) won't work
step :log_validation_error, magnetic_to: :validation_error,
Output(:success) => End(:validation_error),
Output(:failure) => End(:validation_error)
end
puts Trailblazer::Developer.render o
Reloading...
#<Start/:default>
{Trailblazer::Activity::Right} => #<Trailblazer::Activity::TaskBuilder::Task user_proc=validate_model>
#<Trailblazer::Activity::TaskBuilder::Task user_proc=validate_model>
{Trailblazer::Activity::Left} => #<Trailblazer::Activity::TaskBuilder::Task user_proc=log_validation_error>
{Trailblazer::Activity::Right} => #<Trailblazer::Activity::TaskBuilder::Task user_proc=save>
#<Trailblazer::Activity::TaskBuilder::Task user_proc=save>
{Trailblazer::Activity::Left} => #<Trailblazer::Activity::TaskBuilder::Task user_proc=log_validation_error>
{Trailblazer::Activity::Right} => #<End/:success>
#<Trailblazer::Activity::TaskBuilder::Task user_proc=log_validation_error>
{Trailblazer::Activity::Left} => #<End/:validation_error>
{Trailblazer::Activity::Right} => #<End/:validation_error>
#<End/:success>
#<End/:validation_error>
#<End/:failure>
Now attempt to do it with Path... Does the Path() have an ID we can reference? Or maybe we just keep a reference to the object and use it directly in 2 different places?
class Example::ValidationErrorTrack::VPathHelper1 < Trailblazer::Activity::Railway
validation_error_path = Path(end_id: "End.validation_error", end_task: End(:validation_error)) do
step :log_validation_error
end
step :validate_model, Output(:failure) => validation_error_path
step :save, Output(:failure) => validation_error_path
end
o=Example::ValidationErrorTrack::VPathHelper1; puts Trailblazer::Developer.render o
Reloading...
#<Start/:default>
{Trailblazer::Activity::Right} => #<Trailblazer::Activity::TaskBuilder::Task user_proc=validate_model>
#<Trailblazer::Activity::TaskBuilder::Task user_proc=validate_model>
{Trailblazer::Activity::Left} => #<Trailblazer::Activity::TaskBuilder::Task user_proc=log_validation_error>
{Trailblazer::Activity::Right} => #<Trailblazer::Activity::TaskBuilder::Task user_proc=save>
#<Trailblazer::Activity::TaskBuilder::Task user_proc=log_validation_error>
{Trailblazer::Activity::Right} => #<End/:validation_error>
#<Trailblazer::Activity::TaskBuilder::Task user_proc=save>
{Trailblazer::Activity::Left} => #<Trailblazer::Activity::TaskBuilder::Task user_proc=log_validation_error>
{Trailblazer::Activity::Right} => #<End/:success>
#<End/:success>
#<End/:validation_error>
#<End/:failure>
It's just too bad that:
step :direct_debit
I don't think we would/should really want to make this the "success" (Right) path and :credit_card be the "failure" (Left) track.
Maybe it's okay to repurpose Left and Right for something other than failure/success ... but only if we can actually change the default semantic of those signals/outputs. Is that possible? Maybe there's a way to override or delete the default outputs?
we also wrap them in Failure to solve the second problem: spotting potential exceptions is hard
exceptions are not exceptional, they represent expectable problems
Enforces better architecture
In other words, once you've used Maybe you cannot hit nil with a missing method. This is remarkable because even &. doesn't save you from omitting || "No state" at the end of the computation. Basically, that's what they call "Type Safety".
Things could go wrong in two places here. First, the validation could fail if Github sends us data we don’t understand. Second, we might not know the user signing in, meaning the “find user” logic has to error-out
By the same token, marketing or political incentives often push design idioms
DSLs can be problematic for the user since the user has to manage state (e.g. am I supposed to call valid? first or update_attributes?). This is exactly why the #validate is the only method to change state in Reform.
Trust me, I thought a lot about #validate and its semantics, and I am gonna make it even more "SRP" by making Form#errors and #valid? semi-public. All that happens via #validate reducing the possible wrong usage for users.
These two mistakes, especially the second one, plant worries in your customers mind before they’ve even had time to think of them.
Stop warning people – no contract, no obligations, cancel anytime – companies can’t resist saying this on every pricing page but by using negative words they’re just putting ideas into people’s heads.
Yes, you do face difficult choices (moral) but you don't care about it. All you care are the reputation bars. So... Let's kill this guy, who cares if he is innocent, but this faction needs it or I'm dead. Sounds great on paper but to be honest... you just sit there and do whatever for these reputation bars. If you won't, then you lose
The only solution that I can see is to ensure that each user gets their own set of stores for each server-rendered page. We can achieve this with the context API, and expose the stores like so: <script> import { stores } from '@sapper/app'; const { page, preloading, session } = stores(); </script> Calling stores() outside component initialisation would be an error.
Good solution.
I tried leaking session and page data and indeed it's easy. Too easy. So I definitely agree that session data should not be readable from anywhere but the request itself.
This would be cumbersome, and would encourage developers to populate stores from inside components, which makes accidental data leakage significantly more likely.
which makes it much harder to accidentally keep logged-in state visible after a client-side logout
No more waiting around for pull requests to be merged and published. No more forking repos just to fix that one tiny thing preventing your app from working.
This could be both good and bad.
potential downside: If people only fix things locally, then they may be less inclined/likely to actually/also submit a merge request, and therefore it may be less likely that this actually (ever) gets fixed upstream. Which is kind of ironic, considering the stated goal "No more waiting around for pull requests to be merged and published." But if this obviates the need to create a pull request (does it), then this could backfire / work against that goal.
Requiring someone to fork a repo and push up a fix commit -- although a little extra work compared to just fixing locally -- is actually a good thing overall, for the community/ecosystem.
Ah, good, I see they touched on some of these points in the sections:
I'm still calling this v1.00 as this is what will be included in the first print run.
There seems to be an artificial pressure and a false assumption that the version that gets printed and included in the box be the "magic number" 1.00.
But I think there is absolutely nothing bad or to be ashamed of to have the version number printed in the rule book be 1.47 or even 2.0. (Or, of course, you could just not print it at all.) It's just being transparent/honest about how many versions/revisions you've made. 
There was a major refactoring in the resolver (https://github.com/webpack/enhanced-resolve). This means the resolving option were changed too. Mostly simplification and changes that make it more unlikely to configure it incorrectly.
Linked from: https://stackoverflow.com/a/36574982/47185
I think you meant a different set of arguments to Object.assign ? should be Object.assign({}, api.headers, headers) because you don't want to keep adding custom headers into hash of common api.headers. right?
Some people try to use && and || as a shortcut syntax for if ... then ... else ... fi, perhaps because they think they are being clever.
You could decide to trust yourself and your teammates to always remember this special case. You can all freely use short-circuiting, but simply don't allow a short-circuit expression to be on the last line of a script, for anything actually deployed. This may work 100% reliably for you and your team, but I don't believe that is the case for myself and many other developers. Of course, some kind of linter or commit hook might help.
It might seem too obvious but I've been struggling long time with this until I got that you need to include the base image too
Thanks for the tip
the "trick" is to pass to --cache-from the image you are rebuilding (and have it pulled already) and ALSO the image that it uses as base in the FROM.
The average hydrogeochemical gradient for the Polish lowlands is 5.7 g/dm3/100m
Fake reference - unfortunately such information doesn't exist in the source file!
Looking at all those bearing, heading, orientation, navigation, position, direction, etc. I think we have a bigger problem here. Someone has decided how to use tag (e.g. orientation is about page orientation), but there are 100 other cases. Imho, to disallow misusing there should be no "heading", but rather "html-heading", "gps-heading", "whatelse-heading", which make mistakes impossible. So yes, "heading" should go.
If you want to implement a form with a superb User Experience, you have to take care of many variables:
Managing Form State (holding field information, check if a control has been touched, if the user has clicked the submit button, who owns the current focus...) can be tedious and prone to errors. We can get help from React Final Form to handle these challenges for us.
When you apply this pattern for the first time, it might feel very contrived.
My feel contrived, but it's actually not....
Perhaps we should detect URLSearchParams objects differently (using duck typing detection instead of instanceof window.URLSearchParams, for example) but the solution isn't adding a specific polyfill to Axios (as it'd increase the bundle size and still won't work with other polyfills).
Sometimes we can’t implement a solution that’s fully spec-compliant, and in those cases using a polyfill might be the wrong answer. A polyfill would translate into telling the rest of the codebase that it’s okay to use the feature, that it’ll work just like in modern browsers, but it might not in edge cases.
Furthermore, JSX encourages bad non-dry code. Having seen a lot of JSX over the past few months, its encourages copypasta coding.
The first rule of standard is no configuration. Whatever the outcome of this thread, adding options is the wrong solution.
To fix our Svelte version you might think we could use beforeUpdate or afterUpdate, but these lifecycle functions are related to the DOM being updated, not to prop updates. We only want to rerun our fetching when the album prop is changed.
Svelte right now has a lot of opportunities to have component state become out of sync with props.
focuses way too much on the getter/tracking part of the equation which is really the part you want reduce the mental bandwidth on
Note that if you are calling reset() and not specify new initial values, you must call it with no arguments. Be careful to avoid things like promise.catch(reset) or onChange={form.reset} in React, as they will get arguments passed to them and reinitialize your form.
Note that Array.entries() returns an iterator, which is what allows it to work in the for-of loop; don't confuse this with Object.entries(), which returns an array of key-value pairs.
James Hamblin on Twitter. (n.d.). Twitter. Retrieved September 2, 2020, from https://twitter.com/jameshamblin/status/1300607239749853184
Will you accept merge requests on the gitlab-ce/gitlab-foss project after it has been renamed? No. Merge requests submitted to this project will be closed automatically.
As a result, I end up quoting multiple people, sometimes quoting several people back-to-back, before even writing my reply. In those instances it feels like I'm not properly citing those individuals. I feel like it might seem I'm not providing new readers appropriate context for a given quote. It might also be implied that separate quotes are from the same person, leading to mis-attribution.
OK, so what about regular messages? Turns out they are not encrypted after all. Where Signal implements the security and privacy protocols right from the start, Telegram separates the two and offers an additional option. The problem is that not everyone is aware of the Secret Chat option and first-time users may send sensitive information in the regular chat window unknowingly.
Unscrupulous providers are incentivized to use inefficient or malicious means to increase break/fix work and thus increase their revenue.
While this is illegal and can result in criminal and civil penalties, your cooperation may make you eligible for up to a US$50,000 reward.
Might not this motivate someone to conspire with someone else, one to commit the crime and one to collect the reward? Probably mitigated by a contingency that the reward may only be collected if criminal is successfully charged and prosecuted?
IDEs and standard *nix tools like sed can help, but you typically have to make a trade-off between introducing errors and introducing tedium.
It won't let me go beyond this page. I'm sure I've answered the CAPTCHA correctly at least some of the 10+ times I've tried. What's going on?
I can't even access their static website to find contact information for how to contact them about this problem!
illustrates the extent to which illegal practices prevail, with vendors of CMPs turning a blind eye to — or worse, incentivising — clearly illegal configurations of their systems
All of which means — per EU law — it should be equally easy for website visitors to choose not to be tracked as to agree to their personal data being processed.
“Popular CMP implementation wizards still allow their clients to choose implied consent, even when they have already indicated the CMP should check whether the visitor’s IP is within the geographical scope of the EU, which should be mutually exclusive,” they note, arguing that: “This raises significant questions over adherence with the concept of data protection by design in the GDPR.”
Earlier this year it began asking Europeans for consent to processing their selfies for facial recognition purposes — a highly controversial technology that regulatory intervention in the region had previously blocked. Yet now, as a consequence of Facebook’s confidence in crafting manipulative consent flows, it’s essentially figured out a way to circumvent EU citizens’ fundamental rights — by socially engineering Europeans to override their own best interests.
You can but it's difficult. I recommend switching to a different tool.
Her feet, swinging up and down high in the air, seemed to be nodding at him.
Despite the successful resolution, it was still quite unsettling that a domain name could be transferred to another registrant and sinkholed for some perceived violation. I thought there would be more checks in place to confirm that a perceived violation was real before a domain could be transferred.
This is highly unsettling. A person, organisation, country, or company should not be able to have a domain name transferred from its rightful owner this easily.
It shouldn't be useful to distinguish between requests made by Ajax and other kinds of request. Pretty much any usecase where you'd want to do that is better served by using the Accept header to ask for data in a specific format.
I don’t like reducers. I’ve tried using them, but I always end up migrating away. Something just feels wrong about dispatching actions to trigger business logic when I could instead do so by invoking a function with arguments.
As Sebastian Markbage pointed out, no abstraction is superior to wrong abstractions. We are providing low-level components to maximize composition capabilities.
It's much easier to recover from no abstraction than the wrong abstraction.
Case in point: take this css selector: h1.header > a[rel~="author"] Its shortest functional XPath equivalent would be //h1[contains(" "+normalize-space(@class)+" "," header ")]/a[contains(" "+normalize-space(@rel)+" "," author ")] …which is both much harder to read and write. If you wrote this XPath instead: //h1[@class="header"]/a[@rel="author"] …you would incorrectly have missed markup like <h1 class="article header"><a rel="author external" href="/mike">...</a></h1>
City officials can actually help if they go out into the streets and ask real people what actually is going on. Something on blogs and on polls arent true, they dont always speak the truth. If they were to go out to communities and build relationships with people, they would have a clearer understanding of what is going on.
For
from
But, how confident our we that our manipulation of the light switch was the only variable changing in our experiment?
Correction first "our" should be changed to "are".
Gausssian
Coral reefs result from the work of little polyps, creatures only a few millimeters long, budded on top of one another. Over centuries, the shells of these creatures combine to form the exotic shapes of coral reefs. Tiny differences in the anatomy of each polyp species affect the shape of their shells and produce the exotic shapes of each reef.
Skeletons, not shells. Far from the most articulate description but generally not wrong.
When CO2 dissolves in water, we are NOT adding acid to the water.
CO2 does increase the acidity when dissolved in water. For reference, see for instance "Once dissolved in seawater, CO2 gas reacts with water to form carbonic acid" in Doney et al (2008) http://www.annualreviews.org/doi/full/10.1146/annurev.marine.010908.163834
prompted by the worse disposition
When intent matters, rather than outcome.
The ambitious man does wrong for sake of honour, the quick-tempered from anger, the lover of victory for the sake of victory, the embittered man for the sake of revenge, the stupid man because he has misguided notions of right and wrong, the shameless man because he does not mind what people think of him; and so with the rest -- any wrong that any one does to others corresponds to his particular faults of character.
Types of people who commit wrong-doings. It is interesting because they all do the same things but for drastically different reasons.
The fact is that anger makes us confident -- that anger is excited by our knowledge that we are not the wrongers but the wronged, and that the divine power is always supposed to be on the side of the wronged.
It is pretty true. We aren't objective when we are angry.
The worse of two acts of wrong done to others is that which is prompted by the worse disposition. Hence the most trifling acts may be the worst ones;
But how would anyone know what kind of disposition the doer really possessed? This seems something that only an all-knowing God or gods would know, that is why our justice system works off of the crime committed. You get into difficult judgement calls when you start at the root of why someone did something. Like when people plead mental illness for why they committed a crime. I'm not making a judgement call on whether this is right. I'm only stating that if we start going that route, when do we stop? Do we scan everyone's brain for why they did it and blame it all on mental instability? What about when our technology gets so good that we can see each area of their brain that has been affected by abuse? There most likely is something funky going on in everyone's brain who does something terrible... so should we judge them on their actions or the reasons behind them?