993 Matching Annotations
  1. Last 7 days
    1. You can whip up cover letters in no time using ChatGPT! Just paste in your resume text, position title and company name and ask it to write a cover letter for you. It summarizes your skills really well in context of the position and company. Such a time saver. Like everything else AI does lately, it's absurdly good and in Ryan Reynold's words, "mildly terrifying." I have no idea who actually reads cover letters
  2. Mar 2024
    1. Notice how you know where you are in the book by the distribution of weight in each hand, and the thickness of the page stacks between your fingers. Turn a page, and notice how you would know if you grabbed two pages together, by how they would slip apart when you rub them against each other.

      Go ahead and pick up a book. Open it up to some page. Notice how you know how much water is left, by how the weight shifts in response to you tipping it.

      References

      Victor, B. (2011). A brief rant on the future of interaction design. Tomado de https://worrydream.com/ABriefRantOnTheFutureOfInteractionDesign/

  3. Feb 2024
    1. Among 11,300 roles at large firms, companies increased the share of workers without a bachelor’s degree by about 3.5 percentage points. At the same time, this shift only applied to the 3.6% of roles that dropped a requirement during that time period, which means the net effect is a change of .14 percentage points in incremental hiring of candidates without degrees.

      Degree is still advantageous.

  4. Jan 2024
    1. Web assimilation is the extent of organizational use of web technologies in facilitating e-commerce strategies and activities. Our definition focuses on the relative success of firms (as compared to other firms in the industry) in incorporating the Web technology into its e-commerce strategies and activities. This definition is consistent with perspectives on Type III IS innovations, with earlier treatments of IT assimilation at the organizational level (Armstrong and Sambamurthy 1999), and reflects our interest in understanding firms as innovation systems for attaining differential levels of technology assimilation success (Fichman 2001). We regard the level of assimilation to be one of the visible outcomes of the stream of structuring actions across the firm. Further, we anticipate the differential level of assimilation success across firms to be linked to the nature of the institutional enablers or the metastructuring actions within those firms.

      Definition and further explanation of the mean of Web Asssimilation.

    1. Instance methods Instances of Models are documents. Documents have many of their own built-in instance methods. We may also define our own custom document instance methods. // define a schema const animalSchema = new Schema({ name: String, type: String }, { // Assign a function to the "methods" object of our animalSchema through schema options. // By following this approach, there is no need to create a separate TS type to define the type of the instance functions. methods: { findSimilarTypes(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); } } }); // Or, assign a function to the "methods" object of our animalSchema animalSchema.methods.findSimilarTypes = function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); }; Now all of our animal instances have a findSimilarTypes method available to them. const Animal = mongoose.model('Animal', animalSchema); const dog = new Animal({ type: 'dog' }); dog.findSimilarTypes((err, dogs) => { console.log(dogs); // woof }); Overwriting a default mongoose document method may lead to unpredictable results. See this for more details. The example above uses the Schema.methods object directly to save an instance method. You can also use the Schema.method() helper as described here. Do not declare methods using ES6 arrow functions (=>). Arrow functions explicitly prevent binding this, so your method will not have access to the document and the above examples will not work.

      Certainly! Let's break down the provided code snippets:

      1. What is it and why is it used?

      In Mongoose, a schema is a blueprint for defining the structure of documents within a collection. When you define a schema, you can also attach methods to it. These methods become instance methods, meaning they are available on the individual documents (instances) created from that schema.

      Instance methods are useful for encapsulating functionality related to a specific document or model instance. They allow you to define custom behavior that can be executed on a specific document. In the given example, the findSimilarTypes method is added to instances of the Animal model, making it easy to find other animals of the same type.

      2. Syntax:

      Using methods object directly in the schema options:

      javascript const animalSchema = new Schema( { name: String, type: String }, { methods: { findSimilarTypes(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); } } } );

      Using methods object directly in the schema:

      javascript animalSchema.methods.findSimilarTypes = function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); };

      Using Schema.method() helper:

      javascript animalSchema.method('findSimilarTypes', function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); });

      3. Explanation in Simple Words with Examples:

      Why it's Used:

      Imagine you have a collection of animals in your database, and you want to find other animals of the same type. Instead of writing the same logic repeatedly, you can define a method that can be called on each animal instance to find similar types. This helps in keeping your code DRY (Don't Repeat Yourself) and makes it easier to maintain.

      Example:

      ```javascript const mongoose = require('mongoose'); const { Schema } = mongoose;

      // Define a schema with a custom instance method const animalSchema = new Schema({ name: String, type: String });

      // Add a custom instance method to find similar types animalSchema.methods.findSimilarTypes = function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); };

      // Create the Animal model using the schema const Animal = mongoose.model('Animal', animalSchema);

      // Create an instance of Animal const dog = new Animal({ type: 'dog', name: 'Buddy' });

      // Use the custom method to find similar types dog.findSimilarTypes((err, similarAnimals) => { console.log(similarAnimals); }); ```

      In this example, findSimilarTypes is a custom instance method added to the Animal schema. When you create an instance of the Animal model (e.g., a dog), you can then call findSimilarTypes on that instance to find other animals with the same type. The method uses the this.type property, which refers to the type of the current animal instance. This allows you to easily reuse the logic for finding similar types across different instances of the Animal model.

      Certainly! Let's go through each part and explain it in simple terms: ### 1. `this` in Mongoose: - **What is `this`?** In JavaScript, `this` refers to the current context or object. In Mongoose, particularly within methods and middleware functions, `this` represents the instance (document) the function is currently operating on. - **Why is it used?** `this` is used to access and modify the properties of the current document. For example, in a Mongoose method, `this` allows you to refer to the fields of the specific document the method is called on. ### 2. Example: Let's use the `userSchema.pre("save", ...)`, which is a Mongoose middleware, as an example: ```javascript userSchema.pre("save", async function (next) { if (!this.isModified("password")) { next(); } else { this.password = await bcrypt.hash(this.password, 10); next(); } }); ``` - **Explanation in Simple Words:** - Imagine you have a system where users can sign up and set their password. - Before saving a new user to the database, you want to ensure that the password is securely encrypted (hashed) using a library like `bcrypt`. - The `userSchema.pre("save", ...)` is a special function that runs automatically before saving a user to the database. - In this function: - `this.isModified("password")`: Checks if the password field of the current user has been changed. - If the password is not modified, it means the user is not updating their password, so it just moves on to the next operation (saving the user). - If the password is modified, it means a new password is set or the existing one is changed. In this case, it uses `bcrypt.hash` to encrypt (hash) the password before saving it to the database. - The use of `this` here is crucial because it allows you to refer to the specific user document that's being saved. It ensures that the correct password is hashed for the current user being processed. In summary, `this` in Mongoose is a way to refer to the current document or instance, and it's commonly used to access and modify the properties of that document, especially in middleware functions like the one demonstrated here for password encryption before saving to the database.

    Tags

    Annotators

    URL

    1. we need to make the transition acceptable and attractive for the vast majority of citizens, and the only way to do that, is to make the changes easy to adopt. This requires strong engagement with society at large, and policies that make sustainable life choices not only easier, but also cheaper and more attractive. Or, put it the other way around, it must be more expensive to destroy the planet or the health of our fellow citizens".
      • for: meme - make it expensive to destroy the planet, quote - Johan Rockstrom, quote - make it expensive to destroy the planet, key insight - make it expensive to destroy the planet

      • key insight

      • meme
      • quote: Johan Rockstrom
        • we need to make the transition acceptable and attractive for the vast majority of citizens, and the only way to do that, is to make the changes easy to adopt. This requires strong engagement with society at large, and policies that make sustainable life choices not only easier, but also cheaper and more attractive. Or, put it the other way around, it must be more expensive to destroy the planet or the health of our fellow citizens".
    1. I thing you are doing a very subtle mistake which will become fatal in long-term. Your strategy to take small steps that cover as much functionality as possible is reasonable, but it is necessary to be careful, as it leads to a critical state when there is too much little stuff built up without proper structure to support it.
    2. When the relations are implemented in the right way, they will simplify Gitlab, not make it more complex.
    3. That helps us keep GitLab simple as long as we can.
    1. One way is to have a very simple model of the same thing like Github and let users decide on the hierarchy of things. If Gitlab really want to go one step further and give users more then its really important simplicity is not killed in the process.
    1. It assigns accountability for the whole project, which means it’s less likely for small details and tasks to “fall through the cracks”, those of which could be missed when responsibility is spread among multiple individuals.
    1. 4) Don’t make people log in to unsubscribe.Your subscriber is already overwhelmed by his inbox. He probably spends about 28% of his workday just managing email, according to a McKinsey Global Institute report. So don’t make it any harder by forcing him to log into an account he probably doesn’t remember creating before he can unsubscribe.
  5. Dec 2023
    1. This book is an invitation.

      Given that there is no way we could pay back the creators of Smalltalk for their immense gift, Cuis is our attempt to pay it forward. Yes, it is a work of love. — Juan Vuletich, Cuis-dev mailling list 2020-04

    1. its easy to get lost in complexity here, but i prefer to keep it simple: our *only* problem is overpopulation, which is caused by pacifism = civilization. *all* other problems are only symptoms of overpopulation. these "financial weapons of mass destruction" (warren buffett) have the only purpose of mass murder = to kill the 95% useless eaters. so yes, this is a "controlled demolition" aka "global suicide cult". most of us will die, but we are happy...

      financial weapons of mass destruction: the useful idiots believe that they can defeat risk (or generally, defeat death) by centralization on a global scale. they want to build a system that is "too big to fail" and which will "live forever". they use all kinds of tricks to make their slaves "feel safe" and "feel happy", while subconsciously, everything is going to hell in the long run. so this is just another version of "stupid and evil people trying to rule the world". hubris comes before the fall, nothing new. their system will never work, but idiots must try... because "fake it till you make it" = constructivism, mind over matter, fantasy defeats reality, ...

      the video and soundtrack are annoying, they add zero value to the monolog.

    1. Readwise Reader

      A great article on the history of reading online that might just nudge me into trying out and eventually becoming a Reader paid subscriber.

    1. The Beyond Oil and Gas Alliance (BOGA) is an international alliance of governments and stakeholders working together to facilitate the managed phase-out of oil and gas production.
    1. https://werd.io/2023/doing-it-all

      Interesting to see what, in generations past, might have been a gendered (female) striving for "having it all" (entailing time with children, family and a career) has crossed over into the masculine space.

      Sounds like Ben's got some basic priorities set, which is really the only thing necessary. Beyond this, every parent, especially of new babies, in the W.E.I.R.D. culture is tired. By this measurement he's doing it "right". What is missing is an interpersonal culture around him of extended family and immediate community of daily interaction to help normalize his conditions. Missing this he's attempting to replace the lack of experience with this area by reaching out to his online community, which may provide a dramatically different and biased sample.

      Some of the "it takes a village" (to raise a child) still operates on many facets, but dramatically missing is the day-to-day direct care and help that many parents need.

      Our capitalistic culture has again, in this case of parenting in the W.E.I.R.D. world, managed to privatize the profits and socialize the losses. Here the losses in Ben's case are on his physical well-being (tiredness) and his mental state wondering if his case is "normal". A further loss is the erosion of his desire for a family unit and cohesion of community which the system is attempting to sever by playing on his desire to "have it all". Giving in to the pull of work at the expense of family only drives the system closer to collapse.

  6. Nov 2023
    1. One more example of a simple approach to this that might help a lot too is add a PORO generator. It could be incredibly basic - rails g poro MyClass yields class MyClass end But by doing that and landing the file in the app/models directory, it would make it clear that was the intended location instead of lib.
    2. But I do question why lib and not something in app is the common suggestion for classes/modules who do not fall into the default set of folders (models, controllers, jobs, etc). Is it just because it's what we've been doing for so long? To me feels like we're trying to shoehorn the lib folder into further being a kitchen sink (now holding rake tasks and miscellaneous classes), rather than just saying "your Ruby classes/modules go somewhere in app because they're application code".
    3. So then they put it into lib only to find that they have to manually require it. Then later realize that this also means they now have to reboot their server any time they change the file (after a painfully long debugging time of "why what aren't my changes working?", because their lib folder classes are now second-class citizens). Then they go down the rabbit hole of adding lib to the autoload paths, which burns them because rake tasks then all get eager loaded in production. Then they inevitably realize anything inside app is autoloaded and make an app/lib per Xavier's advice.
    4. I think the symmetry of the naming between lib and app/lib will lead a fresh Rails developer to seek out the answer to “Why are there two lib directories?", and they will become illuminated. And it will prevent them from seeking the answer to “How do I autoload lib?” which will start them on a rough path that leads to me advising them to undo it.
    1. From this self-critical and controlled reasoning which is applied objectively andmethodically to the world, it makes sure to construct an "objectivity" which transcends the
      • for: adjacency - objectivity - imputation of the other

      • adjacency between

        • objectivity
        • imputation of the other
      • adjacency statement
        • there is a subtle assumption behind objectivity, namely that at least one other consciousness exists which can experience something the phenomena in a sufficiently similar way.
        • this is not a trivial assumption. Consider Thomas Nagel's "What is it like to be a bat?" Another human subject is typically required when "objectivity" is invoked. Certainly a bat could not experience the same phenomena objectively!
        • This also begs the question: to what extent can another human experience the phenomena the same way? We are assuming that two human beings who agree on the objectivity of a fact know what it is like to be the other in some salient way.
    1. Butno matter how the form may vary, the fact that an organism hasconscious experience at all means, basically, that there is somethingit is like to be that organism
    2. for: empathy, self other dualism, symbolosphere, Deep Humanity, DH, othering, What is it like to be a bat?, Thomas Nagel, ingroup outgroup

      • title: What is it Like to be a Bat?
      • author: Thomas Nagel
      • date: Oct 1974

      • comment

        • Forget about what it's like to be a bat, what's it like to be another human!
        • This is a paper that can deepen our understanding of what it means to be empathetic and also its opposite, what it means to participate in othering. In the fragmented , polarized world we live in, these are very important explorations.
        • Insofar as the open source Deep Humanity praxis is focused on exploring the depths of our humanity to help facilitate the great transition through the meaning / meta / poly crisis embroiling humanity, knowing what the "other" means is very salient.

      NOTE - references - for references to any words used in this annotation which you don't understand, please use the tool in the following link to search all of Stop Reset Go's annotations. Chances are that any words you do not understand are explored in our other annotations. Go to the link below and type the word in the "ANY" field to find the annotator's contextual understanding, salience and use of any words used here

      https://jonudell.info/h/facet/?max=100&expanded=true&user=stopresetgo&exactTagSearch=true

  7. Oct 2023
    1. We wrześniu 2023 roku w większości badanych zawodów zanotowano spadki liczby ofert pracy rok do roku Największy widoczny jest w branży IT – pracodawcy opublikowali o 52 proc. mniej ofert rok do roku
  8. Sep 2023
    1. If anything in this policy does not fit with your own local policy, you should not use dnswl.org for whitelisting or similar purposes.
    1. "Surrendering" by Ocean Vuong

      1. He moved into United State when he was age of five. He first came to United State when he started kindergarten. Seven of them live in the apartment one bedroom and bathroom to share the whole. He learned ABC song and alphabet. He knows the ABC that he forgot the letter is M comes before N.

      2. He went to the library since he was on the recess. He was in the library hiding from the bully. The bully just came in the library doing the slight frame and soft voice in front of the kid where he sit. He left the library, he walked to the middle of the schoolyard started calling him the pansy and fairy. He knows the American flag that he recognize on the microphone against the backdrop.

    1. Recent work has revealed several new and significant aspects of the dynamics of theory change. First, statistical information, information about the probabilistic contingencies between events, plays a particularly important role in theory-formation both in science and in childhood. In the last fifteen years we’ve discovered the power of early statistical learning.

      The data of the past is congruent with the current psychological trends that face the education system of today. Developmentalists have charted how children construct and revise intuitive theories. In turn, a variety of theories have developed because of the greater use of statistical information that supports probabilistic contingencies that help to better inform us of causal models and their distinctive cognitive functions. These studies investigate the physical, psychological, and social domains. In the case of intuitive psychology, or "theory of mind," developmentalism has traced a progression from an early understanding of emotion and action to an understanding of intentions and simple aspects of perception, to an understanding of knowledge vs. ignorance, and finally to a representational and then an interpretive theory of mind.

      The mechanisms by which life evolved—from chemical beginnings to cognizing human beings—are central to understanding the psychological basis of learning. We are the product of an evolutionary process and it is the mechanisms inherent in this process that offer the most probable explanations to how we think and learn.

      Bada, & Olusegun, S. (2015). Constructivism Learning Theory : A Paradigm for Teaching and Learning.

    1. I'd suggest that you play around a little bit with a vanilla app. Create a brand new app without any additional files, just what rails new generates. See how bin/rails runner Models raises an error because there is no models directory in autoload_paths. Now, put config.autoload_paths += %W(#{config.root}/app) in config/application.rb and observe how bin/rails runner Models just returns a prompt. With the confidence of having that running, then transalate to your app.
  9. Aug 2023
    1. async vs. sync depends exactly on what you are doing in what context. If this is in a network service, you need async. For a command line utility, sync is the appropriate paradigm in most simple cases, but just knee-jerk saying "async is better" is not correct. My snippet is based on the OP snippet for context.
    1. ExxonMobil, the world’s biggest oil company, knew as early as 1981 of climate change – seven years before it became a public issue, according to a newly discovered email from one of the firm’s own scientists. Despite this the firm spent millions over the next 27 years to promote climate denial.

      Exxon knew as early as 1981 of climate change, and since has been actively denying and distracting from the real issue - burning fossil fuels

    1. The oil giant Exxon privately “predicted global warming correctly and skilfully” only to then spend decades publicly rubbishing such science in order to protect its core business, new research has found.

      Exxon knew from their climate scientists

    1. The Massachusetts high court on Tuesday ruled that the US’s largest oil company, ExxonMobil, must face a trial over accusations that it lied about the climate crisis and covered up the fossil fuel industry’s role in worsening environmental devastation.

      Exxon must face trial for climate crimes, Exxon Knew

  10. Jul 2023
    1. avoid taking notes. Pay attention to what you are hearing and participate in the discussion to help keep your focus.

      This is really good advice. Although, I recently heard that sometimes just scribbling, even non-sense, can actually be beneficial to retaining the information you are hearing. I haven't been able to put it to practice but would love to over the course of this program.

  11. Jun 2023
    1. Are protected members/fields really that bad? No. They are way, way worse. As soon as a member is more accessible than private, you are making guarantees to other classes about how that member will behave. Since a field is totally uncontrolled, putting it "out in the wild" opens your class and classes that inherit from or interact with your class to higher bug risk. There is no way to know when a field changes, no way to control who or what changes it. If now, or at some point in the future, any of your code ever depends on a field some certain value, you now have to add validity checks and fallback logic in case it's not the expected value - every place you use it. That's a huge amount of wasted effort when you could've just made it a damn property instead ;) The best way to share information with deriving classes is the read-only property: protected object MyProperty { get; } If you absolutely have to make it read/write, don't. If you really, really have to make it read-write, rethink your design. If you still need it to be read-write, apologize to your colleagues and don't do it again :) A lot of developers believe - and will tell you - that this is overly strict. And it's true that you can get by just fine without being this strict. But taking this approach will help you go from just getting by to remarkably robust software. You'll spend far less time fixing bugs.

      In other words, make the member variable itself private, but can be abstracted (and access provided) via public methods/properties

    2. As soon as you make a member not-private, you are stuck with it, forever and ever. It's your public interface now.
    1. I just wanted to tweak Java's BufferedReader to handle custom line delimiters. Thanks to private fields I have to clone the entire class rather than simply extending it and overriding readLine().
    2. I'm not saying never mark methods private. I'm saying the better rule of thumb is to "make methods protected unless there's a good reason not to".
    3. Marking methods protected by default is a mitigation for one of the major issues in modern SW development: failure of imagination.
    4. The old wisdom "mark it private unless you have a good reason not to" made sense in days when it was written, before open source dominated the developer library space and VCS/dependency mgmt. became hyper collaborative thanks to Github, Maven, etc. Back then there was also money to be made by constraining the way(s) in which a library could be utilized. I spent probably the first 8 or 9 years of my career strictly adhering to this "best practice". Today, I believe it to be bad advice. Sometimes there's a reasonable argument to mark a method private, or a class final but it's exceedingly rare, and even then it's probably not improving anything.
  12. May 2023
    1. This ensures that GetResponse and our customers comply with Anti-Spam laws.

      IMHO, the customer should be able to opt out of this automatic adding if they want more/full control over the footer. Then they can take on the responsibility themselves.

    1. Figure 2.3 The fi xation of paper slips. (From Wellisch 1981, p. 12.)

      This is essentially a version of a modern pinboard with ribbons which are used to hold various pieces onto the board!

      Also similar in functionality to Post-it Notes, but with string instead of glue.

    1. Stop to think about "normal app" as like desktop app. Android isn't a desktop platform, there is no such this. A "normal" mobile app let the system control the lifecycle, not the dev. The system expect that, the users expect that. All you need to do is change your mindset and learn how to build on it. Don't try to clone a desktop app on mobile. Everything is completely different including UI/UX.

      depends on how you look at it: "normal"

    1. Bond

      A bond is a fixed-income instrument that represents a loan made by an investor to a borrower (typically corporate or governmental). A bond could be thought of as an I.O.U. between the lender and borrower that includes the details of the loan and its payments. Bonds are used by companies, municipalities, states, and sovereign governments to finance projects and operations. Owners of bonds are debtholders, or creditors, of the issuer.

  13. Apr 2023
    1. In recent git versions, git restore is supposed to be a "better" way to revert undesired local changes than the overloaded checkout. Great, that sounds reasonable - a nice simple purpose-built tool for a common operation.
    1. will fail to give them credit for brilliant talents and excellent dispositions.

      I am confused on who Frederick Douglas referred to as the people who will fail to give these women credit for brilliant talents and excelent dispositons. Was he talking about the audience at the convention or was he talking about people in the general population?

    2. Among these was a declaration of sentiments, to be regarded as the basis of a grand movement for attaining all the civil, social, political and religious rights of woman.

      What were these sentiments? I am curious about how they constructed and pushed forth with their views and points. Fedrick Douglas mentioned that some of these women read their greivances; I have a question for these women. Were any of the sentiments more important than the others, and why?

    3. Many who have at last made the discovery that negroes have some rights as well as other members of the human family, have yet to be convinced that woman is entitled to any.

      So basically a black woman had to fight for her rights because she is black AND because she is a woman? A black woman had two barriers that held them from being treated like a decent human being, and not one or the other. Of course there were other circumstances and disadvantages but race and gender were big at this time.

  14. Mar 2023
    1. https://www.3m.co.uk/3M/en_GB/post-it-notes/ideas/articles/make-the-leap-from-to-do-to-done-with-the-scrum-methodology/

      "The Scrum method" described here, similar to the Kanban method, the Memindex method, tickler systems, or other card index as productivity systems, seems to be a productized name for selling Post-it Notes.

      Scrum method consists of a project broken down into "story" rows with "to do" items in columns which progress along to "in process", "to verify", and finally "done".

      Other productized names (particular to the note taking space): Antinet zettelkasten, Linking Your Thinking, Second Brain, etc.

    2. The Scrum method, which is powered by Post-it® Products, breaks up a project into bite-sized modules. It helps to track each task through various stages of completion, and ensures that everyone on the team is aware of progress and updates. It can help turn thoughts into actions, and actions into achievement.

      Seeing this, I can't help but think about some of the ads from the early 1900s for filing cabinets and card indexes which had similar named methodologies for productivity, but which were also advertisements for purchasing the associated physical goods.

      Examples: Shaw-Walker, Yawman & Erbe, etc.

    1. As I said above, the deciding factor is what is meant by syntax. If the request was sent with a Content Type of application/json, then yes, the request is syntactically valid because it's valid JSON syntax, but not semantically valid, since it doesn't match what's expected. (assuming a strict definition of what makes the request in question semantically valid or not). If, on the other hand, the request was sent with a more specific custom Content Type like application/vnd.mycorp.mydatatype+json that, perhaps, specifies exactly what fields are expected, then I would say that the request could easily be syntactically invalid, hence the 400 response.
    1. We now take an opinionated stance on which second factor you should set up first – you'll no longer be asked to choose between SMS or setting up an authenticator app (known as TOTP), and instead see the TOTP setup screen immediately when first setting up 2FA.
    1. discussions about SMS-2FA get heated very quickly. I've found that SMS-2FA deployment or advocacy has been a major professional project for some people, and they take questioning it's efficacy personally
    2. We have a finite pool of good will with which we can advocate for the implementation of new security technologies. If we spend all that good will on irritating attackers, then by the time we’re ready to actually implement a solution, developers are not going to be interested.
    1. the issues I've always had with it: No support. As in, no one in Google's support organization has any clue about what this app does. No support group discussions as far as I can tell ("Smart Lock" is too generic to really find anything). That's not surprising, because while I've figured out how it works/what it does in my use case, there's really no clear documentation on it - like what it even does, really.
    1. {{#discriminator.mappedModels}} {{#-first}} {{#vendorExtensions.x-useDeduction}} @JsonTypeInfo(use = JsonTypeInfo.Id.DEDUCTION) {{/vendorExtensions.x-useDeduction}} {{^vendorExtensions.x-useDeduction}}
    1. Small Collision Probabilities

      How probable is for some git hash-ids (some chars, not the full length) to collide:

      • for a small project with ~100 commits:

        • 8 digits (32bits): 1/million
        • 7 digits (28bits): 1/54,000
        • 6 digits (24bits): 1/3,400
      • for a big project: with ~10.000 commits:

        • 8 digits: 1/100
        • 7 digits: 1/6
        • 6 digits: ~1

      As confirmed with the vecto repo, with these ipython commands: ```ipython

      !git rev-list --all --count 14042 def collissions(k,N): ...: return 1 - e((-k(k-1)/(2N)))

      collissions(14042, 16**6) 0.9971938358691735 !git rev-list --all | cut -c -6 | sort | uniq -cd 2 5af40d 2 6a6c62 2 914c24 2 d83979 2 e8060f

      collissions(14042, 16**7) 0.3073608000674162 !git rev-list --all | cut -c -7 | sort | uniq -cd 2 e8060f9

      collissions(14042, 16**8) 0.022691464724788335 !git rev-list --all | cut -c -8 | sort | uniq -cd <nothing> ```

    1. In the new collection, The Good It Promises, The Harm It Does, activists and scholars address the deeper problems that EA poses to social justice efforts. Even when EA is pursued with what appears to be integrity, it damages social movements by asserting that it has top-down answers to complex, local problems, and promises to fund grass-roots organizations only if they can prove that they are effective on EA’s terms.
  15. Feb 2023
    1. De UvA gaat voorlopig geen nieuwe onderzoekssamenwerkingen met Shell of soortgelijke bedrijven aan.

      UvA gaat voorlopig geen nieuwe onderzoekssamenwerkingen met Shell of soorgelijke bedrijven aan.

  16. Jan 2023
    1. https://www.youtube.com/watch?v=NPqjgN-pNDw


      When did the switch in commonplace book framing did the idea of "second brain" hit? (This may be the first time I've seen it personally. Does it appear in other places?) Sift through r/commonplace books to see if there are mentions there.


      By keeping one's commonplace in an analog form, it forces a greater level of intentionality because it's harder to excerpt material by hand. Doing this requires greater work than arbitrarily excerpting almost everything digitally. Manual provides a higher bar of value and edits out the lower value material.

    1. 个人学习可能取决于他人行为的主张突出了将学习环境视为一个涉及多个互动参与者的系统的重要性
    1. https://omnivore.app/<br /> Open source version of readwise

      Originally bookmarked from phone on Sun 2023-01-15 11:25 PM

      updated: 2023-01-17 with tag: "accounts"

    1. The fate of Luetzerath embodies Germany's battle to ditch coal to meet its climate commitments and also keep the lights on following Russia's squeeze on gas supplies.

      Sky news on Luetzerath with strong picture

    1. Die Braunkohle unter dem Dorf Lützerath (Kreis Heinsberg) wird nicht benötigt, um die Energieversorgung in Deutschland sicherzustellen.

      Lützerath kohle nicht gebraucht

    1. Am 1. Dezember wurde im Bundestag der Deal des vorgezogenen Kohleausstiegs zwischen Robert Habeck, NRW-Ministerin Mona Neubaur und RWE-Chef Krebber angenommen(1).

      luetzerathlebt.info - aktuelle situation

    1. Wir sind die Initiative „Lützerath Lebt“ und mittlerweile seit circa zwei Jahren in Lützerath aktiv. Unser Protest vor Ort entstand als RWE im Juni 2020 die Landstraße (L277) zwischen Lützerath und Keyenberg abgerissen hat.

      Was ist Lützerath lebt?

    1. what i want you to do is to now imagine somebody whose body you would like to have 00:28:23 as your own either for a few minutes or maybe long term i'm not going to ask you why you want that body i don't want to get that deep into your psyche and that might be very personal um 00:28:35 but i'll tell you whose body i'd like to have and for how long just to give you a warm-up feel for this i really would like to have usain bolt's body of a few years ago for 9.6 seconds 00:28:47 because i would love to know what it feels like to run 100 meters that fast now when i form that does i think it's a coherent desire how do i why do i think that because i really do desire it i would love it i'd pay a lot of money to 00:28:59 do that um but what i don't want is to be usain bolt because usain bolt is already the same bolt and that doesn't do me any good um what i want is to be me 00:29:12 j with usain bolt's body so i can know what it feels like to run really really fast now i'm not claiming that this is a coherent desire i'm not claiming that it's 00:29:24 possible for me to remain jay and have usain bolt's body but i am claiming that i can desire it and if you are anything like me for some body or other you can desire to 00:29:36 have it for some time or other if you can form that desire then you in deep in your gut don't believe that you are your body you believe that you have a body and that 00:29:48 you might have a different body just like you might have a different hat or a different cat and if you believe that then you really do believe that whatever you are you are not your body 00:30:01 now you might think well that's obviously true i've never thought i was my body um but maybe on my mind i don't think you really believe that either and i want to do the same thought 00:30:13 experiment to convince you of that now i want you to think about somebody's mind that you'd really like to have maybe not for a long time maybe only for a few minutes um i'll tell you mine again i'm really 00:30:25 big and divulging you know hyper sharing over sharing personal secrets um i would really love to have stephen hawking's mind when he was still alive of course not now um and i'd like to have it only for about five or ten 00:30:36 minutes because what i would really like is to be able to really understand quantum gravity and i can't really understand it but if i had stephen hawking's mind for a few minutes then i could understand it now i obviously 00:30:48 don't want to be stephen hawking for one thing he's dead for another thing he was already stephen hawking and it didn't do me a damn bit of good what i want is to be me jay with his mind so that i can 00:31:00 use it to understand quantum gravity um i think that'd be really cool again i'm not claiming this is coherent i'm not claiming that it's possible but i am claiming that it's a 00:31:11 psychologically possible state to be in to crave somebody else's mind and if you like me can form that desire then you like me deep in your gut do not believe that you are your mind 00:31:25 you believe that you're something that has a mind just like you have a body um and that you possessed that mind and you could still be you with another mind and another body i mean just imagine having 00:31:37 the same bolts body in stephen hawking's mind that would be totally cool then i could understand quantum gravity while setting a new record for the 100 meter sprint um but that's not going to happen alas 00:31:50 um the moral of these experiments um takes us right back to chandragiri serpent i think the moral of these experiments is that deep down at an atavistic gut 00:32:02 level we believe that we are something that stands behind our minds and our bodies that thing is the self the thing that is not the mind in the body but possesses the mind in the body that's the thing 00:32:14 that sean decurity identifies as the serpent in the wall our arguments are going to be aimed at that not at our bodies not as our minds not as our personal identities they're 00:32:27 going to be aimed at that self that we really atavistically believe stands behind all of those that's the illusion that's the thing that causes us to be incompetent morally that causes us to be 00:32:41 confused about our own identities and to be confused about our role and our place in the world

      !- BEing journey Gedanken : imagine yourself to have different body, different mind - if you can imagine this, then you believe you ARE NOT the body or mind, but the SELF that HAS the body or mind - examples of imagining having another mind or body: what would it be like to be there mind of wife? My husband? My child? My friend? My enemy? My dog? My cat? A bat ( Thomas Hagel)? Isn't this imagination salient for empathising? To imagine being another person, don't we need to imagine being in their mind and body to imagined experiencing like they do?

  17. Dec 2022
    1. I have yet to see a Snapd or Flatpak build of Audacity that I'm happy with. Those builds are beyond our control as they are made by 3rd parties. I do find it mildly annoying that Flatpak direct users that have problems with their builds to us.

      annotation meta: may need new tag: the runaround?

    1. The only negative to this method is that it may not ALWAYS work. If the data is faulty, or the link is inaccurately provided by the sender, Gmail won’t be able to recognise and include the unsubscribe button in Gmail.
    2. You may find this link isn’t available straight away, after a few emails one should appear, this is a common technique with mailing list providers.
    1. Here are some recommended unsubscribe methods: Include a prominent link in the message that takes recipients to a page for unsubscribing. Let recipients review the individual mailing lists they’re subscribed to. Let them unsubscribe from lists individually, or all lists at once. Automatically unsubscribe recipients who have multiple bounced messages. Periodically send a confirmation message to recipients to make sure they still want to get your messages.
    2. Let recipients easily unsubscribe Always give recipients a way to unsubscribe from your messages. Make unsubscribing easy. Letting people opt out of your messages can improve message open rates, click-through rates, and sending efficiency.
    3. Make sure recipients can easily subscribe
    1. Many mail systems allow recipients to report mail as spam or junk, and mail streams from senders whose mail is often reported as junk tend to have poor deliverability. Hence, the mailers want to make it as easy as possible for recipients to unsubscribe; if an unsubscription process is too difficult, the recipient's alternative is to report mail from the sender as junk until the mail no longer appears in the recipient's inbox.
    1. If a contact ever reaches out and is no longer receiving messages because they accidentally marked one of your campaigns as spam, you can reach out to Product Support. We can remove them from the suppression list for you. 

      why not allow user to do it directly instead of force to contact support? If they'll remove it for you because you said the user asked you to... why not just let you remove the suppression yourself? Mailgun lets you directly delete suppressions via their API.

    1. Let’s say the recipient is considering unsubscribing. He or she may be too busy to search through the email to find the unsubscribe link, so he or she just clicks “Report as SPAM” to stop the emails from coming. This is the last thing any marketer wants to see happen. It negatively impacts sender reputation, requiring extra work to improve email deliverability. With the list-unsubscribe header, you will avoid getting into this kind of trouble in the first place.
  18. Nov 2022
    1. In our system, events are generated by physical hosts and follow different routes to the event storage. Therefore, the order in which they appear in the storage and become retrievable - via the events API - does not always correspond to the order in which they occur. Consequently, this system behavior makes straight forward implementation of event polling miss some events. The page of most recent events returned by the events API may not contain all the events that occurred at that time because some of them could still be on their way to the storage engine. When the events arrive and are eventually indexed, they are inserted into the already retrieved pages which could result in the event being missed if the pages are accessed too early (i.e. before all events for the page are available). To ensure that all your events are retrieved and accounted for please implement polling the following way:
    1. In v3, svelte-preprocess was able to type-check Svelte components. However, giving the specifics of the structure of a Svelte component and how the script and markup contents are related, type-checking was sub-optimal. In v4, your TypeScript code will only be transpiled into JavaScript, with no type-checking whatsoever. We're moving the responsibility of type-checking to tools better fit to handle it, such as svelte-check, for CLI and CI usage, and the VS Code extension, for type-checking while developing.
    1. engineers and product people just hate working on features “sold” by the sales department without asking them in an effort to meet objectives for bonuses.

      Allmost all corporations isolate sales from development, and that's a root cause of the decline (see Microsoft's dissapointing software products, eg. Teams).

    1. The most significant problem of a code review is asynchronous ping-pong of quite difficult questions/answers. This is inefficient, but also makes people frustrated.

      Indeed it's disheartening to await for a code-review.

    1. How to reveal if developers are micromanaged? Ask the following.How do you handle bugs? Do you handle these as a team or an individual solves them?What’s your on-call policy? Do you have one?Do developers feel in control of the tasks? Do you have clear task scopes?

      Nice Qs no2 to the interviewer (and to the team members!).

    2. What can you use to find out fake agile practices?Ask the following questions:How do you handle bugs? Are bugs resolved as a team or an individual handles them?How often do you release software? What’s your release cadence?Do you have a product owner, scrum masters? How is communication to the client done?What’s your code review process? How many required approvals do you have? What’s the last comment you left on a code review?What’s your take on tech debt? How would you classify tech debt?Tell me more about testing practices. Do you use Sonar or other static analysis tools? Do you use integration, unit tests? Do you have a dedicated team of testers?How do you handle issues? Do you have an issue tracker?

      Nice Qs no1 to the interviewer (and to the team members!).

    1. The answer lies in an important and helpful rule of reading that is generally overlooked.That rule is simply this: In tackling a difficult book for the firsttime, read it through without ever stopping to look up orponder the things you do not understand right away.
    1. highly recommended that the resulting image be just one concern per container; predominantly this means just one process per container, so there is no need for a full init system

      container images: whether to use full init process: implied here: don't need to if only using for single process (which doesn't fork, etc.)

    1. Doing everything PID 1 needs to do and nothing else. Things like reading environment files, changing users, process supervision are out of scope for Tini (there are other, better tools for those)
    2. As to whether you should be using Tini.
    1. If you want a queueing system that uses X, use a queuing system that uses X! Sidekiq's mantra is simple and efficient. Redis is both. Abstracting data storage is neither.
  19. Oct 2022
    1. https://www.youtube.com/watch?v=mI3yiPA6npA

      Generally interesting and useful, but is broadly an extended advertisement for JetPens products.

      Transparent sticky notes allow one to take notes on them, but the text is still visible through the paper.

      One can use separate pages to write notes and then use washi tape to tape the notes to the page in a hinge-like fashion similar to selectively interleaving one's books.

    1. Handwriting + Zettelkasten

      I've used Livescribe pens/paper for note taking (including with audio) before, and they've got OCR software to digital workflows. Or for the paper motivated, one could use their larger post it notes and just stick them to index cards as a substrate for your physical ZK with digitally searchable back ups? Now that I've thought about it and written this out, I may have to try it to see if it's better than my prior handwritten/digital experiments.

    1. I'm afraid you missed the joke ;-) While you believe spaces are required on both sides of an em dash, there is no consensus on this point. For example, most (but not all) American authorities say /no/ spaces should be used. That's the joke. In writing a line about "only one way to do it", I used a device (em dash) for which at least two ways to do it (with spaces, without spaces) are commonly used, neither of which is obvious -- and deliberately picked a third way just to rub it in. This will never change ;-)
    1. After the first week of the campaign, we realized what are the main problematic pillars and fixed them right away. Nevertheless, even with these improvements and strong support from the Gamefound team, we’re not even close to achieving the backer numbers with which we could safely promise to create a game of the quality we think it deserves.
    2. First and foremost, we need to acknowledge that even though the funding goal has been met–it does not meet the realistic costs of the project. Bluntly speaking, we did not have the confidence to showcase the real goal of ~1.5 million euros (which would be around 10k backers) in a crowdfunding world where “Funded in XY minutes!” is a regular highlight.

      new tag: pressure to understate the real cost/estimate

    1. The Ruby on Rails framework provides a builtin server tool, which you can access with the rails server command. The "rails server" is not an application server by itself, but just a small wrapper that launches your application in an application server. This is why people do not use "rails server" in production. They use an application server – such as Passenger – directly. "rails server" uses Puma by default as of Rails 5.
  20. Sep 2022
    1. To see if you are writing good code, you can question yourself. how long it will take to fully transfer this project to another person? If the answer is uff, I don’t know… a few months… your code is like a magic scroll. most people can run it, but no body understand how it works. Strangely, I’ve seen several places where the IT department consist in dark wizards that craft scrolls to magically do things. The less people that understand your scroll, the more powerfully it is. Just like if life were a video game.
    2. So make sure to write your documentation, but do not explain your spells.
    3. This is so clear that you don’t even need comments to explain it.
    4. Another type of comments are the ones trying to explain a spell.
    5. Do not explain your spells, rewrite them.
    1. Con un’affluenza al 64%, di dieci punti percentuali inferiore rispetto al 2018, sono state le elezioni politiche meno partecipate nella storia repubblicana.

      Questa è la vera, massima, più allarmante sconfitta.

    1. I have refactored the schema to use allOf, oneOf, and unevaluatedProperties, which not only dramatically shrank the file (1500 lines down to 845) but allowed a different approach consisting of a number of "mix-in" schemas grouping commonly used fields, which are then referenced throughout a set of object schemas.
  21. Aug 2022
  22. Jul 2022
    1. instead of inlining the images, the image URL’s (and captions) are read from a .yaml file. The URL of the yaml file is passed as an argument when loading the page. The .yaml file as well as the images should be publicly served.
    1. It really only takes one head scratching issue to suck up all the time it saves you over a year, and in my experience these head scratchers happen much more often than once a year. So in that sense it's not worth it, and the first time I run into an issue with it, I disable it completely.
    2. It feels like « removing spring » is one of those unchallenged truths like « always remove Turbolinks » or « never use fixtures ». It also feels like a confirmation bias when it goes wrong.

      "unchallenged truths" is not really accurate. More like unchallenged assumption.

    1. https://x28newblog.wordpress.com/2022/07/13/pruning-for-output/comment-page-1/#comment-4960

      I love that you're adding links to the responses back and forth for future reference. I remember doing this manually several years back, but its a practice I rarely see. Both Stephen and I are using the Webmention spec to do this for our selves in an automatic fashion. (Mine display on my site in the comments, though I don't think Stephen does presently.) On wordpress.com you'd likely need to have a higher paid tier to add the plugins to enable this for WordPress, though depending on how often you do this it may be worth it?

    1. the illusion that pervades our sense perception is that what we experience is something external to us that somehow 00:20:10 we've got a world that exists as it is independent of us and that we simply happen to be perfect world detectors and we wander through it detecting things just as they are

      This is a key statement of our illusion. We sense that what we experience is the way the world actually is, not seeing that our bodies play a huge role in what we observe. We don't know what it's like to be a bat!

    1. I'm trying to get info OUT of my note-taking system. It's not as easy as I'd like it to be.

      This is one of the biggest problems with any of the systems digital or analog. The workflows for this are all generally not great.

      I'm actually trying some advice from Konrad Gessner from the 1500s today. I've printed out some of my digital notes about Tiago Forte's new book to arrange and organize them in an attempt to reuse all my writing and thinking about it into a review of the book. It'll probably take a bit as I've left them for a week or two, but I'm curious to see what the manual process looks like here in an effort to help make the digital portion potentially easier.

  23. Jun 2022
    1. 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.''
    1. The paradox of hoarding isthat no matter how much we collect and accumulate, it’s neverenough.

      How is the paradox of hoarding related to the collector's fallacy?

      Regardless of how much you collect, you can't take it with you. So what's the value? - Having and using it to sustain you while you're alive. - Combining it in creative ways to leave behind new ideas and new innovations for those who follow you. - others?

    2. No one had to read or respond to what these peoplewrote down—the benefits came just from the act of writing

      Benefit of writing things down

      link this to - rubber duck debugging - https://hypothes.is/a/beiGPOFOEeySP3__4Mj_0w - benefits of talking to a therapist - others? - morning pages

    1. Francesca Benatti (Open University)

      Online

      Short Bio

      I joined The Open University in 2012 as a member of the Arts Faculty and I am now part of the School of Arts and Humanities and the English and Creative Writing Department. I hold a Laurea in Lettere Moderne from the University of Bologna, as well as an MA in Literature and Publishing and a PhD in English from the National University of Ireland, Galway.

      My main role in the Faculty is to promote research in the Digital Humanities as the co-leader of DH_OU, the Digital Humanities at The Open University Research Collaboration (web and Twitter) and of the OOC DTP Digital Humanities training programme.

      I am a member of the READ-IT project, the Reading Experience Database, the History of Books and Reading Research Group, the Gender and Otherness in the Humanities (GOTH) Research Centre, the European Romanticism in Association and RÊVE project and the Open Arts Archive.

      During 2014-2019 I led the Arts and Humanities in the Digital Age training programme for the CHASE doctoral training partnership. In 2017 I was the Principal Investigator of the A Question of Style project, which was funded by a Research Society for Victorian Periodicals Field Development Grant. In 2016-2019 I was a member of the Executive Committee of the British Association for Romantic Studies (BARS) and of the International Executive Council of centerNet.

      Select bibliography

      • Understanding the phenomenology of reading through modelling (2021-01-26) Antonini, Alessio; Suárez-Figueroa, Mari Carmen; Adamou, Alessandro; Benatti, Francesca; Vignale, François; Gravier, Guillaume and Lupi, Lucia Semantic Web Journal, 12(2) (pp. 191-217)
      • *ing the Written Word: Digital Humanities Methods for Book History (2020) Antonini, Alessio and Benatti, Francesca In : SHARP 2020: Power of the Written Word (11-15 Jul 2020, Amsterdam)
    2. Alessio Antonini (Open University)

      Dr Alessio Antonini is a Research Associate at the Knowledge Media Institute (KMi), Open University, and a member of KMi's Intelligent Systems and Data Science group. Before joining KMi, he was a post-doc researcher in Urban Computing at the University of Turin, Italy. His research is on Human-Data Interaction (HDI) in applicative context of Civic Technologies, Smart City and Digital Humanities (DH) applications, in which contributed with more than 30 peer-reviewed papers. Transdisciplinary problems emerging from real-life scenarios are the focus of his research, approached through interdisciplinary collaborations, ranging from urban planning, philosophy, law, humanities, history and geography. He has extensive experience in EU and national projects, leading activities and work-packages in 14 projects. With more than ten years of professional practice, he as broad experience in leading R&D projects.

      Select bibliography:

      • Antonini, A., Benatti, F., Watson, N., King, E. and Gibson, J. (2021) Death and Transmediations: Manuscripts in the Age of Hypertext, HT '21: Proceedings of the 32th ACM Conference on Hypertext and Social Media, Virtual Event USA
      • Vignale, F., Antonini, A. and Gravier, G. (2020) The Reading Experience Ontology (REO): Reusing and Extending CIDOC CRM, Digital Humanities Conference 2020, Ottawa
      • Antonini, A. and Brooker, S. (2020) Mediation as Calibration: A Framework for Evaluating the Author/Reader Relation, Proceedings of the 31st ACM HyperText, Orlando, Florida, USA
      • Antonini, A. and Benatti, F. (2020) *ing the Written Word: Digital Humanities Methods for Book History, SHARP 2020: Power of the Written Word, Amsterdam
      • Antonini, A., (2020) Understanding the phenomenology of reading through modelling Understanding the phenomenology of reading through modelling, pp. (Early Access)
      • Vignale, F., Benatti, F. and Antonini, A. (2019) Reading in Europe - Challenge and Case Studies of READ-IT Project, DH2019, Utrecht, Netherland
      • Antonini, A., Vignale, F., Guillaume, G. and Brigitte, O. (2019) The Model of Reading: Modelling principles, Definitions, Schema, Alignments
    1. Cloud costs can be up to 5X higher than traditional on-premise infrastructure. And that while the cloud promise is so beautiful. What is going on? This article gives you more insight into the other side of the coin and shows you that the cloud promise is not the full story.

      Cloud costs are 5X higher than on-premise costs

      Cloud costs can be up to 5X higher than traditional on-premise infrastructure. And that while the cloud promise is so beautiful. What is going on? This article gives you more insight into the other side of the coin and shows you that the cloud promise is not the full story.

  24. May 2022
    1. Where around hooks shine is when you want to run an example within a block. For instance, if your database library offers a transaction method that receives a block, you can use an around to cleanly open and close the transaction around the example.
    1. The 6 Business Objectives of SaaS

      The main business objectives of a company are to address the problems and needs of their customers with products or services that are a solution for them. The importance of technology in our daily lives means that we simply cannot ignore SaaS when it comes to running our business.

    1. What does an IT Consultant do?

      An IT consultant is a person who offers advice, guidelines and a roadmap for the sourcing, use and management of IT resources and resources. The IT consultant provides organizations with best practices for using IT solutions and services for their business objectives and in solving their problems. He also often gives organizational advice.

    1. "I'd want to learn a lot from Professor Zimmerman so that I may obtain as much information as possible and use it in reality. It's not about the work."

    2. "To summarize, I am prepared to conquer all hurdles in my path to achieving the career of my dreams so that I may contribute to my society. I am a firm believer in the concept of dreams coming true."

    1. Most of the early books for children were didactic rather than artistic, meant to teach letter sounds and words or to improve the child's moral and spiritual life. In the mid-1700s, however, British publisher John Newbery (1713–1767), influenced by John Locke's ideas that children should enjoy reading, began publishing books for children's amusement. Since that time there has been a gradual transition from the deliberate use of purely didactic literature to inculcate moral, spiritual, and ethical values in children to the provision of literature to entertain and inform. This does not imply that suitable literature for children is either immoral or amoral. On the contrary, suitable literature for today's children is influenced by the cultural and ethical values of its authors. These values are frequently revealed as the literary work unfolds, but they are a means to an end, not an end in themselves. Authors assume a degree of intelligence on the part of their audience that was not assumed in the past. In this respect, children's literature has changed dramatically since its earliest days.

      Children's Literature began as a means of teaching letter and sounds and words. It also began with the purpose to improve the child's moral and spiritual life.It began in John Newberry's idea that reading should be fun for children.