19,785 Matching Annotations
  1. Oct 2021
    1. Also the problem becomes even worse if you multiple api/resource servers and have to decide in each load function which credentials should be exposed to which server.
    2. I am currently circumventing this issue by using getSession to have access to the cookies/headers in the load method

      We did something similar for a while...

    3. that is not ideal, since for example 'Cookie' is a forbidden header name, so I have to start worrying about env in load, which is kind of contra to its design.
    1. This function allows you to modify (or replace) a fetch request for an external resource that happens inside a load function that runs on the server (or during pre-rendering). For example, your load function might make a request to a public URL like https://api.yourapp.com when the user performs a client-side navigation to the respective page, but during SSR it might make sense to hit the API directly (bypassing whatever proxies and load balancers sit between it and the public internet).
    1. File structure
    2. Collapsing directories Say some directories in a project exist for organizational purposes only, and you prefer not to have them as namespaces. For example, the actions subdirectory in the next example is not meant to represent a namespace, it is there only to group all actions related to bookings: booking.rb -> Booking booking/actions/create.rb -> Booking::Create
    1. You do not configure Zeitwerk manually in a Rails application. Rather, you configure the application using the portable configuration points explained in this guide, and Rails translates that to Zeitwerk on your behalf.
    2. 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".
    3. 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.
    4. For example, there is no point in defining reloadable Rack middleware, because changes would not be reflected in the instance stored in the middleware stack anyway
    5. it does not belong to the autoload paths by default but it belongs to $LOAD_PATH
    6. For historical reasons, this callback may run twice. The code it executes must be idempotent.
    7. Applications can safely autoload constants during boot using a reloader callback: Rails.application.reloader.to_prepare do $PAYMENT_GATEWAY = Rails.env.production? ? RealGateway : MockedGateway end Rails.application.reloader.to_prepare do $PAYMENT_GATEWAY = Rails.env.production? ? RealGateway : MockedGateway end Copy That block runs when the application boots, and every time code is reloaded.

      workaround to problem described earlier

    8. For instance, the application could define a class method PaymentGateway.impl whose definition depends on the environment; or could define PaymentGateway to have a parent class or mixin that depends on the environment
    9. On reload, MockedGateway is reloaded, but $PAYMENT_GATEWAY is not updated because initializers only run on boot. Therefore, it won't reflect the changes.
    10. It is very important to understand that Ruby does not have a way to truly reload classes and modules in memory, and have that reflected everywhere they are already used. Technically, "unloading" the User class means removing the User constant via Object.send(:remove_const, "User").
    11. Please, do not mutate ActiveSupport::Dependencies.autoload_paths, the public interface to change autoload paths is config.autoload_paths.
    12. That may speed legit require calls a bit
    1. QueueStore
    2. export interface QueueInterface {   count(): number;   dequeue?(): any;   enqueue(...args: any): void;   flush(): any[];   reset(): void;   setFifo(fifo: boolean): void;   setLifo(lifo: boolean): void;   truncate(length: number): void; } export class queue {   protected elements: any[];   protected fifo = true;   constructor(…args: any) {     this.elements = […args];   }   count() {     return this.elements.length;   }   dequeue?(): any {     if (this.fifo) {       return this.elements.shift();     }     return this.elements.pop();   }   enqueue(…args: any) {     return this.elements.push(…args);   }   // Like dequeue but will flush all queued elements   flush(): any[] {     let elms = [];     while (this.count()) {       elms.push(this.dequeue());     }     return elms;   }   setFifo(fifo = true) {     this.fifo = fifo;   }   setLifo(lifo = true) {     this.fifo = !lifo;   }   reset(): void {     this.truncate(0);   }   truncate(length: number) {     if (Number.isInteger(length) && length > -1) {       this.elements.length = length;     }   } } export default queue;
    3. For me however, things get really interesting with the creation of “custom” stores. The creators of Svelte were/are obviously well aware of the power and flexibility of these stores and have provided a simply interface to adhere to. Basically, any object that implements the “subscribe” method is a store!
    4. One of the (in my opinion) most useful components of the Svelte library is that of “stores”.
    1. Feed Army is a browser based unified dashboard for all your social media & online feeds.
    2. browser based

      browser-based

    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.
    2. 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. But as you start to rely more on UI updates based on variable or array/object changes, it’s likely that your UI will start skipping a beat and dropping values that you know explicitly to be there.
    1. what is the conventional way
    2. Personally I think option 1 is the way to go as it doesn't allocate any memory to create a new array but rather modifies the existing array. Then the assignment just lets the compiler know that you modified the array.
    1. TylerRick - HypothesisYour browser indicates if you've visited this linkhttps://hypothes.is › users › TylerRick

      finding my own content in search results

    1. If you still have problems, please open a ticket and let us know: Your order number The key you're having trouble activating (please tell us exactly what you're entering) The message displayed by Steam That you've already tried logging out and back into Steam and then still couldn't activate the key.

      .

    1. There are ways to get around the prerequisites of buying this respirator. It is not like you are buying an illegal item, so if you get the chance, you should get this best mask for mold removal.
  2. Sep 2021
    1. Where connecting plastic pipe to other types of plastic or other types of piping material; approved listed adapter or transition fittings and listed for the specific transition intended shall be used.
    2. Just for fun, I did a little experimenting at home to show how some of these different types of cement hold up. I started by cementing a bunch of materials together with a bunch of different types of cement. I waited 24 hours, then cut each one roughly in half, down the middle.
    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. The Code Expressly prohibits glueing dissimilar plastics together: Listed under "Prohibited Joints" "No glue joints between different tyes of plastic" REF: International Residential Code 2904.16.2 Uniform Plumbing Code 316.1.6 It is true that Oatey makes a glue that is listed as approved for both ABS & PVC however there still remains a good reason why it is not approved for glueing dissimilar types of plastics together. In a normal glueing situation the bonding material sticks to the surface of both pieces being fastened together, thus forming a bond, but such is not the case with plastic plumbing pipe and fittings. When connecting plastic plumbing fittings we must first use a solvent type cleaner/primer. While the cleaner primer does clean the fitting, its primary purpose is to soften or break the smooth glazed surface of the pipe which exposes the inner polimers. The glue then chemically softens the plastic on both the pipe wall and the fitting interior and the two surfaces then fuse together forming a chemical weld. The problem with attempting to glue dissimilar plastic is that they do not react to the glue at the same rate, therefore one material may soften and reharden again before the other surface has softened sufficiently to fuse a true weld. The end result is that while it has all the appearances of having glued together you are left with a weak joint, in the same manner as a cold solder joint.
    2. 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.
    3. is labeled as a glue for PVC, ABS, CPVC, etc. It's not labelled for gluing different plastics together, only for gluing like plastics together
    1. A plugged vent gives the effect of pouring milk from a jug. Without proper air flow and ventilation, the milk chugs in starts and stops while leaving the jug.
    2. So I told my helper, smart as a whip, if you pour a bottle from slightly above flat, the liquid flows smoothly, but if you tip the bottle up, it glucks.
    3. Anyone here should know it is of extraordinary importance to maintain trap (water) seals. The gas in the downstream is full of methane, odorless and colorless, and it will cause heart and lung problems if let loose inside and lived with. That should be written on the sky.
    4. PVC DWV is dense, straight, and durable; also approved for use.ABS ("black") and PVC expand and contract differently, don't intermember directly. There's a flexible cement available.
    5. My question is, wye is a sanitary tee directional? I maintain that a two way sweep would be a more efficient vent.
    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.
    2. A sanitary tee is shaped like the letter ‘T’, while a Wye is similar to ‘Y’. Sanitary tee is used for horizontal to vertical transition, and Wye is used for combining 2 lines into one horizontal line to maintain a flow without causing clogging.
    3. Sanitary Tee and Wye are parts of the drain vent system. If you are doing plumbing works, you may have to use them in some sort. However, they look almost similar, and this confuses a lot of people. Especially to choose the one that best fits your drain system.
    1. Still not clear what this daemon does...

      And when you say switch display between HiDPI and LoDPI, what does that do? If it's a high-DPI display, does it emulate a low-DPI experience, for example by scaling/zooming / using 2 output pixels for every 1 in the input picture.

      Is this the same as the fractional scaling feature?

      The GUI for it:

      • lets me enable/disable (what happens if I disable?)
      • Change Mode: "Enable to render LoDPI displays at HiDPI resolution". What does that mean?

      I tried disabling both of those options but

      1. hidpi-daemon was still running
      2. I noticed no visible change

      So I just killed the process. Again, no visible change. So again, what does this daemon actually do for me? What is the benefit of having it running? (I'm not the only one wondering: https://www.reddit.com/r/pop_os/comments/lwsf4a/hidpi_daemon/ , https://www.reddit.com/r/pop_os/comments/lxpfpl/hidpidaemon_was_a_huge_battery_drain_for_me_had/ )

    2. We also made it simple to switch displays between HiDPI and LoDPI.  This is especially useful for applications like GIMP and Inkscape whose toolkits do not support HiDPI and appear very small in HiDPI screens.

      .

    3. We’ve also included GSettings and a DBus API to allow other distros to create their own graphical interfaces to the daemon.
    1. Commenting on a recent case from the Washington State Court of Appeals, it says that the outcome “signals a strong return to the legal principle of caveat emptor – otherwise known as ‘buyer beware’.” This ruling is interpreted to mean that “the seller may now intentionally conceal a defect and lie about it, and as long as the buyer’s inspector has some indication of a potential problem and the buyer fails to investigate further, the seller will survive a lawsuit.”
    1. daemonless container engine
    2. Hence, Podman allows the creation and execution of Pods from a Kubernetes YAML file (see podman-play-kube). Podman can also generate Kubernetes YAML based on a container or Pod (see podman-generate-kube), which allows for an easy transition from a local development environment to a production Kubernetes cluster.
    3. We believe that Kubernetes is the defacto standard for composing Pods and for orchestrating containers, making Kubernetes YAML a defacto standard file format.
    1. Simply put: alias docker=podman.
    2. What is Podman? Podman is a daemonless container engine for developing, managing, and running OCI Containers on your Linux System.
    1. I find Alt + right-click + drag to be the most convenient way to do this.

      On PopOS, the default seems to be Super + right click drag

      Took me some research to try to figure it out though (because on the Ubuntu system I came from, it was Super + middle click drag). I wish it were a bit more discoverable.

    1. gsettings set org.gnome.desktop.wm.keybindings move-to-center "['<Control><Super>c']" gsettings set org.gnome.desktop.wm.keybindings move-to-side-e "['<Control><Super>Right']" gsettings set org.gnome.desktop.wm.keybindings move-to-side-n "['<Control><Super>Up']" gsettings set org.gnome.desktop.wm.keybindings move-to-side-s "['<Control><Super>Down']" gsettings set org.gnome.desktop.wm.keybindings move-to-side-w "['<Control><Super>Left']"
    1. Move a window by dragging the titlebar, or hold down Super and drag anywhere in the window.
    2. You can choose the displayed language by adding a language suffix to the web address so it ends with e.g. .html.en or .html.de. If the web address has no language suffix, the preferred language specified in your web browser's settings is used. For your convenience: [ Change to English Language | Change to Browser's Preferred Language ]
    1. The key to a functional island fixture vent is that the top elbow must be at least as high as the "flood level" (the peak possible drain water level in the sink). This is to ensure that the vent does not become a de facto drain should the actual drain get clogged.
    1. One of the most common traps to dry out are floor drains such as those typically placed near home furnaces, water heaters and rooms with underfloor heating.
    1. I'm trying to help in some way by bringing these issues to light so a discussion about them can take place.
    2. The number of complaints across the issue tracker and the lack of substantive followup on many of those complaints should be ample evidence that these frustrated users exist and are likely about to leave Fenix behind in droves, if they haven't already.
    3. avoiding a browser monoculture
    4. I honestly believe that if more people aren't aware of these issues, Firefox for Android might soon end up dying a slow, painful death as its users give up in frustration and leave for better web browsers.
    5. I have always rooted for Mozilla in preventing Google from obtaining unequivocal control of what has become the most critical software platform in the modern era, one that holds relevance in nearly everyone's life: the web.
    1. The point of DoH is to bypass any other DNS or censorship further down the line.If you want to use DoH AND your hosts file then you need to use DoH as your OS's DNS so it is after the hosts file.

      .

    2. Also blacklist use-application-dns.n

      what is that?

    3. t's also why it is so annoying to people who actually know what they are doing, when randomly the browser decides to take over a function provided for decades by the OS network stack, and with no notice start bypassing all the infrastructure they set up to their liking (like your hosts file) and funelling all their browsing habits to some shady company (Cloudflare).
    4. 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.
    5. The whole point of DoH in firefox is to not depend on the OS like windows. And it is the OS, which implements the hosts file mechanism.
    6. those users apparently can't even be trusted to choose the option to enable it from a pop-up
    7. How can we get action on the bugzilla bug mentioned above to cause this to be fixed?
    1. If you want to check that the "usual" resolution is working (i.e. the way specified in /etc/nsswitch.conf) you can use getent: getent hosts www.winaproduct.com
    2. If your configuration is not provided by a name server (like the information given in /etc/hosts) those tools will not show them, because they directly ask the name server.
    1. If you want to find the bug, you can run a mozregression to find what broke it (using 70 as your last known good release and 71 as your bad release).
    1. Mac: "3-bar" menu button (or Firefox menu) > Preferences Windows: "3-bar" menu button (or Tools menu) > Options Linux: "3-bar" menu button (or Edit menu) > Preferences
    1. The browser (on PC operating systems) always has a choice to not use the system-provided mechanisms in the first place. It can send its own UDP packets or make TCP connections.
      • always has a choice
      • bypassing defaults
    2. Does Firefox ignore the hosts file? How to make Firefox honor the hosts file
    1. And the latter (DHCP server) is great because it means that all machines connecting to your router will now have their DNS requests routed through your Pi-Hole.
    2. Why is my hosts file entry being ignored by the browser?
    1. Therefore, Firefox already contains the code to look in the hosts file, but it does things in the wrong order: 1. Look up the URL in the DNS server if not found: 2. Send the URL to the default search engine as a search term if not found: 3. Look in the hosts file

      incorrect behavior

    2. The entries in the hosts file are obviously not on a DNS server. Setting the keyword.enabled option FALSE by itself should only turn off the feature that uses the address field as a search field. It would not give Firefox an additional ability that it did not have before.
    3. Firefox ignores the presence of the hosts file, never using it to resolve a URL.
    4. they know about this problem and have willfully and negligently—and perhaps maliciously—ignored it for at least eight years.

      accusation

    1. “Switch Windows”
    2. gsettings set org.gnome.desktop.wm.keybindings switch-windows "['<Alt>Tab']"
    3. Turns out, you have to use Alt+` to switch between windows of the same applications.
    4. if you have 3 windows of the same web browser application running, Alt+Tab won’t let you switch between those windows
    1. Missing in the product description is...1. THIS PRODUCT IS NOT FOR USE BY PEOPLE WHO MUST WEAR GLASSES!2. YOU MUST PURCHASE FILTERS SEPARATELY. THIS PRODUCT DOES NOT INCLUDE FILTERS!
    1. This is more secure than simply opening up your server’s firewall to allow connections to port 5901, as that would allow anyone to access your server over VNC. By connecting over an SSH tunnel, you’re limiting VNC access to machines that already have SSH access to the server.
    2. By connecting over an SSH tunnel, you’re limiting VNC access to machines that already have SSH access to the server.
    1. Disclaimer I really have no desire to maintain this project, as it's not mine to begin with. I was looking for something like Gitso but it didn't quite have what I wanted. After making my changes I thought I might as well put this up on GitHub for others who wanted something similar. So if you have issues, you're better off forking the project and fixing them yourself.

      .

    1. The only issue with this full-face respirator is that you can only buy it for commercial or industrial use. This means that unless you work for the purchasing department of a company, you will not be able to get one without a permit.
    1. Linked to from https://boardgamegeek.com/boardgame/238108/animo-living-deck-bible-verse-card-game/ratings?comment=1

      lugiaspal Sep 2019  North Dakota · United States bad card game, a lot of it is not original. This article that i ran into explains it all https://reportingrandomfindings.blogspot.com/2019/06/animo-l...

    2. First off starting with the logo designs for both company's using same color scheme of Yellow and Blue. Both fonts are not the same fonts, but font layout kind of looks the same, as the letters overlap each other, in an almost same style manner.

      In my opinion, and understanding of copyright law, it's okay to be similar or reminiscent of another work. That's not considered copying, nor does it mean it's a derivative work.

      Another example: I've heard multiple songs where it is evident that it's a [knock-off] and designed to remind one of the original well-known musical score, such as Mission Impossible theme, James Bond, Star Wars, etc. They copied the feel of the song, maybe some rhythms, instrumentation choices, or chord progressions, but not the actual score and not the exact same melody! And that's perfectly okay. And it should be.

      We shouldn't have to live in fear that we've created something original that sounds/looks too much like someone else's creation and will get sued.

    1. A controller is the entity that determines the purposes and means of the processing of personal data. Some examples of a controller are listed below.DigitalOcean is a controller for our customer’s personal data (e.g. personal information provided to DigitalOcean when signing up for our services)A DigitalOcean customer may be a controller if they collect and process personal data on their customers (e.g. personal data provided to you by your customers)A processor is the entity that processes personal data on behalf of another entity. An example of a processor is listed below.DigitalOcean is a processor for our customer’s end-user personal data (e.g. A DigitalOcean customer stores their customer’s personal data on a DigitalOcean service)
    1. In previous campaigns we created expansion material and used it as stretch goals. Going forward, we're just going to give it away from the start. So no worries on whether we'll hit it or not, you are getting this expansion if you pledge here.

      .

    1. The VTE widget was originally designed as the back-end for Gnome Terminal but was fortunately designed as a GTK widget so that other terminal emulator applications could leverage it instead of rolling their own. Many popular Linux terminal emulators use this component.

      .

    1. I read the negative reviews (the only ones that you can trust), but I bought it anyhow

      which reviews can you trust? how do you know which are trustworthy?

    1. Question: Why a cable for a wireless keyboard? Answer: .noScriptDisplayLongText { display : none; } <style> .noScriptNotDisplayExpander { display : none; } .noScriptDisplayLongText { display : block; } </style> because it is not a wireless keyboard...
    1. Malware drive-bys are resolved rather easily with JavaSh-t block/allow lists. Some people might complain that blocking JS hurts the user experience but more often than not the people complaining are the ones wanting to perform mischief, such as malware, data mining and tracking.

      disable JS?

    2. Just my n=1 opinion only.

      just my opinion

      unique way of saying it

    1. Snap packages can only be distributed through the Canonical store, i.e. they are linked to it. This brings some advantages like improved security but limits the developer. Conversely, Flatpak is not connected to any shop and this makes each developer the owner of the shop’s distribution. This is more in line with the open-source philosophy.

      Snap Flatpak

    2. If there is one thing that normally characterizes the entire Linux ecosystem, it is that there are many solutions to one problem.

      many different solutions to a problem

    1. tcpwrappers or, as you’re probably more familiar, the hosts.allow and hosts.deny files

      little-known facts better known as

      Indeed, I'd heard of hosts.allowed but would have never known that they were part of a package/system called tcpwrappers (which I don't think I've ever heard of).

    1. Follow this link to the Hypothesis extension in the Chrome Web Store. If this is your first time adding extensions from the Chrome store in Edge, click “Allow extensions from other stores”.
    1. distro that doesn’t patronise its potential users by fixating on an idealised use case drawn up in a meeting.

      patronise fixating on an idealised

    1. Generally, shrank is the simple past tense form of "shrink" like in "I shrank the shirt in the wash." Shrunk is the past participle being paired with "have" as in "I have shrunk the jeans." There are rarer examples of shrinked and shrunken in literature but not enough to support those usages as standard.
    1. When referring to a change in direction, position, or course of action, the correct phrase is to change tack. This is in reference to the nautical use of tack which refers to the direction of a boat with respect to sail position. This phrase has long been confused as "change tact" but this is technically incorrect.
    1. Some passengers may have medical or religious exemptions. Indeed, there are legitimate medical exemptions, such as a history of severe allergic reaction to vaccines or other rare medication reactions. Pregnant passengers may be able to claim an exemption based on the limited data available in this population.
    1. the space has to escaped twice, once for the local shell interpreting the command and once for the remote machine interpreting it again.
    2. Or use a '?' in place of a space as long as there are no other matching filenames than the one with spaces (since '?' matches any character): rsync -av host:a?long?filename /tmp/
    1. What would make these units perfect is if they were mesh connected to a hub unit that could connect wirelessly to my internet connection. An alarm event would send me and alternate either a text/e-mail, or both. I could image adding a whole house water shut off that could automatically shut off the water to deal with a catastrophic failure when no one is home.

      .

    2. These thing can save you literally thousands of dollars associated with repair of water damage. I have installed one under every sink, dishwasher, behind every toilet, washing machine and refrigerator (ice maker water supply). Essentially, any place where there is a water supply to a faucet or appliance.
    3. Fast forward two months later. The tank in the same hot water heater started leaking, and for who knows how long, because this thing did nothing. When I finally got to my heater, after discovering the water dripping under the floor itself, this unit was so soaked I had to open the battery compartment to drain it. Yes, there was that much water covering the alarm itself. The problem? Apparently, you need a significant amount of standing water for it to work. Because it was a slow-ish leak, and because the floor, although it was soaked, was draining and absorbing part of the water, and also because the water was draining through a nearby cutout in the floor, it never reached enough standing water.
    4. After a bad leak from the pipe leading into my hot water heater left my floors soaked and damaged, I decided I wanted to be prepared in case there was a next time.
    5. I improved its detection capability by taping a piece of paper on the bottom. It rests on the paper and absorbs water , setting the sensors off after a few seconds. Without this it wasn't able to detect water running down concrete with a grade. The water level would have come up a bit to trip the sensors.
    6. For the price, why splice wires, the leads can be extended to 6 feet. What I would recommend is to place the sensor on a sheet of paper towel. Any moisture will wick up to the contacts. Also you can cover a bigger area where just a corner of the paper towel will transfer the liquid by capillary action to the contacts.

      tip

    7. .noScriptDisplayLongText { display : none; } <style> .noScriptNotDisplayExpander { display : none; } .noScriptDisplayLongText { display : block; } </style> I am going to buy this and a 9v battery eliminator that plugs in(about $10). Never have to worry about batteries. If a Sump is involved maybe a very small UPS could be a solution(about $30). There is a mini ups on Amazon. You can get a 9v battery clip and wire up. Good 9V batteries aren't cheap either. Consider wha… see more I am going to buy this and a 9v battery eliminator that plugs in(about $10). Never have to worry about batteries. If a Sump is involved maybe a very small UPS could be a solution(about $30). There is a mini ups on Amazon. You can get a 9v battery clip and wire up. Good 9V batteries aren't cheap either. Consider what repairs could cost.

      putting it in perspective

      $10 + $30 much cheaper than repairs if flood because didn't hear alarm

    1. In American usage such divisions are generally referred to as colleges (e.g., "college of arts and sciences") or schools (e.g., "school of business"), but may also mix terminology (e.g., Harvard University has a "faculty of arts and sciences[2]" but a "law school").
    1. often wrongly translated as "Dresden University of Technology"

      how is that a wrong translation?

      what would the correct translation be — without any acronyms? ("TU Dresden" does not count — what are the English words one should read for T and U?)

      University of Technology seem like a reasonable translation for Technische Universität to me!       

    1. Melamine is considered the black sheep of the sheet goods’ family by most carpenters. Typically because it creates a lower quality cabinet than other materials. But, also because it is so darn hard to construct with without getting chips. However, melamine does have a place and a purpose, and if you know how to build with melamine, you can produce some budget-friendly spaces.
    1. Some components may be substituted if you can’t source them.  Use your best MacGyvering skills to figure it out.
    1. When we describe a language as type-checked, we mean that the language won't let you perform operations invalid for the type. Neither statically nor dynamically typed languages will let you multiply strings together, call a number in the place of a function, etc. A language without type checking would let you do all of those things without complaint.
    1. At the same time, details about programming language semantics are quite precise and when articles like this get things sort of wrong, it just leads to more confusion.
    1. Conversely, the more dynamically typed the language is, the less I am using an IDE and the more I am using a text editor. Of course, my productivity plummets at that point. Refactoring becomes more difficult and more (completely) reliant on unit tests to ensure they are done properly.
    1. Forwarding events from the native element through the wrapper element comes with a cost, so to avoid adding extra event handlers only a few are forwarded. For all elements except <br> and <hr>, on:focus, on:blur, on:keypress, and on:click are forwarded. For input and textarea, on:input and on:change are also forwarded. For audio and video, on:pause and on:play are also forwarded.

      Shouldn't have to individually list them. Should be able to just pass an array, and say, like forwardEvents(events_array)

    2. Instead of bind:this={ref}, use bind:el={ref}. this points to the wrapper component, el points to the native element
    1. This works in my application where there's only one shadow-dom at the time, but it's not a generic solution.
    2. As a work-around I know add a listener to the document-head and move what gets added to the shadow-root.
    3. Can you make Svelte create an open shadowRoot? You can then move it yourself (client-side)
    1. The devs clearly took a very conscious choice that broad, wandering exploration should be core to the game - to the extent that they want you to regularly have no idea where you're supposed to go (or indeed, what you're supposed to do when you get there), within environments that are often vastly sprawling. I've rarely seen a game with such minimal, indistinct signposting (sometimes nothing at all) to nudge players in the right direction.

      .

    1. An #each tag can loop anything with a length property, so: {#each {length: 3} as _, i} <li>{i + 1}</li> {/each} will also work, if you prefer.