586 Matching Annotations
  1. Last 7 days
  2. May 2022
    1. 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.

    1. 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.)

  3. Apr 2022
    1. 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").
    1. 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.
    2. 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?

    3. This allows them to reference columns provided by preceding FROM items.
    1. 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?

    1. 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.

  4. Mar 2022
  5. Feb 2022
    1. 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.

    2. 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.

    1. 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

    2. 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

    3. 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

    4. Cavadel et al. 2017; Crosby et al. 2019; Hooper and Hallam 2019; Hooper and Scheweiker 2020; Matthews et al. 2015

      Review these studies

  6. Jan 2022
    1. 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:

      1. introduction;
      2. theses and arguments;
      3. 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. enter image description here

      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:

      1. choose a topic;
      2. fix theses and thoughts on the issue;
      3. justify the stated ideas, pick up arguments;
      4. build the theses in a logical sequence, the thoughts should follow one another.

      Essay writing tips

      1. 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.
      2. The essay is a genre that does not involve writing long texts. Thoughts should be expressed briefly, but understandable to the reader.
      3. 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.

    1. 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!

    1. 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>
    1. 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
    1. 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?

    1. https://web.archive.org/web/20081030052305/http://www.solutionwatch.com/368/fifty-ways-to-take-notes/

      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.


  7. Dec 2021
    1. 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)

    1. 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!


    1. 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;

    2. 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

    1. 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

    2. 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

    1. 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).





    1. parodia una escena de la película de 1985 Perfect, protagonizada por John Travolta y Jamie Lee Curtis.[6]​

      no lo sabia! see

    1. 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-???

    2. There are four versions of the video

      !!! look for them!

    1. 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]​


  8. Nov 2021
    1. 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.

    1. Key

      Add choanocyte

    2. 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.)

    3. Unique Feature: Choanocytes: Sponges show a common characteristic with common ancestors shared with Protists. 

      Add images and text associated with Choanocyte to Choanoflagellate connection

  9. Oct 2021
  10. Sep 2021
    1. 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.
    1. In this article, we have curated a list of various monetization strategies and how to implement them to generate massive revenue through an app.
    1. 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.
    1. 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.
  11. Aug 2021
    1. 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.

    1. 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.
    1. I'm going to need some significant time delving into and mining this treasure trove of references.



  12. Jul 2021
  13. Jun 2021
    1. "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

    2. "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."

    1. 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
    1. 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).
    1. 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"]
    1. 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
    2. 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).
    1. >> 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.
    1. 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.
  14. May 2021
    1. 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.
    1. 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.

    1. 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
    2. 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.
    1. 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.

  15. Apr 2021
    1. 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.