997 Matching Annotations
  1. May 2022
    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.

    1. At every step of the process we target a specific risk: the risk of not shipping on time. .... Improving your discovery process should come after regaining your ability to ship.

      You can have the best strategy in the world, but if you can't act on it, what good does it do?

    Tags

    Annotators

    1. Is IT Maintenance the same as IT Management? For some it may be a semantic discussion while others consider these words synonymous.

      IT Maintenance and IT Management are not the same

      Is IT Maintenance the same as IT Management? For some it may be a semantic discussion while others consider these words synonymous.

  2. Apr 2022
    1. Which Components of IT Infrastructure do we need for DevOps?

      Many companies that want to move to DevOps eventually struggle with the question “What are the Components of IT Infrastructure we need? The use of DevOps stems from the desire to be able to release software more often and faster. The traditional Operations Team (OPS) however will not wholeheartedly embrace this because they would rather benefit from maintaining a stable infrastructure and its maintenance.

    1. Another elaborate site touching advanced C/C++ issues.

    1. How do you get your annotations into the rest of your workflow for notes and learning? How do you prevent that your social annotation tool is yet another separate place where one keeps stuff, cutting off the connections to the rest of one’s work and learning that would make it valuable?

      Where

      My annotations broadly flow into two spaces:

      Obsidian

      My private Obsidian-based vault is where I collect the notes and actively work on, modify, edit, and expand them if and when necessary. This is also the space where I'm broadly attempting to densely interlink them together for future use and publication in other venues. If I could, I would publish these all on the web, but I've yet to find a set up with a low enough admin tax that I can publish them inexpensively in a way I'd like them to appear (primarily with properly linked [[WikiLinks]]) while still owning them in my own space.

      I've been experimenting around with using Blot.im as a solution to display them here https://notes.boffosocko.com/, but at present it's a very limited selection of my extant notes and doesn't include Webmention or other niceties I'd like to add. As it's a very alpha stage experiment I don't recommend anyone follow or use it and it may disappear altogether in the coming months.

      WordPress

      My main website uses WordPress. To a great extent, this is (now) primarily a back up location and the majority of the annotations are unpublished to the public, but are searchable to me on the back end.

      I do, however, use it occasionally for quickly publishing and syndicating select annotations which I think others may find interesting or upon which I'm looking for comments/feedback and don't expect that the audience I'd like these from will find them natively on Hypothes.is' platform. An example of this might be a paper I was reading this weekend on Roland Barthes which discusses his reasonably well documented zettelkasten-like note taking practice. The article can be found here: https://culturemachine.net/wp-content/uploads/2019/01/373-604-1-PB.pdf with the annotations seen here: https://docdrop.org/pdf/The-Card-Index-as-Creativity-Ma---Wilken-Rowan-upq8g.pdf/. To tip off others in the space, I made a post on my site with a bit of a puzzle and syndicated it to Twitter. A few hours later I posted a follow up with some additional details and links to my notes on hypothesis which got some useful feedback from Matthias Melcher on the Barthes paper as well as on a related paper I mentioned by Luhmann, particularly about German translation, with which I have little facility.

      Another recent illustrative example was this annotation on the Library of Congress website about Vladimir Nabokov which was picked up by my website (though unpublished/not public) but which I syndicated to Twitter primarily to be able to send a notification to Eleanor Konik who I know is interested in the idea of World Building using historical facts and uses Obsidian in her work. (The @mention in the tweet is hiding in the image of the index card so that I could save text space in the main tweet.) Several others interested in note taking and zettelkasten for writing also noticed it and "liked" it. Not being on Hypothes.is to my knowledge much less following me there, neither Eleanor nor the others would have seen it without the Tweet.

      Nabokov used index cards for his research & writing. In one index card for Lolita, he creates a "weight-heigh-age table for girls of school age" to be able to specify Lolita's measurements. He also researched the Colt catalog of 1940. #WorldBuildinghttps://t.co/i16Yc7CbJ8 pic.twitter.com/JSjXV50L3M

      — Chris Aldrich (@ChrisAldrich) April 10, 2022
      <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

      How

      Obsidian

      Getting annotations from Hypothes.is to Obsidian is a short two-step process which is reasonably well automated so that I don't spend a lot of time cutting/pasting/formatting.

      I start with an IFTTT recipe that takes the RSS output of Hypothes.is and creates text files directly into my Obsidian vault. The results are quite rudimentary and only include the title of the document, the permalink of the Hypothes.is post, the highlighted text, and my annotation. It doesn't include the tags as RSS doesn't have a specification for these.

      Second, I've set up Hypothesidian which has a much higher fidelity dovetail with the Hypothes.is API to get all the data and even the formatting set up I'm looking for. A reasonably well laid out set of instructions with a low/no code approach for it can be found at https://forum.obsidian.md/t/retrieve-annotations-for-hypothes-is-via-templater-plugin-hypothes-idian/17225. It allows importing annotations by a variety of methods including by date and by document URL. I've also made a small modification to it so that tags on Hypothes.is are turned into [[wikilinks]] in Obsidian instead of #tags which I only use sparingly.

      All the IFTTT annotations will be ported individually into a specific Obsidian folder where I'll process them. I can then quickly use Hypothesidian to import the properly laid out version (using templates) of the notes with just a few keystrokes and then focus my time on revising my notes if necessary and then linking them to the appropriate notes already in my system. Finally I'll move them into the appropriate folder based on their content—typically one of the following: zettelkasten, wiki, commonplace, dictionary, or sources (for bibliographic use). Careful watchers will notice that I often use Hypothes.is' "page notes" functionality to create a bookmark-like annotation into which I will frequently post the URL of the page and occasionally a summary of a piece, these are imported into my system and are used as source/bibliographic information. I also have some dovetailing with Zotero as a bibliographic set up which feeds into this data as well.

      This version which I've cobbled together works well for me so that I'm not missing anything, but there are definitely other similar processes available out there both for Obsidian (with plugins or scripts) as well as for other platforms. If I'm not mistaken, I think Readwise (a paid solution) has a set up for note transfer and formatting.

      WordPress

      As there isn't an extant Micropub client for Hypothes.is I initially used RSS as a transport layer to get my notes from Hypothes.is into WordPress. The fidelity isn't great in part because RSS doesn't include any tags. To get some slightly better presentation I set up a workflow using RSS output from Hypothes.is as input into an IFTTT workflow which outputs to a webhook that stands in as a Micropub client targeting my websites Micropub server. Some of the display on my site is assisted by using the Post Kinds plugin, which I know you've been working around yourself. The details may be above some, but I've outlined most of the broad strokes of how this is done in a tutorial at https://boffosocko.com/2020/01/21/using-ifttt-to-syndicate-pesos-content-from-social-services-to-wordpress-using-micropub/. In that example, I use the service Pocket as an example, but Hypothes.is specific information could easily be swapped out on a 1-1 basis.

      A custom stand-alone or even an integrated micropub client for Hypothes.is would be a fantastic project if someone wanted to dig into the details and dovetail it with the Hypothes.is API.

      Why

      Ideally, I'm hoping that small pieces loosely joined and IndieWeb building blocks will allow me to use the tools and have the patterns I'm looking for, without a lot of work, so that I can easily make annotations with Hypothes.is but have and share (POSSE) my content on my own site in a way that works much the way many IndieWeb sites dovetail with Twitter or Mastodon.

      I'm doing some portions of it manually at present, without a lot of overhead, but it would be fun to see someone add micropub and webmention capabilities to Hypothes.is or other IndieWeb building blocks. (I suspect it won't be Hypothes.is themselves as their team is very small and they're already spread thin on multiple other mission critical projects.)

      In the end, I'm using Hypothes.is as a well designed and convenient tool for quickly making notes on digital documents. All the data is flowing to one of two other locations where I'm actually making use of it. While there is some social layer there, I'm getting email notifications through the Hypothes.is settings and the data from my responses just gets rolled back into my spaces which I try to keep open and IndieWeb friendly by default. At the same time, for those who want or need it, Hypothes.is' interface is a great way of reading, searching, sorting, and interacting with my notes in public, particularly until I get something specific and user friendly up to do it on my own domain.

    1. assistive technology

      We should place the definition of Assistive Technology here: Assistive Technology is technology used by individuals with disabilities in order to perform functions that might otherwise be difficult or impossible.

    1. In Rails, this is known as nested layouts, and it is a bit awkward to use. The standard Rails practice for nested layouts is complicated and involves these considerations:
  3. Mar 2022
    1. The last note is that when binding commands to keyboard shortcuts it is often necessary to only have one command, not two commands connected with a pipe like we use above. You can accomplish this by invoking your piped command as a command string argumetn to a new shell like this:
    1. The while(true) is not a problem because the loop contains sleep 0.5 which relinquishes half a second of CPU time in each of the loop's iterations. Because of that (and the lightweightness of the xsel command invocation which comprises the other part of the loop), the CPU resources taken up by the loop will be exceedingly tiny even on the slowest of Ubuntu machines.
  4. readlists.jim-nielsen.com readlists.jim-nielsen.com
    1. https://readlists.jim-nielsen.com/

      <small><cite class='h-cite via'> <span class='p-author h-card'>Jim Nielsen</span> in (Re)Introducing Readlists (<time class='dt-published'>03/25/2022 23:09:14</time>)</cite></small>

    1. The IT Equipment Room (MER, SER and DER) guidelines

      It is clear that the Equipment_Rooms (MER, SER and DER) are important spaces for a company. Much of the business depends on these spaces. That is why many companies draw up minimal guidelines to ensure continuity.

    1. level 1Fatal_Taco · 2 days ago · edited 2 days agoArch Linux, and likely most distros, are defined by these few things and are not limited to:The Linux Kernel, what type of config and modules it's been compiled with.The pre-packaged programs it comes with by default.The init.The package manager.The repositories it references.The slightly differing Linux Filesystem Hierarchy.The types of computers it runs on.
    2. Just like any other distribution, Arch Linux is just a collection of utilities strapped together running Linux kernel under the hood.
  5. inst-fs-iad-prod.inscloudgate.net inst-fs-iad-prod.inscloudgate.net
    1. insidious declamations should have no effect upon the wise legislators who have decreed liberty to humanity. The attacks the colonists propose against this liberty must be feared all the more insofar as they hide their detestable projects under the veil of patriotism. We know that illusory and specious descriptions have been made to you of the renewal of terrible violence. Already, perfidious emissaries have crept among us to foment destruction at the hands ofliberticides. They will not succeed, this 1 swear by all that is most sacred in liberty. My attachment to France, the gratitude that all the blacks conserve for her, make it my duty to hide from you neither the plans being fomented nor the oath that we renew to bury ourselves beneath the ruins of a country revived by liberty rather than suffer the return of slavery.

      Here Toussaint states that he refuses to let Vaublanc convince 'property' owners in St. Domingue to regress back to the use of enslavement. Toussaint also says that it he and other Blacks have gratitude to France and will not try to hide the fact they will all fight should, the "enemy of liberty" slavery return.

    1. Ruby Object Mapper (rom-rb) is a fast ruby persistence library with the goal of providing powerful object mapping capabilities without limiting the full power of the underlying datastore.
  6. Feb 2022
    1. Remember, our wizard controller is responsible for showing and updating steps, but our top-level controller is still responsible for managing our Pet models.
    1. Σημείο καμπής και ημερομηνία σταθμός είναι η 8η Δεκεμβρίου όπου για λόγους που όλοι μπορούμε να φανταστούμε, κόπηκε η πρόσβαση από το υπουργείο Ψηφιακής Πολιτικής.

      Ο Θεοδωρικάκος διαχειρίζεται KAI τα δεδομενα covid19!

  7. Jan 2022
    1. Defining the project scope means that you must have a clear vision and agreement on the outcomes of the project. This allows any deliverable of the project to remain on schedule.

      This is how you determine the project scope Defining the project scope means that you must have a clear vision and agreement on the outcomes of the project. This allows any deliverable of the project to remain on schedule.

    1. Is ITIL Losing Importance Due To SaaS? ITIL is a set of procedures and practices of IT service management when we mistakenly believe that we don't have to worry about that in SaaS. However, ITIL has many aspects and facets that encompasses running IT in an organization. Moreover, it is not a checklist for the implementation of specific services in specific environments. For SaaS, we can just use a different toolset to follow the general ITIL guidelines.

    1. The server generating a 401 response MUST send a WWW-Authenticate header field (Section 4.1) containing at least one challenge applicable to the target resource.

      Meaning that 99% of the people use it are using it "wrong" because they're not using it for HTTP authentication and don't send a WWW-Authenticate header field with their 401 response?

      Hmm. That's a tough one. On the one hand, the spec does say they must send it.

      Initial opinion

      But on the other hand, one could argue that that requirement only applies if using 401 for HTTP authentication. And that saying it's wrong to do so (as they claim at https://stackoverflow.com/questions/3297048/403-forbidden-vs-401-unauthorized-http-responses/14713094#14713094 and https://hyp.is/JA45zHotEeybDdM_In4frQ/stackoverflow.com/questions/3297048/403-forbidden-vs-401-unauthorized-http-responses) is having a too strict/narrow/literal interpretation.

      HTTP is meant to be used widely in many very different uses and contexts, most of which do not use this very specific HTTP authentication scheme; my opinion is that they shouldn't be denied from using it, just because they don't have anything useful WWW-Authenticate header field. (Or (which is also fine with me), just put something "emptyish" in the field, like "Unused". Unless that would trigger a Basic auth modal in the browser, in which case we shouldn't, for practical reasons.)

      Why shouldn't we be able to repurpose this same status code for uses that are still authentication, but just not HTTP authentication per se?

      Is it really wrong to repurpose this useful status code for other contexts, like cookie-based app-defined authentication systems?

      I say that it's okay to repurpose/reuse 401 for any authentication system (that uses HTTP as a part of it, even though not using HTTP's own authentication system), as long as we try to maintain the same semantic as originally intended/described here. I think it's okay to use 401 as a response to a XHR request, and then have the client redirect to a login page, which provides a way to authenticate again (reattempt the authentication challenge), analogous to how it works for HTTP authentication.

      Revised opinion

      https://stackoverflow.com/questions/3297048/403-forbidden-vs-401-unauthorized-http-responses/14713094#14713094 has made me change my mind and convinced me that...

      Authentication by schemes outside of (not defined by) RFC7235: Hypertext Transfer Protocol (HTTP/1.1): Authentication should not use HTTP status 401, because 401 Unauthorized is only defined (by current RFCs) by RFC7235: Hypertext Transfer Protocol (HTTP/1.1): Authentication, and has semantics and requirements (such as the requirement that "A server generating a 401 (Unauthorized) response MUST send a WWW-Authenticate header field containing at least one challenge.") that simply don't make sense or cannot be fulfilled if using a non-HTTP authentication scheme.

      403 Forbidden, on the other hand, is defined by the broader HTTP standard, in RFC7231: Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content and RFC7235: Hypertext Transfer Protocol (HTTP/1.1): Authentication.

      In conclusion, if you have your own roll-your-own login process and never use HTTP Authentication, 403 is always the proper response and 401 should never be used.

      Couldn't a custom auth system use WWW-Authenticate header?

      The question was asked:

      Doesn't RFC7235 provide for "roll-your-own" or alternate auth challenges? Why can't my app's login flow present its challenge in the form of a WWW-Authenticate header? Even if a browser doesn't support it, my React app can...

      And I would say sure, if you want (and if the browser doesn't automatically show a Basic auth modal in this case and thwart your plans).

      They might be on to something here with that question!

      But that should probably be the test of whether you can/should use 401: are you actually using WWW-Authenticate header?

      Indeed I found an example where it is used for OAuth2.

    1. Authentication by schemes outside of RFC2617 is not supported in HTTP status codes and are not considered when deciding whether to use 401 or 403.

      What does "are not considered when deciding whether to use 401 or 403" mean exactly? What exactly should not be considered, and what exactly should be considered instead? In other words, how did someone arrive at the conclusion that "if you have your own roll-your-own login process and never use HTTP Authentication, 403 is always the proper response and 401 should never be used."? Why is 403 okay to use for non-HTTP authentication, but not 401?

      Oh, I think I understand the difference now.

      They should have said:

      Authentication by schemes outside of (not defined by) RFC7235: Hypertext Transfer Protocol (HTTP/1.1): Authentication should not use HTTP status 401, because 401 Unauthorized is only defined (by current RFCs) by RFC7235: Hypertext Transfer Protocol (HTTP/1.1): Authentication, and has semantics and requirements (such as the requirement that "A server generating a 401 (Unauthorized) response MUST send a WWW-Authenticate header field containing at least one challenge.") that simply don't make sense or cannot be fulfilled if using a non-HTTP authentication scheme.

      403 Forbidden, on the other hand, is defined by the broader HTTP standard, in RFC7231: Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content and RFC7235: Hypertext Transfer Protocol (HTTP/1.1): Authentication.

      In conclusion, if you have your own roll-your-own login process and never use HTTP Authentication, 403 is always the proper response and 401 should never be used.

      See also my comments in https://hyp.is/p1iCnnowEeyUPl9PxO8BuQ/www.rfc-editor.org/rfc/rfc7235

    2. Meaning if you have your own roll-your-own login process and never use HTTP Authentication, 403 is always the proper response and 401 should never be used.
    3. If HTTP authentication is not in use and the service has a cookie-based authentication scheme as is the norm nowadays, then a 403 or a 404 should be returned.
    1. APIs that simply map CRUD actions to HTTP verbs have nothing to do with Application State Transfer. You can call them Web APIs or HTTP APIs, but please don’t call them RESTful.
    1. Sorry, let me rephrase. Is this how it is supposed to work? Because right now it looks like a bug. The documentation is really terribly sparse on this topic.
    1. This is just one of those things in CSS that seems easy to understand (and really, it should be), but it’s sometimes not — because of the way that percentages work in CSS.
    1. The Business Strategy stems from a detailed strategic planning process. However, the question we want to answer in this article is whether we can execute multiple strategies side by side while they do not interfere with each other. We compare multiple strategies for business, information provision and IT and focus on Strategic planning.

      Business strategy alignment and the secrets of strategic planning https://en.itpedia.nl/2022/01/02/business-strategie-alignment-en-de-geheimen-van-strategische-planning/ The Business Strategy stems from a detailed strategic planning process. However, the question we want to answer in this article is whether we can execute multiple strategies side by side while they do not interfere with each other. We compare multiple strategies for business, information provision and IT and focus on Strategic planning.

  8. Dec 2021
    1. Do you blame individuals?How do you fix bugs?Do you assign all the bugs to one person?

      Interview Q for hiring project-managers & leads.

    2. What do you feel that your employer does well at, as a company, organization, or employer?Describe one thing that company did on your proposal?Does company hears your issues? How does company helps with your issues?What do you feel that your employer needs to improve on the most, as a company, organization, or employer?Would you recommend this company to your friends?Do you see yourself in this company in the future?What’s your turnover rate? How many people left the company last year and why?

      Interview Qs about previous employer revealing cooperation issues.

    1. Green computing, or green information technology, is the practice of environmentally sustainable computing. In this article we take a closer look at: * Greening the workplace. * A green workplace business case. * Opportunities to make Data Centers greener by: - ​​Other IT equipment. - The cooling of IT spaces. - The data center buildings.

      Green computing : Workplace and data center, a real business case https://en.itpedia.nl/2021/12/11/green-computing-werkplek-datacenter-business-case/ Green computing, or green information technology, is the practice of environmentally sustainable computing. In this article we take a closer look at: Greening the workplace. A green workplace business case. * Opportunities to make Data Centers greener by: - ​​Other IT equipment. - The cooling of IT spaces. - The data center buildings.

  9. Nov 2021
    1. The moment one gets into the ‘expert’ state of mind a great number of things become impossible.”

      Being an IT expert means always being arrogant.

    1. Finally, I think Actions are great for animations, because you will definitely need to apply the same logic to many different elements. One of my favorite examples are FLIP animations, where a change in DOM position can be animated. For example shuffling a list of items. I will not dive deep into the topic in this article: I've written about some techniques in this article about FLIP animations in React and in this article about how to create spring animations with Web Animation API. Although they are not about Svelte, at the end of the day it all boils down to manipulating the HTML element directly. And Svelte Actions are a great place to do it.
    1. Honestly, I don't know. Strictly speaking it's different to a window being opened at a specific size (I can see the difference). I don't know whether that difference is material. Seeing as these are tests, I'd like to remove as many unknowns as possible. If someone can tell me that it makes no difference then I'd be happy.
    1. Even if #foo is originally on the page and then removed and replaced with a #foo which contains baz after a short wait, Capybara will still figure this out.
    2. As long as you stick to the Capybara API, and have a basic grasp of how its waiting behaviour works, you should never have to use wait_until explicitly.
    3. Let’s make that really clear, Capybara is ridiculously good at waiting for content.
    4. apybara could have easily figured out how to wait for this content, without you muddying up your specs with tons of explicit calls to wait_until. Our developer could simply have done this: page.find("#foo").should have_content("login failed")
    5. Now after a long debugging session, our developer has found the timing issue. They now realize that there is a wait_until method in the API, and immediately think that, "hey, this sounds like what I need!"
    6. Its existence confuses people into thinking that it is necessary, when in fact it isn’t.
    1. apt-rdepends exists. This functionality should really reside in apt-cache itself.

      Update: Maybe it does already exist now. I was able to run this, for example without apt-rdepends being installed: apt-cache rdepends --installed libwebpmux3

    1. Calling a software convention "pretty 90s" somewhat undermines your position. Quite a lot of well-designed software components are older than that. If something is problematic, it would be more useful to argue its faults. When someone cites age to justify change, I usually find that they're inexperienced and don't fully understand the issues or how their proposed change would impact other people.
    1. I posted a question about MD5 hash collision back in 2014. As far as I know questions about algorithms are on-topic on Stack Overflow, and the cryptography tag did not have the warning "CRYPTOGRAPHY MUST BE PROGRAMMING RELATED" back then.
    2. Someone reported it for being off-topic, but a mod declined it with a comment "I see no reason why this is off-topic. Not a programming question? You must surely be joking!", so it seems that this is controversial for the mods as well.
  10. Oct 2021
    1. From a client side/application (as a whole) standpoint this is an internal endpoint, for the router of SvelteKit this would be an external resource.
    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".
    2. All these problems are solved in zeitwerk mode, it just works as expected, and require_dependency should not be used anymore, it is no longer needed.
    1. And on any given day, developing with Svelte and its reactive nature is simply a dream to use. You can tell Svelte to track state changes on practically anything using the $: directive. And it’s quite likely that your first reactive changes will produce all the expected UI results.
  11. Sep 2021
    1. Laying a drainage pipe for plumbing is a job for professionals. Most cities and homeowner’s associations won’t look kindly upon extensive do-it-yourself excavation projects.
    1. Best demonstration: glue PVC inside an ABS hub or vice-versa. Cut through the two with a mitre saw and make a nice, clean cut. Look at all the voids where the plastics didn't glue together.
    1. Installing a sanitary tee and wye drain, or any multi-outlet drainage fitting requires basic plumbing knowledge. Once you know the basics, it is easy to install this kind of piping system without hiring outside assistance.
    1. It is also why it's implementation in firefox is completely useless, considering that windows/osx/most linux distros plan to add support for DoH/DoT/DNScrypt resolvers in the near future, so firefox doing it itself will provide no additional benefit.
    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
  12. learn-eu-central-1-prod-fleet01-xythos.s3.eu-central-1.amazonaws.com learn-eu-central-1-prod-fleet01-xythos.s3.eu-central-1.amazonaws.com
    1. the primary causes of extreme poverty are immaterial, theylie in certain deficiencies in education, organization, and discipline”(p. 159). Poorcountries, in his view, did not need more technology or physical infrastructure ormore foreign aid to eliminate poverty.
    1. The question is similar but its in a Rails context. The solutions would answer my question, but I'm almost certain that he could probably leverage Arel to solve his problem. The question I posted was designed purely as a Ruby question so that it was easier to search for. You might want to suggest an edit of the title of his question because it didn't show up when I searched for a solution to my problem.
  13. Aug 2021
    1. In everyday usage, MST is often referred to as Mountain Time (MT) or the Mountain Time Zone. This can add a bit of confusion as the term Mountain Time does not differentiate between standard time and Daylight Saving Time, so Mountain Time switches between MST and MDT in areas that use DST during part of the year.
    1. Now consider we want to handle numbers in our known value set: const KNOWN_VALUES = Object.freeze(['a', 'b', 'c', 1, 2, 3]) function isKnownValue(input?: string | number) { return typeof(input) === 'string' && KNOWN_VALUES.includes(input) } Uh oh! This TypeScript compiles without errors, but it's not correct. Where as our original "naive" approach would have worked just fine. Why is that? Where is the breakdown here? It's because TypeScript's type system got in the way of the developer's initial intent. It caused us to change our code from what we intended to what it allowed. It was never the developer's intention to check that input was a string and a known value; the developer simply wanted to check whether input was a known value - but wasn't permitted to do so.
    1. The Simplified Spelling Board of the early 1900s in the United States made gauge one of its targets in the early 1920s, urging the replacing of au with a to yield gage. From Simplified Spelling Board, Handbook of Simplified Spelling (1920): Principles Adopted Its [the Board's] recommendations, accordingly, have been based on the following principles : 1) When current usage offers a choice of spellings, to adopt the shortest and simplest. EXAMPLES : blest, not blessed ; catalog, not catalogue; center, not centre; check, not cheque or checque; gage, not gauge; gram, not gramme; honor, not honour; license, not licence; maneuver, not manoeuvre; mold, not mould; plow, not plough; quartet, not quartette; rime, not rhyme; tho, not though; traveler, not traveller.
    2. What happens when you look it up in a dictionary rather than as a phrase in Google? Google just catalogues other people's [mis-]uses
  14. Jul 2021
    1. For user-contributed data that's freeform and unstructured, use jsonb. It should perform as well as hstore, but it's more flexible and easier to work with.
    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.
  15. test-prof.evilmartians.io test-prof.evilmartians.io
    1. That's it! Just replace let! with let_it_be. That's equal to the before_all approach but requires less refactoring.
    2. That technique works pretty good but requires us to use instance variables and define everything at once. Thus it's not easy to refactor existing tests which use let/let! instead.
    1. Looking deeper, you can see a large amount of issues open, bugs taking months to fix, and pull requests never seem to be merged from outside contributors. Apollo seems unfocused on building the great client package the community wants.
    2. This sort of behaviour indicates to me that Apollo is using open-source merely for marketing and not to make their product better. The company wants you to get familiar with Apollo Client and then buy into their products, not truly open-source software in my opinion. This is one of the negatives of the open-core business model.
    1. It’s fun but when would we ever use things like this in actual code?When it’s well tested, commented, documented, and becomes an understood idiom of your code base.We focus so much on black magic and avoiding it that we rarely have a chance to enjoy any of the benefits. When used responsibly and when necessary, it gives a lot of power and expressiveness.
    1. Give the same task to a junior developer, and they might code it faster because they do not think twice while reading a requirement. Their approach is more like converting English to Java (or whatever programming language they use).

      Indeed, not only younger programmers are thinking faster, they have much less mental burden when programming.

  16. Jun 2021
    1. Personally, I like having Redis as a dependency as most of my current applications use two Redis instances; persistent store and volatile.
    1. I've seen (and fixed) Ruby code that needed to be refactored for the client objects to use the accessor rather than the underlying mechanism, even though instance variables aren't directly visible. The underlying mechanism isn't always an instance variable - it can be delegations to or manipulations of a class you're hiding behind a facade, or a session store with a particular format, or all kinds. And it can change. 'Self-encapsulation' can help if you need to swap a technology, a library, an object specification, etc.
    2. Also, Sandi Metz mentions this in POODR. As I recall, she also advocates wrapping bare instance variables in methods, even when they're only used internally. It helps avoid mad refactoring later.
    3. But sure, go ahead and enforce self-encapsulation if you like; it makes it easier to do memoization or whatever later on.
    1. Programmers should be encouraged to understand what is correct, why it is correct, and then propagate.

      new tag?:

      • understand why it is correct
    2. Thanks, this was just what I was looking for! This is a perfect appropriate use of instance_eval. I do not understand the nay-sayers. If you already have your array in a variable, then sure, a.reduce(:+) / a.size.to_f is pretty reasonable. But if you want to "in line" find the mean of an array literal or an array that is returned from a function/expression — without duplicating the entire expression ([0,4,8].reduce(:+) / [0,4,8].length.to_f, for example, is abhorrent) or being required to assign to a local, then instance_eval option is a beautiful, elegant, idiomatic solution!!
    1. If you do it really right, you’ll find yourself following, not leading because the team culture gets bigger than any one person.

      A really good leader, becomes obsolete.fr

    1. Another problem was the ambiguity of RFC 3066 regarding the generative syntax. The idea of "language-dash-region" language tags was easy enough to grasp; most users didn't read RFC 3066 directly or consider the unstated-but-realized implication that other subtags might sometimes occur in the second position.

      unstated-but-realized

    1. Your attempt should work. There is a mismatch in column name in your query though. The query uses col2 but the table is defined with col1.

      I would actually lean towards making this a comment, at least the typo fix part. But if you remove the typo fix part, all that's left is "should work", which I guess should be a comment too since it's too short to be an answer.

  17. May 2021
    1. Because constants in Ruby aren't meant to be changed, Ruby discourages you from assigning to them in parts of code which might get executed more than once, such as inside methods.
    1. or simply install the package to devDependencies rather than dependencies, which will cause it to get bundled (and therefore compiled) with your app:
    1. MJML has been designed with responsiveness in mind. The abstraction it offers guarantee you to always be up-to-date with the industry practices and responsive. Email clients update their specs and requirements regularly, but we geek about that stuff - we’ll stay on top of it so you can spend less time reading up on latest email client updates and more time designing beautiful email.
  18. Apr 2021
    1. This is definitely not the place to report bugs related to sass, rails, or sprockets. Each project has it's own issue tracker (not on SO)
    1. can you remove the not a bug label considering that PaperTrail is creating this empty versions even when :updated_at is an ignored attribute?
    1. (Yes, I realize from a technical, end-user perspective this really doesn't matter.)

      The word "technical" in this sentence doesn't seem to belong or to clarify anything. I think it would be clearer without it.

      But I think I understand what he's saying, which is that technical details don't matter to the end user. They only know/see/care if it works or not.

    1. We are are continuing our commitment to creating our games that are free and widely accessible anyone that is curious by making our game files available under Creative Commons license BY–NC–SA 4.0. That means we will continue offering a full, free print-and-play kit for Pax Pamir, and later this campaign, John Company! Anyone can use, remix, and share the game, so long as they do not use it for commercial purposes. 
    1. Of course you must not use plain-text passwords and place them directly into scripts. You even must not use telnet protocol at all. And avoid ftp, too. I needn’t say why you should use ssh, instead, need I? And you also must not plug your fingers into 220 voltage AC-output. Telnet was chosen for examples as less harmless alternative, because it’s getting rare in real life, but it can show all basic functions of expect-like tools, even abilities to send passwords. BUT, you can use “Expect and Co” to do other things, I just show the direction.
    2. But in all this incongruous abundance you'll certanly find the links to expect It's just what is wanted: the tool, which is traditionally used to communicate automatically with interactive programs. And as it always occurs, there is unfortunately a little fault in it: expect needs the programming language TCL to be present. Nevertheless if it doesn't discourage you to install and learn one more, though very powerful language, then you can stop your search, because expect and TCL with or without TK have everything and even more for you to write scripts.
    1. The game is lame and the main gimmick of writing stuff is being shat on with the horrendous gameplay. If you have a very unique formula, don't try to change it.
    1. Although echo "$@" prints the arguments with spaces in between, that's due to echo: it prints its arguments with spaces as separators.

      due to echo adding the spaces, not due to the spaces already being present

      Tag: not so much:

      whose responsibility is it? but more: what handles this / where does it come from? (how exactly should I word it?)

    1. “Who cares? Let’s just go with the style-guide” — to which my response is that caring about the details is in the heart of much of our doings. Yes, this is not a major issue; def self.method is not even a code smell. Actually, that whole debate is on the verge of being incidental. Yet the learning process and the gained knowledge involved in understanding each choice is alone worth the discussion. Furthermore, I believe that the class << self notation echoes a better, more stable understanding of Ruby and Object Orientation in Ruby. Lastly, remember that style-guides may change or be altered (carefully, though!).
    1. This is a new version of the game and it's actually worse than the one I used to play as a child. Puzzles have been removed, pathfinding is buggier than I remember it to be and you can't aqcuire a specific item at the beginning of the game. It's definitely not worth buying, even for nostalgia's sake.
    1. I was almost immediately deflated. This is a cut-down reskin of a 3 year old game from the same company.
    1. Not really sure who the audience is... the puzzles are a bit too difficult for kids but won't tax adults very much at all--some bare bones hidden object, match-3 and peg hopping.
    1. I would love to ask devs what the ****. It used to be a not bad puzzler with crappy movement, but it had to be at least a bit interesting if my Steam counter shows 5 hours. Now it is a crap.There is nothing left from the previous version - except the fact that the main character is a robot. Earlier the game looked like a bad retro, and now it looks like sweet flood. The robot moves extremely slowly now and, what's worse, it seems that it has the same levels as a game that used to be called "Abrix for kids".Achievements were reset and the new ones are broken, so it is enough to make a step to achieve 1000 steps, move a block one to get a 1000 moved blocks achievement and same with destroying blocks. I think it is even better this way. No one has to play it more than few minutes.It is sad what happened with Abrix. Avoid it.
    1. Ultimately, Shelter Generations relies on your capacity to dig into its subtleties. On that overt level it's an obtuse and obviously indie game, and it's really quite demanding of the player; it asks them to figure their own way through the game, and it asks them to really commit to an emotional connection to these hopeless little cubs.
    1. Explicit affordances are obvious, perceptual features of an item that clue you in on how it is to be used. With explicit affordances, physical appearance and any accompanying language or text inform the user of how an object is to be used.
    2. Many designers strive to create products that are so easy to navigate, their users can flow through them at first glance. To design something with this level of intuitiveness, it’s imperative designers understand affordances—what they are and how to use them.
    1. We also include a large number of detailed picture examples, often with 3D renders, that help you understand the context of the rules. For these reason, we generally don't start laying out the final rulebook until production art is complete. Writing and laying out a 20 page rule book like this generally takes about 3 months from start to finish, usually requiring a complete rewrite or two, and involves dozens of editors.
    1. however, if this is relevant to just one spec, you don't necessarily need to include devise helpers to all your controllers specs, you can just explicitly include those helpers in that one controller describe block: require 'spec_helper' describe MyCoolController include Devise::TestHelpers it { } end
  19. Mar 2021
    1. Application: 3-D Shape RegistrationAn important problem in model-based recognition is to find the transformation of a set of datapoints that yields the best match of these points against a shape model. The process is oftenreferred to asdata registration. The data points are typically measured on a real object by rangesensors, touch sensors, etc., and given in Cartesian coordinates. The quality of a match is oftendescribed as the total squared distance from the data pointsto the model. When multiple shapemodels are possible, the one that results in the least total distance is then recognized as the shapeof the object.Quaternions are very effective in solving the above least-squares-based registration problem.
    2. ts geo-metric meaning is also more obvious as the rotation axis and angle can be trivially recovered.
    1. Svelte is there when I need it with useful APIs, but fades into the background as I put my app together.
    2. but I like that Svelte comes with a good CSS story out the box.

      comes with a good CSS story out the box

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