- Last 7 days
-
en.wikipedia.org en.wikipedia.org
-
Historical negationism,[1][2] also called denialism, is falsification[3][4] or distortion of the historical record. It should not be conflated with historical revisionism, a broader term that extends to newly evidenced, fairly reasoned academic reinterpretations of history.
-
-
stackoverflow.com stackoverflow.com
-
@H2CO3 Why did you remove your answer? It was the only one explaining what was happening. Or was it incorrect?
not exact match for: removing comment from thread makes other comments not make sense with that context missing
-
-
stackoverflow.com stackoverflow.com
-
(Ideally the run-time library would treat a pipe in the same way as a console, but it seems that most don't.)
Often/usually treating a pipe/redirect differently is in fact what you want.
Like if you output to a file, you don't necessarily want colors or real-time progress/status outputted along with it: you want just the bare data to be saved, which can then be filtered in useful ways with other standard tools like grep and sed.
-
-
english.stackexchange.com english.stackexchange.com
-
We also know there are known unknowns; that is to say we know there are some things we do not know.
known unknown
like what?
-
-
english.stackexchange.com english.stackexchange.com
-
Comedian Henny Youngman was famous for one-liners delivered in a deadpan manner. Much of his humor was both wry and dry.
-
-
simplicable.com simplicable.com
-
Dry humor is a delivery technique. As such, it shouldn't be confused with specific types of humor or with sarcasm. Sarcasm is delivered without humor because it's generally not funny but intended to mock or convey contempt. Dry humor pertains to something funny.
-
-
-
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.
Tags
Annotators
URL
-
-
boardgamegeek.com boardgamegeek.com
-
I don't know if I am allowed to link here
It would be silly to not be allowed to...
-
-
linusakesson.net linusakesson.net
-
This is hard because Apple does not want you to and a failed installation might render the ipad useless.
-
-
meta.stackexchange.com meta.stackexchange.com
-
We also know people need a good sized group and time to see the impact and value of a platform like Stack Overflow for Teams. Our previous 30 day free trial of our Basic tier wasn’t long enough. Now, Stack Overflow for Teams has a free tier for up to 50 users, forever.
-
-
unix.stackexchange.com unix.stackexchange.com
-
What produces that text, and what do you want to use it for?
-
2 out of 3 people in my household do not find it easy to understand. Maybe that is is not representative, but keep in mind that something you yourself understand (or in this case think you understand) always seems easy.
-
Notice the use of Enter key after backslash in the sed command.
-
However you're probably asking the wrong question. (Not necessarily, for example this might come up in a makefile.)
Tags
- asking the wrong question
- not
- easy to understand
- provide enough information/details
- important point
- depends on use case / application
- not detailed enough
- hard to understand
- asking the right question
- representative sample
- not necessarily
- from different perspective/point of view
- easy to miss / not notice (attention)
Annotators
URL
-
-
serverfault.com serverfault.com
-
I have already tried '--ignore-failed-read', but the problem is that it doesn't only ignore failed reads on the -T files. It ignores all failed reads.
-
-
bugzilla.samba.org bugzilla.samba.org
-
The script support/rsync-no-vanished that will be in the next release.
-
-
git.samba.org git.samba.org
-
Was trying to figure out where the canonical repo even is. Hard to figure out. Could be made clearer (like a prominent notice on one saying this is an unofficial clone with a link to the canonical source).
Ended up here via link from https://unix.stackexchange.com/questions/86879/suppress-rsync-warning-some-files-vanished-before-they-could-be-transferred to https://git.samba.org/?p=rsync.git;a=blob_plain;f=support/rsync-no-vanished;hb=HEAD
But then found https://github.com/WayneD/rsync, which I now believe to be canonical based on:
- last change here is Mon, 15 Mar 2021 09:35:39 -0700 (09:35 -0700) but on https://github.com/WayneD/rsync it was April 3.
- https://rsync.samba.org/bug-tracking.html links to: create an issue on GitHub
-
-
samba.2283325.n4.nabble.com samba.2283325.n4.nabble.com
-
I`m getting "rsync warning: some files vanished before they could be transferred (code 24) at main.c(1518) [generator=3.0.9]" on one of my systems i`m backing up with rsync , but rsync doesn`t show WHICH files.
-
-
boardgamegeek.com boardgamegeek.com
-
you're quite the lucky man. i finally got my wife to agree to play fjords with me last weekend and, after beating me pretty soundly in two straight games, she announced she didn't like the game. turns out she didn't like the puzzle/board-building aspect of the game, the lack of aggressive play ("it would have been better if i could have fire-bombed some of your land") nor all of the 'action' taking place in the last minute or two of the game.drats.
-
It's the first time that my wife and I have played Fjords together. She's not a gamer but we've recently been playing a few more games and she's been willing to try a few Eurogames (e.g. Carcassonne) and some of the kosmos 2-player games (Jambo, Odin's Ravens, Balloon Cup, Lost Cities) that I've borrowed from friends which is great. I manage to get a hold of a copy of Fjords and we have a go.I tell her that it involves spatial awareness and planning ahead. I explain the rules to her (having only played it once or twice myself and won each time), and she's doing her best not to roll her eyes; there's a definite lack of enthusiasm there.
-
-
store.steampowered.com store.steampowered.com
-
Micromachines always focused on local multiplayer, and the fun their eccentric races of small toy vehicles competing on tracks made with everyday objects; and all that is present.
-
-
store.steampowered.com store.steampowered.com
-
Secondly, the difficulty ramps up very quickly - once I'd got a handle on things and started getting in to it, it threw me off that the Novice level 7 is just WAY TOO HARD - it's not a game centered on difficulty so it's not like that's an excuse, nor is this a later on level where you'd except difficulty, but having just 15 seconds to do that lap, that needs to be changed to 20 at least!
-
-
store.steampowered.com store.steampowered.com
-
There's probably a thousand different directions you can go, but there just needs to be some kind of deeper hook to make this a full-fledged game.
-
-
www.freetaxusa.com www.freetaxusa.com
-
Already Signed InThis session has ended because the account has been signed into from another browser window on 04/11/2021 04:30:09 PM. This happens when you sign in to your account on more than one browser screen. You can't be signed into your account on two or more browser windows at the same time. Just close your browser and sign back into your account.
-
-
www.crabgrasslawn.com www.crabgrasslawn.com
-
Is a lawn roller necessary? It is spring, and I imagine the soil in your yard is lumpy because of the frost that occurred in the previous months. This is why you think a lawn roller is necessary. Well, unless you’re maintaining a golf course, I wouldn’t recommend a lawn roller. It just isn’t necessary.
-
In short, here’s why a lawn roller may not be necessary for your lawn: Using heavy rollers on the ground leads to soil compaction.Compacted soil causes slow root development and slower turfgrass growth.
-
- Apr 2021
-
www.microsoft.com www.microsoft.com
-
Open your phone’s settings application and tap on the Apps segment. From all the apps mentioned below, select AOL to open. When it opens, locate and tap on the Force stop option. You can fix AOL mail not working on Android by force stopping the application. If force stopping the AOL email application doesn’t fix your problem, you can uninstall and then re-install the application on your android device.
For more details: AOL mail not working
-
Resetting password on AOL email using your iPhone is an extremely easy task. You can do that by opening the settings on your iPhone, tapping on the Passwords and accounts segment. When it opens, locate your AOL email account name and click on it to reset AOL password on iPhone. Click on the Account option and then on the password option, finish the process by changing the password. Lastly, change the settings by tapping on SMTP, Primary Server, and then Password. For more details: AOL Mail not working
-
-
www.amazon.com www.amazon.com
-
I'm a real person and did NOT receive this item at a discount in lieu of a positive review. By clicking "helpful" at the bottom of this review, it will help move "real" reviews to the top. Thanks in advance.
-
-
www.metacritic.com www.metacritic.com
-
I can’t say Incredible Mandy is a bad game per se, but it is underwhelming and less than the sum of its parts
-
nothing about the game is really offensive, but there’s just no hook that managed to keep me invested up to the end.
-
-
store.steampowered.com store.steampowered.com
-
this game is - well not exactly bad, but it also isn't a very good game of the genre - there are some riddles and puzzles that can give you quite the headache. I like hard puzzles, I like games where all isn't quite obvious - but I also like a barrier-free gaming experience.
-
-
store.steampowered.com store.steampowered.com
-
The Not So Good: The Dev/s seems to be in hiatus -- still waiting for the "coming soon" additional levels: Laser Land.
-
- Mar 2021
-
www.bbc.com www.bbc.com
-
Both Prof Wu and Ms Truong cited the 1875 Page Act, one of the earliest pieces of federal law restricting immigration to the US. On paper, the legislation barred the entry of any woman from China, Japan "or any Oriental country" for "lewd and immoral purposes", including prostitution.In reality, the law blocked virtually all immigration from Asian women, who were collectively presumed to be sex workers or prostitutes.This racist and sexist stereotype that they "were bringing their immorality to the US", Ms Truong explains, has lingered.
le bruh moment.
-
-
www.jackfranklin.co.uk www.jackfranklin.co.uk
-
This isn't really a downside to React; one of React's strengths is that it lets you control so much and slot React into your environment
-
-
en.wikipedia.org en.wikipedia.org
-
Not to be confused with lexicography.
-
-
en.wikipedia.org en.wikipedia.org
-
A general and intuitive description is that words in a semantic field are not necessarily synonymous, but are all used to talk about the same general phenomenon.
-
-
trailblazer.to trailblazer.to
-
Optimization in this case is nothing crazy, just something I neglected while designing the framework.
-
With all this “monetization” happening around Trailblazer, we will also make sure that all free and paid parts of the project grow adult and maintan an LTS - or long-term support - status. Those are good news to all you users out there having been scared to use gems of this project, not knowing whether or not they’re being maintained, breaking code in the future or making your developers addicted to and then cutting off the supply chain. Trailblazer 2.1 onwards is LTS, and the last 1 ½ years of collaboration have proven that.
Tags
- long-term support (LTS)
- stability (API not changing)
- stability (works well enough / has few enough bugs)
- stability
- not: premature optimization
- support: peace of mind for those that have it
- performance optimization
- better late than never
- technical debt
- maintenance status: knowing that it is maintained (peace of mind)
Annotators
URL
-
-
www.kickstarter.com www.kickstarter.com
-
click the images below
why not make this a link too?
-
-
www.microsoft.com www.microsoft.com
-
This could be because of security measures by windows or any other security provider you use. In case you use Windows security, follow the instructions mentioned here to fix Thunderbird not receiving emails. Open Settings and click on Update & Security, click on windows security next and navigate Virus & Threat protection. You will find manage settings option right under it, click on it then on Add or remove exclusions, and finally click on Add an exclusion to select Thunderbird. Related Issues Thunderbird Email Not Responding How to Setup Thunderbird for Yahoo Mail
-
Open the official AT&T webpage and click on the Forgot password option at the bottom of the sign-in window. Enter all asked inputs in their respective fields. Fill the CAPTCHA as you see it and click on Continue once you do. To resolve BellSouth.net email login problems, verify yourself as the true owner on the verification page using two ways; sending a temporary password or answer security questions. Next, follow the screen steps under any option you choose and verify yourself.<br> Related Post Bellsouth email not working How do you fix the Common BellSouth Email Errors
-
Fix the issues with IncrediMail by trying out a couple of different solutions; reconfiguring it if the issue occurs when sending or receiving emails, you can update IncrediMail Mail program to ensure smooth functioning with Windows 10, uninstall the contrary applications that may be causing the Incredimail problems with Windows 10, or you can reset your web browser to get rid of ay technical hindrance. Try these solutions to fix the problems with IncrediMail. Related Issues Incredimail not sending emails Incredimail password recovery
-
One reason for this problem can be the disabled IMAP. IMAP is the technology that Gmail uses to deliver the emails to your device, which may be disabled on your iPhone causing Gmail won't load on iPhone issue. Open Gmail on a browser and open its settings. In the settings, you will find the Forwarding and IMAP/POP tab –click on it and enable the IMAP under this tab. This should solve your problem with Gmail and iPhone.
-
If you encounter ‘Processing’ Screen each time you open Outlook and it just won’t load, you need to open Outlook in safe mode. Start by closing Outlook first and clicking on the Start symbol on your desktop. When it opens, type Outlook.exe /safe in the search box to launch Outlook in safe mode. Opening the software in safe mode will help you resolve Outlook not working properly, as Outlook in Safe mode works well but with a few lesser options in general.
-
Open tools tab on Incredimail and selects Accounts in this tab. Choose your account and click on properties. Now, in the servers tab of Incredimail not sending emails account, ensure that incoming and outgoing mail server is set to ‘pop.oricom.ca’ and ‘smtp.oricom.ca’ respectively. Ensure the password is correct and that ‘My server requires authentication’ box is unchecked. Open the Advanced tab next and make sure that outgoing server for SMTP is set on ‘25’ with ‘This server requires an encrypted connection (ssl)’ box unchecked while the incoming server is set on ‘110’ and the same box is unchecked. Finally, click OK to save. For more details: How to Fix Incredimail 2.5 Crashing Issue Incredimail Password recovery
-
It may seem strange, but some users claim that opening Gmail in an incognito Chrome window is an effective workaround for the Gmail not working in chrome problem. To do that, Launch Google Chrome. Go to the top-right area of the browser, and then click the more icons, which look like three vertically aligned dots. Select New Incognito Window. A new window will show up. Check if the Incognito icon can be seen in the top corner of the window. You can also open an incognito window by pressing Ctrl+Shift+N on your keyboard.
-
Cookies and cache are pieces of information saved in your browser to enable quicker function of website. If you are facing AOL login issues, you can start by deleting these cookies and cache. To clear the Cache in chrome, open chrome and click on the three dots present at the top-right corner of the screen. From the list of options, choose more tools and further select clear browsing data. Clear the data from beginning of time. Check AOL login again if it works now.
-
Press the windows key and the R key simultaneously to open the Run dialog box, type msconfig in it when it opens and click on Boot tab. Untick Safe Boot option and click on Selective Start up instead. Click on the Load Startup items to clear the items. Go to Hide all Microsoft services and click on Disable all option. Next, open task manager and disable all startup elements. Now, enable each element one by one and then restart your computer. Thunderbird email not responding can be fixed by identifying the problematic startup item and then repairing it. This method should fix the problem for you. For more details Visit: Thunderbird Emails not Working
-
Begin by searching Control Panel in the search bar of your desktop – present at the bottom-left side of the screen. Open control panel and select Programs, then select Microsoft Office. Click on Change and then click on Repair. Wait for the system to repair the program, then relaunch the Outlook app and check if the search is working. Outlook not searching can be easily resolved by repairing the entire Microsoft office as any corrupted elements will be fixed instantly.
Tags
- Thunderbird Email Not Responding
- Bellsouth email not working
- AOL mail not working on Android
- Outlook not searching
- BellSouth.net email login problems
- Incredimail Password recovery
- Outlook not working properly
- Incredimail not sending emails
- Gmail not working in chrome
- Thunderbird Emails not Working
- How to Fix Incredimail 2.5 Crashing Issue
- Incredimail problems with Windows 10
- Gmail won't load on iPhone
- Thunderbird not receiving emails
- Gmail notification not working
- AOL login issues
Annotators
URL
-
-
askubuntu.com askubuntu.com
-
However, since you haven't yet provided any details about how you built with Qt (Qt isn't officially supported, so you must have used a third party derivative of vim), and you haven't provided any detailed information about what error messages or malfunctions you're having with python-complete, it's not really possible to tell you how to fix the problem and get vim working with Qt.
-
-
gitlab.gnome.org gitlab.gnome.org
-
Sorry you’re surprised. Issues are filed at about a rate of 1 per day against GLib. Merge requests at a rate of about 1 per 2 days. Each issue or merge request takes a minimum of about 30 minutes (across at least 2 people) to analyse, put together a fix, test it, review it, fix it, review it and merge it. I’d estimate the average is closer to 3 hours than 30 minutes. Even at the fastest rate, it would take 3 working months to clear the backlog of ~1000 issues. I get a small proportion of my working time to spend on GLib (not full time).
-
Age of a ticket is completely irrelevant as anyone can request anything but the number of developers is limited. If you'd like to see something implemented, please consider providing a patch. Thanks!
-
-
store.steampowered.com store.steampowered.com
-
Works also on Linux if you install Steam for Windows on Wine.
-
-
auto.howstuffworks.com auto.howstuffworks.com
-
This content is not compatible on this device.
-
-
deevybee.blogspot.com deevybee.blogspot.com
-
Deevybee. (2020, December 6). BishopBlog: Faux peer-reviewed journals: a threat to research integrity. BishopBlog. http://deevybee.blogspot.com/2020/12/faux-peer-reviewed-journals-threat-to.html
-
-
www.reddit.com www.reddit.com
-
We are just as in the dark as the customers. We clock in and look at a screen on a scanner and scan the stuff the systems tells us to pick for you. We have no clue how the website worked for you for that order, no clue about billing issues, nada. The system didnt want you to have that item that day. The only thing we can suggest is "try again later". or call 1800walmart and complain to a call taker to see if they can put in a complaint for you. We are peons and know not much more than if you walked in the backroom threw on a vest and did the work yourself. Were not privy to anything and the company doesnt tell us jack shit except how to do the immediate task in front of us until we clock out
-
-
www.breitbart.com www.breitbart.com
-
after many online called for her firing over a social media post that likened the experience of Jews during the Holocaust to the U.S. political climate
-
-
www.walmart.com www.walmart.com
-
Dole Mandarin Oranges in Light Syrup, All Natural Fruit, Non-GMO, 15oz CanNot available for curbside
-
-
www.chevtek.io www.chevtek.io
-
This isn't to say that on a case by case basis there aren't modules that are grossly overcomplicated.
-
"Functions Are Not Packages" - Well why not?
-
I would much rather have a "cosine" module than a "trigonometry" module because chances are good I only need a small fraction of the utilities provided by the larger trig module.
-
Small modules are extremely versatile and easy to compose together in an app with any number of other modules that suit your needs.
-
Second, I don't agree that there are too many small modules. In fact, I wish every common function existed as its own module. Even the maintainers of utility libraries like Underscore and Lodash have realized the benefits of modularity and allowed you to install individual utilities from their library as separate modules. From where I sit that seems like a smart move. Why should I import the entirety of Underscore just to use one function? Instead I'd rather see more "function suites" where a bunch of utilities are all published separately but under a namespace or some kind of common name prefix to make them easier to find. The way Underscore and Lodash have approached this issue is perfect. It gives consumers of their packages options and flexibility while still letting people like Dave import the whole entire library if that's what they really want to do.
Tags
- small units/components/modules/libraries/packages/projects
- hasty generalization
- allowing developer/user to pick and choose which pieces to use (a la carte, not all or nothing)
- allowing developer/user to pick and choose which pieces to use (allowing use with competing libraries; not being too opinionated; not forcing recommended way on you)
- composability
- granularity of control
- all or nothing (granularity of control)
- not:
- why not?
- too complicated
- flexibility to use the tool that you prefer
- composition
- modularity
- micropackages
Annotators
URL
-
-
blog.izs.me blog.izs.me
-
Those sorts of complaints are like saying that someone is not a buddhist unless they speak Pali.
-
-
www.sitepoint.com www.sitepoint.com
-
for whatever reasons, it hasn’t really liberated anyone from JavaScript.
-
As to opinions about the shortcomings of the language itself, or the standard run-times, it’s important to realize that every developer has a different background, different experience, different needs, temperament, values, and a slew of other cultural motivations and concerns — individual opinions will always be largely personal and, to some degree, non-technical in nature.
Tags
- everyone has different background/culture/experience
- what is important/necessary for one person may not be for another
- annotation meta: may need new tag
- non-technical reasons
- everyone has different preferences
- why not?
- software preferences are personal
- good point
- +0.9
- JavaScript
- software project created to address shortcomings in another project
- reaction / reacting to
- runtime environment
Annotators
URL
-
-
en.wikipedia.org en.wikipedia.orgPyPy1
-
There used to be other backends in addition to C: Java, CSharp, and Javascript but those suffered from bitrot and have been removed.
-
-
www.inuse.se www.inuse.se
-
Even if the damned thing would be really helpful in the long run, I can't give it the time and attention needed to make it work again ... Not right now. And ultimately never.
-
-
github.com github.comd3/d31
-
every symbol in D3 4.0 now shares a flat namespace rather than the nested one of D3 3.x. For example, d3.scale.linear is now d3.scaleLinear, and d3.layout.treemap is now d3.treemap.
-
-
github.com github.com
-
It is unrelated to the technology company AMD and the processors it makes.
-
-
github.com github.com
-
Sure, you have a few extra newlines and semicolons, but the minifier will remove them anyway so no harm.
-
-
github.com github.com
-
I think that's fine, but I also don't particularly care about @mikeycgto's desire to not have the linking comment be present in the minified JS.
-
-
stackoverflow.com stackoverflow.com
-
Semantically this is wrong.
-
-
tylergaw.com tylergaw.com
-
I get asked a lot which I want to do more; design or write code? I answer, “yes.”
-
Being a better designer makes me a better engineer and being a better engineer makes me a better designer.
Tags
Annotators
URL
-
-
bugs.chromium.org bugs.chromium.org
-
This is a huge disadvantage to all web developers. Why can't we at least have the ability to turn validation messages off? Why do we have to re-implement a validation system when you already have one in place, but all we want is the validation aspect and not the built in messaging? By taking away the ability to style elements that CHROME adds to the browser window, it is hurting developers professional appearance. We just want to use Chrome's WONDERFUL validation system with our own error messages. Either let us style them, or let us hide them, but don't make us re-invent the wheel just because you don't want our code to be "browser specific". Writing a new validation system just for Chrome is going to be much more "browser (chrome) specific" code than setting "::-webkit-validation-bubble, ::-webkit-validation-bubble * { display: none; }. This isn't just an annoyance, it's a huge disadvantage to any developer who wants to easily utilize Chrome's built in validation. I usually brag about how wonderful Chrome is, but I'm starting to think it's heading in another direction...
-
-
-
-
jangawolof.org jangawolof.orgPhrases1
-
Beykat yi duñu dem tool altine.
-
-
afarkas.github.io afarkas.github.ioWebshim1
-
Webshim is also more than a polyfill, it has become a UI component and widget library. Webshim enables a developer to also enhance HTML5 capable browsers with more highly customizable, extensible and flexible UI components and widgets.
And now that it's deprecated (presumably due to no longer needing these polyfills), not only do the polyfills go away (no longer maintained), but also these unrelated "extras" that some of us may have been depending on are now going away with no replacement ...
If those were in a separate package, then there would have been some chance of the "extras" package being updated to work without the base webshims polyfills.
In particular, I was using
$.webshims.addCustomValidityRule
which adds something that you can't do in plain HTML5 (that I can tell), so it isn't a polyfill...
-
-
github.com github.com
-
markdown-it is the result of the decision of the authors who contributed to 99% of the Remarkable code to move to a project with the same authorship but new leadership (Vitaly and Alex). It's not a fork.
-
-
github.com github.com
-
It can also be included as individual modules, i.e. Hashie::Extensions::MethodReader, Hashie::Extensions::MethodWriter and Hashie::Extensions::MethodQuery.
-
-
trailblazer.to trailblazer.to
-
Instead of connecting an output to a particular task, you can also choose to let it connect to a track. A track is created by taking a task’s output, retrieving its semantic, and then connecting it to the next available task that is “magnetic to” this semantic.
-
Hey, that’s is an imaginary complication of our example - please don’t do this with every condition you have in your app.
-
- Feb 2021
-
trailblazer.to trailblazer.to
-
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 breaksmagnetic_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:
- there's not a Railway helper in case you want multiple outputs, though we could probably create one pretty easily using Path as our template
- we can't "inline" a separate Railway acitivity (Subprocess "nests" it rather than "inlines")
-
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?
-
This connects the failure output to the previous task, which might create an infinity loop and waste your computing time - it is solely here for demonstrational purposes.
Tags
- helper functions
- verbose / noisy / too much boilerplate
- semantics
- I have a question about this
- tip
- concise
- flexibility
- feels wrong
- trailblazer-activity
- powerful
- useful
- example: in order to keep example concise/focused, may not implement all best practices (illustrates one thing only)
- example: not how you would actually do it (does something wrong/bad/nonideal illustrating but we should overlook it because that's not the one thing the example is trying to illustrate/show us)
Annotators
URL
-
-
github.com github.com
-
Personally, I'm starting to think that the feature where it automatically adds xray.js to the document is more trouble than it's worth. I propose that we remove that automatic feature and just make it part of the install instructions that you need to add this line to your template/layout: <%= javascript_include_tag 'xray', nonce: true if Rails.env.development? %>
-
-
github.com github.com
-
Now that I've thought more about it, I honestly think the auto-adding the script feature is overrated, over-complicated, and error-prone (#98, #100), and I propose we just remove it (#110).
-
-
github.com github.com
-
now that I've thought more about it, I think the auto-adding the script feature is overrated, over-complicated, and error-prone (#100), and ought to just be removed (#110).
-
-
github.com github.com
-
now that I realize how easy it is to just manually include this in my app: <%= javascript_include_tag 'xray', nonce: true if Rails.env.development? %> I regret even wasting my time getting it to automatically look for and add a nonce to the auto-injected xray.js script
Tags
- removing feature that is more trouble than it's worth (not worth the effort to continue to maintain / fix bugs caused by keeping it)
- regret
- wasted effort
- removing legacy/deprecated things
- removing features to simplify implementation
- fix design/API mistakes as early as you can (since it will be more difficult to correct it and make a breaking change later)
Annotators
URL
-
-
www.schneems.com www.schneems.com
-
The link name is not very helpful, it doesn’t explain what it does very well.
-
Another big issue is that the config wasn’t really expressive enough. From the beginning Rails needed a way to say “only compile application.css and application.js, but compile ALL images” by default. With our previous interface, we’re limited to only strings.
-
That’s pretty gnarly. While the name of the constant LOOSE_APP_ASSETS gives me some idea of what it does, it still takes a second to wrap your mind around. If you were trying to figure out what assets are being precompiled and you did a puts config.assets.precompile that lambda object would be utterly baffling.
-
Another thing I don’t like: our asset behavior is decoupled from the assets. If you’re mucking around in your app/assets folder, then you have to first know that such a config exists, and then hunt it down in a totally different config folder. It would be nice if, while we’re working in asset land, we didn’t have to mentally jump around.
Tags
- not expressive enough
- configuration
- co-location: not co-located
- hard to understand
- intention-revealing
- I agree
- hard to follow/read/understand
- not:
- naming
- self-explanatory
- use meaningful names (programming)
- self-documenting
- code organization: co-location
- sprockets
- discoverability: not easily discoverable
Annotators
URL
-
-
trailblazer.to trailblazer.to
-
Yes, we could and should use Reform or Dry-validation here.
-
-
github.com github.com
-
Good intentions, but I doubt there's any relation of the origin of the terms blacklist/whitelist to race. There are many idioms and phrases in the English language that make use of colours without any racial backstories. I haven't met any black person (myself included) who was ever offended by the use of "blacklist".
-
-
sobolevn.me sobolevn.me
-
Literally, everything in this example can go wrong. Here’s an incomplete list of all possible errors that might occur: Your network might be down, so request won’t happen at all The server might be down The server might be too busy and you will face a timeout The server might require an authentication API endpoint might not exist The user might not exist You might not have enough permissions to view it The server might fail with an internal error while processing your request The server might return an invalid or corrupted response The server might return invalid json, so the parsing will fail And the list goes on and on! There are so maybe potential problems with these three lines of code, that it is easier to say that it only accidentally works. And normally it fails with the exception.
-
And we can specify types of wrapped values in a function return annotation, for example Result[float, ZeroDivisionError] returns either Success[float] or Failure[ZeroDivisionError].
-
we also wrap them in Failure to solve the second problem: spotting potential exceptions is hard
-
exceptions are not exceptional, they represent expectable problems
-
Exceptions are not exceptional
-
Almost everything in python can fail with different types of exceptions: division, function calls, int, str, generators, iterables in for loops, attribute access, key access, even raise something() itself may fail. I am not even covering IO operations here. And checked exceptions won’t be supported in the nearest future.
-
You still need to have a solid experience to spot these potential problems in a perfectly readable and typed code.
-
print will never be actually executed. Because 1 / 0 is an impossible operation and ZeroDivisionError will be raised.
Tags
- difficult/hard problem
- anticipating what could go wrong / error/exception cases
- can't think of everything
- key point
- exceptions that are not exceptional
- exceptions are expectable, not exceptional
- not:
- accidentally works
- error/exception handling
- the benefit of experience
- easy to miss / not notice (attention)
- type annotations
- error/exception handling: spotting potential exceptions is hard
- type checking: type annotations (unchecked; in comments)
- traditional exception handling (try/catch; begin/rescue)
Annotators
URL
-
-
-
certainly I wouldn't want it to start telling me that I'm not catching these!
-
-
www.morozov.is www.morozov.is
-
The DSL has a weaker control over the program’s flow — we can’t have conditions unless we add a special step
-
I want to emphasize that Result is just an alternative name for the Either monad.
-
-
jrsinclair.com jrsinclair.com
-
Don’t worry if you get confused at first. Everyone does. I’ve listed some other references at the end that may help. But don’t give up.
-
-
mmhaskell.com mmhaskell.com
-
So every program starts in the IO monad. From here you can get any input you need, call into relatively "pure" code with the inputs, and then output the result in some way. The reverse does not work. You cannot call into IO code from pure code like you can call into a Maybe function from pure code.
-
-
en.wikipedia.org en.wikipedia.org
-
it is inconvenient to write specific implementations for each datatype contained, especially if the code for each datatype is virtually identical. For example, in C++, this duplication of code can be circumvented by defining a class template
-
-
trailblazer.to trailblazer.to
-
An operation has two invocation styles. This is the only difference to an Activity.
-
-
trailblazer.to trailblazer.to
-
Feel free to pick and choose what you need for your applications.
-
-
en.wikipedia.org en.wikipedia.org
-
which entails computer programming (process of writing and maintaining the source code), but also encompasses a planned and structured process from the conception of the desired software to its final manifestation
-
-
en.wikipedia.org en.wikipedia.org
-
"Open access" refers to toll-free or gratis access to content
not necessarily free content
-
-
2019.trailblazer.to 2019.trailblazer.to
-
note that TRB source code modifications are not proprietary
In other words, you can build on this software in your proprietary software but can't change the Trailblazer source unless you're willing to contribute it back.
loophole: I wonder if this will actually just push people to move their code -- which at the core is/would be a direction modification to the source code - out to a separate module. That's so easy to do with Ruby, so this restriction hardly seems like it would have any effect on encouraging contributions.
Tags
- LGPL
- loophole/escape hatch
- annotation meta: may need new tag
- neutral/dispassionate/impartial/objective wording
- open-source software: not contributing new code back to project
- wording designed to be more palatable/pleasing/inoffensive
- software licensing
- proprietary software
- good point
- reminder
- well-written
Annotators
URL
-
-
github.com github.com
-
In Trailblazer, models are completely empty. They solely contain associations and finders. No business logic is allowed in models.
-
The bare bones operation without any Trailblazery is implemented in the trailblazer-operation gem and can be used without our stack.
-
While Trailblazer offers you abstraction layers for all aspects of Ruby On Rails, it does not missionize you. Wherever you want, you may fall back to the "Rails Way" with fat models, monolithic controllers, global helpers, etc. This is not a bad thing, but allows you to step-wise introduce Trailblazer's encapsulation in your app without having to rewrite it.
-
Only use what you like.
-
you can pick which layers you want. Trailblazer doesn't impose technical implementations
Tags
- allowing developer/user to pick and choose which pieces to use (allowing use with competing libraries; not being too opinionated; not forcing recommended way on you)
- leaving the details of implementation/integration up to you
- focus on what it should do, not on how it should do it (implementation details; software design)
- trailblazer-operation
- rails: the Rails way
- freedom of user to override specific decision of an authority/vendor (software)
- newer/better ways of doing things
- making changes / switching/migrating gradually/incrementally/step-wise/iteratively
- the Trailblazer way
- focus on concepts/design/structure instead of specific/concrete technology/implementation
- abstractions
- models: should be thin, dealing with persistence/associations only, not business logic
- Trailblazer
Annotators
URL
-
-
unix.stackexchange.com unix.stackexchange.com
-
Example (in bash, but my question shouldn't be considered bash-specific):
-
-
www.microsoft.com www.microsoft.com
-
To repair the Outlook index when Microsoft Outlook mail search not working, type control in the Windows search bar and then select the suitable option to open the Control Panel. Now, navigate to Programs and then Programs & Features. After that, scroll down and select Outlook 2016 or Microsoft Office. Now, select Change from the top menu, and choose Quick repair. After that, select Repair to fix Outlook search no results issues.
-
Gmail is a free email service developed by Google. To fix Gmail not receiving email on Android, first try and update Gmail Application on your device. Remove your Gmail account from the “Accounts & Passwords” located in “Settings” of your device and add it back. Clear the cache by going to “Settings” on the device, then tapping on “Apps manager,” locating and selecting “Gmail” from the list and tapping on “Clear Cache.”
-
-
psychclassics.yorku.ca psychclassics.yorku.ca
-
stolen love from the child and infant and made it the exclusive property of the adolescent and adult
Love is not exclusive to adults and adolescents as there are many types of love. I do not believe it has been stolen but added to love in general.
-
-
github.com github.com
-
Any idea @AaronLasseigne if this is mergeable?
-
-
github.com github.com
-
Since we're using an interaction, we don't need strong parameters. The interaction will ignore any inputs that weren't defined by filters. So you can forget about params.require and params.permit because interactions handle that for you.
-
-
reinteractive.com reinteractive.com
-
The great thing about working with reinteractive is you get to work directly with the developers, which is a huge plus. As a technical founder, I find proxying through a project manager adds unnecessary layers of complexity and creates opportunity for human error.
-
-
www.infoworld.com www.infoworld.com
-
companies want to promote what the technology can do, so they de-emphasize that the way in which you do it is less than ideal
-
-
softwareengineering.stackexchange.com softwareengineering.stackexchange.com
-
The more important point comes from a program design perspective. Here, "programming to an interface" means focusing your design on what the code is doing, not how it does it. This is a vital distinction that pushes your design towards correctness and flexibility.
-
This is not correct. Or at least, it is not entirely correct.
-
-
www.javaworld.com www.javaworld.com
-
Rather than implement features you might need, you implement only the features you definitely need, but in a way that accommodates change. If you don't have this flexibility, parallel development simply isn't possible.
-
-
-
It makes me happy to see people actually think about things and not just accept a shitty API.
Tags
- can we do even better?
- less than ideal / not optimal
- describe the ideal hypothetical solution
- don't settle for/accept something that's not as good as it can be
- doing something without knowing why/how it works
- intentional/well-considered decisions
- "makes me happy when ..."
- actually consider / think about how it _should_ (ideally) be
Annotators
URL
-
-
github.com github.com
-
By explicitly defining the form layout using ::property there is no more need for protecting from unwanted input. strong_parameter or attr_accessible become obsolete. Reform will simply ignore undefined incoming parameters.
-
-
-
Any attribute in the list will be allowed, and any defined as attr_{accessor,reader,writer} will not be populated when passed in as params. This means we no longer need to use strong_params in the controllers because the form has a clear definition of what it expects and protects us by design.
strong params not needed since form object handles that responsibility.
That's the same opinion Nick took in Reform...
-
-
-
I close the issue but we can continue the discussion.
closing does not necessarily imply end of discussion
-