- Jul 2022
-
deleteme-z4xq4hvfe.s3.us-east-1.amazonaws.com deleteme-z4xq4hvfe.s3.us-east-1.amazonaws.com
-
you can't do a proj-ect, you can only do the action steps it requires.
link to: - https://hypothes.is/a/mVBBYgvIEe22ej8FOn5Cqg
-
-
www.hardscrabble.net www.hardscrabble.net
-
This option wasn’t offered by the library, but that doesn’t have to stop us. Isn’t that fun?
-
-
gist.github.com gist.github.com
-
5.5 Logic, reason, and common sense are your best tools for synthesizing reality and understanding what to do about it.
5.5 Logic, reason, and common sense are your best tools for synthesizing reality and understanding what to do about it.
-
-
www.thegreatsimplification.com www.thegreatsimplification.com
-
08:58 - Migrant gene DRD4-7R* Allele and correlation with the pursuit of novelty
DRD4-7R is the specific gene that Peter implicates in migrants who are adventurous enough to come to America. This is associated with the "can do" perspective that has propelled America into a world leader but also drives America reflexively into the future...on autopilot.
-
-
www.legrand.us www.legrand.us
-
(For Squirrel.)
-
-
docs.microsoft.com docs.microsoft.com
-
docs.microsoft.com docs.microsoft.com
Tags
Annotators
URL
-
-
docs.microsoft.com docs.microsoft.com
- Jun 2022
-
www.nytimes.com www.nytimes.com
-
All this hoopla seems out of character for the sedate man who likes to say of his work: ''Whatever I did, there was always someone around who was better qualified. They just didn't bother to do it.''
Very similar to Nike's tagline "Just Do It"
https://www.nytimes.com/1985/09/08/magazine/the-michener-phenomenon.html
-
-
Local file Local file
-
The nice thing about notes, unlike to-dos, is that they aren’turgent. If one important to-do gets overlooked, the results could becatastrophic. Notes, on the other hand, can easily be put on hold anytime you get busy, without any negative impact.
Nice that he differentiates specifically between notes and to-do items.
-
-
-
The focus of the dev container specification is to describe how to enrich a container for the purposes of development, rather than acting as a multi-container orchestrator format.
-
- May 2022
-
github.com github.com
-
We document the order of hooks, but I don't think we document where in that order we integrate Rails helpers which makes this confusing, I do sort of think this is a bug but as we use RSpec to integrate Rails here and RSpec Core has no distinction that matches before / after teardown its sort of luck of the draw, we could possibly use prepend_after for Rails integrations which would sort of emulate these options.
-
-
educacao.uol.com.br educacao.uol.com.br
-
Zumbi, considerado o grande herói de Palmares, tinha escravos. Fatos como esse, que ainda passam em branco em muitas aulas de História
Fato que é ESCONDIDO PROPOSITALMENTE nos livros de História editados pelo MEC
-
-
wordpress.com wordpress.com
-
"Specifically, when one of my classmates stated how he was struggling with the concept and another one of my classmates took the initiative to clarify it, I realized that that individual possibilities vary greatly among students."
Tags
- This annotation consisted of me continuing to do what I've been doing, which is primarily adding more direct experiences. In my draft for this one, I outlined the scenario of the triangle theory, but I did not go into further detail. Therefore, I resolved to describe the actual circumstances in order to offer the readers a better insight into the experience.
- (Major Essay) Climax paragraph. 3
Annotators
URL
-
-
Local file Local file
-
Second, we shape the work before giving it to a team. A small senior group works in parallel to the cycle teams. They define the key elements of a solution before we consider a project ready to bet on. Projects are defined at the right level of abstraction: concrete enough that the teams know what to do, yet abstract enough that they have room to work out the interesting details themselves.
Tags
Annotators
-
-
tomcritchlow.com tomcritchlow.com
-
build a browser that comes pre-installed with node.js
Nah. Just stop programming directly against NodeJS to start with!
The Web platform is a multi-vendor standardized effort involving broad agreement to implement a set of common interfaces. NodeJS is a single implementation of a set of APIs that seemed good (to the NodeJS developers) at the time, and that could change whenever the NodeJS project decides it makes sense to.
(Projects like WebRun which try to provide a shim to let people continue to program against NodeJS's APIs but run the result in the browser is a fool's errand. Incredibly tempting, but definitely the wrong way to go about tackling the problem.)
-
- Apr 2022
-
-
The lateral keyword allows us to access columns after the FROM statement, and reference these columns "earlier" in the query ("earlier" meaning "written higher in the query").
-
-
www.postgresql.org www.postgresql.org
-
This latter equivalence does not hold exactly when more than two tables appear, because JOIN binds more tightly than comma. For example FROM T1 CROSS JOIN T2 INNER JOIN T3 ON condition is not the same as FROM T1, T2 INNER JOIN T3 ON condition because the condition can reference T1 in the first case but not the second.
-
A LATERAL item can appear at top level in the FROM list, or within a JOIN tree. In the latter case it can also refer to any items that are on the left-hand side of a JOIN that it is on the right-hand side of.
Unlike with most joins (IIUC), order is important with lateral joins. Weird. Why?
Maybe because it is equivalent to a cross join lateral (see example), and in an explicit cross join, you have a LHS and RHS?
-
This allows them to reference columns provided by preceding FROM items.
-
-
github.com github.com
-
There is something nice about aligning with the platform. But it risks being a straitjacket, and I think we can provide better ergonomics when it comes to streaming.
-
-
edgeguides.rubyonrails.org edgeguides.rubyonrails.org
-
it is highly encouraged to switch to zeitwerk mode because it is a better autoloader
-
-
edgeguides.rubyonrails.org edgeguides.rubyonrails.org
-
Making MoneySerializer reloadable would be confusing, because reloading an edited version would have no effect on that class object stored in Active Job.
-
Indeed, if MoneySerializer was reloadable, starting with Rails 7 such initializer would raise a NameError.
-
-
-
Shenkar wouldlike to see students in business schools and other graduate programs taking
courses on effective imitation.
If imitation is so effective, what would teaching imitation to students look like in a variety of settings including, academia, business, and other areas?
Is teaching by way of imitation the best method for the majority of students? Are there ways to test this versus other methods for broad effectiveness?
How can we better leverage imitation in teaching for application to the real world?
-
-
docdrop.org docdrop.org
-
Much of Barthes’ intellectual and pedagogical work was producedusing his cards, not just his published texts. For example, Barthes’Collège de France seminar on the topic of the Neutral, thepenultimate course he would take prior to his death, consisted offour bundles of about 800 cards on which was recorded everythingfrom ‘bibliographic indications, some summaries, notes, andprojects on abandoned figures’ (Clerc, 2005: xxi-xxii).
In addition to using his card index for producing his published works, Barthes also used his note taking system for teaching as well. His final course on the topic of the Neutral, which he taught as a seminar at Collège de France, was contained in four bundles consisting of 800 cards which contained everything from notes, summaries, figures, and bibliographic entries.
Given this and the easy portability of index cards, should we instead of recommending notebooks, laptops, or systems like Cornell notes, recommend students take notes directly on their note cards and revise them from there? The physicality of the medium may also have other benefits in terms of touch, smell, use of colors on them, etc. for memory and easy regular use. They could also be used physically for spaced repetition relatively quickly.
Teachers using their index cards of notes physically in class or in discussions has the benefit of modeling the sort of note taking behaviors we might ask of our students. Imagine a classroom that has access to a teacher's public notes (electronic perhaps) which could be searched and cross linked by the students in real-time. This would also allow students to go beyond the immediate topic at hand, but see how that topic may dovetail with the teachers' other research work and interests. This also gives greater meaning to introductory coursework to allow students to see how it underpins other related and advanced intellectual endeavors and invites the student into those spaces as well. This sort of practice could bring to bear the full weight of the literacy space which we center in Western culture, for compare this with the primarily oral interactions that most teachers have with students. It's only in a small subset of suggested or required readings that students can use for leveraging the knowledge of their teachers while all the remainder of the interactions focus on conversation with the instructor and questions that they might put to them. With access to a teacher's card index, they would have so much more as they might also query that separately without making demands of time and attention to their professors. Even if answers aren't immediately forthcoming from the file, then there might at least be bibliographic entries that could be useful.
I recently had the experience of asking a colleague for some basic references about the history and culture of the ancient Near East. Knowing that he had some significant expertise in the space, it would have been easier to query his proverbial card index for the lived experience and references than to bother him with the burden of doing work to pull them up.
What sorts of digital systems could help to center these practices? Hypothes.is quickly comes to mind, though many teachers and even students will prefer to keep their notes private and not public where they're searchable.
Another potential pathway here are systems like FedWiki or anagora.org which provide shared and interlinked note spaces. Have any educators attempted to use these for coursework? The closest I've seen recently are public groups using shared Roam Research or Obsidian-based collections for book clubs.
-
-
securitytrails.com securitytrails.com
-
Sign up for a trial account.
-
- Mar 2022
- Feb 2022
-
Local file Local file
-
Zeigarnik effect: Open tasks tend to occupy our short-term memory –until they are done. That is why we get so easily distracted bythoughts of unfinished tasks, regardless of their importance. Butthanks to Zeigarnik’s follow-up research, we also know that we don’tactually have to finish tasks to convince our brains to stop thinkingabout them. All we have to do is to write them down in a way thatconvinces us that it will be taken care of.
The Zeigarnik effect is the idea that open or pending tasks tend to occupy our short-term memory until they are done or our brain is otherwise convinced that they're "finished". This is why note taking can be valuable. By writing down small things, we can free up our short-term or working memories to focus or work on other potentially more important tasks. It is named for Soviet psychologist Bluma Zeigarnik.
The Zeigarnik effect is some of the value behind David Allen's "Getting Things Done" system. Writing down to do lists tricks our mind into freeing up space from things we need to take care of. If they're really important, we've got a list and can then take care of them. Meanwhile our working memories are freed up for other tasks.
-
A good structure is something you can trust. It relieves you fromthe burden of remembering and keeping track of everything. If youcan trust the system, you can let go of the attempt to hold everythingtogether in your head and you can start focusing on what isimportant:
Whether it's for writing, to do lists, or other productivity spaces, a well designed system is something that one can put their absolute trust into. This allows one to free themselves from the burden of tracking and dealing with minutiae so they can get serious work done.
-
-
bugs.ruby-lang.org bugs.ruby-lang.org
-
I am open to discussion but I don't want to jump on the conclusion.
-
The biggest reason is that we still have several options, so I didn't want to restrict the future possibility.
-
-
github.com github.com
-
There is nothing stopping you from creating store objects which scrapes XE for the current rates or just returns rand(2):
-
-
www.acf.hhs.gov www.acf.hhs.gov
-
The strengths, resources, and strategies that HBCC providers use to support children and families in their care. Many studies include HBCC providers across diverse community contexts and racial, ethnic, and linguistic groups. However, fewer studies look within groups to unpack how community context or the intersection of community, race, and language may shape experiences, resources, and strategies. For example, although many studies have included HBCC providers of color, few studies have addressed the specific experiences of Black women who offer HBCC and the strategies they use to support racial healing amid systemic inequities. Some older research looked at the experiences of FFN providers who were recent immigrants or refugees, as well as those from Indigenous communities (Emarita 2008), yet more research is needed to understand the experiences of these providers and the children and families they support
THIS - we want to do THIS; hard to do this in a large data set, but we can look for resources and strengths; we can look for profiles - combinations of factors that together mean more than individual factors alone (e.g., education despite poverty; having a support network). We need to identify the questions in the NSECE that asked about these and then look for differences in who offers what services and for whom
-
examine the relationship of providers’ personal and professional characteristics to potential predictors of HBCC quality, including a provider’s flexibility to meet a family’s needs for nontraditional hour and affordable care, or a provider’s use of different learning activities
We can look at this
-
Descriptive comparisons of the data can reveal changes in selected characteristics of both providers and their settings, illuminating differences in the cultural, racial, ethnic, and linguistic backgrounds of providers, as well as in their payment sources, if any; the number and ages of the children in care; whether children with disabilities are served; the child care schedule; and participation in ECE systems
We can look at this
-
Cavadel et al. 2017; Crosby et al. 2019; Hooper and Hallam 2019; Hooper and Scheweiker 2020; Matthews et al. 2015
Review these studies
-
- Jan 2022
-
hypothes.is hypothes.is
-
Literature Essay Outline
An essay is a paper in prose, small in length, and free in composition. It expresses the individual impressions and thoughts of the author on a particular topic or issue. The structure of writing an essay is determined by the requirements of the genre: the thoughts of the author of the text are set out as brief theses, each thesis must be substantiated, supported by evidence.
A person who does not often have to write various texts may find it difficult to grasp all the nuances and requirements of an essay. The work on the chosen topic will be written by professionals https://studyessay.org/, they will reveal the problem, select convincing arguments and examples, as well as properly format the text.
Consequently, the structure of the essay is circular:
- introduction;
- theses and arguments;
- conclusion.
The number of theses and arguments depends on the topic, the written plan of the essay, and the direction of thought development. Also, the introduction and conclusion should focus on the chosen issue. The scheme of the essay assumes the presence of paragraphs, red lines, which help in achieving the integrity of the work. Contact us here https://studyessay.org/research-proposal-writing-service/, If you need more information and help with writing your assignments.
How to write an essay: outline
The scheme of writing an essay is looser than that of other written works. That is why the author must independently think about the structure of the future text. The structure depends on the goals, form, volume of the work. The scheme will be most conveniently perceived if you fix it on paper. The plan of writing an essay is a kind of "skeleton", on which the author builds up thoughts and ideas. Work on the essay begins with a writing plan. To make the text connected, it is convenient to act according to the following scheme:
- choose a topic;
- fix theses and thoughts on the issue;
- justify the stated ideas, pick up arguments;
- build the theses in a logical sequence, the thoughts should follow one another.
Essay writing tips
- The main recommendation for writing an essay is to outline the text. This will help to keep the thought in one line, remember the topic and purpose.
- The essay is a genre that does not involve writing long texts. Thoughts should be expressed briefly, but understandable to the reader.
- It is helpful to reread your essay to make sure that the text is connected logically, the topic is not lost and all theses and arguments are mentioned.
Despite the fact that the essay does not have any strict rules of writing, there are still a number of recommendations and peculiarities of the genre, which are worth adhering to.
-
-
anagora.org anagora.orgAgora1
-
You can learn more about this [[garden]] through its [[index]] [[element]]; and more about me through the "[[Jayu]]" [[element]]. For [[Agora]] [[user]]s' convenience, I've [[pull]]ed both below, and you'll be able to see them somewhere on the "[[README]]" [[node]].
interesting -- apologies, this doesn't work currently (pulls don't work in special pages like user pages currently), but will fix this!
-
-
github.com github.com
-
Instead of render props, we use Svelte's slot props: // React version <Listbox.Button> {({open, disabled} => /* Something using open and disabled */)} </Listbox.Button> <!--- Svelte version ---> <ListboxButton let:open let:disabled> <!--- Something using open and disabled ---> </ListboxButton>
-
-
stackoverflow.com stackoverflow.com
-
Checks are usually done in this order: 404 if resource is public and does not exist or 3xx redirection OTHERWISE: 401 if not logged-in or session expired 403 if user does not have permission to access resource (file, json, ...) 404 if resource does not exist or not willing to reveal anything, or 3xx redirection
-
-
telepathics.xyz telepathics.xyz
-
What an awesome little site. Sadly no RSS to make it easy to follow, so bookmarking here.
I like that she's titled her posts feed as a "notebook": https://telepathics.xyz/notebook. There's not enough content here (yet) to make a determination that they're using it as a commonplace book though.
Someone in the IndieWeb chat pointed out an awesome implementation of "stories" she's got on her personal site: https://telepathics.xyz/notes/2020/new-york-city-friends-food-sights/
I particularly also like the layout and presentation of her Social Media Links page which has tags for the types of content as well as indicators for which are no longer active.
This makes me wonder if I could use tags on some of my links to provide CSS styling on them to do the same thing for inactive services?
-
-
web.archive.org web.archive.org
-
Mostly an historical list of online tools for note taking.
No discussion of actual functionality or usefulness. Sounds more like for making to do lists and passing notes rather than long term knowledge management and upkeep. Nothing about the benefits of centralizing data in one place.
meh...
-
- Dec 2021
-
-
to be capable of always remembering and instantly recalling information
- idea: how WE use Google: searching
AND filtering with details" and "sensations" to LOCATE the "specific" memory recall
The UI "must" search in DIFFERENT "repositories" (local or online)
-
-
-
SEE
-
-
github.com github.com
-
metha
see
-
-
forums.zotero.org forums.zotero.org
-
YaYaTurre June 4, 2018 edited June 4, 2018 I want to produce footnotes and bibliographical references for citations i.e. newspaper articles, reports, manuscripts, etc. that are in the DD MM YYYY format. Preferably like DD/MM YYYY. (26/4 1998).So this: "Nobelpristagaren Alfvén Kämpar Med Centern Mot Kärnkraftsamhället,” Norrköpings Tidningar, June 10, 1976, 8.Becomes this: "Nobelpristagaren Alfvén Kämpar Med Centern Mot Kärnkraftsamhället,” Norrköpings Tidningar, 10/6 1976, 8.Please let me know if you need any additional info. Thank you! damnation June 4, 2018 edited June 4, 2018 1. go here: https://raw.githubusercontent.com/citation-style-language/styles/master/chicago-fullnote-bibliography.csl2. Copy all that code3. Go here: http://editor.citationstyles.org/codeEditor/4. Paste all the code in the box in the bottom over the code in there5. Switch to the visual editor (on top)6. Top right: click on "Example citations"7. Untick anything and tick the "article-newspaper" one8. You should now see "Lisa W. Foderaro, “Rooftop Greenhouse Will Boost City Farming,” New York Times, April 6, 2012."9. click on the "April 6, 2012" part10. .... follow the video I made for you: https://www.youtube.com/watch?v=TOor64T4RvY&feature=youtu.be (note I'm using a different style as the chicago note style is huge and is lame; you just need to wait though!)make sure to change the file ID, self link and filename all to the same new name (like in the video). otherwise your new style will get overwritten with the next update. YaYaTurre June 4, 2018 Whoa! Thank you so much! You have really saved my hide. Thanks again!
SEE
-
-
forums.zotero.org forums.zotero.org
-
I set my OS to a freakish datetime format (YYYY-MM-MMM-DD-DDD, e.g. "2006-08-Aug-02-Tue")
INTERESTING!
-
-
forums.zotero.org forums.zotero.org
-
emilianoeheyns September 27, 2021 I didn't account for spaces in the key field; the current version of BBT would have picked up keys without spaces like [extra=ADSBibcode], the next version of BBT will also support [extra=ADS\ Bibcode]
plugin BBT;
-
jspilker September 22, 2021 Thanks so much for this, very much appreciated!If any astros from the future find this thread, you can use Better Bibtex to swipe the ADS Bibcode from the Extra field and use that as your cite key. This assumes that the format in the Extra field remains as "ADS Bibcode: xxxxxx", but you can also alter it if things change in the future. Go to Zotero -> Preferences -> Better Bibtex -> Citation keys (tab), and in the Citation key format box, enter:[Extra:transliterate:select=3] | [auth:lower:alphanum][shortyear]To break that down:- the [Extra:transliterate:select=3] part will search the Extra field, remove any unsafe characters ('transliterate'), and return all words starting with the 3rd. This removes the first two words, "ADS Bibcode:", from the full string so only the bibcode itself is used for the citekey.- In case there is no text in the Extra field, the cite key will revert by default to lastnameYY, which is what the [auth:lower:alphanum][shortyear] produces.
HERE!!! HOWTO use Extra fields in Citation
-
-
www.zotero.org www.zotero.org
-
Library Catalog The catalog or database an item was imported from. This field is used, for example, in the MLA citation style. Uses of this field are broader than actual library catalogs. Call Number The call number of an item in a library. For citing archival sources, also include the Call Number in Loc. in Archive (if applicable).
Entender utilidad
-
Archive Mainly for archival resources, the archive where an item was found. Also used for repositories, such as government report databases, institutional repositories, or subject repositories. Loc. in Archive The location of an item in an archive, such as a box and folder number or other relevant location information from the finding aid. Include the subcollection/call number, box number, and folder number together in this field. For additional tips on citing archival sources in Zotero, see here.
Entender utilidad
Tags
Annotators
URL
-
-
www.cityu.edu.hk www.cityu.edu.hk
-
Books G. Grynberg, A. Aspect, C. Fabre, “An Introduction to Quantum Optics: From the Semi-classical Approach to Quantized Light” (revised with help of F.Bretenaker and A. Browaeys), 2010, Cambridge University Press.F. Bardou, J.-P. Bouchaud, A. Aspect and C. Cohen-Tannoudji, « Lévy Statistics and Laser Cooling: How Rare Events Bring Atoms to Rest », Cambridge University Press (2002).Aspect, author of the chapter “Bell’s theorem: the naïve view of an experimentalist”, in “Quantum [un]speakables, from Bell to Quantum information”, R.A. Bertlmann and A. Zeilinger edit. (Springer 2002). Available at http://arxiv.org/abs/quant-ph/0402001Aspect, “John Bell and the second quantum revolution”: introduction to the second edition of “Speakable and Unspeakable in Quantum Mechanics”, J.S. Bell, Cambridge University Press (2004).Aspect, co-author of “Demain la Physique”, (ed. O. Jacob 2004; revised 2009), and in particular of the chapter: « Une nouvelle révolution quantique ».Aspect and P. Grangier, « De l’article d’Einstein Podolsky et Rosen à l’information quantique » in « Einstein aujourd’hui », CNRS EDITIONS-EDP Sciences (2005).
see
-
-
es.wikipedia.org es.wikipedia.org
-
parodia una escena de la película de 1985 Perfect, protagonizada por John Travolta y Jamie Lee Curtis.[6]
no lo sabia! see
-
-
en.wikipedia.org en.wikipedia.org
-
The full, long version is one minute longer than the Making the Video version, while the cut version omits the scenes in which she leaves the airport and is sleepy and in which she fills out the questionnaire. The short version begins with Stefani practicing on the piano and her finding the watch just seconds after that.
1-full; 2-cut; 3-short; 4-???
-
There are four versions of the video
!!! look for them!
Tags
Annotators
URL
-
-
es.wikipedia.org es.wikipedia.org
-
Poe no pretende valerse de un método científico en este ensayo sino que escribe basándose en la más pura intuición.[312] Por esta razón consideraba la pieza como una «obra de arte», no científica,[312] insistiendo en que, a pesar de ello, su contenido era veraz[313] y la juzgaba su obra maestra.[314]
Eureka
-
-
-
Graph Analysis by SkepticMystic & Emile
see
-
Prism by Damian Korcz
see
-
- Nov 2021
-
Local file Local file
-
PTH
Paratormona: O PTH provoca, juntamente com a vitamina D e a calcitonina, a mobilização de cálcio e de fosfato no sistema esquelético e aumenta a absorção de cálcio no intestino, assim como a eliminação de fosfatos através dos rins. A constância do nível de cálcio no sangue é garantida pela ação conjunta da PTH e da calcitonina. A secreção de PTH é inibida pela elevadas concentrações de cálcio e promovida pelas baixas concentrações.
-
-
bio.libretexts.org bio.libretexts.org
-
Key
Add choanocyte
-
Sponges are animals and have all animal characteristics. As they have no tissue (parazoans) they are considered the simplest animal phyla.
Add text and images on parazoa (no true tissue because of no irreversible specialization.)
-
Unique Feature: Choanocytes: Sponges show a common characteristic with common ancestors shared with Protists.
Add images and text associated with Choanocyte to Choanoflagellate connection
-
-
www.varvet.com www.varvet.com
-
I am firmly convinced that asserting on the state of the interface is in every way superior to asserting on the state of your model objects in a full-stack test.
-
-
stackoverflow.com stackoverflow.com
-
Manually reorder the reactive declaration statements, especially when there's an implicit dependency of the order of execution.
-
if you put the reactive statement $: validate(inputValue); after the function updateInputValue declaration, it's working as expected:
-
-
-
const palette: { [key: string]: string } = {...
-
what is the TypeScript Way™ of handling the implicit any that appears due to object literals not having a standard index signature?
-
fresh (i.e. provably do not have properties we don't know about)
-
- Oct 2021
-
blowback.show blowback.showBlowback1
-
- Sep 2021
-
www.familyhandyman.com www.familyhandyman.com
-
breakingfreemediation.com breakingfreemediation.com
-
Installing a sanitary tee and wye drain, or any multi-outlet drainage fitting requires basic plumbing knowledge. Once you know the basics, it is easy to install this kind of piping system without hiring outside assistance.
-
-
www.excellentwebworld.com www.excellentwebworld.com
-
In this article, we have curated a list of various monetization strategies and how to implement them to generate massive revenue through an app.
-
-
www.reddit.com www.reddit.com
-
those users apparently can't even be trusted to choose the option to enable it from a pop-up
-
-
stratabeat.com stratabeat.com
-
than outbound marketing
check outbound vs inbound marketing
Tags
Annotators
URL
-
-
www.queenbeeofhoneydos.com www.queenbeeofhoneydos.com
-
Melamine is considered the black sheep of the sheet goods’ family by most carpenters. Typically because it creates a lower quality cabinet than other materials. But, also because it is so darn hard to construct with without getting chips. However, melamine does have a place and a purpose, and if you know how to build with melamine, you can produce some budget-friendly spaces.
-
-
blog.sindresorhus.com blog.sindresorhus.com
-
Users think every Webpack tool/config problem is a problem with a specific package and opens an issue asking for support on the package instead of Webpack. In the past year alone, I’ve had to deal with hundreds of Webpack issues on my repos.
-
-
-
To enable PostCSS, Sass or Less support, add CSS support first and then add the relevant pre-processors:
-
-
www.wta.org www.wta.org
-
Try to get a permit for this hike next spring.
Tags
Annotators
URL
-
- Aug 2021
-
cloudsecurityalliance.org cloudsecurityalliance.org
-
Download these materials.
-
-
granta.com granta.com
-
Always use the word ‘Africa’ or ‘Darkness’ or ‘Safari’ in your title.
I love the style in which this is written. While it appears to be a "how-to" guide, the author is doing nothing more than addressing the stereotypes that surround Africa. Turning this piece into a " how NOT to " guide.
Tags
Annotators
URL
-
-
-
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.
-
-
stackoverflow.com stackoverflow.com
-
This will obviate the need for a helper function of any kind.
-
-
github.com github.com
-
Noticed that with 100+ s, I am not alone here. There are definitely a lot of devs wanting this feature. So I took some time out and decided to give this a go myself. I have created a PR for the same
-
-
english.stackexchange.com english.stackexchange.com
-
What happens when you look it up in a dictionary rather than as a phrase in Google? Google just catalogues other people's [mis-]uses
-
-
developer.mozilla.org developer.mozilla.orgwith1
-
Performance pro & contra
-
-
Local file Local file
-
I'm going to need some significant time delving into and mining this treasure trove of references.
-
-
www.coursera.org www.coursera.org
-
Looks interesting!
Tags
Annotators
URL
-
- Jul 2021
-
www.bricklink.com www.bricklink.com
-
Take this for a spin.
Tags
Annotators
URL
-
-
github.com github.com
-
Look into acquiring one of these certifications.
-
- Jun 2021
-
hypothes.is hypothes.is
-
"Courageous conversation is a strategy for breaking down racial tensions and raising racism as a topic of discussion that allows those who possess knowledge on particular topics to have the opportunity to share it, and those who do not have the knowledge to learn and grow from the experience." Singleton and Hays
-
"Many North American music education programs exclude in vast numbers students who do not embody Euroamerican ideals. One way to begin making music education programs more socially just is to make them more inclusive. For that to happen, we need to develop programs that actively take the standpoint of the least advantaged, and work toward a common good that seeks to undermine hierarchies of advantage and disadvantage. And that, inturn, requires the ability to discuss race directly and meaningfully. Such discussions afford valuable opportunities to confront and evaluate the practical consequences of our actions as music educators. It is only through such conversations, Connell argues, that we come to understand “the real relationships and processes that generate advantage and disadvantage”(p. 125). Unfortunately, these are also conversations many white educators find uncomfortable and prefer to avoid."
Tags
- As music educators we do our best to include cultures and introduce new ideas because of what is relevant at the time. Yet we don't go to the next level and dive into the importance of "why" and how we as citizens along with our students can get involved and take positive actions. This may be due to the lack of autonomy in the classroom and/or time to teach in general.
- These discussions have started off hard however they get easier the more we do have them. Some of the best discussions have come from the students
Annotators
URL
-
-
www.migrationencounters.org www.migrationencounters.org
-
Israel
typo
-
-
stackoverflow.com stackoverflow.com
-
Different ways to prepend a line: (echo 'line to prepend';cat file)|sponge file sed -i '1iline to prepend' file # GNU sed -i '' $'1i\\\nline to prepend\n' file # BSD printf %s\\n 0a 'line to prepend' . w|ed -s file perl -pi -e 'print"line to prepend\n"if$.==1' file
-
-
github.com github.com
-
The first argument to shared_context (the shared group name) is superfluous. It feels a bit like "what's this argument for again?" (Note that you could still use it with include_context to include the group manually, but it's a bit odd to mix-and-match the approaches).
-
-
tools.kali.org tools.kali.orgNikto1
-
Add this to my toolbox and take it for a spin.
Tags
Annotators
URL
-
-
github.com github.com
-
On existing projects, consider the global effort to change from origin/master to origin/main. The cost of being different than git convention and every book, tutorial, and blog post. Is the cost of change and being different worth it?
-
-
www.mutuallyhuman.com www.mutuallyhuman.com
-
This meant that we owned both sides of the product implementation. For unit testing on the frontend, we stayed with Angular’s suggestion of Jasmine. For unit testing on the backend, we went with rspec-rails. These worked well since unit tests don’t need to cross technology boundaries.
-
-
github.com github.com
-
Once a variable is specified with the use method, access it with EnvSetting.my_var Or you can still use the Hash syntax if you prefer it: EnvSetting["MY_VAR"]
-
-
pragmaticstudio.com pragmaticstudio.com
-
Note: Instead of storing a user’s ID in the session cookie you could store a JWT, but I’m not sure what that buys you. However, you may be using specific JWT claims that make this worthwhile.
-
-
www.mutuallyhuman.com www.mutuallyhuman.com
-
For me the diagrams make it easier to talk about what the tests do without getting bogged down by how they do it.
Tags
- communication: focus on what is important
- communication: effective communication
- focus on what it should do, not on how it should do it (implementation details; software design)
- communication: use the right level of detail
- too detailed
- describe the what without getting bogged down by how (implementation details; too detailed)
Annotators
URL
-
-
docs.gitlab.com docs.gitlab.com
-
When mocking is deemed profitable:
-
-
social.msdn.microsoft.com social.msdn.microsoft.com
-
I'm not sure why MSFT decided to change these codes in the first place. While it might have been a noble goal to follow the IETF standard (though I'm not really familiar with this), the old codes were already out there, and most developers don't benefit by the new codes, nor care about what these codes are called (a code is a code). Just the opposite occurs in fact, since now everyone including MSFT itself has to deal with two codes that represent the same language (and the resulting problems). My own program needs to be fixed to handle this (after a customer contacted me with an issue), others have cited problems on the web (and far more probably haven't publicised theirs), and MSFT itself had to deal with this in their own code. This includes adding both codes to .NET even though they're actually the same language (in 4.0 they distinguished between the two by adding the name "legacy" to the full language name of the older codes), adding special documentation to highlight this situation in MSDN, making "zh-Hans" the parent culture of "zh-CHS" (not sure if it was always this way but it's a highly questionable relationship), and even adding special automated code to newly created "add-in" projects in Visual Studio 2008 (only to later remove this code in Visual Studio 2010, without explanation and therefore causing confusion for developers - long story). In any case, this is not your doing of course, but I don't see how anyone benefits from this change in practice. Only those developers who really care about following the IETF standard would be impacted, and that number is likely very low. For all others, the new codes are just an expensive headache. Again, not blaming you of cours
-
I'm not sure why MSFT decided to change these codes in the first place. While it might have been a noble goal to follow the IETF standard (though I'm not really familiar with this), the old codes were already out there, and most developers don't benefit by the new codes, nor care about what these codes are called (a code is a code).
-
-
stackoverflow.com stackoverflow.com
-
Is there a way to select from multiple custom tables using ActiveRecord QueryMethods? I'm trying to replicate this SQL query using Ruby's ActiveRecord Query Methods. select employee.emplid, address.location from (....) employee, (....) address where employee.emplid = address.emplid
-
-
www.postgresql-archive.org www.postgresql-archive.org
-
>> We have that already, it's named 'json_each_text' > Apparently you haven't looked at json parse/deparse costs ;P Well, a PL function is gonna be none too cheap either. Using something like JSON definitely has lots to recommend it --- eg, it probably won't break when you find out your initial spec for the transport format was too simplistic.
-
-
developer.mozilla.org developer.mozilla.orgProxy1
-
get: function(target, prop, receiver) { return "world"; }
-
-
docs.gitlab.com docs.gitlab.com
-
We want the GraphQL API to be the primary means of interacting programmatically with GitLab. To achieve this, it needs full coverage - anything possible in the REST API should also be possible in the GraphQL API.
-
-
github.com github.com
-
Worth noting that in the case where you're proxying /api/ requests to an external server in nginx you can easily do this in handle today:
-
- May 2021
-
elearning.nbcc.ca elearning.nbcc.ca
-
Review how this is done... be consistent
-
-
en.wikipedia.org en.wikipedia.org
-
As the token is unique and unpredictable, it also enforces proper sequence of events (e.g. screen 1, then 2, then 3) which raises usability problem (e.g. user opens multiple tabs). It can be relaxed by using per session CSRF token instead of per request CSRF token.
-
-
github.com github.com
-
Check this out.
-
-
github.com github.com
-
Check this out.
-
-
security.googleblog.com security.googleblog.com
-
github.com github.com
-
Might have to take this for a spin.
-
-
github.com github.com
-
Check this out!
-
-
www.cs.cornell.edu www.cs.cornell.edu
-
a redesign lately that adds a bunch of crud obscuring the content
-
-
sre.google sre.google
-
Collecting per-second measurements of CPU load might yield interesting data, but such frequent measurements may be very expensive to collect, store, and analyze.
Revisit the log files on our production server.
Tags
Annotators
URL
-
-
sre.google sre.google
-
it is better to allow an error budget—a rate at which the SLOs can be missed—and track that on a daily or weekly basis
-
To save effort, build a set of reusable SLI templates for each common metric; these also make it simpler for everyone to understand what a specific SLI means.
Tags
Annotators
URL
-
-
security.googleblog.com security.googleblog.com
-
With over 16 million pulls per month, Google’s `distroless` base images are widely used and depended on by large projects like Kubernetes and Istio. These minimal images don’t include common tools like shells or package managers, making their attack surface (and download size!) smaller than traditional base images such as `ubuntu` or `alpine`.
I need to check these out.
-
-
www.wta.org www.wta.org
Tags
Annotators
URL
-
-
www.wta.org www.wta.org
-
-
www.reddit.com www.reddit.com
-
Also cross-compatibility with mail clients can be hairy, so you should see what the industry experts are doing.
-
-
css-tricks.com css-tricks.com
-
Please have a look at (in same order)
-
- Apr 2021
-
bestpractices.coreinfrastructure.org bestpractices.coreinfrastructure.orgBadgeApp1
Tags
Annotators
URL
-
-
stackoverflow.com stackoverflow.com
-
There's nothing to stop you from doing initializer code in a file that lives in app/models. for example class MyClass def self.run_me_when_the_class_is_loaded end end MyClass.run_me_when_the_class_is_loaded MyClass.run_me... will run when the class is loaded .... which is what we want, right? Not sure if its the Rails way.... but its extremely straightforward, and does not depend on the shifting winds of Rails.
does not depend on the shifting winds of Rails.
-
-
www.elastic.co www.elastic.co
-
Check it out!
-
-
en.wikipedia.org en.wikipedia.org
-
The use of U+212B 'Angstrom sign', which was encoded due to round-trip mapping compatibility with an East-Asian character encoding, is discouraged, and the preferred representation is U+00C5 'capital letter A with ring above', which has the same glyph.
Is there a difference in semantic meaning between the two? And if so, what is it? 
-
-
stackoverflow.com stackoverflow.com
-
What is the equivalent of unbuffer program on Windows?
-
-
en.wikipedia.org en.wikipedia.org
-
A good heuristic is to not trust the libraries you did not write either.
-
-
-
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.
-
But in all this incongruous abundance you'll certanly find the links to expect It's just what is wanted: the tool, which is traditionally used to communicate automatically with interactive programs. And as it always occurs, there is unfortunately a little fault in it: expect needs the programming language TCL to be present. Nevertheless if it doesn't discourage you to install and learn one more, though very powerful language, then you can stop your search, because expect and TCL with or without TK have everything and even more for you to write scripts.
Tags
- 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)
- scripting: expect
- why create/reinvent a new/different way to do it instead of reusing existing way?
- unwanted dependency
- pointing out gaps/downsides/cons in competition/alternatives
Annotators
URL
-
-
githooks.com githooks.com
-
Figure out which project(s) to use at the Bank.
-
-
github.com github.com
-
Mentioned here:
but I can't find it on my system
-
-
medium.com medium.com
-
“Who cares? Let’s just go with the style-guide” — to which my response is that caring about the details is in the heart of much of our doings. Yes, this is not a major issue; def self.method is not even a code smell. Actually, that whole debate is on the verge of being incidental. Yet the learning process and the gained knowledge involved in understanding each choice is alone worth the discussion. Furthermore, I believe that the class << self notation echoes a better, more stable understanding of Ruby and Object Orientation in Ruby. Lastly, remember that style-guides may change or be altered (carefully, though!).
-
-
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
-
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.
-
-
english.stackexchange.com english.stackexchange.com
-
I actually think this is Not Constructive, since there's no absolute rule about which pairings can be joined into a single word or hyhenated, and it's pointless having "votes" here about each specific case. Follow a style guide if you have one, or search Google Books and copy whatever the majority do. Or just make your own decision.
-
-
stackoverflow.com stackoverflow.com
-
Of course, there is no reason why you can't use <aside> for all sidenotes, if it makes your code simpler. Think of it as civil disobedience. :)
-
-
code.visualstudio.com code.visualstudio.com
-
Show/hide output and metadata differences in the diff editor
-
-
www.kickstarter.com www.kickstarter.com
-
Academy Games has always prided itself in the quality of its rules. Most of our rules are taught in stages, allowing you to start playing as soon as possible without needing to read everything. We are very careful about the order we teach rules and rely heavily on graphics and pictures to facilitate understanding. We also include a large number of detailed picture examples, often with 3D renders, that help you understand the context of the rules.
-
-
github.com github.com
-
This approach is preferable to overriding authenticate_user! in your controller because it won't clobber a lot of "behind the scenes" stuff Devise does (such as storing the attempted URL so the user can be redirected after successful sign in).
-
-
github.com github.com
-
# +devise_for+ is meant to play nicely with other routes methods. For example, # by calling +devise_for+ inside a namespace, it automatically nests your devise # controllers: # # namespace :publisher do # devise_for :account # end
-
-
github.com github.com
-
Scholar@UC: University of Cincinnati's self-submission institutional repository
-
-
github.com github.com
-
Wasn't sure if this belonged as an issue in Devise or Rails though.
-
-
guides.rubyonrails.org guides.rubyonrails.org
-
The hostname's first n segments, starting from the right (the TLD).
-
-
github.com github.com
-
find_field finds by id, name or placeholder text - so find_field('Prefix') should find the element with matching placeholder text rather than needing xpath.
-
-
sfdictionary.com sfdictionary.com
-
Poke around!
-
- Mar 2021
-
bugs.ruby-lang.org bugs.ruby-lang.org
-
Would it be desirable to specify the new object in a block? That would make it somewhat symmetrical to how Hash.new takes a block as a default value.
-
-
en.wikipedia.org en.wikipedia.org
-
This should link to / explain the relationship to: https://en.wikipedia.org/wiki/Class_(computer_programming) (which I believe is a way of expressing / codifying semantic classes into source code).
It should also link to / explain the relationship to: https://en.wikipedia.org/wiki/Type_theory
-
(Not answered on this stub article)
What, precisely, is the distinction/difference between a semantic class and a semantic field? At the very least, you would say that they are themselves both very much within the same semantic field.
So, is a semantic class distinct from a semantic field in that semantic class is a more well-defined/clear-cut semantic field? And a semantic field is a more fluid, nebulous, not well-defined field (in the same sense as a magnetic field, which has no distinct boundary whatsoever, only a decay as you move further away from its source) ("semantic fields are constantly flowing into each other")?
If so, could you even say that a semantic class is a kind of (hyponym) of semantic field?
Maybe I should pose this question on a semantics forum.
-
-
trailblazer.to trailblazer.to
-
This could be an operation, a workflow, or hand-baked Ruby code completely unrelated to Trailblazer.
-
-
www.smashingmagazine.com www.smashingmagazine.com
-
CSS Grid Layout Generator
Give these a try.
Tags
Annotators
URL
-
-
github.com github.com
-
Take this for a spin.
-
-
github.com github.com
-
Or if you need to change the way the string is assembled, you can provide a proc, for example: if defined?(BetterErrors) BetterErrors.editor = proc { |file, line| "vscode://file/%{file}:%{line}" % { file: URI.encode_www_form_component(file), line: line } } end
-
-
gitlab.gnome.org gitlab.gnome.org
-
It sounds like a gnome-open (or the equivalent library call) bug. Reassigning.
-
-
inst-fs-iad-prod.inscloudgate.net inst-fs-iad-prod.inscloudgate.net
-
there are no general principles comparable to Alberti's treatises or Le Corbusier's.
TODO: look up and link.
-
-
store.steampowered.com store.steampowered.com
-
This games a scam. Reviews are fake.
-
-
netflixtechblog.com netflixtechblog.com
-
a Docker container running a very simple NodeJS web server with the Graphile library (and some additional Netflix internal components for security, logging, metrics, and monitoring) could provide a “better REST than REST” or “REST++” platform for rapid development efforts
Give this a try.
Tags
Annotators
URL
-
-
api.rubyonrails.org api.rubyonrails.org
-
Third configurable block to run.
I like how they identify in the description which order things run in: 1st, 2nd, 3rd, and last.
Though, it would be more readable to have a list of them, in chronological order, rather than having them listed in alphabetical order.
-
Last configurable block to run. Called after frameworks initialize.
-
-
blog.izs.me blog.izs.me
-
Focus is better than features.
-
-
www.chevtek.io www.chevtek.io
-
Write modules that do one thing well. Write a new module rather than complicate an old one.
.
-
-
news.ycombinator.com news.ycombinator.com
-
Clearly JS and NPM have done a lot RIGHT, judging by success and programmer satisfaction. How do we keep that right and fix the wrong?
-
-
results.vote.wa.gov results.vote.wa.gov
-
results.vote.wa.gov results.vote.wa.gov
-
- Get out the city shapefile and overlay these values.
- Get the most current version of the voter registration database.
- Determine the number of voters who, according to the Spokane Journal of Business, took part in the 2018 school bond vote, but not the stadium advisory vote. (Geographically, these would be folks who live within SD81, but outside of the city limits.)
-
-
github.com github.com
-
Meh... as I said earlier, I think using Webpack is the recommended way now. Another issue is there is no way to generate source maps in production.
-
But yeah, I'm not sure how you would determine which was the "recommended way" really. I don't see anything in Rails docs saying either way.
-
But last I have seen comments from DHH, he considered webpack(er) recommended for JS, but Sprockets still the preferred solution for (S)CSS.
-
Is there a PR to... something? sassc-rails? That would make the patch not necessary? (I don't know if there's any good way to monkey-patch that in, I think you have to fork? So some change seems required...) Should the defaults be different somehow? This is very difficult to figure out.
-
Is there a PR to... something? sassc-rails?
Tags
- possible response/reaction to lack of maintainance / maintainer absence/silence
- is anyone even still using it anymore?
- official preferred convention / way to do something
- switching/migrating from Sprockets to Webpack (Rails)
- hard to figure out where the problem lies / how to solve the problem / where to even begin
- where (which project) do I even report this problem/bug? (whose responsibility is it?)
Annotators
URL
-
-
github.com github.com
-
I don't even know how to tell if they're working 100%, I'm getting mixed signals ..
-
Should it only contain link* calls?
-
When should I use link, vs dir, vs. tree?
-
but I still have no idea if I'm writing this new file correctly.
-
-
github.com github.com
-
we want source maps in production (like DHH)
-
After waiting years for sprockets to support this we were very happy to see that sprockets 4 officially added support (thanks ), but then when trying to upgrade we noticed there's actually no way to use it in production... (without brittle hacks mentioned above).
-
-
-
Rails still encourages you to dump all validation errors at the top of a form, which is lulzy in this age of touchy UX
-
-
css-tricks.com css-tricks.com
-
always use real <label for="correct_input"> elements. Just that alone is a UX consideration all too many forms fail on
-
-
tylergaw.com tylergaw.com
-
This is a non-exhaustive list of other things I love;
-
-
jangawolof.org jangawolof.orgPhrases2
-
Beykat yi duñu dem tool altine.
-
Noo mën a def dinga fey alamaan bi.
Quoi que tu fasses, tu paieras l'amende.
noo -- you (?)
mën v. -- power ; be stronger than 💪🏽; can, will.
a -- (?).
def v. -- do, commit, execute; to put.
dinga -- you will.
fey v. -- turn off, switch off 📴, appease; pay 💵.
alamaan bi -- (French: l'amende) fine.
bi -- the.
-
-
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...
-
-
www.digitalocean.com www.digitalocean.com
-
Wire this up for Brennan's website, so that I can protect the upload portal.
-
-
www.youtube.com www.youtube.com
-
-
www.lavenderandlovage.com www.lavenderandlovage.com
-
trailblazer.to trailblazer.to
-
signal.to_h[:semantic]
Why not just allow us to call
signal.semantic
? -
Hey, that’s is an imaginary complication of our example - please don’t do this with every condition you have in your app.
Tags
- 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)
- why?
- coming up with hypothetical examples
- extremes
- can we do even better?
- simplify
- artificial example
Annotators
URL
-
- Feb 2021
-
github.com github.com
-
URI::MailTo::EMAIL_REGEXP
First time I've seen someone create a validator by simply matching against
URI::MailTo::EMAIL_REGEXP
from std lib. More often you see people copying and pasting some really long regex that they don't understand and is probably not loose enough. It's much better, though, to simply reuse a standard one from a library — by reference, rather than copying and pasting!!
-
-
trailblazer.to trailblazer.to
-
In combination with [Track()], the :magnetic_to option allows for a neat way to spawn custom tracks outside of the conventional Railway or FastTrack schema.
Instead of
magnetic_to:
, I propose wrapping the steps that are on a separate track in something like...DefTrack do :paypal do step :charge_paypal end
or
paypal_track = RailwayTrack do :paypal do step :charge_paypal end
so we can reference it from outputs, like we can with tracks created with
Path
helper. -
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")
Tags
- DSL
- concise
- useful
- 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)
- powerful
- tip
- helper functions
- flexibility
- can we do even better?
- verbose / noisy / too much boilerplate
Annotators
URL
-