205 Matching Annotations
  1. Nov 2024
    1. the real problem is what we're layering the web on we shouldn't be doing the web over this kind of just simple file distribution system that works over TCP and you have to work really hard to put over anything else we should be putting the web over a distribution system that can deal with the distributed case that is offline first and uh this is are kind of like stats showing the usage of mobile apps versus uh the web and so on so this is a very real real thing

      for - quote / insight - We shouldn't be doing the web over this simple file distribution system that works over TCP - Juan Benet - IPFS

  2. Oct 2024
    1. The seeming luxury of having multiple words to choose from is not sufficient to offset the lingering fear that no matter which word you pick it will be the wrong one, causing people to silently laugh at you and judge both you and your grammar school teachers
  3. Sep 2024
    1. For years developers have followed the same arcane dozen steps to create a long-lived daemon process on Unix-based systems. These steps were state of the art in 2000 but they are no longer best practice today.
    1. Modern parallel languages have much easier to use execution models. The thread model was one of the original parallel execution models, which may account for why it has persisted despite being difficult to use.
  4. Jul 2024
    1. It may be a romantic notion and an impossible dream for most, but to the poet, by instead wasting his life reflecting on the world through the medium of poetry, he has gained everything in the production of nothing.

      Link to Odell’s “How to Do Nothing”

  5. Jun 2024
    1. How can I wait for container X before starting Y? This is a common problem and in earlier versions of docker-compose requires the use of additional tools and scripts such as wait-for-it and dockerize. Using the healthcheck parameter the use of these additional tools and scripts is often no longer necessary.
  6. Mar 2024
    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
  7. Jan 2024
    1. Prepare to transition away from Google Sync Google Sync doesn’t support OAuth authentication, 2-factor authentication, or security keys, which leaves your organization’s data less secure.
  8. Nov 2023
    1. // oftentimes once we have a proper e2e test around logging in
      // there is NO more reason to actually use our UI to log in users
      // doing so wastes a huge amount of time, as our entire page has to load
      // all associated resources have to load, we have to wait to fill the
      // form and for the form submission and redirection process
      
    1. // instead of visiting each page and waiting for all // the associated resources to load, we can instead // just issue a simple HTTP request and make an // assertion about the response body cy.request('/admin') .its('body') .should('include', '<h1>Admin</h1>') instead of cy.visit

    1. Autoloading in Rails was based on const_missing up to Rails 5. That callback lacks fundamental information like the nesting or the resolution algorithm being used. Because of that, Rails autoloading was not able to match Ruby's semantics, and that introduced a series of issues. Zeitwerk is based on a different technique and fixed Rails autoloading starting with Rails 6.
    1. ActiveRecord::Base.normalizes declares an attribute normalization. The normalization is applied when the attribute is assigned or updated, and the normalized value will be persisted to the database. The normalization is also applied to the corresponding keyword argument of query methods, allowing records to be queried using unnormalized values.

      Guess I don't need to use mdeering/attribute_normalizer gem anymore...

  9. Aug 2023
    1. I think the problem with after_destroy is that it is triggered before the database commits. This means the change may not yet be seen by other processes querying the database; it also means the change could be rolled back, and never actually commited. Since shrine deletes the attachment in this hook, that would mean it might delete the attachment prematurely, or even delete the attachment when the record never ends up destroyed in the database at all (in case of rollback), which would be bad. For shrine's logic to work as expected here, it really does need to be triggered only after the DB commit in which the model destroy is committed.
    1. I've been wondering if we are too focused on systems and actions that we can do, rather than on ourselves as human beings and what we can be.
      • for: human DOing, Deep Humanity, DH, quote, quote - DH, quote - Deep Humanity, quote - human DOing
      • quote
        • I've been wondering if we are too focused on systems and actions
          • that we can do, rather than on ourselves as human beings and
          • what we can be.
      • comment
        • this is aligned to the Deep Humanity notion of the difference between:
          • human DOing vs
          • human BEing
  10. Jun 2023
    1. I think we have a responsibility not only to ourselves, but also to each other, to our community, not to use Ruby only in the ways that are either implicitly or explicitly promoted to us, but to explore the fringes, and wrestle with new and experimental features and techniques, so that as many different perspectives as possible inform on the question of “is this good or not”.
    2. If you’ll forgive the pun, there are no constants in programming – the opinions that Rails enshrines, even for great benefit, will change, and even the principles of O-O design are only principles, not immutable laws that should be blindly followed for the rest of time. There will be other ways of doing things. Change is inevitable.
    1. By the 1980s the adage had implausibly been reassigned to Benjamin Franklin. The 1986 book “Approaches and Methods in Language Teaching” by Jack C. Richards and Theodore S. Rodgers contained the following passage:[12]1986 (Seventh Printing 1991), Approaches and Methods in Language Teaching: A Description and Analysis by Jack C. Richards and Theodore S. Rodgers, Chapter 7: The Silent Way, Quote Page 100, Cambridge … Continue reading These premises are succinctly represented in the words of Benjamin Franklin: Tell me and I forget, teach me and I remember, involve me and I learn.

      The misattribution of this quote often seen in educational settings likely stems from Richards & Rodgers from 1986.

      See also: - https://hypothes.is/a/cKMkaAZQEe6dq0fkeyNabA - https://hypothes.is/a/YWrJKgZPEe6dy2sJU5KcSw

    2. Several English renderings have been published over the years. The following excerpt is from “Xunzi: The Complete Text” within chapter 8 titled “The Achievements of the Ru”. The translator was Eric L. Hutton, and the publisher was Princeton University Press in 2014. Emphasis added to excerpts:[1]2014 Copyright, Xunzi: The Complete Text, Translated by Eric L. Hutton, Chapter 8: The Achievements of the Ru, Quote Page 64, Princeton University Press, Princeton, New Jersey. (Verified with … Continue reading Not having heard of it is not as good as having heard of it. Having heard of it is not as good as having seen it. Having seen it is not as good as knowing it. Knowing it is not as good as putting it into practice. Learning arrives at putting it into practice and then stops . . .

      The frequent educational quote "Tell me and I forget, teach me and I remember, involve me and I learn.", often misattributed to Benjamin Franklin, is most attributable to 3rd century Confucian philosopher Kunzi (Xun Kuang or 荀子) who wrote:

      Not having heard of it is not as good as having heard of it. Having heard of it is not as good as having seen it. Having seen it is not as good as knowing it. Knowing it is not as good as putting it into practice. Learning arrives at putting it into practice and then stops . . .

      The translation of which appears in Xunzi: The Complete Text, Translated by Eric L. Hutton, Chapter 8: The Achievements of the Ru, Quote Page 64, Princeton University Press, Princeton, New Jersey. 2014.

      Variations of the sentiment and attributions have appeared frequently thereafter.

  11. May 2023
    1. I know this is an old question but I just want to comment here: To any extent email addresses ARE case sensitive, most users would be "very unwise" to actively use an email address that requires capitals. They would soon stop using the address because they'd be missing a lot of their mail. (Unless they have a specific reason to make things difficult, and they expect mail only from specific senders they know.) That's because imperfect humans as well as imperfect software exist, (Surprise!) which will assume all email is lowercase, and for this reason these humans and software will send messages using a "lower cased version" of the address regardless of how it was provided to them. If the recipient is unable to receive such messages, it won't be long before they notice they're missing a lot, and switch to a lowercase-only email address, or get their server set up to be case-insensitive.
  12. Feb 2023
    1. Result of lots of searching on net is that pre-checkout hook in git is not implemented yet. The reason can be: There is no practical use. I do have a case It can be achieved by any other means. Please tell me how? Its too difficult to implement. I don't think this is a valid reason
  13. Dec 2022
  14. Nov 2022
  15. Oct 2022
    1. Elizabeth I’s tutor, Roger Ascham (1515–68), promotedlearning-by-doing in The Scholemaster: ‘Bring not up your children in learningby compulsion and feare,’ he said, ‘but by playing and pleasure.’
  16. Jul 2022
    1. 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. Defects found in peer review are not an acceptable rubric by which to evaluate team members. Reports pulled from peer code reviews should never be used in performance reports. If personal metrics become a basis for compensation or promotion, developers will become hostile toward the process and naturally focus on improving personal metrics rather than writing better overall code.
  17. Jun 2022
    1. For a change of career

      A change of careers only makes sense within a culture where "doing" defines the meaning of the individual, and in which being, as the most sacred expression is not seen

      The human DOing is in reality a form of the human BEing and the human BEing is actually a human INTERbeing and finally, the human INTERbeing is simply an INTERbeCOMing a process, not a thing in spite of being given the name label our whole life much like we give an ever-changing river a name

    1. This touched a nerve this week: “thinking is generally thought of as doing nothing in a production-oriented culture, and doing nothing is hard to do” (Rebecca Solnit, Wanderlust)
  18. May 2022
  19. Apr 2022
  20. Mar 2022
    1. The reason for the new name is that the "dist-upgrade" name was itself extremely confusing for many users: while it was named that because it was something you needed when upgrading between distribution releases, it sounded too much as though it was only for use in that circumstance, whereas in fact it's much more broadly applicable.
  21. Feb 2022
    1. Dispatch a custom event. This differs from Svelte's component event system, because these events require a DOM element as a target, can bubble (and do by default), and are cancelable with event.preventDefault(). All SMUI events are dispatched with this instead of Svelte's createEventDispatcher.
    1. speaks about how each of us can, like her, become a creative genius

      Is this the ultimate form of culturally accepted bragging? How many people discover they can be vaguely "inspiring" instead of delivering substance? Maybe that's what's wrong with the world.

  22. Oct 2021
    1. So if I just forward the cookie header (which contains the access-token), wouldn't that be just what I am not supposed to do. I mean what's the point of using 'HttpOnly' flag if I return the token to the client-side js on every request.
    1. Inflections go the other way around.In classic mode, given a missing constant Rails underscores its name and performs a file lookup. On the other hand, zeitwerk mode checks first the file system, and camelizes file names to know the constant those files are expected to define.While in common names these operations match, if acronyms or custom inflection rules are configured, they may not. For example, by default "HTMLParser".underscore is "html_parser", and "html_parser".camelize is "HtmlParser".
  23. Sep 2021
    1. Saying that web devs used to be fine with relative imports is like saying that human beings used to be fine living without refrigerators. Sure we did. But was it better than it is now? No. No, it wasn't.
    1. Update API usage of the view helpers by changing javascript_packs_with_chunks_tag and stylesheet_packs_with_chunks_tag to javascript_pack_tag and stylesheet_pack_tag. Ensure that your layouts and views will only have at most one call to javascript_pack_tag or stylesheet_pack_tag. You can now pass multiple bundles to these view helper methods.

      Good move. Rather than having 2 different methods, and requiring people to "go out of their way" to "opt in" to using chunks by using the longer-named javascript_packs_with_chunks_tag, they changed it to just use chunks by default, out of the box.

      Now they don't need 2 similar but separate methods that do nearly the same, which makes things simpler and easier to understand (no longer have to stop and ask oneself, which one should I use? what's the difference?).

      You can't get it "wrong" now because there's only one option.

      And by switching that method to use the shorter name, it makes it clearer that that is the usual/common/recommended way to go.

    2. Webpacker used to configure Webpack indirectly, which lead to a complicated secondary configuration process. This was done in order to provide default configurations for the most popular frameworks, but ended up creating more complexity than it cured. So now Webpacker delegates all configuration directly to Webpack's default configuration setup.

      more trouble than it's worth

      • creating more complexity than it cured
    1. This is no different from other popular libraries or frameworks making huge architectural changes (think React 16.8 with hooks or Python 3). The longer you wait to make the switch, the more painful it will be for your project when you finally do. And in the meantime, you’ll be missing out on valuable improvements to a fundamental part of the workflow of every single project you work on.
  24. Aug 2021
    1. “Ultimately, these kind of iframe limitations are the reason why vendors should implement embeddable marketing forms with JavaScript instead of iframes….” – I couldn’t agree more. The trouble is, Pardot’s developers still believe it’s the 1990’s
  25. Jul 2021
    1. So long as the filters are only using GET requests to pull down links, there’s nothing fundamentally wrong with them. It’s a basic (though oft-ignored) tenet of web development that GET requests should be idempotent; that is, they shouldn’t somehow change anything important on the server. That’s what POST is for. A lot of people ignore this for convenience’s sake, but this is just one way that you can get bitten. Anyone remember the Google Web Accelerator that came out a while ago, then promptly disappeared? It’d pre-fetch links on a page to speed up things if you clicked them later on. And if one of those links happened to delete something from a blog, or log you out… well, then you begin to see why GET shouldn’t change things. So yes, the perfect solution to this is a 2-step unsubscribe link: the first step takes to you a page with a form on it, and that form then POSTs something back that finalizes the unsubscribe request.
    2. Two step unsubscribe, where the link in the email goes to a webpage with a prominent “click here to unsubscribe” button is often a good thing for unsubscription. It also gives people an option to not unsubscribe, when they click on the wrong link, or hit “return” with the wrong link focused, in a mail inadvertently, which isn’t that unusual in link-laden emails.
  26. Jun 2021
    1. Giving peers permission to engage in dialogue about race and holding a lofty expectation that they will stay engaged in these conversations throughout the semester or year is the first of the four agreements for courageous conversation. While initially, some participants may be eager to enter into these conversations, our experience indicates that the more personal and thus risky these topics get, the more difficult it is for participants to stay committed and engaged." Singleton and Hays

    1. GitLab is transitioning from controller specs to request specs.
    2. These tests should be isolated as much as possible. For example, model methods that don’t do anything with the database shouldn’t need a DB record. Classes that don’t need database records should use stubs/doubles as much as possible.
    1. A common cause of a large number of created factories is factory cascades, which result when factories create and recreate associations.
    2. :js is particularly important to avoid. This must only be used if the feature test requires JavaScript reactivity in the browser. Using a headless browser is much slower than parsing the HTML response from the app.
    3. Use Factory Doctor to find cases where database persistence is not needed in a given test.
  27. May 2021
    1. They have to ask you the dumb questions, either because their employer demands they do, or sometimes because their computer system doesn't let them get to the next part of the script unless they play ball.
    2. Another will employ smart people who apologise to you profusely for having to go through all the pointless steps, but that's just what they have to do!
    1. CommonJS has served us well for many years, but ESM comes with many benefits, like language-level syntax, browser support, defaults to strict mode, async loading, top-level await, improved static analysis & tree-shaking, and more.
  28. Apr 2021
    1. Lumberjack 1.0 had a concept of a unit of work id that could be used to tie log messages together. This has been replaced by tags. There is still an implementation of Lumberjack.unit_of_work, but it is just a wrapper on the tag implementation.
    1. What you want is not to detect if stdin is a pipe, but if stdin/stdout is a terminal.

      The OP wasn't wrong in exactly the way this comment implies: he didn't just ask how to detect whether stdin is a pipe. The OP actaully asked how to detect whether it is a terminal or a pipe. The only mistake he made, then, was in assuming those were the only two possible alternatives, when in fact there is (apparently) a 3rd one: that stdin is redirected from a file (not sure why the OS would need to treat that any differently from a pipe/stream but apparently it does).

      This omission is answered/corrected more clearly here:

      stdin can be a pipe or redirected from a file. Better to check if it is interactive than to check if it is not.

    2. stdin can be a pipe or redirected from a file. Better to check if it is interactive than to check if it is not.
    1. Factory FunNER is the sequel and a very solid improvement to Factory Fun. It uses hexes instead of squares to allow more creative building, and some subtle improvements to scoring, length, and machine placement rules really improve things.
    1. Now that we’ve gotten newer layout features — again, like grid and flexbox — floats, too, have sort of fallen by the wayside, perhaps either because there are better ways to accomplish what they do
  29. Mar 2021
    1. My preference here is biased by the fact that I spend everyday at work building web components, so Svelte's approach feels very familiar to slots in web components.

      first sighting: That <template>/<slot> is part of HTML standard and the reason Svelte uses similar/same syntax is probably because it was trying to make it match / based on that syntax (as they did with other areas of the syntax, some of it even JS/JSX-like, but more leaning towards HTML-like) so that it's familiar and consistent across platforms.

    2. Svelte is different in that by default most of your code is only going to run once; a console.log('foo') line in a component will only run when that component is first rendered.
    1. One thing that would be useful to this debate an analysis of a language ecosystem where there are only "macropackages" and see if the same function shows up over and over again across packages.
  30. Feb 2021
    1. That’s it. If you have a previous “precompile” array, in your app config, it will continue to work. For continuity sake I recommend moving over those declarations to your manifest.js file so that it will be consistent.
    2. Instead of having this confusing maze of lambdas, regexes, and strings, we could, in theory, introduce a single entry point of configuration for Sprockets to use, and in that file declare all assets we wanted to compile. Well, that’s exactly what the manifest.js file is.
    1. You’re allowed to blame us for a terrible developer experience in Trailblazer 2.0. It’s been quite painful to find out which step caused an exception. However, don’t look back in anger! We’ve spent a lot of time on working out a beautiful way for both tracing and debugging Trailblazer activities in 2.1.
    1. The activity gem is an extraction from Trailblazer 2.0, where we only had operations. Operations expose a linear flow which goes into one direction, only. While this was a massive improvement over messily nested code, we soon decided it’s cool being able to model non-linear flows. This is why activities are the major concept since Trailblazer 2.1.
    1. While Trailblazer offers you abstraction layers for all aspects of Ruby On Rails, it does not missionize you. Wherever you want, you may fall back to the "Rails Way" with fat models, monolithic controllers, global helpers, etc. This is not a bad thing, but allows you to step-wise introduce Trailblazer's encapsulation in your app without having to rewrite it.
    1. Yes, Trailblazer is adding new abstractions and concepts and they are different to the 90s-Ruby, but now, at the latest, it becomes obvious how this improves the developing process. We’re no longer talking in two-dimensional method stack traces or byebug hoops, the language and conception is changing to the actual higher level code flow, to activities sitting in activities structured into smaller step units.
    2. We removed the trailblazer-loader gem just like Apple removed the headphone jack from the iPhone 6. This brings you faster startup and consistency with Rails autoloading.
    1. ActiveInteraction plays nicely with Rails. You can use interactions to handle your business logic instead of models or controllers.
    2. Since we're using an interaction, we don't need strong parameters. The interaction will ignore any inputs that weren't defined by filters. So you can forget about params.require and params.permit because interactions handle that for you.
    1. As of today, you can Wishlist OpenTTD on SteamE. Historically, OpenTTD always had a single home from where we distributed the game. We used to be hosted on SourceForge (you know you are old, if you remember that being a thing :D), and slowly moved towards our own self-created distribution methods. These days, we mostly distribute our game via our website. But times are changing, and so is our hair. Over the last few months, we have silently been working to become a bit more visible in the world. Don’t worry, not for reasons you might think: OpenTTD has as many active users as it had in 2007. But more because we no longer think it is the right approach to only distribute via our own website. This became painfully apparent when we noticed other people post OpenTTD on some stores. They are not always updated with new releases, sometimes even slacking behind a few years. And maybe more important to us: we can not guarantee that the uploaded version is unmodified and is the version as we intended. So, instead of fighting it, why not turn around and join them! Why not release our own, verified, builds on those stores! And this is exactly what we have been working on lately. And when I say “we”, a bit ironic to me, I mean the two developers that are around longest (myself and orudge) ;) A while back orudge added OpenTTD to the Microsoft Store. And today, I am happy to announce we will be on SteamE too! Well, we are on Steam, but we haven’t released anything there yet (sorry that I got your hopes up, just to squash them right after :( ). This is partially because of how Steam works, but also because we know we can bring a better experience for Steam with our upcoming release. That brings me to the most exciting news: if everything goes as planned, we will release OpenTTD 1.11 on Steam on the first of April, 2021! And that is not even an April fools’ joke! You can already Wishlist OpenTTD today .. and till we release on Steam, you can find our game via our website ;)
    1. As of today, you can Wishlist OpenTTD on SteamE. Historically, OpenTTD always had a single home from where we distributed the game. We used to be hosted on SourceForge (you know you are old, if you remember that being a thing :D), and slowly moved towards our own self-created distribution methods. These days, we mostly distribute our game via our website. But times are changing, and so is our hair. Over the last few months, we have silently been working to become a bit more visible in the world. Don’t worry, not for reasons you might think: OpenTTD has as many active users as it had in 2007. But more because we no longer think it is the right approach to only distribute via our own website.
    1. Well, I'm glad they did, because Turbolinks is a much better piece of software than jquery-pjax ever was. It's actively maintained and doesn't require jQuery at all! So we're one step closer to our dream of ditching $.
    2. Now if you think about it, PJAX sounds a lot like Turbolinks. They both use JS to fetch server-rendered HTML and put it into the DOM. They both do caching and manage the forward and back buttons. It's almost as if the Rails team took a technique developed elsewhere and just rebranded it.
  31. Dec 2020
    1. People really don't stress enough the importance of enjoying what you're programming. It aids creativity, makes you a better teammate, and makes it significantly easier to enter a state of flow. It should be considered an important factor in choosing a web development framework (or lack thereof). Kudos!
  32. Nov 2020
    1. There was a major refactoring in the resolver (https://github.com/webpack/enhanced-resolve). This means the resolving option were changed too. Mostly simplification and changes that make it more unlikely to configure it incorrectly.
    1. {#key} was introduced in Svelte v3.28, before that you needed to use a keyed {#each} block with only one item When the key changes, svelte removes the component and adds a new one, therefor triggering the transition.
    1. Svelte's advantage here is that it indicates the need for an update at the place where the associated data is updated, instead of at each place the data is used. Then each template expression of reactive statement is able to check very quickly if it needs to rerender or not.
    2. Svelte slots are much easier to use and reason about than Angular transclude, especially in cases where you don't want an extra wrapper element around the slot content.
    1. If your Svelte components contain <style> tags, by default the compiler will add JavaScript that injects those styles into the page when the component is rendered. That's not ideal, because it adds weight to your JavaScript, prevents styles from being fetched in parallel with your code, and can even cause CSP violations. A better option is to extract the CSS into a separate file. Using the emitCss option as shown below would cause a virtual CSS file to be emitted for each Svelte component. The resulting file is then imported by the component, thus following the standard Webpack compilation flow.
  33. Oct 2020
    1. Instead of this, you can use a File type variable.
    2. Previously, a common pattern was to read the value of a CI variable, save it in a file, and then use that file in your script:
    1. I'm suggesting there should be a way to write lifecycle related code that also responds to changing props, like how useEffect works. I think how React handles this could be a good source of inspiration.
    2. Svelte doesn't re-render, so you need to respond to component mount/dismount and prop changes separately as they are distinct concepts and never tied together, unlike in React.
    3. While react hooks were one of the catalysts for v3 we don't agree with with the APIs or the model and won't be emulating it.
    1. Note how we have to duplicate the code between these two lifecycle methods in class. This is because in many cases we want to perform the same side effect regardless of whether the component just mounted, or if it has been updated. Conceptually, we want it to happen after every render — but React class components don’t have a method like this. We could extract a separate method but we would still have to call it in two places.
  34. Sep 2020
    1. Svelte will not offer a generic way to support style customizing via contextual class overrides (as we'd do it in plain HTML). Instead we'll invent something new that is entirely different. If a child component is provided and does not anticipate some contextual usage scenario (style wise) you'd need to copy it or hack around that via :global hacks.
    2. The main rationale for this PR is that, in my hones opinion, Svelte needs a way to support style overrides in an intuitive and close to plain HTML/CSS way. What I regard as intuitive is: Looking at how customizing of styles is being done when applying a typical CSS component framework, and making that possible with Svelte.
    1. The more I think about this, the more I think that maybe React already has the right solution to this particular issue, and we're tying ourselves in knots trying to avoid unnecessary re-rendering. Basically, this JSX... <Foo {...a} b={1} {...c} d={2}/> ...translates to this JS: React.createElement(Foo, _extends({}, a, { b: 1 }, c, { d: 2 })); If we did the same thing (i.e. bail out of the optimisation allowed by knowing the attribute names ahead of time), our lives would get a lot simpler, and the performance characteristics would be pretty similar in all but somewhat contrived scenarios, I think. (It'll still be faster than React, anyway!)
    2. I'll work on a preliminary PR (which I expect will need some love from maintainers, sorry!)
  35. Aug 2020
    1. For example, to search for text occurrences, I used ack-grep. Later on, I found that there is a faster approach using ag. Then, there is an even faster alternative called ripgrep.
    1. If you are a senior, try talking to a junior or someone less experienced than you. Many companies are running what is called ”reverse mentoring” programs where juniors coach senior members of a company. Senior’s experience is traded for a fresh perspective from a junior. You’d be amazed at how much you could learn and share.
  36. Jul 2020
    1. Creating and calling a default proc is a waste of time, and Cramming everything into one line using tortured constructs doesn't make the code more efficient--it just makes the code harder to understand.

      The nature of this "answer" is a comment in response to another answer. But because of the limitations SO puts on comments (very short length, no multi-line code snippets), comment feature could not actually be used, so this user resorted to "abusing" answer feature to post their comment instead.

      See

  37. Jun 2020
  38. May 2020
    1. “Make it work” means shipping something that doesn’t break. The code might be ugly and difficult to understand, but we’re delivering value to the customer and we have tests that give us confidence. Without tests, it’s hard to answer “Does this work?”
    1. The administration and its allies fear that the more people gravitate toward the successful, free-market self-insurance approach, the worse their government-engineered health “reform” will look. We’re already seeing the beginning of this trend.
    1. This is it. I'm done with Page Translator, but you don't have to be. Fork the repo. Distribute the code yourself. This is now a cat-and-mouse game with Mozilla. Users will have to jump from one extension to another until language translation is a standard feature or the extension policy changes.
    2. Mozilla will never publicly ask users to circumvent their own blocklist. But it's their actions that are forcing people to do so.
    3. So to me, it seems like they want to keep their users safer by... making them use Google Chrome or... exposing themselves to even greater danger by disabling the whole blocklist.
  39. Mar 2020
    1. Q. Why does Rubinius not support frozen and tainted? A. Rubinius has better features; frozen and tainted are considered harmful. To elaborate... Both frozen and tainted depend on strewing checks throughout the source code. As a classic weak-link system, only one of those checks needs to be misplaced for the guarantees offered by either to fail. Since the number of checks is high, and as new code is written new checks need to be considered, the features inherently constitute unbounded complexity and unbounded risk.
    1. For several reasons the Simple backend shipped with Active Support only does the "simplest thing that could possibly work" for Ruby on Rails3 ... which means that it is only guaranteed to work for English and, as a side effect, languages that are very similar to English. Also, the simple backend is only capable of reading translations but cannot dynamically store them to any format.That does not mean you're stuck with these limitations, though. The Ruby I18n gem makes it very easy to exchange the Simple backend implementation with something else that fits better for your needs, by passing a backend instance to the I18n.backend= setter.
  40. Jan 2020
    1. Your idea should stem from solving someone’s problem. Ideally, your own problem. It’s important that you choose an idea which interests you. Interest is key to fuelling motivation which is crucial when making a web app. It takes effort building web apps and it’s important you have fun during the process.
  41. Dec 2019
    1. Confusingly, all the distributions I use (Ubuntu, RHEL and Cygwin) had some type of check (testing $- or $PS1) to ensure the current shell is interactive. I don’t like cargo cult programming so I set about understanding the purpose of this code in my .bashrc.
    1. No, clumsily working around the root account in situations where it is absolutely appropriate to use it is not for good reasons. This is just another form of cargo cult programming - you don't really understand the concept behind sudo vs root, you just blindly apply the belief "root is bad, sudo is good" because you've read that somewhere.
    1. Cargo cult programming is a style of computer programming characterized by the ritual inclusion of code or program structures that serve no real purpose.
    1. Just for the record newer versions of ssh support the -W option, you can do something like ProxyCommand ssh -W %h:%p gateway instead of depending on nc
  42. Nov 2019
    1. We accept as axiomatic that students learn by doing

      While I personally agree that "learning by doing" is perhaps one of the or even the most powerful forms of pedagogy, a very large part of current and historical pedagogy does not really engage doing. So either not ALL learning involves doing, or the majority of education that happens without doing doesn't involve learning.

    Tags

    Annotators

  43. Oct 2019
    1. WHEN it comes to the state of the environment, it’s easy to get swept up in the doom and gloom of it all. Global warming, high pollution levels, climate change and waste disposal all dominate the headlines, painting a bleak picture of what’s to come. But just because it seems hopeless doesn’t mean it is.T roubled times call for ingenious solutions, and Australia is home to some of the brightest ecovators in the world, like Robert Pascoe, Managing Director of environmental solutions company Closed Loop.Through its Simply Cups initiative, Closed Loop is tackling Australia’s overwhelming waste problem by teaming up with 7-Eleven to save 70 million coffee cups from landfill this year — equivalent to the number they sell each year. While the most sustainable option is forgoing a disposable cup for a reusable one, some circumstances are beyond your control. Like your inability to remember anything before you’ve had your morning coffee. Which is a bit of a catch 22, isn’t it? That’s why 7-Eleven are installing dedicated coffee cup recycling bins in over 200 of their stores nationally, as well as funding 50 other large-scale locations including offices, universities and construction sites as part of the initiative. Coffee cups are one of the largest contributors to litter waste in Australia, with an estimated one billion ending up in landfill each year because they are not recycled.Yep, unfortunately you read that right: one billion cups.Coffee cups are one of the largest contributors to litter waste in Australia, with an estimated one billion ending up in landfill each year because they are not recycled.“T here’s a lot of misinformation out there,” Mr Pascoe said. “The consumers aren’t at fault because ultimately they don’t know what can be recycled and what can’t. I think if we can get that information out there, then people will demand products that are made from recycled materials.”For the majority of us, learning that our disposable coffee cups fall into the category of what can’t be recycled is both confusing and devastating. But, as Mr Pascoe says: “You can’t unknow something once you know it.”“Part of the problem is they didn’t know they weren’t being recycled. A lot of people said, ‘oh no, I put my coffee cup into the recycling to be recycled’, but of course, they’re not,” he continued.A nd why is that, exactly? It’s because most paper coffee cups are lined with a waterproof plastic that makes them hard to recycle — but not impossible. And that’s where Simply Cups comes in. “We’ve come up with a system that can actually recycle these cups if we keep them separate. We’ve got technology available now to do it, but we have to have coffee cups kept as a separate stream. Or anything that has the plastic lining of milk cartons or juice boxes,” Mr Pascoe said. The technology he’s referring to is “kind of like an organic solvent” that works to separate compound materials. Invented by Dennis Collins in Ballarat, the technology was initially designed to separate the PVC material from the hessian used in truck liners and advertising banners.“Dennis called us and said, ‘I’ve got a solution for your coffee cups’,” Mr Pascoe said. “So now we’re building a plant that can process around 150 million coffee cups per year, which is about 1.5 thousand tonnes. That will only be about 10 per cent of disposable coffee cups alone, so we’re going to need quite a few of these plants eventually. We have the solution, but we really need the coffee cups. “That’s why we started the Simply Cups program.”And that’s where coffee addicts come in. Once they drop their coffee cups into a designated recycling bin, they will then be taken to a processing plant using this new technology. The inner plastic lining of the cups will be removed and then recycled into things like plastic outdoor furniture, safety equipment and food trays.A nother eco-minded initiative helping solve Australia’s waste problem is the anti food-waste website, Yume. The website fights food waste — which is a huge problem in Australia — by allowing consumers to buy surplus and unsold food from restaurants and cafes at half the price. The ‘wholesale marketplace for surplus food that saves you money while saving the planet’ shares the same idea as ‘YWaste’, an app allowing retailers to sell food that would otherwise be thrown away.Over its 40-year history, Patagonia has donated about $114 million to grassroots environmental organisations. Over its 40-year history, Patagonia has donated about $114 million to grassroots environmental organisations. Their advertising has begged consumers not to buy things they don’t need (even their own products) and they’ve implemented a program that repairs their products for free rather than replace them. Their commitment to the environment is reflected in the materials of their products too; wetsuits are made of natural rubber and raincoats are made from recycled plastic bottles. This year, the company launched Patagonia Action Works, a digital platform that aims that aims to connect people with environmental nonprofits, helping them get involved through events, petitions, and volunteering.H &M, too, are doing their bit to close the loop on fashion waste with their global campaign encouraging customers to recycle their clothes. They launched their garment collecting initiative in 2013, asking customers to drop off any unwanted items from their closets. Depending on the condition of the clothing, the items are either distributed to second-hand stores for resale, or recycled into other items like yarn, rags, and insulation materials.And just look at Elon Musk. He’s raking in bajillions of dollars every minute almost exclusively thanks to Tesla and SolarCity, which have disrupted an entire industry. While some snigger at his grand ideas — let’s colonise Mars! — the accomplishments of how he has changed the way we shop for cars are hard to deny.A fter a complicated relationship with French beauty giant L’Oreal, The Body Shop is now in the hands of ethical Brazilian beauty brand Natura, promising to return to its pioneering ethical business.“All of us share the aim of doing business as a transformational force for good and a force for change for society and for the environment. We couldn’t think of a better union to nurture our brand’s commitment to naturality and sustainability,” said the Body Shop’s Communications Manager, Jessica Styles. “In 2016, The Body Shop launched its new sustainability plan, Enrich Not Exploit, supporting the brand’s vision to be the most ethical and sustainable global business in the world.”“All of us share the aim of doing business as a transformational force for good and a force for change for society and for the environment. We couldn’t think of a better union to nurture our brand’s commitment to naturality and sustainability,”Jessica Styles, Body Shop’s Communications Manager The plan set fourteen targets to help The Body Shop become a "truly sustainable business", including powering all its stores with 100 per cent renewable energy, overhauling product packaging by slashing the use of fossil fuel-based wrapping and designing new sustainable innovations. This year there’s a special focus on protecting Red Pandas in Nepal, a species currently on the endangered list.“Now more than ever, companies have the platforms and frameworks to not only voice doing good for the planet and people but to also act on it. The more we see big brands doing their bit, the more it becomes entrenched as something that not only employees but customers should be thinking about,” Styles said. “It’s the big corporations of the world that can help foster and influence this through their own businesses.” Skin care brand Youth to The People has made a conscience decision to use 100 per cent recyclable packaging. Co-founder Joe Cloyes says the decision reflects the brand’s philosophies.“We believe in creating as little waste as possible, we believe in cruelty-free products, and we believe in sourcing the best ingredients for your health and your skin. It's just that simple,” he said. “Modern consumers care about their environment just as much as they care about their healthy skin, and they're very much connected. We have found it's very important to people.”FIND OUT how many cups of coffee you could be recycling EVEry yearHow many cups of coffee do you drink every day?How many days per week do you drink coffee?How many weeks per year do you drink coffee?Calculatecups of coffeecould be recycled These are but a few eco-minded initiatives that offer Australians the chance to do their part in securing a cleaner future for generations to come. For every company that spills millions of gallons of oil into our oceans, there are plenty more companies operating under a socially responsible ethos. They recognise enterprise and environmental responsibility can in fact go hand-in-hand.“I think every organisation should have a sustainability policy,” Mr Pascoe said. “There are plenty of organisations around that can have a positive impact on the environment. We’re talking about the effect they have on the environment, the way they consume energy, and the way they manage their waste. In my world, there’s no such thing as waste.” Over one billion cups end up in landfill each year because they are not recycled. That’s why 7-Eleven has joined forces with Simply Cups to establish cup recycling in Australia. Save your cups by placing them in a Simply Cups bin at any participating 7-Eleven #cuprescue. Story by Erin Bromhead | news.com.au
    1. “To measure the head, the height, etc., does not indeed mean that we are establishing a system of pedagogy, but it indicates the road which we may follow to arrive at such a system, since if we are to educate an individual, we must have a definite and direct knowledge of him.”

      This is obviously done incorrectly in schools nowadays, referring to the large class sizes and common core putting restrictions on mostly everything. This raises the question, though, does homeschooling produce a better pedagogy? Or is it dependent on the specific educator?

    2. But in spite of all these tendencies, Scientific Pedagogy has never yet been definitely constructed nor defined. It is something vague of which we speak, but which does not,[Pg 2] in reality, exist. We might say that it has been, up to the present time, the mere intuition or suggestion of a science which, by the aid of the positive and experimental sciences that have renewed the thought of the nineteenth century, must emerge from the mist and clouds that have surrounded it.

      It is interesting to think about the hugely varying ideas that restrict the existence of a Scientific Pedagogy. Not even those that oppose each other through a research standpoint, but also those that are constrained by religious beliefs.

  44. Feb 2019
    1. Firmness and strength of Mind ·,_ 1 • ..will carry us thro all these little persecutions,, ..... ..-orrt ... • h' h . r • • w 1c may create us some uneasiness 1or a.. .t...t 0r while, but will afterwards end in our Glory and-....:� Triumph.

      I think it's important to note that the words Astell is using are not unusual or incredibily difficult to understand -- they are, in fact, pretty conversational, and don't seem pretentious or alienating. She's working with her audience.

  45. Jan 2019
    1. For, as Seneca points out, when one writes one reads what one writes, just as in saying something one hears oneself saying it. The letter one writes acts, through the very action of writing, upon the one who addresses it, just as it acts through reading and rereading on the one who receives it.

      Words, doing their thing: doing.

  46. Nov 2017
  47. Mar 2017
    1. Who am I? I am "doing" French history.

      This is fascinating! What an excellent articulation of the self. I'm willing to bet that I'm going to be using the "embodiment" tag a fair number of times in this text, and this is a great place to start.

      Here, Cixous is already recognizing that her "self" is at least partly a racially, historically, and politically situated body. Simply by being the rhetor she is, she is actively "doing" French history by participating in the public sphere. It may not have been as dangerous for her as it was for Douglass or Palmer or Stewart, but much of what she had to say was still revolutionary, and her body is an important part of that revolutionary performance.

  48. Feb 2017
  49. Jul 2016