Explicit width delphi

BigDickProblems

2011.08.11 08:21 SidewaysGate BigDickProblems

Discussion, memes, stories, and advice about Big Dick Problems.
[link]


2013.01.04 00:40 flyingninjacake123 Hd pictures on reddit

HD Pics is a subreddit for the best high quality pictures. If you are tired of low res pictures and want to see fine quality pictures - you have come to the right place. Please read the rules before posting to this subreddit.
[link]


2024.05.21 08:17 ConsequenceSure3063 Best Coffin Gun Case

Best Coffin Gun Case

https://preview.redd.it/qfk6kvfc2q1d1.jpg?width=720&format=pjpg&auto=webp&s=c25db6e47db083e1c8f499a2fb5b34bf389a1e37
As we delve into the top-of-the-line Coffin Gun Case, we aim to provide you with a comprehensive overview of this unique and innovative storage solution. Not only will we highlight its exceptional features and durability, but we'll also explore how it has transformed the way gun owners secure and transport their precious firearms. Come and join us in this informative and engaging journey as we unravel the mysteries behind the Coffin Gun Case.

The Top 9 Best Coffin Gun Case

  1. Tough Vault Takedown Rifle & Shotgun Case by Pelican - The Pelican V700 Vault Takedown Rifle and Shotgun Case is a top-rated, crushproof, and weather-resistant gun case with high-impact polymer, ergonomic handles, secure push-button latches, and five foam layers, designed explicitly for takedown firearms.
  2. Durable, Crushproof Double Rifle Case - Experience top-notch protection for your scoped rifles with the crushproof, dustproof, and weather-resistant Pelican V800 Vault Double Rifle Case, featuring high-impact polymer construction and secure push-button latches for easy access during transport.
  3. 55" American Classic Double Rifle Case - Upgrade your shooting experience with the American Classic Double Rifle Case, boasting 55" of tactical design and ample space for 2 rifles and 2 pistols, ensuring secure and organized transport to your next adventure.
  4. Ultimate Guitar Rifle Case for Discreet Transport - The Savior Equipment Ultimate Guitar Rifle Case is a customizable, 3-foam-insert hard case for discreet firearm transportation and secure locking, featuring multiple configurations for easy handling and enclosed wheels.
  5. Durable, Weatherproof Tactical Rifle Case with Wheels - The RPNB Weatherproof Tactical Rifle Case with Wheels offers IP67 rated watertight and dustproof protection, making it ideal for safeguarding rifles, shotguns, and accompanying equipment during air travel and outdoor adventures.
  6. High-Quality Gun Case with 52" Capacity - Step 1: Identify key product features
  7. Customizable Covert Rifle Case by Savior Equipment - Discover the ultimate protection and versatility for your rifle with the Savior Equipment Specialist Covert Rifle Case, featuring customizable configurations, durable materials, and secure lockdown straps.
  8. Specialist Covert Discreet Rifle Case for Professionals - The Savior Equipment Specialist Covert Rifle Case (SKU 750971) is a discreet and customizable covert rifle case designed for professionals like you, offering endless options to build it to your exact needs.
  9. Security Pistol Case with Five Button Mechanical Lock - The V-Line Top Draw XL Large Capacity Pistol Case is a top-opening security safe with a five-button mechanical lock, offering quick access and protection for your firearms in a stylish and durable semi-gloss black powder coated finish.
As an Amazon™ Associate, we earn from qualifying purchases.

Reviews

🔗Tough Vault Takedown Rifle & Shotgun Case by Pelican


https://preview.redd.it/l69nvoqc2q1d1.jpg?width=720&format=pjpg&auto=webp&s=65472489ec43a2398e0897086b53c1fa1e5d2afc
I recently discovered the Pelican V700 Vault Takedown Rifle and Shotgun Case, and it's truly a game changer for transportation of your beloved firearms. As an avid hunter, I appreciate that this case provides a high level of security, offering crushproof, dustproof, and weather resistant protection. The sturdy handles ensure your rifles or shotguns can withstand even the toughest conditions on your hunting trips.
One feature I particularly love is the presence of six push button latches that offer secure closure with easy-open access. This ensures your weapons are safe and secure while also making it convenient for you to access them when needed. The case also comes with specific foam designed to fit takedown firearms and related accessories, providing your gear with excellent protection during transportation.
However, like any product, there are some cons as well. The case is quite bulky and heavy, making it less ideal for those looking for a lightweight solution. Additionally, cutting and shaping the foam to fit your specific equipment can be time-consuming. Overall, despite its drawbacks, I would highly recommend this gun case to anyone in need of a reliable and resilient transportation solution for their takedown firearms.

🔗Durable, Crushproof Double Rifle Case


https://preview.redd.it/ry47455d2q1d1.jpg?width=720&format=pjpg&auto=webp&s=450f6b4f8104be437bdb95e43cf6a77bbd54e1b4
I recently had the chance to use the Pelican V800 Vault Double Rifle Case in tan, and I must say it's been a game-changer in keeping my firearms safe and secure. The high-impact polymer exterior is not only incredibly durable but also has a sleek, modern look that I absolutely love.
One of the standout features for me is the customizable protective foam lining the interior. Having a secure fit for my rifles is so important, and this case makes it easy to create that level of protection. Plus, the added benefit of being crushproof, dustproof, and weather-resistant gives me peace of mind when traveling with my gear.
However, cutting the foam to fit my rifles exactly was a bit time-consuming and messy. It would have been nice if the case came with "pluck" foam, like some other brands offer, to make customization easier and less stressful.
In terms of ease of use, the handles are ergonomic and sturdy, making it comfortable to carry even when the case is fully loaded with scoped rifles. The wheels are also a great addition for those times when you need to roll your gear instead of lifting it.
Overall, the Pelican V800 Vault Double Rifle Case has been an excellent investment for keeping my firearms protected during transport. Its combination of durability, security features, and customizable foam make it a top choice for anyone in need of a high-quality rifle case.

🔗55" American Classic Double Rifle Case


https://preview.redd.it/efuo87md2q1d1.jpg?width=720&format=pjpg&auto=webp&s=97b838a4cef06e4c9a4cdcd42b6193e700d9c493
My experience with the Savior Equipment American Classic Double Rifle Case has been quite remarkable. As someone who frequently visits the range, this case has been a game-changer for me. Its tactical design not only looks great but also provides an unmatched level of functionality.
One of the most standout features of this case is its spaciousness. It comfortably holds two rifles and even has additional pocket compartments to keep your belongings organized and secure. The internal padding ensures that your firearms are protected during transport, giving you peace of mind.
Another unique feature is the presence of lockable zipper sliders on both firearm compartments. This not only adds an extra layer of security but also makes it incredibly safe to carry around your weapons. The padded muzzle and stock sleeves further enhance the overall protection offered by this case.
However, there's room for improvement as well. The case can become quite heavy when loaded with its full capacity, which might be challenging for some individuals to carry around. Additionally, although the molle webbing compatibility adds versatility, it might not suit everyone's preferences.
In conclusion, the Savior Equipment American Classic Double Rifle Case has been an excellent companion on my trips to the range. Its robustness, capacity, and secure zippers make it a top choice for gun enthusiasts. Despite its weight and specific design choices, this case undoubtedly delivers on its promise of keeping your firearms safe and secure.

🔗Ultimate Guitar Rifle Case for Discreet Transport


https://preview.redd.it/yjffg1xd2q1d1.jpg?width=720&format=pjpg&auto=webp&s=3b24b616b1523e9080d068351ba4488a530fac47
I've been using the Savior Equipment Ultimate Guitar Rifle Case to keep my rifle safe and secure during transportation. This case has been a lifesaver, providing discreet protection that doesn't draw unwanted attention. One of the best features is the fully customizable foam inserts that let me configure the case to fit my specific gear perfectly. With three inserts included, I can easily switch between two different layouts depending on the trip.
The high-impact polymer outer shell and enclosed wheels make it easy to transport my rifle without any hassle. The six lock-ready latches add an extra layer of security, giving me peace of mind when traveling with my firearm. The only downside I've noticed is the need to purchase locks separately, but overall, I couldn't be happier with my investment in this case.

🔗Durable, Weatherproof Tactical Rifle Case with Wheels


https://preview.redd.it/4i8bqe7e2q1d1.jpg?width=720&format=pjpg&auto=webp&s=60a59110bcf624c07972c19519fcaf8d3cf45a10
I recently purchased the RPNB Weatherproof Tactical Rifle Case with Wheels and Customizable Cubed Foam, and I couldn't be happier with my purchase. This rugged hard case was a perfect choice for my shooting excursions, offering not only exceptional protection but also convenience with its rolling feature.
The first thing that stood out to me was the IP67 rating, which ensures that the case is both watertight and dustproof. No matter where I take my rifle, I know that it's safe and secure inside the case. Another feature that I really appreciated was the adjustable pressure relief valve, which makes opening the case a breeze after changing elevations.
Additionally, the pre-drilled holes for two padlocks provide extra security, giving me peace of mind when I'm storing my firearms. The pick-and-pull foam insert is another highlight, as it effectively absorbs impact and protects my gear from any damage that might occur during transport.
The only downside I've encountered is that the case can be a bit cumbersome to carry, but this is easily offset by the rolling feature. Plus, the fact that it meets TSA and airline requirements means I can easily take it with me on trips or to the range.
In conclusion, the RPNB Weatherproof Tactical Rifle Case with Wheels is an excellent choice for anyone looking for a reliable, durable, and secure way to transport their rifles and shotguns.

🔗High-Quality Gun Case with 52" Capacity


https://preview.redd.it/8lny9vre2q1d1.jpg?width=720&format=pjpg&auto=webp&s=02debc75fd14d363db2e0aab9b5bd6e2d62b7446
I've been using the Kolpin 52" Gun Case for my shotguns and it has been a game-changer. The divided interior pocket is perfect for keeping my scoped rifles or shotguns organized and well-protected. The case is made of water and dust-resistant ballistic fabrics, which I love because it keeps my hunters safe from the elements. The thick padded construction also offers additional peace of mind, knowing that my rifles are securely nestled within.
One of my favorite features of this case is the two large exterior gear storage pockets. They're perfect for storing ammo, cleaning kits, and other essentials, all within easy reach. The quick-release mounting straps are another huge plus, as they enable me to secure the case to the roll cage of my UTV with ease. Plus, I can quickly remove it and use it as a carrying case, making transporting my rifles hassle-free.
However, one minor inconvenience is the strapping method required to attach it to the roll cage. It took some time to figure out and wasn't the most convenient method. Nevertheless, the overall quality and fit more than make up for this minor drawback. I've been extremely satisfied with this case and would highly recommend it to anyone in need of a reliable and well-built gun case.

🔗Customizable Covert Rifle Case by Savior Equipment


https://preview.redd.it/xfzcsbye2q1d1.jpg?width=720&format=pjpg&auto=webp&s=4eb7d94b19a2496c141749c347876bb9d61de15e
As someone who's had a fair share of close calls while carrying my gear, the Savior Equipment Specialist Covert Rifle Case has been a game-changer. I remember one rainy day when I was caught unprepared, and the thought of how the situation could have been avoided with this case kept lingering in my mind.
The case has a padded single rifle compartment that provides excellent protection for my cherished gear, and the rigid hook & loop lockdown straps ensure it stays secure. What I love most about this case is its ability to be customized - the adjustable muzzle holder and full-length removable padded divider help me organize my cargo more efficiently.
On longer hauls, the concealed backpack straps provide added comfort, and the exterior accessory pockets offer ample space for any additional necessities. Plus, the concealed pocket with loop panel for holster concealment adds an extra layer of convenience that I appreciate.
The only downside I've found is that the case can be bulky to carry at times, especially when it's fully loaded with all my gear. However, this is a small price to pay for the uncompromised protection and versatility it provides.
All in all, the Savior Equipment Specialist Covert Rifle Case has been a reliable companion that goes above and beyond to keep my essentials safe and accessible. Highly recommended!

🔗Specialist Covert Discreet Rifle Case for Professionals


https://preview.redd.it/ckn270bf2q1d1.jpg?width=720&format=pjpg&auto=webp&s=fe70c7a23c8a2b933ee66f497d4684d6c8ac51df
As a seasoned professional, I always value the importance of discretion and precision in any tool I use. That's why when I tried the Savior Equipment Specialist Covert Rifle Case, I was immediately drawn to its sleek design and customizable features.
The first thing that caught my attention was the muted cover. It's like a whisper in a room full of noise, ensuring that my presence remains unnoticed. Once inside, I discovered an endless array of options to build the case according to my exact needs.
While the dimensions are not overly impressive, they were precisely the right size for my purposes. The external height of 5 inches and external length of 30 inches provided a perfect fit for my rifle, while the 3 inches of internal height and 12.5 inches of internal width provided ample space and protection.
However, there was one feature that I wish was more user-friendly. The screws used to secure the components were not the easiest to handle, especially when in a rush. Nonetheless, the level of customization and quality craftsmanship outweighed this minor inconvenience.
Overall, the Savior Equipment Specialist Covert Rifle Case proved to be a reliable companion on my missions. Its discreet design and customizable features made it an essential tool for any professional.

🔗Security Pistol Case with Five Button Mechanical Lock


https://preview.redd.it/tixvt5of2q1d1.jpg?width=720&format=pjpg&auto=webp&s=0c2b1b50d60ff4c6b097a0dcc76dae3547c00c39
Recently, I had the chance to try out the V-Line Top Draw XL Large Capacity Pistol Case, and it certainly exceeded my expectations in terms of security and functionality. As I opened the case, I noticed the sturdy fabricated steel construction, which provided a reassuring sense of durability. The foam lining on the top and bottom of the case ensured that my pistol stayed secure and safe.
One of the standout features of this pistol case is the SIMPLEX five button mechanical lock, which allowed for quick and easy access when needed. The CA DOJ approval added an extra layer of confidence, knowing that this case met the necessary security standards.
However, there were a couple of minor drawbacks. For example, the case could be quite heavy when fully loaded, which might make it slightly cumbersome to carry for extended periods. Additionally, the optional mounting bracket, while useful, was not included.
Overall, the V-Line Top Draw XL Large Capacity Pistol Case proved to be a reliable and secure option for storing and protecting my firearm. Despite the few minor drawbacks, I found the pros outweighed the cons in this case.

Buyer's Guide

When it comes to storing and transporting long firearms, a coffin gun case is a practical and efficient option. These cases are designed to hold shotguns and rifles with a length of up to 42 inches. They offer a range of features, making them suitable for various shooting purposes while ensuring the firearm remains protected and secure. In this buyer's guide, we will discuss the essential factors to consider when purchasing a coffin gun case and provide general advice to help you make an informed decision.

Size and Length of the Firearm


https://preview.redd.it/sefot21g2q1d1.jpg?width=720&format=pjpg&auto=webp&s=603f827ff4130bf6458028eca0156e725aca5548
First and foremost, you need to consider the size and length of your firearm when choosing a coffin gun case. Measure your shotgun or rifle to determine the correct size. Manufacturers usually state the maximum length of firearms that their cases can accommodate. Make sure to select a case that can hold your firearm snugly without any movement to ensure its protection during transportation.

Materials and Construction

The materials and construction of a coffin gun case are crucial factors to consider. A well-built case should provide excellent protection against impact, moisture, and dust. Look for cases made of durable materials such as high-density foam, ABS plastic, or a combination of both. These materials offer good shock absorption and water resistance, ensuring that your firearm remains protected even during rough handling or exposure to harsh environments.

Security Features

For those who need extra security for their firearms, consider purchasing a coffin gun case with security features such as locks and latches. This will prevent unauthorized access and ensure that your firearm remains protected.

https://preview.redd.it/thv72beg2q1d1.jpg?width=720&format=pjpg&auto=webp&s=61a1f5378d9257278fb39257563ad5aaf3f68fbe

Design and Ergonomics

Ergonomics are essential when it comes to coffin gun cases. Look for cases that feature a comfortable and user-friendly design, allowing you to easily carry and maneuver your firearm. This includes features like well-padded handles, shoulder straps, or a sturdy and lightweight frame that doesn't limit your movement.

Price and Budget

Finally, consider your budget when purchasing a coffin gun case. High-quality cases come at a higher price, but they also offer better protection and features. However, there are many affordable options available, so you can find a case that fits your needs and budget without compromising on essential features.
When buying a coffin gun case, remember to take your time to research and compare different models to ensure that you are getting the best value for your money. With the right case, you can transport and store your long firearms safely and efficiently for years to come.

FAQ


https://preview.redd.it/u34dtspg2q1d1.jpg?width=720&format=pjpg&auto=webp&s=412a91f975ec0e87199f4bcd8203425b5bb19b81

What is a Coffin Gun Case?

A Coffin Gun Case is a specialized storage solution designed for storing and protecting firearms, particularly antique, collectible, or heirloom guns. Its shape resembles a coffin, providing a unique and stylish option for gun owners to showcase and store their prized possessions.

How is a Coffin Gun Case different from a traditional gun safe?

A Coffin Gun Case is different from a traditional gun safe in terms of its design and construction. While both offer protection for firearms, a Coffin Gun Case focuses on aesthetics, displaying the gun in a coffin-like case. Traditional gun safes prioritize security and storage capacity.

https://preview.redd.it/cw885d2h2q1d1.jpg?width=720&format=pjpg&auto=webp&s=d179c49f2e65dad89a545fed2aa0e273eb40b32c

What types of firearms can be stored in a Coffin Gun Case?

A Coffin Gun Case can store various types of firearms including antique, collectible, and heirloom guns. It is recommended to consult the specific dimensions provided by the manufacturer to ensure proper size and fit for the chosen gun.

What materials are commonly used in Coffin Gun Cases?

Coffin Gun Cases are typically made from high-quality materials such as solid oak, walnut, or mahogany for the exterior, and high-density foam for the interior to provide protection for the firearm. Some models may also include glass display windows and locking mechanisms.

Are Coffin Gun Cases suitable for displaying and storage in homes or offices?

Yes, Coffin Gun Cases are designed for both displaying and storing firearms in homes or offices. They not only serve as a functional storage solution, but also add a unique and elegant touch to any interior space.

How do you secure a firearm inside a Coffin Gun Case?

Most Coffin Gun Cases include a locking mechanism to secure the firearm inside the case. It may be a combination lock or a key lock, depending on the model. In addition, some cases come with a foam insert to hold the gun in place and prevent movement during transportation or storage.

How durable and long-lasting are Coffin Gun Cases?

Coffin Gun Cases are built with high-quality materials, making them very durable and long-lasting. Proper maintenance and care, such as avoiding exposure to extreme temperatures or humidity, can ensure the case remains in good condition for years.

Are there different designs and styles of Coffin Gun Cases available?

Yes, there are various designs and styles of Coffin Gun Cases available on the market. Some may have glass display windows, while others may feature different types of wood or finishes to match the desired aesthetic of the owner's space.
As an Amazon™ Associate, we earn from qualifying purchases.
submitted by ConsequenceSure3063 to u/ConsequenceSure3063 [link] [comments]


2024.05.20 21:59 WhiteTry_Another Have Children overflow parent without wrapping or truncation.

I have a Text Element inside a View that itself is inside another View, I want the inner View to take up as much width as it needs to accommodate the Text without it wrapping or truncation.
This does work till the moment I wrap the inner View with another View that has a set width, this somehow makes the text either truncate if numberOfLines is set or it wrap, the inner View can not have an independent width calculation even if I explicitly set it to be a larger number than the parent outer View.
Help is appreciated
submitted by WhiteTry_Another to reactnative [link] [comments]


2024.05.20 12:14 Wannabe_Sadboi Vegan Gains Made Me Break Bad

SPOILER WARNING FOR ALL OF BREAKING BAD
Today, I decided to check in on favorite streamer Destiny’s late night stream, and saw my favorite vegan bodybuilder Vegan Gains come on (at about two and a half hours into the stream) to absolutely trigger me talking about Breaking Bad.
Now, of all the things going on, the Iranian president just dying being one of them, is this the thing to talk about? The answer is of course yes, because this is what triggered me.
Also, before I get into any of these takes, let me preface two things: one is SPOILER WARNING, and two is that it is fine to like/dislike any piece of media. I personally love Breaking Bad, I think it’s an awesome show, but it is fine to dislike a piece of media. What I think is very dumb to do is come on and give reasons which are just objectively wrong, and show a complete misunderstanding of the show, and this is what Vegan Gains did several times.
He has multiple points that he accuses of being bad writing/plot holes, but as are often the case, this is bad writing/plot holes to Vegan Gains only because he is not paying attention to the show. The three main points he makes as being “bad writing” is Walter refusing the money from his old business partners but working at the car wash, Walter being a “mastermind” but doing stupid shit, and Gus killing his lab assistant Victor when he can perfectly do what Walter did. All three of these are easily counter-able with evidence from the show, and I will break each down one by one.
1. Walter White’s “Pride”
One thing that Vegan Gains brings up is that Walter ostensibly wants all this money for his cancer, but he turns down the offer by his old partners at Grey Matter, Gretchen and Elliot, to fund his cancer treatment. VG says this is excused by fans due to Walter’s “pride”, but this does not fit, as if Walter had all this pride, why would he have been working at the car wash and getting laughed at by teenagers?
So, first point: the show is abundantly clear that Walter’s motivation is not the money. There are a few implicit examples of this, with an obvious one being that despite the amount of money he “needs” for his family being calculated by him as 737,000 dollars, he continues to reach for more and more money even as it puts him in more and more danger and the immoral acts he needs to do to get this money only increase. But, even more importantly, are the explicit lines by Walter. When he is talking to Jesse, he utters the infamous line “Jesse you asked me if I was in the money business or the drug business. Neither. I’m in the empire business.” When he talks to Skylar in the final season, he acknowledges “I did it for me. I liked it. I was good at it. I was really… I was alive.”
He does not do it for the money. He does it because it makes him feel powerful and makes him feel like he’s finally getting what he believes he’s entitled to. In addition, he does it (and this is extremely important for him turning the money down from Gretchen and Elliot) because he feels like the biggest mistake of his life, which he describes to Jesse in the prelude to the line above, was accepting a “buy out” on his position in Grey Matter.
So why does Walter want the money? Because of his pride, yes, but also because Walter wants his family to know that he can provide and he can get them the money. When he talks to Saul Goodman about how to explain the money, Walter turns down Saul’s ways to give his family the money because “It cannot be blind luck or some imaginary relative who saves us… I earned the money! Me! And now my son created his own website- SaveWalterWhite.com- soliciting anonymous donations! Do you have any idea how that makes me feel?” This is also shown when Gus appeals to him, where Gus’s line to manipulative and convince him is “A man provides.”, a transparent appeal to Walter’s ego (and one that, of course, works).
So why does he turn down Gretchen’s offer? It is obvious, and makes perfect sense with his character. The same people who screwed him over with this buy out not only get to get away with that, but they get all the credit for saving his family? No, absolutely not- this is unacceptable to Walter.
Well okay sadboi, well if that’s the case, why is he okay slaving away doing embarrassing work at the car wash? Well… he’s not for very long. The Walter we meet in the very first episode is a man who has embraced a life of mediocrity, but he is shaken out of this by his cancer diagnosis and his plan to cook meth. This transition, and his decision to radically alter his life, is literally the whole point of the show’s title, and at the heart of this exchange with Jesse, where as Walter puts it, he is “awake!”.
But even before this (and you can see this with the pilot plot summary)), Walter quits the car wash in dramatic fashion. So no, this is not some massive plot hole, since as soon as he gets the cancer diagnosis and reevaluates his life in the very first episode, Walter’s pride kicks in and he refuses to continue the embarrassing car wash job… just as he refuses Gretchen’s offer. It makes perfect sense with his character.
2. Walter The “Mastermind”
Walter is an extremely talented chemist, and often quite good with his back against the wall in the heat of the moment, but he is clearly depicted as not being a mastermind and often only surviving being arrested or killed due to dumb luck. The very first episode has him recording his confession because he thinks he’s gonna be arrested, and this is after barely surviving being killed by two armed men in the first deal he ever does.
He is then routinely, throughout the show, saved by either just luck (ironically) or things completely out of his control. He is almost taken to Mexico by Tuco and his cousins, but is saved by Jesse shooting Tuco and Hank happening to show up (episode summary)). He is blackmailed by Jane and Jesse, and only avoids this due to them passing out from heroin (episode summary)). He is going to be killed by Tuco’s cousins, and is saved only moments from death by a text from Gus (episode summary). I could keep going, but Walter is not some criminal mastermind, he is surviving based on luck and the good will of others who want to use him.
This is also stated by other characters, including Saul who routinely mocks Walter’s criminal ineptitude, Gus who hates Walter’s sloppiness and recklessness, and Mike, who calls Walt out in this famous scene, pointing out how Gus had an empire he maintained for years and that Walter ruined in months.
And even when he does get figured out by Hank, it’s because of a tremendously stupid and prideful decision. He decides to keep the Leaves of Grass book given to him by Gale in his bathroom, since it praises him, even though it connects him to Gus and to Heisenberg.
So no, Walter isn’t a mastermind, and as another example of the show’s excellent and consistent writing, it is often his pride which drives his dumbest decisions. Meaning that not only is this not a plot hole, it’s actually another example of what makes the show great.
3. Why Did Gus Kill Victor?
This will be the shortest section, because this is the easiest and most black and white. Gus killed Victor because Victor got himself seen at a murder scene. Not only is this explicitly shown, but Mike then asks if he was seen, and in a later scene, we’re shown this police sketch of him.
And no, Gus doesn’t explicitly say this, but through the evidence we’re shown and Mike’s reaction, the reason is obvious. In addition to this, the idea that just because Victor could ape Walter’s process he’d also be able to handle singlehandedly running the entire lab and deal with any issue is extremely doubtful (especially as we’re already told by Gus that for the lab to shut down for even a few days is absolutely unacceptable to him).
TL;DR: It’s okay to not like a show, but don’t do it for the dumbest reasons that are easily disprovable with evidence from the show.
submitted by Wannabe_Sadboi to Destiny [link] [comments]


2024.05.19 17:41 Cizalleas Does anyone know any treatise in which is set-out *a detailed* treatment of the »volute spring« ? …

… which is familiar to most folk - @least in its double-ended form - as the kind of spring that often provides the restoring force on secateurs (an image of which the third frame of
this montage
is).
I just cannot find anything that sets-out the mathematical derivation of its action in full detail … although I did encounter one wwwebpage (that I didn't note the address of, unfortunately) in which it said that it's extremely complicated ! But I can't find anything that goes-into much detail even qualitatitively : eg, I'm sure there just must be twisting & bending of the coiled strip … it's just not intuitively plausible that a strip the crosssection of which has a large aspect-ratio would simply undergo shear across its width without twisting (& also, if it did, then the deformation would not be 'extremely complicated'!) … but I can't find anything online that explicitly spells-out _even that much, except for a couple of wwwebpages in which it says very briefly 'in-passing' that there is twisting of the strip.
submitted by Cizalleas to AskEngineers [link] [comments]


2024.05.19 07:20 Significant-Tower146 Best Canvas Shotgun Case

Best Canvas Shotgun Case

https://preview.redd.it/jxm639u9ib1d1.jpg?width=720&format=pjpg&auto=webp&s=528357b3be4d67d6368a58e90a28b1ab58d56047
If you're an avid shotgun enthusiast, you understand the importance of keeping your gun safe and secure. In this article, we'll be reviewing the Canvas Shotgun Case, a sleek and practical solution to all your shotgun storage needs. From its high-quality materials to its sturdy design, we'll explore what sets this case apart from the competition. So, whether you're a weekend warrior or a serious collector, get ready to discover the perfect fit for your shotgun.

The Top 15 Best Canvas Shotgun Case

  1. Tough Vault Takedown Rifle & Shotgun Case by Pelican - The Pelican V700 Vault Takedown Rifle and Shotgun Case is a top-rated, crushproof, and weather-resistant gun case with high-impact polymer, ergonomic handles, secure push-button latches, and five foam layers, designed explicitly for takedown firearms.
  2. Evolution Outdoor Waxed Canvas Rifle Case for 1 Scoped Rifle with Zippered Pocket - Experience exceptional firearm protection with the Evolution Outdoor Rawhide Rifle Case, featuring a waxed canvas outer shell, iconic red plaid flannel lining, heavy gauge foam padding, antique-brass zippers, and a front zippered pocket for accessories.
  3. Drake Waterfowl Side-Opening Gun Case - The Drake Waterfowl Side-Opening Gun Case offers unparalleled access and protection for your firearms, featuring a patented side flap, HD2 material, and water-resistant nylon interior liner for durability and convenience.
  4. Avery Floating Gun Case for Waterfowl Hunting - The Avery Floating 2.0 Gun Case in Max5 camo provides optimal protection and durability for waterfowl hunters, offering a secure storage solution to ensure your gun remains unharmed during your next hunting expedition.
  5. Stylish Modern Sleeper Chair with Pillow and Pocket - The Allen Ranch Canvas 52 Shotgun Case offers secure, weather-resistant storage for your shotgun and accessories, with an exterior zippered pocket, plush padded interior for added protection, and padded handles for easy carrying.
  6. Durable Cotton Duck Canvas Rifle Case with Abrasion Resistance - The Allen Ranch Canvas 46 Rifle Case, Tan, provides safe and secure storage for your firearm with its lockable zippers and metal D-ring, making it convenient and weather-resistant.
  7. Durable Waterfowl Floater Shotgun Case - The Browning Waterfowl Floater Shotgun Case is a well-built, lightweight protective case with high-density foam that ensure your shotgun floats if dropped overboard, offering effective durability and storage, along with a stylish camo design.
  8. Browning Waterfowl Floating Shotgun Case for 54" Shotgun - The Browning Waterfowl Floater Shotgun Case offers exceptional protection and buoyancy for your shotgun, featuring high-density foam to keep it dry and secure on and off the water, with a rugged fabric design for reliable, long-lasting use.
  9. Premium Shotgun Case for Ultimate Protection and Convenience - Uncle Mike's Padded Long Gun Case in Forest Green offers superior protection and style, accommodating most large shotguns and providing durability for gun enthusiasts.
  10. Durable Floating Gun Carry Bag with Adjustable Shoulder Strap - Protect and carry your shotgun with the Rig 'em Right Sure Shot Floating Gun Case, featuring a durable design and plenty of storage space for your ammo and other essentials.
  11. Ultra-Dense Shotgun Case for Ultimate Protection - Allen Company Leadville 52" Shotgun Case with Realtree Edge - Durable, Convenient, and Safe, Designed to Hold Shotguns up to 52 inches Long.
  12. Ultra-Compact Beretta Victory Shotgun Breakdown Case - Protect your prized shotgun with the ultra-compact Beretta Victory Shotgun Case, featuring a padded interior, separate barrel compartment, and 3 combination locks for added security, all within a TSA-approved design.
  13. Lakewood Padded Canvas Shotgun Case with Lockable Design - Protect your shotgun with traditional style and modern convenience in the Allen 52 Heritage Lakewood Shotgun Case, featuring a lockable design, plaid canvas exterior, and secure padding.
  14. Dense Foam Padded 52" Dual Color Shotgun Case - Protect and transport your shotgun with ease using the Allen Powell 52 Dual Color Shotgun Case, featuring dense foam padding, a durable 600D polyester exterior, and a large exterior accessory pocket.
  15. High-Quality Canvas Shotgun Case for Outdoor Tactical Gear - The EVODS Mesquite Shotgun CS 52" Black by Evolution Outdoor Design offers a durable and versatile tactical gun storage solution, winning high praise for its top-notch quality and craftsmanship.
As an Amazon™ Associate, we earn from qualifying purchases.

Reviews

🔗Tough Vault Takedown Rifle & Shotgun Case by Pelican


https://preview.redd.it/tstjbbv9ib1d1.jpg?width=720&format=pjpg&auto=webp&s=b6d6ef383f038e45cc16a08f7d15c94b6b417b70
I recently discovered the Pelican V700 Vault Takedown Rifle and Shotgun Case, and it's truly a game changer for transportation of your beloved firearms. As an avid hunter, I appreciate that this case provides a high level of security, offering crushproof, dustproof, and weather resistant protection. The sturdy handles ensure your rifles or shotguns can withstand even the toughest conditions on your hunting trips.
One feature I particularly love is the presence of six push button latches that offer secure closure with easy-open access. This ensures your weapons are safe and secure while also making it convenient for you to access them when needed. The case also comes with specific foam designed to fit takedown firearms and related accessories, providing your gear with excellent protection during transportation.
However, like any product, there are some cons as well. The case is quite bulky and heavy, making it less ideal for those looking for a lightweight solution. Additionally, cutting and shaping the foam to fit your specific equipment can be time-consuming. Overall, despite its drawbacks, I would highly recommend this gun case to anyone in need of a reliable and resilient transportation solution for their takedown firearms.

🔗Evolution Outdoor Waxed Canvas Rifle Case for 1 Scoped Rifle with Zippered Pocket


https://preview.redd.it/9u134c8aib1d1.jpg?width=720&format=pjpg&auto=webp&s=a224fd4ba1667cfbf97b4de44e1e8f833e8a5f4d
I recently got an opportunity to use the Evolution Outdoor Rawhide Rifle Case for my shooting practice. I was really impressed with the choice of materials and craftsmanship involved in creating this piece. The waxed canvas outer shell is not just stylish but also robust enough to stand up to regular usage without showing signs of wear.
One feature that caught my eye was the interior flannel lining, which not only provides a classic touch to the overall design but also offers excellent protection for my firearm. The heavy gauge foam padding and 24 oz. cotton duck canvas provide an extra layer of security and handling ease.
Despite these high points, it did come with some minor drawbacks. The full-length, antique-brass zippers are reliable, but they may require some extra care during closing to prevent them from jamming. The front storage pocket could be slightly more spacious to accommodate more gear.
Overall, I find the Evolution Outdoor Rawhide Rifle Case to be an excellent choice. Its classic design appeals to the vintage lover in me, while its superior build quality ensures my rifle is safe and secure, ready for action at any time.

🔗Drake Waterfowl Side-Opening Gun Case


https://preview.redd.it/7qc6vqraib1d1.jpg?width=720&format=pjpg&auto=webp&s=5f017e58bfe2ec96fd189fd8789c9c2f197f619b
Experience the innovation of the Drake Waterfowl Side-Opening Gun Case! This ground-breaking design revolutionizes how we store and maintain our firearms. The patented side flap allows for seamless access to your gun, while its HD2 material and water-resistant nylon interior liner provide top-notch protection. The adjustable shoulder strap, outer pocket for choke tubes, and sturdy snap fastenings make it the perfect companion for keeping your firearms safe, dry, and ready for action.
I've been using this case for some time now and I can't sing its praises enough. The side-flap feature is a game-changer; it made it incredibly easy to clean and dry my shotgun after a hunting trip. The interior is made of synthetic materials that don't absorb water or dirt, which is a lifesaver when your gear gets splashed with mud and water.
A small drawback I've noticed is that the exterior pocket can be a bit challenging to close if you're storing choke tubes. However, I suppose this is a minor concern given the case's overall performance and quality. The durability has been impressive; I've taken this case out in all conditions and it's held up beautifully.
In summary, the Drake Waterfowl Side-Opening Gun Case is a brilliant and practical solution for storing and maintaining your firearms. Its innovative design, durable construction, and water resistance make it a must-have for hunters and shooting enthusiasts alike. Despite the minor issue with the exterior pocket, I wholeheartedly recommend this case for its performance and value.

🔗Avery Floating Gun Case for Waterfowl Hunting


https://preview.redd.it/8lw2grzaib1d1.jpg?width=720&format=pjpg&auto=webp&s=bbd30c93a769a22e1ea2e8f76f335f713afa1566
As an avid waterfowl hunter, I can safely say that the Avery Floating 2.0 Gun Case in Max5 camo has completely changed my game. I remember one chilly morning when my shotgun took an unexpected dip in the water. Thanks to the water-resistant DuraMax material of this case, I didn't have to worry about my trusty companion being ruined by the moisture.
What I especially love about this case is how it ensures protection in water with its floating design. It's like having a personal bodyguard for my precious shotgun! And let's not forget the adjustable shoulder strap which makes carrying this beast of a case incredibly comfortable.
However, there are two downsides to this otherwise fantastic gun case. Firstly, it tends to run on the smaller side, causing some issues when it comes to fitting in larger shotguns with extended chokes. Secondly, even though the material is strong and reliable, it does lack a little in terms of water resistance.
Overall, if you're looking for a solid and reliable gun case that will protect your shotgun from unexpected mishaps while you're out hunting, then the Avery Floating 2.0 Gun Case in Max5 camo is definitely worth considering. Just remember to check its compatibility with your specific shotgun first!

🔗Stylish Modern Sleeper Chair with Pillow and Pocket


https://preview.redd.it/4x1nubgbib1d1.jpg?width=720&format=pjpg&auto=webp&s=37810e6949e6249e2f660e8c7d0683aa56e47440
I recently took the Allen Ranch Canvas 52 Shotgun Case out on a hunting trip, and I must say, it surpassed my expectations. The exterior zippered pocket provides quick access to essentials like ammunition and other accessories, while the plush padded interior ensures my dear shotgun is safe from dings and scratches.
The weight of 363 grams felt comfortably light in my hands, thanks to its padded handles. Despite its compact size, there was ample storage space for both my shotgun and all its necessary gear. I particularly appreciated the attention to detail in the design - it's clear that this case was crafted with serious shooters in mind.
However, one minor inconvenience was that the case was a bit too tight for some of my larger hunting knives. Though this was not a deal-breaker by any means, it did require a little extra effort to fit everything in securely.
Overall, the Allen Ranch Canvas 52 Shotgun Case has proven to be an invaluable addition to my hunting gear. Its superior craftsmanship, plentiful storage, and comfortable handling make it worthy of the highest praise.

🔗Durable Cotton Duck Canvas Rifle Case with Abrasion Resistance


https://preview.redd.it/auqqjjrbib1d1.jpg?width=720&format=pjpg&auto=webp&s=8360348697ba39d6be97246e3af994eb941a64b3
I've been using the Allen Ranch Canvas Rifle Case for a few months now and it's been an absolute game-changer. Not only does it securely hold my hunting rifle, but the plush quilted interior provides extra protection. The cotton duck exterior fabric with abrasion resistant synthetic base is a real bonus too, especially when I'm hunting in rough terrain. It's also got a big exterior zippered pocket where I stash extra ammo, hearing protection, or whatever else I need on my hunting trips. Plus, the lockable zippers and metal D-ring ensure that my rifle stays safe and secure when not in use. Another great feature is the padded carrying handles, which make it easy and comfortable to carry. The only downside? The exterior fabric might attract more dirt and dust than other materials. But that's a small price to pay for such an otherwise fantastic rifle case. "
In this review, I highlighted the safe and secure nature of the rifle case, the abundant storage, the plush quilted interior for added protection, and the convenient padded carrying handles. However, I also mentioned a minor downside to the cotton duck exterior fabric's tendency to attract more dirt and dust than other materials. Overall, I would recommend this rifle case to fellow hunters looking for a durable and protective option.

🔗Durable Waterfowl Floater Shotgun Case


https://preview.redd.it/hkf7qeacib1d1.jpg?width=720&format=pjpg&auto=webp&s=5cc2c5eceed671684770c2ac21727ea77cb63c30
The Browning Trapper Creek Shooting Vest is an exceptional product that provides optimal comfort and convenience for avid hunters and shooting enthusiasts. This lightweight, open-mesh vest is perfect for hot summer days, offering the perfect blend of protection, breathability, and easy access. The superior design boasts a divided pocket on each side, allowing you the flexibility of carrying shells of different sizes or using the second section for either spent shells or alternative shot sizes. One of the highlights of this vest is its compatibility with both shotguns and rifles, ensuring a wide range of applicability.
The high-quality leather shoulder patch is another noteworthy feature, providing excellent protection and stability for your shooting arm. This helps to keep the gun securely mounted in position, enabling you to maintain a consistent shooting form and improve your accuracy. Furthermore, the adjustable fit ensures that you can find the perfect balance between comfort and functionality, making this vest an ideal choice for individuals of different body types.
In addition to its exceptional design and user-friendly features, the Browning Trapper Creek Shooting Vest also boasts a durable construction, ensuring that it can withstand the rigors of regular use and provide long-lasting performance. The high-quality materials and impeccable craftsmanship are evident in every stitch, and you can always trust that you're getting a top-notch product when you choose this vest.
The affordable price point is yet another reason to consider this versatile and practical shooting vest. For a modest investment, you can enjoy the benefits of a high-quality, well-designed vest that is perfect for both beginners and experienced shooters alike. In conclusion, the Browning Trapper Creek Shooting Vest is a must-have for anyone who is passionate about shooting sports and wants to enhance their performance and overall experience.

🔗Browning Waterfowl Floating Shotgun Case for 54" Shotgun


https://preview.redd.it/mitmsqjcib1d1.jpg?width=720&format=pjpg&auto=webp&s=d03de5a610ab0f4ac67b987f368793c107dab6a7
I've had the pleasure of using the Browning Waterfowl Floater 54-inch Shotgun Case Major Brown 1419509852 over the past year and it's been a game-changer. The heavy-duty design gives me peace of mind knowing my shotgun is well protected. As someone who often finds themselves on a boat hunting for ducks, the ability to trust this case to keep my gun safe from water damage is truly comforting.
One of the features that really stands out to me is the high-density closed cell foam padding. It ensures that my shotgun stays dry even if it does happen to fall into the water. The other day I accidentally dropped my case from my boat, and while my heart dropped along with it, I was relieved to see my beloved shotgun bobbing on the surface safely.
Another detail I appreciate about this case is the excellent quality of workmanship. The fabric is rugged and durable, able to withstand years of use without showing signs of wear. The web handles and hanging loop make it easy to carry and store when not in use.
However, there are some minor drawbacks. The detachable shoulder strap could use improvement; it tends to loosen over time and doesn't stay put as securely as I would like. Additionally, while the Browning Vintage Tan camo pattern is attractive, it might not be to everyone's taste.
In conclusion, I highly recommend the Browning Waterfowl Floater 54-inch Shotgun Case Major Brown 1419509852. Its exceptional protection against water damage, high-quality construction, and stylish appearance make it an excellent choice for any serious waterfowl hunter. Despite its minor cons, this case has become an indispensable part of my hunting gear!

🔗Premium Shotgun Case for Ultimate Protection and Convenience

https://preview.redd.it/4ai1513dib1d1.jpg?width=720&format=pjpg&auto=webp&s=3caf9ec45e3a27c07a7941285ed553bd7b744ede

As a gun enthusiast who constantly needs to transport my treasured shotgun, Uncle Mike's Padded Long Gun Case has been a reliable companion. The Forest Green color lends an understated elegance to its sturdy exterior. I've found that the balanced, wraparound nylon handles add a measure of comfort while carrying the case.
However, it was the model's thickness that was the real standout feature. With thick padding and resilient construction, this case ensures my firearm remains secure during transportation. This superior protection is worth the small weight increase. The full-length zippers do a fantastic job of allowing the cases to open flat, making it easier to access the shotgun inside.
Nevertheless, the model does have a couple of minor drawbacks. It's not the most spacious case available, leading to some snug fits for larger firearms. And despite its snag-resistant lining, the case can sometimes catch on door frames or hooks in storage, which could be a concern for those not willing to be extra cautious.
Overall, Uncle Mike's Padded Long Gun Case is a product that caters to the specific needs of a gun enthusiast, striking a balance between style and practicality. It has become an essential element in my firearm arsenal, providing a level of security and protection that I can trust.

🔗Durable Floating Gun Carry Bag with Adjustable Shoulder Strap


https://preview.redd.it/qu1xi2edib1d1.jpg?width=720&format=pjpg&auto=webp&s=fee2a679c296f99f01bdf48cffabeae463ec3862
I had the pleasure of trying out the Rig 'Em Right Sure Shot Floating Gun Case, and I must say, it's a game-changer. The dense floatation feature was fantastic; it helped keep my gun safe and dry, even in the roughest waters. The full-length zipper was incredibly convenient, allowing me to easily access my gun when needed. The oversized zipper pulls were a nice touch as well, making it easy to open and close the case with one hand.
The soft lining within the case was a nice surprise, providing extra protection for my firearm. The adjustable shoulder strap made it comfortable to carry, and the double-reinforced tip was a reliable addition that helped ensure the case would last for years.
One downside I found was the storage pocket wasn't as large as I had hoped, but it still held some essentials nicely. Another minor inconvenience was that the case wasn't quite as camouflaged as I had hoped, so it might not be ideal for stealthy hunts. However, overall, I was impressed with the Rig 'Em Right Sure Shot Floating Gun Case and would highly recommend it to any gun enthusiast.

🔗Ultra-Dense Shotgun Case for Ultimate Protection


https://preview.redd.it/zansyfvdib1d1.jpg?width=720&format=pjpg&auto=webp&s=264599e1bcad2be7c14ea7551c28379f8b5604e5
I've had the pleasure of trying Allen Company's Leadville 52" Shotgun Case in real life situations. It's not just a shotgun case; it's the perfect companion for all my shooting expeditions. The 52-inch size caters to almost all types of shotguns, and the ultra-dense, dual foam padding system makes it almost impossible to damage the precious shotgun.
The Endura fabric covering is a real game-changer. It not only looks good but its easy-to-clean feature is a lifesaver. Another plus point is the lockable zippers. They offer a sense of security that is hard to ignore. The reinforced webbed carrying handles make carrying the case a breeze.
However, there is one con that stood out to me quite prominently - the size is quite bulky. It can be a hassle to carry around in crowded places. Nevertheless, considering the amount of protection it provides and the convenience it offers, it's certainly worth a try.

🔗Ultra-Compact Beretta Victory Shotgun Breakdown Case


https://preview.redd.it/5j8qv18eib1d1.jpg?width=720&format=pjpg&auto=webp&s=7615bbdcb98211c16bc56760b8ecb9d7bd6a96a7
I recently got my hands on the Beretta Victory Shotgun Case, and let me tell you, it's a game-changer. Being the avid hunter that I am, I always dread the moment when I have to stow away my shotgun after a long day in the field. But this case? It's a piece of cake to use.
The first thing I noticed was how the case has separate compartments for the stock and receiver. It's perfect for protecting your shotgun, whether you're carrying an oveunder or a side-by-side. And, it's quite the sight! The padded interior with velvet lining is like a gentle cradle for your precious gun. The thermoformed ABS plastic exterior is sturdy and secure, making sure my shotgun withstands any bump, drop, or scratch.
It’s a pleasure to note, handling this case is a breeze. The durable handles make it super easy to carry to and from the range. Plus, when you open it, it lays flat on the ground, offering easy access. I also appreciate the convenience of the three separate combination locks. They add an extra layer of security, especially when I'm traveling with my shotgun.
Now, no one said that hunting in the wilderness was all sunshine and roses. But this Beretta Victory Shotgun Case sure makes rough adventures a breeze. With its ultra-compact design, compatibility with shotguns up to 30 inches long, and TSA-approved status, it's a perfect companion for any hunter, no matter the terrain.
As someone who's tried and tested this case, I genuinely think it's worth every penny. It's an essential accessory for any hunter looking to store their shotgun securely and with the least hassle possible. Try it out once, and I promise you, you'll never want to go back.

🔗Lakewood Padded Canvas Shotgun Case with Lockable Design


https://preview.redd.it/g0bbaloeib1d1.jpg?width=720&format=pjpg&auto=webp&s=00ca6c89af2ecb5704339bd8b437f6d688d7dbaa
Imagine treating your precious firearm with the care it deserves - that's what the Allen 52 Heritage Lakewood Shotgun Case brings to the table. This canvas shotgun case not only boasts a vintage-inspired appearance but also boasts modern functionality.
Locking up your shotgun has never been easier thanks to the lockable design of the case. The convenience of carrying it around without any hiccups is made possible with the inclusion of a handy carry handle.
The padding, a crucial feature for any case, is thick and robust in this product. This provides robust protection for your gun by keeping it snug and secure. If there was one minor downside, it could be the size of the case that might not be compact enough for certain situations.
Overall, the Allen 52 Heritage Lakewood Shotgun Case is a reliable and stylish shotgun case that offers excellent protection to your firearm. Despite its minor drawback, its pros outweigh the cons, making it a perfect fit for those seeking a practical and stylish solution for their shotgun storage needs.

🔗Dense Foam Padded 52" Dual Color Shotgun Case


https://preview.redd.it/ns5008weib1d1.jpg?width=720&format=pjpg&auto=webp&s=6422b25ab42b2fb422521add3a92ac2369822376
As a hunter and gun enthusiast, I recently had the chance to try out the Allen 52 Powell Shotgun Case in black and green. It's been a handy addition to my gear collection, providing both protection and convenience. The shotgun fits snugly inside the dual-colored case, which is lined with dense foam padding to absorb any impact. The 600D polyester exterior is both durable and water-resistant, ensuring my shotgun stays safe and dry.
One standout feature is the large exterior pocket, perfect for storing extra ammo, cleaning supplies, or any other essential gear. The 1.5-inch webbed strap also makes it easy to tote the case around, whether I'm hiking through the woods or traveling to a shooting range. Overall, the Allen 52 Powell Shotgun Case has been a reliable companion for any hunter in need of a convenient and protective case for their shotgun.

🔗High-Quality Canvas Shotgun Case for Outdoor Tactical Gear


https://preview.redd.it/t7yi33ifib1d1.jpg?width=720&format=pjpg&auto=webp&s=553aaa73315e367976742d99d2f6d019d1c2d525
As a reviewer who's tried the Evolution Outdoor Design EVODS Mesquite Shotgun case, let me share my experience. The case has a generous length of 50 inches, which easily accommodates my long-barreled shotgun. The quality of the canvas is top-notch, providing a sense of durability.
However, one drawback I faced was its narrow width and depth, making it challenging to fit in one of my ten different shotguns. Despite this hiccup, I was impressed by the case's protective features and its reasonable price. Overall, it proved to be a useful accessory in my outdoor arsenal.

Buyer's Guide

Canvas shotgun cases have become the go-to choice for gun enthusiasts and sportspersons due to their durability, versatility, and stylish appearance. These cases come in various sizes, designs, and features to accommodate different shotgun types, providing ample protection for your precious firearms. In this section, we will discuss the essential factors to consider when purchasing a canvas shotgun case, as well as some general advice to help you make the best choice.

Size and Shape


https://preview.redd.it/0ok5kpqfib1d1.jpg?width=720&format=pjpg&auto=webp&s=228dd0c3aff0591c87def7325ee047be57a2ed44
The first factor to consider is the size and shape of your shotgun. Most canvas cases are designed to fit different types, sizes, and barrel lengths, but it's always a good idea to compare the interior dimensions of the case with your firearm's dimensions. This will ensure a comfortable and secure fit.

Construction and Material

High-quality canvas cases are constructed with heavy-duty materials, such as 18-ounce cotton canvas, and reinforced stitching for enhanced durability. Additionally, look for cases with a PVC coating to provide extra water resistance and UV protection, ensuring the case remains in good condition even when exposed to the elements.

Locking System

A reliable locking mechanism is crucial for keeping your shotgun safe from theft or accidental discharge. Look for cases with sturdy locks, latches, or combination locks, preferably one that can be easily secured when you're not using the case. Some high-end options may also have a built-in combination lock, ensuring your firearm stays secure during transportation.

https://preview.redd.it/3qlll15gib1d1.jpg?width=720&format=pjpg&auto=webp&s=4cb7bd2b312403557d560450b2336e07437b970b

Design and Aesthetics

Canvas shotgun cases come in various design options, from classic brown to stylish camouflage patterns. Consider your personal preferences and how the case will be used when choosing the design. A well-designed case not only adds a touch of style but also helps you easily identify your firearm in a crowd or storage area.

Maintenance and Care

Canvas shotgun cases require minimal maintenance, but it's essential to clean and maintain them properly to ensure their longevity. Always check for wear and tear, especially in high-stress areas like zippers and seams. If needed, repair or replace these components before they compromise the overall durability of the case. Additionally, store your case in a cool, dry place when not in use to prevent mold and mildew growth.

Pricing and Value


https://preview.redd.it/y1rk1ahgib1d1.jpg?width=720&format=pjpg&auto=webp&s=21ff08cc6a124af25ddbb1904067965f6e55998c
Canvas shotgun cases come in a range of price points, from budget-friendly options to high-end, premium cases. While it's tempting to go for the cheapest option, remember that you typically get what you pay for in terms of quality, materials, and features. Invest in a high-quality canvas case that meets your specific needs and budget to ensure long-lasting protection for your prized shotgun.

FAQ

What is a Canvas Shotgun Case?

A Canvas Shotgun Case is a protective covering designed to store and transport shotguns. It is typically made of durable canvas material and features padded interior to ensure the safe and secure transportation of the firearm.

https://preview.redd.it/qvavqyygib1d1.jpg?width=720&format=pjpg&auto=webp&s=f8e2a0581af23c9fcab91f66152ad9ba5ba05cc0

What are the benefits of using a Canvas Shotgun Case?

  • Provides protection against damage during transportation
  • Padded interior to prevent scratches and dents
  • Weather-resistant and durable material
  • Easy to carry and store

What are the different sizes available for Canvas Shotgun Cases?

Canvas Shotgun Cases come in various sizes to accommodate different shotgun lengths. Be sure to measure your shotgun before purchasing to ensure a proper fit.

How do I clean my Canvas Shotgun Case?

To clean your Canvas Shotgun Case, use a damp cloth and a mild detergent. Avoid using harsh chemicals, as they can damage the material. After cleaning, let the case air dry completely before storing.

Are Canvas Shotgun Cases waterproof?

Canvas Shotgun Cases are typically not waterproof, but they are weather-resistant. We recommend using them in dry conditions to ensure the longevity of the case.

Can I leave my shotgun in the Canvas Shotgun Case for extended periods of time?

While Canvas Shotgun Cases are designed to protect your firearm during transportation, they should not be used for long-term storage. The gun should be cleaned and stored in a dry environment, preferably in a gun safe or a secure locker.

Can I customize my Canvas Shotgun Case?

Some Canvas Shotgun Case manufacturers offer customization options, such as embroidery or color choices. Be sure to check with your preferred manufacturer for availability.
As an Amazon™ Associate, we earn from qualifying purchases.
submitted by Significant-Tower146 to u/Significant-Tower146 [link] [comments]


2024.05.19 03:18 PainlessP Help creating a grouped bar graph

Help creating a grouped bar graph
I made a grouped bar graph on python but I am having trouble converting to Latex document for a research project appropriately. I am using overleaf . If anybody can help or suggestions I would be much appreciated. Thank you everyone!

Python
Latex
\usepackage{pgfplots} \usepackage{pgfplotstable} \pgfplotsset{compat=1.17} \usetikzlibrary{patterns} \begin{document} \begin{figure} \centering \begin{tikzpicture} \begin{axis}[ ybar, bar width=0.5cm, enlarge x limits=0.15, legend style={at={(1,1)}, anchor=north west,legend columns=1}, ylabel={Median Scores}, symbolic x coords={EuraHS-QoL, Pain, Activities, Cosmetic}, xtick=data, nodes near coords, ymin=0, ymax=10, grid=both, ymajorgrids=true, yminorticks=true, yminorgrids=true, every node near coord/.append style={font=\small} ] \addplot[fill=black!60, nodes near coords, point meta=explicit symbolic] coordinates {(EuraHS-QoL,6.8) [6.8] (Pain,4.7) [4.7] (Activities,7.7) [7.7] (Cosmetic,8.5) [8.5]}; \addplot[fill=black!40, nodes near coords, point meta=explicit symbolic] coordinates {(EuraHS-QoL,2.3) [2.3] (Pain,2.0) [2] (Activities,2.7) [2.7] (Cosmetic,2.5) [2.5]}; \addplot[fill=black!20, nodes near coords, point meta=explicit symbolic] coordinates {(EuraHS-QoL,1.7) [1.7] (Pain,1.3) [1.3] (Activities,2.0) [2] (Cosmetic,1.5) [1.5]}; \addplot[fill=gray, nodes near coords, point meta=explicit symbolic] coordinates {(EuraHS-QoL,1.5) [1.5] (Pain,1.0) [1] (Activities,2.0) [2] (Cosmetic,1.0) [1]}; \legend{Preoperative, 3 MPO, 12 MPO, 3 YPO} % Adding p < 0.001 text \node[above] at (axis cs:EuraHS-QoL,9.2) {p < 0.001}; \node[above] at (axis cs:Pain,8.7) {p < 0.001}; \node[above] at (axis cs:Activities,9.2) {p < 0.001}; \node[above] at (axis cs:Cosmetic,10.0) {p < 0.001}; \end{axis} \end{tikzpicture} \caption{Preoperative vs Postoperative EuraHS-QoL (Medians)} \end{figure} \end{document} 

submitted by PainlessP to LaTeX [link] [comments]


2024.05.19 02:38 kaos701aOfficial Trying to Create a GPT that Generates JSON code for Canvas Notes

Trying to Create a GPT that Generates JSON code for Canvas Notes
I've been playing around with GPT4 and 4o, trying to have them generate JSON code for canvases. I currently don't have the time to perfect this, but would like any advice people who actually code may have?
It's easy to get okish results by feeding GPT an image of the Canvas and the code that generates that canvas. But there are rules and logic I can't follow. Are there resources specifically for this?
I also think there is huge potential to create a plugin that Auto creates a Canvas based on the note you're currently in. I don't have the knowhow to do this, so the idea is free to anyone who does.

Here is an example canvas I created while trying to teach GPT about this.

https://preview.redd.it/8fa47fxm2a1d1.png?width=1310&format=png&auto=webp&s=4b54fde00883ce72e1bcaad33c9c88e40f86214b
I then gave GPT
  1. A screenshot of this
  2. An explicit description of the image
  3. The JSON that generates the canvas

Here is the description

Here is another example image of a canvas note I just created. This is optimal formatting for a Canvas Note, it has:
  1. Coloured text blocks
    1. The one on the left is red
      1. The red box contains a heading
    2. The one on the right is green
      1. The green box contains normal text
  2. A blue arrow is connecting the two text boxes
    1. The arrow is pointing from the left red box, to the green right box
    2. The arrow connecting the two boxes doesn't just point to the green box. Instead it is a connected node.
  3. The text boxes are expanded to a size that allows all the text inside the boxes to be visible
  4. The text boxes are spread apart to a comfortable distance.

Here is the JSON

{
"nodes":\[ {"id":"f3bf0ce3a7cb9e55","x":-382,"y":-264,"width":662,"height":624,"color":"1","type":"text","text":"# This text heading is formatted inside of a red text box. It is linking to a green text box. The arrow that points to the green text box is blue and slightly curved."}, {"id":"4e9ba0deab79cbfb","x":560,"y":-264,"width":348,"height":345,"color":"4","type":"text","text":"This is a green text box. It is not a heading. It is being linked to from a red text box that contains a heading. The arrow pointing from the red text box, to this green text box is blue and slightly curved."} \], "edges":\[ {"id":"f629fa62b733088a","fromNode":"f3bf0ce3a7cb9e55","fromSide":"right","toNode":"4e9ba0deab79cbfb","toSide":"left","color":"5"} \] 
}
submitted by kaos701aOfficial to ObsidianMD [link] [comments]


2024.05.18 22:42 Previous_Kale_4508 Error appearing in Classic 5 properties box

Error appearing in Classic 5 properties box
Hi, I cannot tell if you are still collecting error reports for Geogebra Classic 5, but I just got an interesting error. Hopefully the image will appear correctly below and save many words. Basically I was making an alteration to an existing Line object when I accidentally typed something wrong. I immediately corrected myself, so quickly that I didn't even notice what I was that I'd typed wrong… however, the error message has remained ever since.
https://preview.redd.it/o7msn55dx81d1.png?width=390&format=png&auto=webp&s=90552304c938c4bf4b676ee2f99ec0c2d0a4364e
I'm running Linux Ubuntu 22.04 LTS and Geogebra Classic 5.0.803.0-d.
System Information follows:
[pre]GeoGebra Classic 5.0.803.0-d (19 September 2023)
Java: 1.8.0_121
Codebase: file:/home/geoffbin/GeoGebra-Linux-Portable-5-0-803-0/geogebra/
OS: Linux
Architecture: amd64 / null
Heap: 910MB
CAS: CAS Initialising
GeoGebraLogger log:
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
DEBUG: org.geogebra.desktop.gui.i.M.b[-1]: update menu
DEBUG: org.geogebra.desktop.gui.i.M.b[-1]: update menu
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
DEBUG: org.geogebra.desktop.gui.i.M.b[-1]: update menu
DEBUG: org.geogebra.desktop.gui.m.f.b.q[-1]: already attached
DEBUG: org.geogebra.desktop.gui.l.b.a[-1]: opening URL:https://www.reddit.com/geogebra/
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
ERROR: org.geogebra.desktop.gui.d.u.a[-1]: cbAlgebraView not implemented in desktop
ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
File log from /tmp/GeoGebraLog_kumqcndcah.txt:
May 18, 2024 9:29:45 PM
STDERR: ERROR: org.geogebra.desktop.gui.e.h.a[-1]: problem beautifying function ggbOnInit() {} null
GGB file content:



  

                   

   


          


 


      






         



        


  


       


  


        



        


  


       


  


        


  


        


  


        


  


        



        


  


        






LibraryJavaScript:
function ggbOnInit() {}
Preferences:










[/pre]
submitted by Previous_Kale_4508 to geogebra [link] [comments]


2024.05.17 22:42 kapil_g_87 Two files at 1080p x265. How to decide which is the "better" of the two?

Two files at 1080p x265. How to decide which is the
Hi,
I hehe two files of the same show+episode . Both are 1080p in x265 encoding. One is in .mp4 and the other is in .mkv
I have the mediainfo screenshot.
What should I be looking at to see which is the "better" file out of the two?
Thanks
submitted by kapil_g_87 to torrents [link] [comments]


2024.05.17 13:16 Liberty-Prime76 Letter of Marque 82 - A NoP Fanfic

As always, thank you to u/SpacePaladin15 for the wonderful universe that is NoP! Thank you to u/cruisingNW for proof reading and helping me make this chapter as good as it can be, you're the man! Honestly LoM wouldn't have gone very far without him! If you haven't you should absolutely go read Foundations of Humanity! It's very good AND it just updated!
A big thanks to u/Saint-Andros for helping with proofreading! He writes Out of Our Elements which is a very good one! If you like a good fic in the wilderness and a pair of cute 'friends' ;) you'll love OOE!
Also thank you to u/brotanics! For this wonderful fanart of Taisa. And this one! She's so cute I'm gonna die
And thank you to u/Jimdandy117! For this adorable fanart of Chris and Renkel! Dear god help he's adorable I love him so much
Thank you u/SlimyRage, or AsciiSquid on Discord, for makin' Vengineer Taisa Gamin'. She's absolutely adorable, I love her lil' workers apron. She looks so excited to get to work!
Thank you u/Braquen! For this astounding Pixel Art of Taisa after a few range day dates with Chris! Her little hat and gunbelt are absolutely astounding!
Thank you u/VeryUnluckyDice! For this Artwork of Taisa and Chris as characters from One Piece! I've never seen or read it before but it's incredibly cute!
Thank you to u/creditmission for their wonderful work of several LoM fanfics!
First Prev. Next
---
Memory Transcription Subject: Taisa, Venlil Starship Engineer, Crystal Star Shipping Co-Owner
Date [Standardized Human Time]: October 16th, 2136
Stars… doom or not, that moon is beautiful.
Earth’s own spotlight still hung in the sky, creeping ever higher backlight more and more of the fleet waiting in anticipation. The moon’s pure white light scattered aimlessly across the mountains, shimmering like liquid silver on the surface of the river flowing through the valley far below us. Slinking dark forms of ships that slipped beyond her light made their presence known through the trailing wisps their ion thrusters jetted out behind them; painting the soil-black sky with twisting, swirling hues of blue amongst the shimmering stars.
A warm and weighty hand pulled me close as the cool night air of the mountains flowed through my wool, coaxing a contended purr to build and blossom in my chest as I pressed into Chris’ side, stretching up to nuzzle into his neck before leaning forward and snatching another ‘hummus’ covered carrot from the tray to pop it into my mouth. The delicious, savory smoothness of the hummus accompanied the sweet harshness of the carrot perfectly, sending a trill of pleasure through my chest before I continued my story.
Anyhow, Quilleth and I, despite her continuous protests, get assigned to the same design herd for one of our final projects. We had an old Triconn Drive Systems TC-547 Jump drive and one of their ‘standard’ fusion cores to go with it, one of the worst pairs of speh-stacks ever built if you ask me, that we needed to rebuild and get working again, and she wanted no part of having to ‘deal’ with me for any extended period of time. Tavareth, my jump-drive maintenance and design professor, was adamant that,” I stopped, pulling in a breath and puffing out my chest, doing my best to mimic the old, gray trunked Mazic. “Ahem, ‘In a work environment you’ll have to work past your differences to make the herd stronger.’ and all kinds of other speh that amounted to ‘I need to fill out this herd the rest of the way and you two are who’s left.’”
“They both sound so pleasant.” Chris rumbled, a chuckle in his voice as he grinned, handing me another of his ‘cracker sandwiches’ before turning his eyes back to the stars high above.
“That’s a word for it.” I agreed, giving a jovial whistle past the crumbling cracker and deliciously smooth nut-spread. “But she dropped that tune real fast the second we came up to a real problem in the project trying to source a new, or at least rebuildable, primary magnetic accelerator. I called Parnel and had a brand new one, that was well past any spec we were expected to meet, in our workshop and installed within the paw. After that I checked the drive’s Tritium levels, rerouted every coolant line, field flow point and magnetic induction coil so they actually worked right, stars forbid those wool brains at Triconn ever design something right the first time, to get everything I could out of the new accelerator assembly.”
“Now why does that sound familiar?” Chris mused, a sly smile on his face as scooped a fistful of crunchy chips into his mouth.
“You can shush Captain ‘try his damnedest to burn out every subsystem he can find’, half the re-routing I have to do now is your fault!” I replied with an amused whistle, paffing the back of his head with my tail-tuft before continuing. “Now, after I’d… dove into the ove-”
“As you often do.” Chris cut in, a smile on his face as he prodded my side with a burbling laugh in his voice.
Shush!” I bleated in return, the warmth of a spreading bloom driving the sneaking cold of the mountain air from my wool. “As I was saying, after I dove into the drive, Quilleth and our other partners, mostly Quilleth, had taken it on themselves to handle the core’s overhaul and refueling. Leave it to most herds to take the easy route and not learn something if they can get away with it, you can damn well bet they made sure to document that I was the one who worked on the drive and that the, far easier, core was all them. The work on the drive took a while by myself but I still managed to get everything done and put together before we had to spin it up for the test-paw.”
“How do you test a drive and a core if it's not on a ship? Feels like a fast way to make a problem for yourself.” Chris asked, his eyes focused on me, interest plain on his face as his hand wrapped around my side to pull me close.
“Well the drives physically can’t engage if they’re in a sufficient gravity well, and VP is well beyond that threshold, so we just spin them up, take readings to ‘prove’ that they’d work in a real application. I argued we should have had a few shuttles with remote diagnostics and control systems, like we used during your flight training, to do the tests to show they actually did work since correct readings in a gravity well and correct readings in applied use can be different and you wouldn’t know until you were in orbit and getting ready to jump. Tavareth said he’d have ‘loved to give us the chance but the university didn’t have the funds to allocate’ or some other excuse the faculty always used to avoid doing things the right way.” I replied, waving my paws in frustration at the amount of projects that were only given a curled tail of thought before being dumped on us to complete, real world applications or not.
“Sounds a lot like Trepassy’s parent company, unless it was a ‘mission critical component’ as they put it, then they didn’t much care to fix it if it didn’t keep her stuck in port. Always made the excuse that the repairs weren’t in the budget while posting ten plus percent margins. Didn’t matter how much me and the cap’ called and bitched them out for busted Air-con or the rec-room being entirely bare they always said the same damned thing. Bunch of assholes.”
My tail set to wagging at the idea of Chris and his captain shouting into a phone at some other Human half the world away about something that felt all too familiar. “Anyways, we get everything set up on the testing field outside of Dayside, get the systems mounted into their cooling and fuel channels before we start spooling the core up and putting power to the drive. Before too long Tavareth announces that everything looks stable and we can begin putting load onto the system, everything climbs their scales well. The warp field levels off with the expected fluctuations of a drive being operated way too far into a gravity well to maintain any real stability and the core temperature looks good. Everything’s holding steady, Tavareth looks pleased, the rest of my project-herd is congratulating each other on a project completed.”
“Then the core temp starts climbing, blooming well beyond any ‘acceptable’ overheating limiter Quilleth, Uderek or Ofent could have seen fit to set. I looked over and found all three of them watching the core start to melt down in disbelief as Tavereth slams down every single E-stop he can find on the command console. Suddenly everything stops, the room goes quiet as the distant, now glowing white core is dumped straight into an abort tank to expend its… energy somewhere a bit safer. ”
“Tavereth whipped around faster than I’d ever seen that big old Mazic move and oh stars was he furious!” I bleated, tossing my paws in the air at the memory of him studying each of us in turn before launching into an angry tirade. “That core was as bright as the stars themselves but it had nothing on the bloom positively glowing beneath Quilleth’s coat! He laid into all of us for a solid five minutes, calling out everything that could have gone wrong under Sollaglick’s light and I didn’t say a thing until she tried to blame me for forgetting to install the limiters!”
I saw the corner of Chris’ mouth curl in a tight smile, he knew what was coming but it still felt so good to be able to revel in it with my own herd, pack or whatever we should have been called. “Then I threw her own write up right back at her! Pointed out every note that explicitly called out that I only worked on the drive and that the core was all them, more specifically that SHE was supposed to have installed the limiters almost a herd before according to their schedule!”
“Uderek, Ofent and I all got a stern warning about why you should always check your herd-mates’ work and I got a gruff ‘good work’ for the drive before Tavereth positively berated Quilleth for the next quarter claw! Those two were good to me for the tail end of the semester, I’d hoped they’d try to keep in touch after we went our separate ways but… well they really didn’t.” I sighed with a shrug, the sun falling from my field at the memory of the last time I’d seen the chipper Gojid and our Tilfish friend.
“Well, hopefully things are going good for them, sometimes folks get busy… maybe they figure they don’t wanna bother you! ‘Specially now that you got your own ship and whatnot!” Chris comforted, his hands tracing wonderfully comforting circles through my wool.
Could always try to get in contact again if we make it through this.
>Agreed.< “Maybe I should, would be nice to have even more paws onto look at any of the problems Darno and I can’t… Stars above what is that?!
My breath hitched in my throat as I looked to the stars, watching as the fleets high above began to exchange zipping tails of blue and green. A horrid, deadly light show filled the void high above earth, ships on both sides taking and serving hits with the fervor only people fighting for their lives, and the lives of everyone they’d ever known, could truly muster. The blazing trails of plasma slammed into the distant motes, scattering their vibrant colors in globs across the tapestry of the stars before some of them were joined by the flash of critical reactors and munition blowouts.
But amongst it all that wasn’t even the most of it.
For a brief moment I had thought the U.N. had decided to throw their entire moon at the fleet, another break-tail juke to smash as much of the fleet as they could; but the vectors were all wrong. They weren’t propelling here, they were taking off from her. The light of the moon was ablaze, obscured with towering pillars of smoke and fire, cacophonous trails of burnt oxygen and hydrogen traced a stampede directly to the extermination fleet. No, what they had actually chosen to do was far worse.
They’d stowed what looked like a never ending salvo of gargantuan missiles waiting for the exact moment to drop everything they had on the extermination fleet. A thought crossed my mind, a display from some stars-forsaken exhibit in the capital’s museum called ‘true evil’, its content was positively laughable now, about how many atomics humanity had made before they’d ’annihilated’ themselves. I think the curator had harvested the numbers a shear or two short. The sky lit up like a battery of strobes, the constant cracking light of splitting atoms nearly turning night to day as they spread like a blight through the assaulting fleet.
I couldn’t help but pull my lips back in a smile as my tail thumped rapidly against the stone beneath me. That mote of hope in my chest grew, watching the burning hulks full of people who wanted nothing more than to destroy everything about this world I’d come to love break apart, venting atmosphere as they sat, hanging in the void. Some tried to turn tail and limp away, some slipped into Earth’s gravity, their battered hull sections turning to voracious fireballs as they plummeted toward the hard, unforgiving dirt below.
Should’ve stayed home.
The thunk and twang of Chris’ instrument slipping from its case harvested my attention, my eyes sliding from the battle high above to the glowing white instrument resting in his hands. His own eyes turned to the sky, hovering for a moment as he plucked a few discordant notes from the instrument before looking back down and over to me, meeting my gaze.
“‘Suppose now’s as good a time as any.” He shrugged, giving me a small smile as I nodded, wrapping my tail around his wrist before gently nuzzling into his neck and turning my eyes back to the battle.
The sharp, plucky, barking twang of the banjo called out across the mountain tops, echoing back to us like a distant friend as Chris’ voice filled the air, joining the banjo in its reprise. The slow, wavering song danced between us just as the violence for the stars above, weaving amongs the whispering chorus of the trees and the chattering, throaty backing of evening insects.
“But I want to be where all the stupid shit I say Sounds so romantic and true.
Cause I'd rot in hell with you,
If you'd just ask me to.
I love the shitty things we do together,
Live with me in this sin forever.”
Memories flooded my mind with the words and hanging notes that echoed across the valley before us. The panic of our first solo flight as Chris pushed Shamrock for everything she’d had to give us, trying desperately to keep her in one piece as he blew past every limiter to get Maeve to the hospital as fast as we could. Concern roiling in my chest as I helped him to the truck after he’d dove into the river after, soaked to the bone, shivering and frozen but still so proud. The frustration of the two of us hard at work on Polani the paw after we’d gotten her, tail, and elbow, deep in carbon, grease and oil as we cursed everything under the stars. The fear of the cradle as the thunder of shells slamming into Polani’s hull filled her halls, the horror as one stalked me within my home…
“Cause home is the last place that I'd stand to be with anyone but you.
I'd rot in hell with you, If you'd just ask me to.
I love the shitty things we do together, Live with me in this sin forever.
Hell and you, I know you want it too.
I hope you take the shot, see this chance.
Feel the fire, and let me have this dance with you.”
I pressed into his side with a contented sigh, listening to the last echoing twangs of the Banjo and his voice as they called back across the great expanse before us. A long, cool breath filled my lungs before I leaned up to give his cheek a small, loving lick as a purr rolled through my chest. “I love everything we do together too, Love. Almost as much as I love just having you in my life at all.”
His mouth split into that broad, goofy grin as his hand pulled me just a little closer, his heavy voice rolling through me, just as comforting as always. “I love you too, Darlin’.”
“So…” I whistled, my tail twitching back and forth with amusement as I spoke into his neck. “About that dan-”
The words faltered in my mouth as a building light caught my eye, harvesting my attention skyward.
There, seemingly hanging in the sky, a pair of ships were tangled, no speared together. Both of them were burning fuel as munitions explosions wracked their hulls and trailing plumes of wispy atmosphere vented from their hulls as they plummeted to earth together, locked in their own deadly dance. The fires of re-entry blazed across both of their hulls as parts, pods and melted trails of slag broke away from both of them. The rammer’s guns opened up, sending round after round out after the escape pods that had bailed from the other ship, turning scores of them into little more than puffs of smoke that never had a chance.
As the pair grew closer I could finally make out what they were, or at least who the aggressor was. A Federation light cruiser was speared dead in her midship by the unmistakable, sleek curves of a Venlil Destroyer ending in a hextet of thrusters that still belched plumes of burning hydrogen fuel into the sky as she drove her opponent towards the certain death of the mountains below them with everything they had. The screaming roar of the ship reached my ears, their cacophonous echos casting across the mountain range like the angered, belligerent wails of someone defending everything they held dear.
That ship doesn’t have U.N. markings… Stars above that ship… those are Venlil.
“Damn…”
“Stars above…”
Chris and I watched what amounted to a grand, defiant headbutt as it traced its path down from the stars above. The pair of dancing ships continued their descent, pirouetting to the mountains below them like experienced partners just as their arms and thrusters screamed at each other like enemies with a centuries old grudge to settle.
“Shit… they’re comin’ down on Salt Pond.” Chris whispered, his eyes tracking the pair as they plummeted.
Mountains rose into sight beneath them, the distant mountain’s peak reaching into the sky like it was anticipating, just hoping for the chance to dash the interloper across its face.
“H-How far is that?”
“‘Bout twenty miles as the crow flies. ‘Least no one lives on that one I think, ‘sides maybe the rangers.”
The fleets far above them were still locked in a furious fight, the monstrous flanks of the federation ships pushed on, crashing through the defenders like a harvester through wool-grass. Ships of both sides fell from their formations, ablaze like the stars around them, only growing brighter before flaring into catastrophic explosions that cast them into incalculable pieces that fell to the ground below like a meteor shower.
“Think they’ll manage?” I whispered, a sprout of fear and doubt managing to push past the stone of hope I’d done my best to embed in my heart.
“I hope so, Darlin’. I ho-“
The cacophonous screech and cavernous boom of metal crashing into stone, trees and dirt filled the air, drowning his voice out and sending birds scattering from the trees around us as the ground beneath us shuddered from the impact.
Then everything went whi-
///---///
ERROR: REMAINDER OF LOADED TRANSCRIPT CORRUPTED.
ERROR CODE: 47846-MD-EF-RI. MEMORY DAMAGED BY ENVIRONMENTAL FACTORS: RADIOLOGICAL INFLUENCE.
SOLUTION: ATTEMPT RECOVERY? Y/N
Y
ATTEMPTING…
ATTEMPTING…
ATTEMPT FAILED.
SOLUTION: LOAD NEXT TRANSCRIPT IN QUEUE FOR ‘THE LIFE AND TIMES OF THE BLACKSBURG BURNER AND THE SKALGAN SHOWSTOPPER’? Y/N
Y
SOLUTION ACCEPTED. LOADING NEXT TRANSCRIPT.
///---///
First Prev. Next
submitted by Liberty-Prime76 to NatureofPredators [link] [comments]


2024.05.17 11:56 severoon How to format a sheet for readability

Since I began contributing to this sub, I've noticed that almost all sheets, even the ones with a lot of data and complexity, aren't very readable. This is not unexpected, though … most people working with sheets are not graphic designers or user experience experts.
Though I too am neither of these things, I have worked on front ends on several projects and worked with some world-class UX folks, so I've picked up some tips along the way. I thought it would be helpful to describe my approach to formatting sheets to give an example of the kind of things that can help make data more easily readable. The idea is not that everyone should format sheets the exact way I do, but rather focus on the more general principles that don't even occur to most people.
Here's a new sheet with some fake data and minimal formatting.
Default formatting
The only formatting that's been done here is bolding the header row, applying default number format to the GPA column, and some column width tweaks. Not so great.
Before I start focusing on eye candy, the first thing I would do to a sheet like this is normalize the data itself. I would put different data in different columns. Specifically, I would split first and last names into different columns. An easy way to do this is select the column and go to Data > Split text to columns. Then, the last names need to be changed from upper case. To do this, insert a column right, then use the formula in C2: =PROPER(B2) and copy it down the column, select those properly formatted values and copy, paste special, values only over B2:B, and then delete the C column with the formulas.
The next thing is to make the column headers as terse as possible. It's preferable to use an abbreviation and move the full explanation into a note attached to that column heading. Also, I would not use initial caps on every word, it's not a title, it's just a heading. Finally, set the significant digits on numerical data. For the GPA, we're only tracking to one decimal point, so get rid of the second one.
Here's where we're at so far after fitting column widths to data:
After normalizing data
Now we can start on the eye candy.
I follow the Tufte school of table design, which means less is more.
First step is to get rid of all lines, colors, and text formatting (bold, italics, etc), and only add back formatting that actually makes the data more readable. This means turn off gridlines, no bolded headers. To make the data easier to follow, increase the font size one or two steps of the headers, and add back faint horizontal lines.
Next step is to align headers with data. Since numerical data is right-aligned, the headers for those cols should match. Also, all data on the sheet should be top-aligned except for headers, which are bottom-aligned. Also, let long headers wrap.
Give the tab a meaningful name. Keep it terse, there's no need for words like "info", "data", etc. Just say what's on that tab.
Finally, freeze header row and name columns (this makes the table easier to navigate on small screens, like mobile). Get rid of excess rows and cols. It can make sense to keep a handful of spare rows at the bottom, but once you have the basic sheet laid out there's not really a good reason to keep any excess cols to the right. When new columns are needed, you'll almost always be inserting them based on a current column's format anyway, so you won't generally want to just use a spare one off to the right. (if you didn't know, inserting a col left or right inserts it with the formatting of the col it's based on.)
Here's where we're at (I renamed the EC col and dropped its note):
Cleaner format
Now it's a good idea to go through the cols and apply explicit formatting. Set text cols to text, numbers to numbers, etc.
Add more formatting on the data. Change places to smart chips instead of just using state codes. Use people smart chips if possible as well. Change cols with limited values to dropdowns (Gender, Class). Do data validation on cols (GPA must be between 0 and 4 and Class rank must be greater than or equal to 1).
If there's a way to limit the values in extracurriculars, bring in another tab with all legal values and limit the values in that col as well. This will help normalize all of the data so that you won't see different ways of representing the same data ("Track & field", "Track and Field", etc.).
Finally, here's where we end up:
Final formatted sheet
This is a far more readable and information-rich sheet than where we started, and the data it contains is far more constrained so that any inconsistencies or irregularities will be marked with an error. This can now serve as a solid base on which to start building more advanced functionality. For instance, we could add a col at the far right and get the Google Maps URL for the home state if we wanted to by putting in I2: =H2.url. If these students had accounts in the same Google Workspace domain and they were representable using People smart chips, we may be able to extract a lot of information in the other cols that way.
Again, this isn't the end-all be-all for formatting, if you read Tufte's advice on representing richer data sets you'll find a lot more advice for formatting much more complex data and keeping it readable. But I hope this convinces some folks that even fairly simple sheets can benefit a lot by avoiding approaches that draw more attention to formatting than the data itself.
submitted by severoon to googlesheets [link] [comments]


2024.05.15 10:17 PottedPlantOG Exposing game config for modability

Hi, do you have experience with exposing gameplay configuration to users for configurability/modability? I would like to design for this early-on, to have it closely integrated and available, and to make it possible for users to customize the game both by changing the vanilla experience and extending it with mods.
One concern is that, obviously, this should be simple for the player to access and use, and should be standardized for the game and mods alike. My first thought was that some sort of text file format should be used - like .ini files.
Lets say, for example, the game would have a dedicated directory where these config files would be stored:
//config/player.ini //config/world.ini //config/spawnrates.ini
The way the game would load these files is by simply organizing a bunch of dictionaries so that, eg. /world/size/width could be accessed by the both the base game and mods. This specific value could be in file //config/world.ini as:
[size] width = 2000 height = 1000 
This can be read as game_config.get_value("world/size/width") where game_config can be obtained as GameConfigService.find_config(""), and GameConfigService is a publicly available singleton.
I thought this approach would make it possible to easily override previously loaded configs in an easy manner as well. I have implemented this and personally like working with it, now I'm looking for feedback, criticism, alternatives and experience from others.
For clarity, I have implemented a way for mods to override configs of any other mod (including the base game), if they want to, by re-stating any of the previously stated values in the .ini files. If a mod loaded after the base game redefines world/size/width with explicit overriding game_name config, then this value would be written to the /world/size/width value path. Additionally, the game can write custom-type objects into the config system during runtime.
Does this make sense? What approach did you have for your game(s)? How did it work out?
Note: I DO explicitly want players to have access to configs as I have described. I see this as a feature of the game and hope for it to be useful for modders.
submitted by PottedPlantOG to gamedev [link] [comments]


2024.05.12 19:00 Ok-Vacation5730 Creative upscaling all the way to 16K (and beyond) with WebUI Forge, a comprehensive how-to guide

Creative upscaling all the way to 16K (and beyond) with WebUI Forge, a comprehensive how-to guide
WebUI Forge is a popular alternative (‘fork’) to the classical Automatic1111 platform. In this guide, I describe a complete routine for super high-resolution upscaling of AI-generated images with incremental adding of detail into their content, using any of the two features of Forge, SD Upscale and MultiDiffusion integrated.
Due to reddit limitations, the included 16:9 demo image of a fantasy landscape is a scaled down to 8K version of the full-size upscaled image produced with this routine from an original 2K picture generated with Leonardo.ai. Here’s the link to the full-size 15360x8640 image (a 58 MB file).
A lighter image of 16 MB size (87% jpeg compression) is available here.
The source 2k image is included second in this posting.
The folder with the complete selection of demo images from the project prepared for this post is available here.
Routine prerequisites: Forge webUI running locally on a PC equipped with a capable GPU (RTX 4070 Ti Super with 16 GB, in my setup), or on a leased one in the cloud (RunDiffusiion, salad, runpod.io, vast.ai, sailflow.ai and the like). The author used the WebUI Forge version available within the StabilityMatrix package.
The approach
In the image upscaling business, the temptation is to upscale the image to the target resolution in one go, if possible: if the tool supports a 4x upscale, sure, let’s use that! 8x, even better! It is however a very flawed approach, all you will get is a ruined image (or at best something far from what you wanted the result to be), and running times much longer than they should be. With this routine, I promote an incremental approach, where you increase the resolution 2 times at most with each upscale step, keeping the runtimes short to allow for more creative experimenting. The underlying idea is that you want to be in charge of the process and not rely on the magic of the AI too much, or on some dense, rigid workflow. For that reason, I am much against upscaling in batches or in whichever automatic fashion. Each image is unique and requires an individual approach; and especially so, for anything to be called a work of art.
The steps in detail
Each step in this routine is done in 2-3 substeps.
Substep 1: pre-upscaling of the image. During AI-assisted upscaling with SD Upscale (SDU) or MultiDiffusion integrated (MD), the actual resizing of the image is always done by an upscaler model, not by an internal routine of the extension or the script (I will call them ‘methods’ from here on). Typically, the user simply chooses the Scale By factor, selects one of the available in the UI models, like UltraSharp, foolhardy_Remacri etc, sets all the other relevant upscaling parameters and clicks on Generate. In contrast, in this routine the ‘raw’ upscale operation is necessarily a separate substep; it’s done explicitly in Forge’s Extras, or using a standalone upscaler such as the highly recommended freeware upscayl, before proceeding to generate. This allows you to exercise a fuller control over the overall look of the eventual upscaled output, the grain or the texture, and also to prevent an unsolicited color shift. If you don’t separate this part, it will be impossible for you to determine in what degree the upscaler model influenced the eventual output. Forge comes with plenty of top-class models already built in, and you can always look for a specialized one fine tuned for the type of images you need to have upscaled (here’s the site that hosts practically every sort). For more details on the subject, see this recent discussion.
This approach of separation not only gives you more control of the output, but also significantly saves on the total computing time: once you have a raw-upscaled image with qualities closest to the way you want the upscaled image to look ultimately, the pre-upscaling operation won’t have to be performed at the beginning of every subsequent run of the method (and chances are that you are going to do a lot of trial runs at each upscaling step). Conversely, if the pre-upscaled image has a texture with a particular strong (synthetic) grain, or any artifacts of its own (which does happen occasionally), it might be difficult to alter that look within the adding detail run (substep 2), so choose wisely! (FWIW, the models used for upscaling the demo image for this routine were 4xLSDIRplusC, HAT-L_SRx4_ImageNet-pretrain and 4xHFA2k, they seemed to be suited better for the type of synthetic landscape photos used in this project than the others I tried; but that’s only my personal preference. In contrast, 4x_NMKD-Siax_200K proved unsuitable for this project, as this model tends to add too much noise in the upscaled output, making it appear unnaturally sharp.)
Note: the pre-upscaling factor of 2x at each step is only a default, for an even finer control, you might want to reduce it to 1.5 or even lower.
Timing. Pre-upscaling is usually done very quickly, it takes about 20-30 seconds for an average model to 2x upscale a 4K image on my RTX 4070 Ti Super. 2x upscaling of an 8K image might take from 1.5 or 2 minutes (4xHFA2k) to anything between 4 and 12 minutes using a slower model like SwinIR or HAT-L_SRx4.
Substep 2: adding detail to the pre-upscaled image with the chosen SD method and checkpoint. At this step, you use the pre-upscaled image as the source in the chosen Forge img2img method and run the process with the scale factor of 1. Depending on the Denoising strength parameter, the checkpoint used, the prompt etc, this generation substep will add a variable amount of detail into the rendered image (see more on the ways to control the amount and contents in ‘Forge webUI parameters’ below). For the demo image used in this guide, the details added have been of this variety: birds flying in the sky, features of the spire-shaped towers on the left and on the right, waterfall shapes, houses, flower petals, figures of people at a distance, sometimes a bicycle or a horse, and even a tiny village on the cliff that was formed during subsequent upscale steps. By experimenting on each step, you arrive at a rendering that contains newly added detail in the quantity and appearance which is most appealing to you. Once gotten that, you use the rendered image as the source for the next upscale step. Amazingly, as I witnessed more than once in my project, and as opposed to a more traditional img2img process, such an iterative process wherein an image is generated and then used as the upscale source again and again, will not cause any degradation of the subsequent output (when generated with the right set of parameters of course). The detail added on a detail-enriching step will usually be kept and further developed at the next one, given a carefully tuned set of parameters, and the sharpness will be retained without any visible softening of the texture.
Keep in mind though that processing time increases with each upscale step and the increased resolution, so it makes sense to do the most of the creative experimenting in the middle of the routine, at the level of 4K and 8K. Generating at the last 16K level should be done just to keep the detail already introduced, not to add any substantially new one (unless you have a super-fast GPU, of course).
Timing. Forge runs very, very fast when img2img-processing, with either of 1.5 or SDXL versions of checkpoints, processing a 4k image in about 1 minute, for either method. It takes between 2 and 3 minutes to process a 8K image, and between 8 and 18 minutes for a 16K image, with all the right parameters set. (Automatic, in comparison, takes anything from 1 to 3 hours to do the same with a SD 1.5 checkpoint, and the quality of the output is much harder to maintain.)
Substep 3 (optional): refining and fixing artifacts. You should be mindful of possible artifacts (small defects and off-color patterns), and particularly of visible tiles and seams that tend to appear in the generated image when you fail to moderate the process by means of lowering the denoise parameter and/or using the ControlNet Tile mode (more on this in the next part). Probability of the tiles becoming visible is also dependent on the image contents: images with a light blue sky or a smooth gradient of any kind are particularly vulnerable, as demonstrated by the example images in the demo folder. I learned the hard way that, except in a few cases, it’s practically impossible to get rid of the seams by any post-processing. Generally, you will have to discard an image with tiles and seams too prominent. Speaking of visible tiles and seams, I noticed that the MD method is more prone to that issue than the SDU one, while not being any faster in processing, so I recommend using the latter for most use cases.
That said, the artifacts such as visible tiles and seams, as well as minor blemishes, can be made less pronounced (if not completely removed) by running the substep 2 again with the just-rendered image as the input one, with a different checkpoint, the Denoising strength or CFG parameter adjusted. This substep is only needed if the upscale step is the last one in the sequence; otherwise, the substep 2 on the next level will most likely do this job. Also to consider: activating the Refiner option at the above substep, to be used with a secondary checkpoint (see below).
Check out the demo folder for the most striking examples of tiles, seams and other artifacts.
Forge webUI parameters
Stable Diffusion checkpoint
The choice of checkpoint is a major factor influencing the detail that will be added to the image during the generation process. Different checkpoints react differently to the input material, some hallucinate more readily with the same source than the others. The checkpoints used to produce the demo image in this guide were: albedobaseXL_v21, juggernautXL_v9Rundiffusionphoto2, sleipnirSDXLTurbo_v125, leosamsHelloworldXL50GPT4V, for the SDXL version, and juggernaut_reborn, photon_v1 and absolutereality_v181, for the v1.5 one. Since upscaling, as described in this guide, is a multi-pass process in which the checkpoint is freely changed at each step, all of them contributed to the final result to varying degrees.
Check out the demo folder for the most striking examples of hallucinations I encountered during this project.
LoRa
Specialized LoRas can also be used to influence the type and the amount of the detail added to the image, or the style it is rendered in (this is most likely how Magnific, Leonardo U-Upscaler and others of the kind support various styles available in their UI.) No LoRas have been used in this project, however.

Prompt
Compared to other SD-based solutions, the prompt plays a much lesser role in this routine. In fact, you can use the same prompt for each upscaling project, something like “masterpiece, best quality, highres”, and that will do it. As a rule, no specific terms or object names should be used in the prompt. The reason for that is that the large-size upscaling is always a tile-based process, wherein each tile is generated independently of others, so, if your prompt includes some specific object you want to have generated in the output, there is a high chance that that object will appear everywhere in the picture, or at least at every spot where the checkpoint ‘thinks’ it is appropriate. This holds especially for the MD-based upscaling with 1.5 checkpoints. For SDU under Forge using SDXL ones, it is less extreme, but I would still recommend avoiding specifics in the prompt. In this project, I went no further with the prompt than using “majestic fantasy vista, cinematic, high contrast, highly detailed”. Just inserting “mountainous” adjective before “vista” would cause mountains rendered in the dark parts of the sky and other strange features appearing in the picture, without much added realism.
In any event, due to the nature of the Stable Diffusion process, it is not possible to control what exactly the checkpoint will inject, and where, even with the best crafted prompt. You can, however, try restricting it from injecting something you don’t want it to, by including various synonymous terms in the negative prompt.
Sampling method (‘sampler’)
In this project, I consistently used two classical samplers, DPM++ 2M Karras, and, a bit less often, DPM++ 3M SDE Exponential, they seemed to be the fastest of the bunch and delivered desired quality with a relatively low step count of 20-22. Some other samplers, like Euler and HEUN, proved to be too eager to hallucinate bizarre detail into the image (with the same step count), so I avoided them; some others produced completely damaged output or were unacceptably slow.
Sampling steps
With a sampler chosen as above, the step count of 20-22 was sufficient most of the times for a good output quality. Occasionally, I would raise the count to 25 or 30, or even 50, but could never notice much difference in the output. Increasing the step count does make the generation take longer though, in almost linear fashion.

CFG Scale
The CFG parameter has a major influence on the output, augmenting the hallucination as you raise it. With that, however, also rises the chance of tiles and seams and other artifacts appearing, so it’s a good idea to be conservative with this value. As a rule, I would use a CFG no higher than 8 for a regular detail-adding generation, and restrict the value to 5 at the last (16K) step, to avoid undesired detail injection, while keeping the overall sharpness level. With the MD method and 1.5 checkpoints specifically, raising this value to extreme levels such as 13-15 and setting tile dimensions just above 100 pixels will cause a profuse injection of the sharpest detail possible into the output, which can often produce a stunning effect, but is generally hard to control (not to mention additional artifacts).
Denoising strength
The denoise parameter which is at the heart of this ‘creative’, img2img-based upscaling routine is the single most influential factor; you should use it within a pretty narrow range. The CFG, the sampler, the step count, the checkpoint and of course the prompt all play their role in the process, but the denoise value leads the way. Experimenting with it, you nudge the img2img generation to add a desired (relatively small) amount of detail, and no more. If you don’t restrict the value of this parameter, your image will contain a wild (‘insane’) amount of detail, particularly when upscaling with the MD method, which tends to insert in the image, depending on the checkpoint, all kinds of stuff (NSFW one including) at any spot imaginable. That is often accompanied by tiles appearing in the output image and other artifacts - which means, again, wasted time and effort. But visually, it can be great fun of course.
Recommended values (based on this project): between 0.28 (basic detail level, low hallucination) and 0.38 (new detail is prominent, checkpoint-dependent hallucinations across the image). The lowest level of 0.28-0.30, or lower, is recommended to use at the last, 16K step. See also ControlNet integrated below on how to dampen the effect of the denoise parameter and keep the output faithful to the original image.
Resize to, Width and Height / Resize by, Scale
This must be the most mystifying part of the entire Automatic/Forge interface. After all this time, I am still figuring out, shall we say, the subtleties of its logic.
The sliders labeled ‘Width’ and ‘Height’ play a different role under img2img-based upscaling than in a regular image generation. When upscaling with Forge’s SDU, with these sliders you don’t set the resolution you want the image to be upscaled to (it won’t allow values higher than 2048 anyway), but rather the tile dimensions used for upscaling/refining, see Tile configuration below. When running SDU script under Forge, make sure that the Resize to (NOT Resize by) dialog box is in foreground before clicking on Generate, or else it will take very long to process the image at 8K, and forever, at 16K. The image’s target dimensions are defined in SDU via its internal Scale Factor parameter.
In contrast, when upscaling with Forge’s MD, before clicking on Generate you need to ensure that the Resize by dialog box is in foreground, with the Scale factor set properly, or else it will just generate an image of whatever dimensions set by the sliders in Resize To, but luckily, in just a few seconds. For the purposes of this routine, the Scale can be set to 1.
And that is the simplest part of the puzzle, all kinds of things can go wrong if you set something in the UI that Forge developers didn’t really anticipate. To avoid excessively long runtimes and other pitfalls, follow the guidelines below when upscaling.
Tile configuration
Image tiles are the core part of the design of HR upscaling in Stable Diffusion, I believe it’s the only effective means to process large size images without running out of GPU memory (VRAM) very quickly.
In SDU, you set tile dimensions, as suggested above, in the Resize To dialog box. For SDXL checkpoints, I used the 1024x1024 dimensions, as well as 768x768 (the tiles don’t have to be aspect ratio-shaped), and for 1.5 checkpoints, the standard 512x512 dimensions, or 768x768, which worked equally well.
An important parameter in both methods used in the routine is Tile overlap, it defines the pixel width and height of the overlapping area of adjacent tiles. Making it as large as reasonably possible helps to tame the visibility of tile seams, by the price of slower computation. In my experience, an overlap of size 64 pixels for SDXL would suffice; smaller sizes could make sense for 1.5 checkpoints and in cases when visibility of tiles is not an issue. In any case, it’s a good idea to use the default value first.

The MD method, which includes its own set of sliders to define the tile configuration, has an additional parameter, Tile Batch Size. It defines how many tiles are held in memory simultaneously and processed in one basic operation; 8 is the maximum using which will supposedly achieve the highest speed of upscaling, lowering it will decrease the amount of VRAM used by this process. In MD under Automatic, setting this parameter lower than the default (to 4, 5 or 6) is an essential means to avoid running out of CUDA memory; in Forge, it’s of a lesser importance, since that system has its own, by all indications much more efficient memory management.
ControlNet integrated
To keep the upscaled/refined output as faithful to the source image as possible, ControlNet Tile resample mode is used. When this mode is activated, the effect of the Denoising strength parameter is dampened, which gives you a higher degree of freedom to play with the parameter without the associated risk of tiles and seams appearing, but at the price of longer (about 10-30%) processing times. In my experience, with the Controlnet Tile resample switched on under SDU, the Denoising strength could be set as high as 0.4, with no or little visible artifacts appearing in the output image.
To engage this option, enable ControlNet Unit 0 in the Forge img2img UI, check Pixel Perfect, select Tile in the Control Type combo, select Tile resample in the preprocessor dropdown box and the corresponding model in the next box, which is usually control_v11f1e_sd15_tile when using a 1.5 checkpoint and ttplanetSDXLControlnet_v10Fp16 when using a SDXL one (the only one that worked for me, might require explicit downloading and installing to Forge). Next, set Control weight to a value between 0.5 and 0.7 inclusive (this relaxes the ControlNet Tile fidelity, which we need for the purposes of detail-adding), and leave the rest of the ControlNet settings at the default.
Note that the MD + ControlNet mode combination, as I found, doesn’t really work under Forge: when both are selected, the process upscale starts quickly but then stagnates without any visible progress, for hours. (In contrast, the same combination works just fine under SDU, for both 1.5 and SDXL flavors.)
Other parameters in Forge’s img2img interface
Clip skip. Leave at the default. Changing this might make no impact whatsoever, I have never checked.
Resize mode. Leave at Just resize.
Refiner. This is an interesting option worth experimenting with. It allows the user to select a secondary checkpoint whose output will be mixed with that of the primary one, at a selected point of processing specified by the Switch at parameter (reasonable values between 0.6 and 0.85). Unfortunately, while potentially useful from the creative perspective, this option is too computationally costly, slowing down runtimes to anything from 2 (for SD 1.5) to 8 times (for SDXL checkpoints, which are larger). This happens due to constant checkpoint loading and unloading (a rather time-consuming operation) performed for every tile being processed.
Batch count / Batch size. Leaving these at 1 would be a practical choice, to avoid wasting your computing time - unless you want, say, to experiment with the Denoising strength at its higher values when upscaling at a low to medium image resolution.
Seed. Usually left at -1 to allow random variation of the output.
MultiDiffusion integrated. Enable this control when you want to upscale with this particular extension, as opposed to the SD upscale script. The choice of the specific Method between MultiDiffusion and Mixture of Diffusers does not affect the output that much (in my experience anyway), I understand it was retained in Forge for backward compatibility with MD under Automatic. An important related option: see Never OOM integrated below.
Never OOM integrated: when selecting MD extension for upscaling, it is necessary to synchronously enable this extension as well, and check the box labeled Enabled for VAE (always tiled), and not the other one above it. If this is not done, upscaling of a large sized image will last indefinitely long. In contrast, upscaling with SDU necessitates unchecking of that option and leaving Never OOM inactive, for exactly the same reason.
Script. Select SD upscale form the dropdown box when upscaling with SDU. In this case, MultiDiffusion integrated must be deactivated, or else neither of the two options will work properly. Also, when selecting SDU, make sure to deactivate Never OOM, as mentioned above. The Upscaler choice is up to your experimentation (see Substep 1 at the top), but for the purposes of this routine it is normally set to None.
All the other integrated extensions present in Forge’s interface are best to leave inactive.
Forge vs Automatic1111, SD 1.5 vs SDXL and the fate of Tiled Diffusion
Based on my experience in this upscaling project, a few general conclusions can be made. For the purposes of the project, Forge WebUI proved a much better choice, with either of the two methods: it runs significantly faster and its output is much less prone to visible tiling, seams and other artifacts than when using equivalent tools under Automatic. The MD implementation in Forge, however, is much incomplete, with important features, such as Noise Inversion, slow modes of Tiled VAE encoding / decoding and others left out, as compared to the Automatic version of MD (where it is called Tiled Diffusion btw). In my view, this drawback of Forge is largely compensated not only by faster runtimes but also by much more robust, stable performance, and most importantly much better tile management that practically solves the problem of visible tiles and seams (you won’t even find an option like Seams fix in Forge, it’s done behind the scenes and done exceptionally well), not to mention it allows to run highres upscaling on GPUs with 8 GB VRAM.
What’s more, support for v1.5 checkpoints in Froge feels somewhat incomplete, at least speaking of the MD/TD implementation. All in all, however, I feel that the MD/TD method is no longer relevant for HR image upscaling, seeing the drastic improvement of the SD upscale script. From my upscaling perspective, unless Automatic will be merged with Forge to take advantage of the improvements in the latter, the former remains relevant only for MD/TD-based upscaling with 1.5 checkpoints. It doesn’t help either that development of TD/MD has remained dormant for the last two months. (Which is sad, since SDXL support in MD, native or under Forge, has not been developed beyond only a nominal one - it doesn’t really work well with checkpoints of that version, as I found in the course of my project.)
Although, to be fair, an even more worrying picture holds for Forge development, which hasn’t seen any update since February.
The quality of SDXL-based generation as compared to that of v1.5 is a matter of a separate discussion; due to space constraints, I won’t go into that here. I will just add that personally I find SDXL-based upscaling superior to v1.5 one, for most use cases.
The folder with the complete selection of demo images from the project prepared for this post is available here.
https://preview.redd.it/3y1nwkod110d1.jpg?width=7680&format=pjpg&auto=webp&s=5c12e51fa2d44bb8336a7ca8c02094b349a61799
submitted by Ok-Vacation5730 to StableDiffusion [link] [comments]


2024.05.11 17:57 Romatito-Frito Safari managing SVGs viewBox

I'm having a problem rendering a scaled SVGs in Safari.
I've something like that:
...
With this CSS:
svg { display: block; width: 100%; height: 100%; } .mark-container: { height: 48px; } 
Chrome gives to the SVG a width proportional to height 3rem keeping the aspect ratio of the viewBox. The result is what I expected, great.
In Safari the SVG is rendered correctly, but viewBox takes as width the default value of 300px, giving a weird blank spaces around the graph, something like this:
CHROME: ------- SVG PATHS ------- Safari: ------------------- SVG PATHS ------------------- 
Is there some way to solve that besides giving to the container an explicit width?
Thank you!
submitted by Romatito-Frito to css [link] [comments]


2024.05.10 23:43 NyxShadowhawk I Read the Silmarillion So You Don't Have To, Part Five

I Read the Silmarillion So You Don't Have To, Part Five
Disclaimer: I started this series for my mother and sister, who are diehard LotR fans, but don't want to read the Silm. They wanted the Tolkien lore, though, so they asked me to tell them what happens in the Silm, and it became this fun summary.
Previous Part
***
Chapter 10: Of the Sindar Meanwhile, in Middle-earth…
Remember the Sindar? They’re the people of Elwë, the only one of the original three Elven Lords who never made it back to Valinor, and Melian, a Maia who seduced him. The Sindar are basically native to Middle-earth, and save for Elwë himself, none of them have seen the Two Trees of Valinor. That makes them “Grey Elves,” neither light nor dark. They live in Beleriand, the westernmost land mass of Middle-earth, on which most of The Silmarillion takes place, and which is completely gone by the time LotR takes place.
Elu Thingol by Bohemian Weasel
Elu Thingol by Bohemian Weasel
The Sindar know Elwë as Thingol, which is Sindarin for “Greymantle,” and acknowledge him as king. Earlier, I assumed that Thingol and Melian were the ancestors of the Sindar, but this isn’t true; they only have one child, and her name is Lúthien. She is one of the other major players in The Silmarillion, and was based directly on Tolkien’s wife Edith, so she’s kind of a big deal. She’s born in the forest of Neldoreth, and white flowers spring up to greet her.
While Melkor was being held captive in Valinor, the Dwarves finally enter the picture in Middle-earth. They call themselves Khazâd, and the Sindar call them Naugrim, which means “stunted people.” The Elves are somewhat bewildered when the Dwarves come into Beleriand from the East, because they didn’t know that any other people existed. They assumed that they were the only living things who could speak or make things. They don’t learn the Dwarven language, but the Dwarves endeavor to learn Sindarin. When the Noldor eventually show up, the Dwarves really like them, because the Noldor share their reverence for the god Aulë and their skill at metalwork and cutting gemstones.
Because Melian is a Maia, she can see the future. She warns Thingol that the peace isn’t going to last. Thingol decides to build a fortress in case worst comes to worst, and enlists the help of the dwarves to build it. The Dwarves oblige, happy to have a new project, and Thingol pays them in pearls, which they’d never seen before. The biggest pearl is called Nimphelos, which the Dwarves particularly value. (Its name sounds a lot like Omphalos, an egg-shaped sacred stone at Delphi that the Ancient Greeks thought was the navel of the world.) The Dwarves build Thingol a mansion underground, in the style of their own. I’m guessing that, like Hobbit holes, this is a reference to Celtic fairy lore that describes fairies as living in mounds. Like the fairies of British and Irish lore, Thingol has a lavish underground palace called Menegroth, the Thousand Caves. Its pillars are carved to look like trees, with carved animals on the walls and in the “branches” of the pillars. Colorful mosaics decorate the floors, banners and tapestries chronicle the deeds of the Valar, there are silver fountains and singing nightingales, and it’s all as beautiful as anything gets outside of Valinor.
Everything’s great for a bit, but Melkor’s monsters still exist, and eventually Orcs and wolves push into Beleriand. The Elves don’t know what the Orcs are. They assume that the Orcs are Avari (Elves that refused to go to Valinor) that turned evil, which is almost right in an indirect way. Thingol needs weapons to fight Melkor’s monsters, but the Sindar don’t have any weapons and don’t know how to make them, because they’ve never needed them before. The Dwarves know how to make them, having used them to fight all the dangerous things in the East, and they teach the Sindar how to make and use them. Dwarves remain the absolute best at making things of steel, and they invented chainmail.
Remember the Nandor? They were another subgroup of Elves who split off from the Teleri while they were traveling to Valinor, and stayed in Middle-earth. They become the Wood Elves, and their descendants will be the elves of Mirkwood. But at this point in history, they come to Thingol, seeking protection from Melkor’s monsters. Thingol lets them stay in an eastern land called Ossiriand.
A Sindar Elf named Daeron invents the runic writing system, which the Elves don’t care for, but the Dwarves readily adopt.
Once again, everything’s great for a while. But then, Morgoth and Ungoliant have their struggle to the north. The Sindar hear Morgoth’s shrieking and know that something is wrong. Melian’s magic keeps Ungoliant from entering their land, but barely. The Sindar are suddenly assaulted by Morgoth’s massive army of Orcs from his northern citadel of Angband. The Orcs aren’t like anything the Sindar have ever seen, and there’s thousands of them. We get a short summary of the ensuing battle (in which Tolkien drops more place names than I can possibly keep track of).
The Elves and Dwarves win, but they lose a lot of lives in the process. The King of the Nandor, an Elf named Denethor, dies in combat. Distraught by his death, many of his people renounce open war. They are called Laiquendi, “Green Elves,” because they wear leaves. The rest of the Nandor join the Sindar, and merge with them. The Sindar fence themselves into their forest with a magic wall of “shadow and bewilderment” that Melian casts to keep the Orcs out. After that, their forest becomes known as Doriath, the “Land of the Girdle,” after the magic wall. The wall protects them, but the peace and bliss are broken.
Beleriand Map
***
Chapter 11: Of the Sun and Moon and the Hiding of Valinor In which the Two Trees have a last hurrah.
Back in Valinor, the Valar are very sad about the Trees, but they’re even sadder about Fëanor. Fëanor is, without a doubt, the best of the Elves. He may be a narcissist, but he’s right about how great he is: he’s the strongest, the smartest, the cleverest, the most beautiful, the most skilled, and the most capable both mentally and physically. Imagine all the good he could have done in the world, and what beautiful and useful things he might have made, if Morgoth hadn’t corrupted him! Now he’s going to waste his life on a pointless endeavor, and his entire line is cursed. It didn’t have to be like this. When a messenger tells Manwë how Fëanor responded to the prophecy of doom, Manwë cries.
However, Manwë doesn’t dispute Fëanor’s boast that people will sing of his deeds until the end of the world. After all, songs are beautiful things. If you remember, Eru Ilúvatar told Melkor that all of his evil deeds will result in more beautiful things, that no one would otherwise have conceived of. Evil always begets good, in spite of itself. Fëanor’s evil deeds will result in the creation of beautiful art in the future, thus indirectly producing good things. But that doesn’t make Fëanor’s actions any better in the present.
Yavanna, goddess of plants, and Nienna, goddess of sorrow, do their absolute best to heal the Trees. The Trees are beyond saving, but the goddesses’ lamentation does do something: With their last bit of strength, Telperion bears a single silver flower, and Laurelin bears a single golden fruit. Yavanna picks them both off the trees. After that, the Two Trees die for good, with nothing but their lifeless stems remaining in Valinor as a sad monument to what once was. Manwë blesses the flower and the fruit, and Aulë makes vessels to hold and preserve them. Then Varda hangs them in the sky as the new lamps: The flower of Telperion is the Moon, and the fruit of Laurelin is the Sun. The two lights will help the Children of Ilúvatar and hinder Morgoth.
Creation of the Two Trees by Julia Pelzer
Creation of the Two Trees by Julia Pelzer
Each group of Elves has a different name for the Moon and the Sun. The Vanyar (the Elves who got to Valinor first and stayed there) call them Isil and Anar. The Noldor call them Rána the Wayward, and Vána the Heart of Fire.
The Moon and Sun also have their own Maiar to guide them through the sky. The Maia of the Sun is called Arien, and the Maia of the Moon is called Tilion. Both Maiar had loved their respective Trees while the Trees were alive, and begged for the position of tending to the Sun and Moon. Arien is a fire goddess who doesn’t fear the heat of the sun, and Tilion is a hunter god who was one of Oromë’s companions. (This mirrors Norse Mythology, in which the Sun is driven by a goddess called Sol or Sunna, and the Moon by a god called Máni.)
https://preview.redd.it/o3k52zcr6ozc1.png?width=600&format=png&auto=webp&s=25a95f59781066a96ae88cbb4e9b659b9a4eb537
Narsilion by breath-art
The Moon rises first, and brings hope to the Elves. When the Moon rises, Fingolfin and the Noldor begin their long trek into Middle-earth across the frozen north. After the Moon rises and sets seven times, the Sun is hung in the sky, and the first dawn comes. When the Sun sets, it comes to rest in Valinor, briefly reminding the Valar and remaining Elves of the light of the Two Trees and the joy they once had. But the Sun and Moon still pale in comparison to the Two Trees. The only remaining things that preserve the original light, pre-Ungoliant’s destruction, are the Silmarils.
Morgoth is obviously horrified, and immediately sends dark clouds to prevent the Sun from shining upon his land of Angband. Arien, the Maia of the Sun, is the only entity that Morgoth is really afraid of, and he no longer has the strength to attack her. But he does send evil spirits after Tilion, the Maia of the Moon. (This might explain why the moon has phases, but it’s not explicitly said.)
The Valar still remember what happened the last time they put up lamps, and they’re not about to let Morgoth destroy their paradise for a third time. They decide to almost completely cut off Valinor from the rest of the world. They make the Pélori Mountains around Valinor rise impossibly high, with sheer faces like glass. The only way in or out of Valinor is through a mountain pass called the Calacirya, which the Valar leave open to allow the Elves to see the stars. But the pass is heavily guarded. And, as an extra precaution, they fill the sea with enchanted islands that are full of illusions to confuse and trap anyone who tries to sail to Aman. The Noldor are officially, permanently cut off from Valinor — there’s no turning back now.
Telperion and Laurelin by MrSvein872
Telperion and Laurelin by MrSvein872
***
Chapter 12: Of Men In which the Men finally show up.
Having sealed themselves away, the Valar basically leave Middle-earth to the mercy of Morgoth. It’s not all bad, though; the Sun keeps Morgoth at bay, and it causes many new things to grow in Beleriand. Beleriand is a pretty nice place, for what it’s worth. Not as nice as Valinor, but, y’know… it could be worse.
When the Sun rises, the Men finally awaken. The Elves have a lot of different names for them, but the important ones are Atani (“Second People”) and Hildor (“Followers”). The Men didn’t have a Vala to invite them to Valinor. Men fear the Valar, because they don’t really know what the Valar are or why they’re there, and the Valar have stopped paying attention to Middle-earth. Ulmo watches over the Men through all the water of Middle-earth, but Men don’t know how to understand the divine messages brought to them by the water. It’s rumored that the Men befriend the Avari, the Dark Elves who never went to Valinor.
At the time, Men looked more like Elves than they do now. Men were taller, stronger, and longer-lived than they are now, but Elves were still prettier, wiser, and more skilled than Men. Elves are immortal, and do not sicken or age, but they can still be killed. Men have less robust bodies and are more prone to illness and injury. Dark Elves are better than Men, but the High Elves that saw Valinor are significantly better than both Dark Elves and Men. The only Dark Elves that come close to the greatness of the High Elves are the Sindar, and that’s only because their queen is a Maia.
The other big difference between Elves and Men is what happens after they die. When Elves die, they go to the Halls of Mandos and eventually reincarnate. The Elves don’t know what happens to Men after they die. If they go to the Halls of Mandos, they don’t go to the same part of them that the Elves go to. No one but Mandos and Manwë knows what happens to the Men after that. Only one Man ever came back from the dead (we’ll get there). It’s possible that the only entity that knows anything about what happens to Men after death is Ilúvatar himself.
The relationship between Elves and Men gets steadily worse with time, mostly because of Morgoth (again, we’ll get there). By the time of the Third Age, when LotR takes place, there are very few Elves left. They have retreated away from the sunlight, into lonely woods and caves, and “become as shadows and memories.” The Men take over from the Elves, and forget that the Elves ever existed. But the The Silmarillion is about the First Age, and back then, Elves and Men were friends. Some Men achieved greatness through learning Elven wisdom, and some Men even had children with Elves.
***
Chapter 13: Of the Return of the Noldor In which we return to the main plot, and a LOT of shit goes down.
Where we last left the Noldor, Fingolfin was leading them on an impossible journey across a frozen wasteland to cross into Middle-earth, because he saw Fëanor burn the boats on the opposite shore. Fëanor and his sons continued further into Middle-earth, and made a camp in the north.
Morgoth also saw Fëanor burn the boats. Even Morgoth was a little afraid of Fëanor, so he decides to preemptively attack Fëanor’s camp. Despite being taken by surprise, the Elves trounce the Orcs, because they still have the strength of Valinor in them. They’re strong and swift, with sharp and effective weapons, and the Orcs don’t stand a chance. A small handful of Elves — Fëanor, his seven sons, and their loyalists — slaughter an entire army’s worth of Orcs in only ten days. Morgoth’s plans for the conquest of Beleriand are ruined, for now.
Fëanor assumes that by chasing down the Orcs, he’ll find Morgoth. Fëanor is so impassioned, so ready to finally kick Morgoth’s ass, that he pats himself on the back for having defied the Valar. It was such a good idea to tell the Valar to go fuck themselves and come to Middle-earth! Now he gets the opportunity to personally take Morgoth down!
He spoke too soon. Fëanor promptly finds himself face-to-face with the fortress of Angband and an entire army of Balrogs. Oops.
Somehow, Fëanor manages to hold his own against multiple Balrogs, until Gothmog, the Lord of the Balrogs, nearly kills him. He only survives because his sons arrive at the last minute with reinforcements to fend off the Balrogs.
Fëanor against the Lord of the Balrogs by Evolvana
Fëanor against the Lord of the Balrogs by Evolvana
Fëanor doesn’t live for much longer, though. His sons start to carry him back to their camp, but he bleeds out on the way. He curses Morgoth and tells his sons to avenge him with his dying breath. As his spirit leaves him, his body burns to ash, because his soul is just that fiery. And that’s it — Fëanor, the mightiest Elf to ever life, is dead. His curse means that his soul is forever trapped in the Halls of Mandos, and he will never reincarnate. No one like him will ever appear in Arda again.
The Death of Curufinwë Fëanaro by Gwenniel
The Death of Curufinwë Fëanaro by Gwenniel
Honestly, I’m surprised that Fëanor dies this early. I thought he was the central character, but I’m still only about a third of the way through, maybe less.
Despite having taken out Fëanor (mostly due to Fëanor’s own arrogance and impulsiveness), Morgoth still lost badly. He sends an envoy to Fëanor’s sons, acknowledging defeat and requesting a ceasefire, even offering to surrender a Silmaril. Fëanor’s eldest son, Maedhros (MY-thros, ‘th’ as in “this”) takes over from Fëanor as the leader of the Noldor. Maedhros doesn’t trust Morgoth as far as he can throw him, but decides to go to the negotiation anyway, with backup. Of course it’s an ambush, and there are Balrogs. All of Maedhros’s backup are killed, and Maedhros himself is captured and taken to Angband.
Fëanor’s other sons build themselves a mighty fortress, but Morgoth keeps Maedhros hostage until the Noldor agree to end the war and leave Beleriand. The sons of Fëanor doubt that Morgoth will keep his word on that. They also literally can’t stop fighting Morgoth, because of their oath. So, Morgoth hangs Maedhros by the wrist from the face of the Thangorodrim Mountains. The only remaining option is to try to rescue him.
Maedhros Upon Thangorodrim by Jenny Dolfen
Maedhros Upon Thangorodrim by Jenny Dolfen
Back with Fingolfin, the rest of the Noldor painstakingly make their way across the land bridge. It’s an agonizing journey, and many Elves die, but when the first dawn finally comes, Fingolfin unfurls his banner and blows his horn in victory. The ice starts to melt, and flowers spring up under his feet. The Sun chases Morgoth to the depths of his citadel, so he doesn’t harass Fingolfin’s group as they arrive in Middle-earth.
https://preview.redd.it/c622y48x5ozc1.jpg?width=1280&format=pjpg&auto=webp&s=ff808a7899e6833f913506c54490a72c9ea45ebe
Helcaraxe by Stefan Meisl
Fingolfin is wiser than Fëanor, and doesn’t try to attack Angband. Instead, he tries to find the other Noldor. Most of his Fingolfin’s group really hate Fëanor and his sons, because it’s their fault that they nearly froze to death. So, they make their own camp near Lake Mithrim.
Fëanor’s group hears of their arrival. They’re astounded and impressed that Fingolfin and co. managed to survive, and that they made it to Middle-earth. They would welcome Fingolfin’s group, but they’re too ashamed to offer. Too little, too late.
Fingon, Fingolfin’s son, decides to try to heal the relationship between the two groups of Noldor. He recognizes that Morgoth would be thrilled if his enemies were so divided against themselves. If they want to stand a chance against Morgoth, they have to unite. Fingon has the perfect idea for how to bring the two groups together. He was very close to Maedhros. He doesn’t know that Maedhros wanted to go back for him when Fëanor burned the ships, so, he assumes that Maedhros betrayed him. Even so, he still cares enough about Maedhros to want to try to rescue him.
He climbs the mountains of Thangorodrim by himself, hidden under the cover of the darkness that Morgoth created to shut out the sun. Then, Fingon takes out a harp and starts singing. He sings a song from Valinor, from long before the unrest took hold. His voice rings throughout the mountains, in which there had never been singing before. He sings in defiance of Morgoth like the Whos singing in defiance of the Grinch on Christmas Day.
He Sang a Song of Valinor by Jenny Dolfen
He Sang a Song of Valinor by Jenny Dolfen
Faintly, he hears an answering voice singing the same song. Maedhros is singing, despite his suffering. Fingon climbs up to where Maedhros hangs, and cries when he sees how much pain Maedhros is in. Maedhros has long since given up hope, and begs Fingon to shoot him, to put him out of his misery. Fingon prepares to shoot an arrow, but says a prayer to Manwë, asking him to have mercy.
Fingon’s prayer is answered. Manwë sends the King of the Eagles, Thorondar, who picks up Fingon and carries him up the mountain face to where Maedhros hangs. Fingon can’t find any way to open or break the shackle that holds Maedhros, and can’t detach it from the mountain face. Maedhros again begs Fingon to kill him, but Fingon figures that it’s better to lose a hand than to die. Fingon cuts off Maedhros’ hand, and Thorondar catches him, carrying both Elves back to Lake Mithrim.
Flight from Thangorodrim by jyonyi
Flight from Thangorodrim by jyonyi
After that, the rift between the two groups of Noldor is healed. Fingon is hailed as a hero by both groups of Noldor. Maedhros steadily gets better, and recovers his strength. He pulls and Inigo Montoya and learns to wield a sword just as well with his left hand. He also waives his claim to kingship over the Noldor. He begs Fingon to forgive him for having deserted him back when Fëanor burned the boats, and tells Fingon that he’s the rightful heir of the House of Finwë. That’s a nice gesture, but it’s actually part of the curse — The House of Fëanor became known as the Dispossessed, because even though they’re the older brother’s children, they permanently lost the rulership of the Noldor.
The now-united Noldor decide to explore Beleriand a little more, and they eventually meet the Sindar. The Noldor and Sindar recognize each other as kin, but have a hard time understanding each other because they speak different languages. Eventually, they figure out a way to talk to each other. The Noldor learn about King Thingol and the magic wall around his kingdom of Doriath, and about the Sindar’s battles with the Orcs. The Sindar are delighted that these stronger, smarter elves from Valinor arrived right when they were most needed, and assume that the Valar must have sent them.
Thingol is less enthused about a bunch of hotheaded foreign princes arriving in his land. The only Noldor he trusts to let past the magic wall are Finarfin’s children: Finrod, Angrod, Aegnor, and Galadriel. This is because their mother was Eärwen, one of the Teleri Elves and Thingol’s niece. So, they’re his closest relatives among the Noldor. Angrod is the first of the Noldor to enter Thingol’s palace in Doriath. He tells Thingol all about what happened to the Noldor in the North — how they crossed over, how many of them there are, how they beat back Melkor’s forces, how Finrod saved Maedhros, etc. He leaves out the part about the kinslaying and the curse.
Thingol gives the Noldor his blessing to remain in the northern part of Beleriand, but they can’t displace the Sindar from their homes. They also aren’t allowed to come past Doriath’s magic wall, unless they’re invited, or if they desperately need an audience with Thingol. Thingol is Lord of Beleriand and the Noldor are imposing upon him, so, they’re in no position to argue.
When Angrod brings this message back to the Noldor, Maedhros straight-up laughs. “What kind of king is he? These aren’t his lands. He doesn’t have the power to grant us leave to live here, as if we were his vassals. If it weren’t for us, there’d be Orcs breaking down his door.
https://preview.redd.it/vnv1ly026ozc1.jpg?width=691&format=pjpg&auto=webp&s=c7cc76c22b57f7c1b0d449fee46152b0d052dbb4
Maedhros by _star热爱生活呀巴扎嘿
Caranthir, another one of Fëanor’s sons who inherited his father’s fiery temper, also doesn’t like Thingol’s conditions. “Who’s idea was it to send Finarfin’s sons as our spokesmen? I don’t trust a word they say, and I don’t trust this cave-dwelling Dark Elf. Finarfin’s sons should remember that, whoever their mother was, their father was still a Noldo — they should be loyal to the Noldor.”
Angrod is furious at this, and storms out. Maedhros chides Caranthir for going too far. The rest of the Noldor are all concerned that Fëanor’s whole family appears to be a ticking time bomb. It’s only a matter of time before one of them snaps and causes violence. Maedhros reads the room, and manages to get his brothers under control. He decides that he and his brothers should leave before things get worse. Not just leave the meeting, but leave the region — it’s better that they and the other Noldor remain friends at a distance, rather than risk another confrontation that tears them apart from within.
Maedhros and his brothers head east. Their new home is more exposed, and has less natural defense against Angband, but Maedhros doesn’t mind this. He and his brothers can be a buffer for the rest of the Noldor if Morgoth attacks again. And of course, the curse is still in effect.
Caranthir and his people are the first to find the Dwarves, who had stopped coming into Beleriand ever since the battle against Morgoth. You’d think that the Dwarves and the Noldor would have a lot in common, since both love to make things from metals and gems, and they both appreciate good craftsmanship. But nope. The Dwarves are too secretive, and Caranthir is too arrogant. He doesn’t even bother to hide that he thinks the Dwarves are ugly, and all his underlings follow suit. Despite that, the Dwarves and Caranthir’s Elves have a common enemy in Morgoth, so, they form an alliance anyway. From that alliance, Caranthir ends up learning a lot of Dwarven secrets about metalworking and masonry. It’ll really pay off for him in the future.
Caranthir by Miyota
Caranthir by Miyota
Twenty years pass since the Sun first rose, and Fingolfin decides to throw a feast to unite all the scattered Elves. This feast is such a big deal that it has a name — Mereth Aderthad, the Feast of Reuniting. It’s a last moment of joy and happiness before everything goes to hell again. A number of Sindar attend the feast as well, alongside their leader, an Elf called Círdan (you’re gonna want to remember him). Thingol does not leave his magically-fortified palace, but he sends two diplomats to the feast — Daeron, the Elf that invented runes, and another called Mablung. There are even some Green Elves from the easternmost part of Beleriand. The main language spoken at the party is Sindarin, because the Noldor have had an easier time learning it than the other Elves have had of learning Quenya. All the Elves are on good terms with each other, and everything is great for a while. The Noldor begin to think that maybe Fëanor was right about Middle-earth being a good place for them.
Another thirty years pass. Turgon (Fingon’s brother and a son of Fingolfin) meets up with Finrod (a son of Finarfin). Together, they travel southward on the River Sirion, just to get away for awhile. They sleep on the riverbank, and Ulmo (the Vala of water) sends them a dream. Neither of them remembers the dream, only that it was troubling, and neither realizes that they had the same dream. After that, they’re both burdened with a sense of unease. Troubling dreams can only mean one thing — Morgoth is going to become a problem again. Turgon and Finrod independently decide that it’s a good idea to prepare for the worst.
Finrod and Galadriel, his sister, are briefly guests of King Thingol in Doriath (being two of the few Noldor whom Thingol would allow past the magic wall). Finrod is very impressed by the majesty of Menegroth, the king’s underground palace. He wants his own underground palace just like it, and tells Thingol as much. Thingol could have said, “no, how dare you copy me,” but instead he tells Finrod about a secret place in his realm — there’s a gorge in the River Narog, the river to the west of the Sirion, where there’s a cave complex that Finrod can use to build a palace.
Enlisting the help of some Dwarves, Finrod builds his palace, Nargothrond. He gives the Dwarves treasures from Valinor to thank them. The Dwarves are so impressed with the jewels that they make Finrod a beautiful necklace called the Nauglamír, which is said to be the finest work of the Dwarves in the First Age. It’s set with many, many gemstones from Valinor, but it’s as light as spider silk. The Dwarves are also grateful to Finrod for giving them an excuse to build another cool cave palace. They give him an epithet in their own language, Felegund, which means “Hewer of Caves.” Only a really cool Elf appreciates caves so much that he asks for his own cave palace.
Finrod by _star热爱生活呀巴扎嘿
Finrod by _star热爱生活呀巴扎嘿
Galadriel decided to stay in Thingol’s court, instead of following her brother to Nargothrond. She happened to meet one of Thingol’s relatives, a certain Sinda named Celeborn, and fell in love with him. Staying with Celeborn gave Galadriel the opportunity to study at the feet of Melian herself. So, if you’re wondering where Galadriel gets her wisdom and power from, it’s because she learned directly from a Maia.
Meanwhile, Turgon is feeling homesick for Valinor. He remembers the city of Tirion on its hill, with its silver tree (not the Silver Tree, one of its descendants). When he returns home, Ulmo personally appears to him, and tells him to go to the Vale of Sirion. He finds a hidden valley surrounded by mountains, in the center of which is a hill. It’s the perfect place to establish a New Tirion.
Throughout all this, Morgoth has been carefully observing the Noldor’s activities, and judging their strength. As soon as the Noldor are too distracted by city-building to prepare for war, Morgoth strikes. The Orcs are still a lot weaker than the Elves. Fingolfin and Maedhros chase the new Orc army all the way back to Angband. They kill every last one, within sight of Angband’s gates. But remember, Morgoth is a Vala, and has more up his sleeve than simply Orc armies. He causes earthquakes, fires, and volcanic eruptions. The Elves realize that there’s only one thing to do: cut the threat off at its source. They lay siege to Angband, and this siege lasts a full four hundred years.
Angband by gresetdavid
Angband by gresetdavid
The Orcs are so afraid of the Noldor that they don’t leave Angband. Fingolfin boasts that the only way Morgoth could score a point against them is if the Noldor commit treason amongst themselves, which sounds a lot like tempting fate. Despite his confidence, the siege is a failure. Four hundred years, and the Elves don’t get any closer to capturing Angband, let alone taking back the Silmarils. Morgoth can still send spies out the back way, because the Elves can’t climb the snowy Thangorodrim Mountains. He captures Elves alive, and terrifies them so much that they do his bidding without having to be forced. He also looks for opportunities to sew dissent amongst the Noldor. It worked once, so it can work again.
A hundred years into the siege, Morgoth tries to capture Fingolfin. He knows that Maedhros isn’t about to let himself get captured again, and taking out the king would be an advantageous move. So, Morgoth sends a bunch of Orcs to sneak towards the Elves’ camp using the back way, through the same frozen mountain pass that Fingolfin used to get into Middle-earth. Morgoth should know at this point that Orcs are no problem for Elves. Fingon notices the Orcs, and slaughters them. This battle doesn’t even count as one of the “great battles,” because there aren’t enough Orcs for it to be notable. After that, there’s an interlude of peace that lasts for many years.
Fingon by _star热爱生活呀巴扎嘿
Fingon by _star热爱生活呀巴扎嘿
Morgoth finally gets the memo that he’s not going to beat the Elves by throwing Orcs at them. So, he tries a new tactic: A fucking dragon! If you think Smaug is bad, he’s a little baby lizard in comparison to Morgoth’s dragons. This one is called Glaurung (“gold worm” in Sindarin), and it’s a fat worm-like thing with a mouth of sharp teeth and fire breath. Glaurung is a young dragon, so, he mostly just thrashes around destroying fields and so forth. But he sufficiently terrifies the Elves
https://preview.redd.it/ch5re6g36ozc1.jpg?width=1000&format=pjpg&auto=webp&s=70d5864fd2f0fcfcad75e59efb1651a5f85a1df3
Glaurung by Vaejoun
Fingon isn’t afraid, though, and takes a band of archers to pummel Glaurung with arrows. Glaurung’s armored scales haven’t fully developed yet, so the arrows drive him crawling back into Angband. Fingon is endlessly praised by the Noldor for having defeated the dragon, and Morgoth is kicking himself for having shown his hand too soon.
After Glaurung’s defeat comes the Long Peace, which lasts two hundred years. In that time, the Elves have the opportunity to build beautiful cities and write books of lore and create other art. (This time is called the “Long Peace” because Morgoth doesn’t make any attacks, but presumably, the Siege of Angband is still going on.) The Noldor and Sindar also intermix, becoming more like one society, though the biological and cultural differences between them remain: The Noldor are still smarter and stronger, wiser, better warriors, and they like living in stone buildings. The Sindar have better singing voices, and are better musicians in general, and like living in the woods. Some Sindar are nomadic and wander around Beleriand, singing as they go.
*whew.* That’s it for this section.
submitted by NyxShadowhawk to lotr [link] [comments]


2024.05.10 19:54 Marftulok Could use some advice and direction with my non-crit archmage

Could use some advice and direction with my non-crit archmage
Hello fellow exiles!
Lets start with the PoB right away:
Level 100 Hybrid MoM Ice Nova of Frostbolts Hierophant
First time hitting 100 (using the breach-shrine tactic ~15 maps 99-100) since starting.
The passive tree is an adaption of the one Zizaran used and I liked the configuration in the middle with Unnatural Instinct, Perandus Pact, and spell suppression so I did stick with it.
Some smaller passives (resistances below "Heart and Soul") are for some smaller fixes with 2% resistance missing and stuff like that.
The current stats in PoB which match in game 1:1
My current dilemma is the thing which plagues a lot of exiles. Able to do Ubers with ease but failing to enjoy and farm T17s even with as much invest as I got sunk into this build.
I just switched from Loreweave to a proper chest and combined it with switching to a Melding of the Flesh setup also boots + Stormshroud so I could run the Purity of Lightning to go with it.
It helped a lot ... but there is still ever so often the situation that I just fall over and can't even tell what happened in T17s.
It's kinda frustrating. I love this league. I like being able to have more control over the content of my map. It is the reason I loved Sentinel where you could tune the difficulty on the fly by bringing out your Poke... Pal.
Burned out in TotA and didn't really touch Affliction in depths. Just didn't like a harvest like mechanic where you would have to go into an extra layer in your map.
Enough trivia.
So as I didn't craft hands, boots, and chest myself they are kinda wrong bases. I guess I could bring my phys max hit up a lot by using armor bases there (I know how to use the GY so will prob be able to craft the things myself).
The ever so great u/priotus also suggested to just roll with a Dawnbreaker and ditch some dps for phys conversion (which would combine perfect with the melding setup).
On the way there I would swap my shock immunity from the boots to a flask as otherwise the increased effect is wasted and so wasting some power of the MB.
The current perandus pact is a band aid fix as the armor increase is better than max life and dmg is not the problem so I tried to up my phys max hit with it.
Maybe a proper adorned setup? I like the power of my unique jewelry and I played around with a 130%+ adorned and it somehow was weaker ... never did it so I probably did something wrong there. But a lot of min-max builds use it so I guess it is on me so some help here would be awesome.
I know the Shock Nova is not ideal but that's kinda an empty socket there and I don't know what to put in there ... was playing around with the +10% on max shock.
Things I already tried this league:
Ivory tower + flask of absolutely feels like the shittiest item in the world (Coruscating Flask)
-> Will never do again. Can't use omens. Feels bad for me (subjective)
Mjölner + Squire CWC setup
-> Was okay but I like the frost nova better. Reminds me of lightning strike and I love lightning strike.
Current budget is around 500d left in my stash + some crafted/found items which will probably sell.
For how I got that much currency ... I ignored the "T17 is the only way to farm this league" people and just blasted lots and lots and lots of T16 jungle valleys with full ambush + shrine setup, ambush craft, ambush scarabs (all but the one where all monsters are in strongboxes) fully juiced to at least 100+ quant and max explicit multipliers.
Not sane any longer.
Already destroyed 8-10 good rolled DoDs for double corrupts ... fishing for the +1 curse implicit so I can swap my anoint.
tl;dr
Archmage makes things go boom but searches for ways for himself not to go boom
submitted by Marftulok to PathOfExileBuilds [link] [comments]


2024.05.08 21:02 ninjesussss [Beginner issue]: The application starts, but the window doesn't appear.

Hello, I just started learning Vulkan today. I'm using SDL3 as my windowing library since I have prior experience with it. I was following a tutorial, and essentially I'm trying to build this code: link. This is the first ever commit to the tutorial source code.
The application compiles fine, but the window doesn't show up. I'm trying to reinstall my Mesa drivers, but it doesn't have any effect. I tried to find alternative ways of using sdl3 window but most of them seem to use outdated features.
#include  #include  #include  #define VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL 0 #include  class Noncopyable { public: Noncopyable() = default; Noncopyable(const Noncopyable &) = delete; const Noncopyable &operator=(const Noncopyable &) = delete; }; class SDLException : private std::runtime_error, Noncopyable { const int code; public: explicit SDLException(const char *message, const int code = 0) : runtime_error(message), code{code} {} [[nodiscard]] auto get_code() const noexcept { return code; } }; class SDL : Noncopyable { public: explicit SDL(SDL_InitFlags init_flags) { if (const auto error_code = SDL_Init(init_flags)) throw SDLException{SDL_GetError(), error_code}; } ~SDL() { SDL_Quit(); } }; class VulkanLibrary : Noncopyable { public: explicit VulkanLibrary(const char *path = nullptr) { if (const auto error_code = SDL_Vulkan_LoadLibrary(path)) throw SDLException{SDL_GetError(), error_code}; } ~VulkanLibrary() { SDL_Vulkan_UnloadLibrary(); } #pragma clang diagnostic push #pragma ide diagnostic ignored "readability-convert-member-functions-to-static" [[nodiscard]] auto get_instance_proc_addr() const { if (const auto get_instance_proc_addr = reinterpret_cast(SDL_Vulkan_GetVkGetInstanceProcAddr())) return get_instance_proc_addr; else throw SDLException{"Couldn't load vkGetInstanceProcAddr function from the vulkan dynamic library"}; } [[nodiscard]] auto get_instance_extensions() const { uint32_t count; if (!SDL_Vulkan_GetInstanceExtensions(&count, nullptr)) throw SDLException{"Couldn't get vulkan instance extensions count"}; std::vector extensions(count); if (!SDL_Vulkan_GetInstanceExtensions(&count, extensions.data())) throw SDLException{"Couldn't get vulkan instance extensions"}; return extensions; } #pragma clang diagnostic pop }; class Window : Noncopyable { SDL_Window *handle; public: Window(const char *title, const int width, const int height, const SDL_WindowFlags flags = static_cast(0)) : handle{ SDL_CreateWindow(title, width, height, flags)} { if (!handle) throw SDLException{SDL_GetError()}; } ~Window() { SDL_DestroyWindow(handle); } [[nodiscard]] auto create_surface(const vk::raii::Instance &instance) const { vk::SurfaceKHR::NativeType surface_handle; if (!SDL_Vulkan_CreateSurface(handle, *instance, &surface_handle)) throw SDLException{SDL_GetError()}; return vk::raii::SurfaceKHR{instance, surface_handle}; } [[nodiscard]] auto get_handle() const noexcept { return handle; } }; using QueueFamily = std::pair; auto main(int argc, char **argv) -> int { const SDL sdl{SDL_InitFlags::SDL_INIT_VIDEO}; const VulkanLibrary vulkan_library{}; vk::raii::Context context{vulkan_library.get_instance_proc_addr()}; vk::ApplicationInfo application_info{}; application_info.apiVersion = VK_API_VERSION_1_3; vk::InstanceCreateInfo create_info{}; auto extensions = vulkan_library.get_instance_extensions(); if (SDL_GetPlatform() == std::string_view{"macOS"}) { create_info.flags = vk::InstanceCreateFlagBits::eEnumeratePortabilityKHR; extensions.emplace_back(VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME); } create_info.setPEnabledExtensionNames(extensions); create_info.pApplicationInfo = &application_info; const vk::raii::Instance instance{context, create_info}; const Window window{"Salam", 800, 600, SDL_WindowFlags::SDL_WINDOW_VULKAN}; const auto surface = window.create_surface(instance); std::optional queue_family{}; for (const auto &physical_device : instance.enumeratePhysicalDevices()) { const auto queue_families_properties = physical_device.getQueueFamilyProperties(); for (std::size_t queue_family_index = 0; queue_family_index != queue_families_properties.size(); ++queue_family_index) { const auto queue_family_properties = queue_families_properties[queue_family_index]; if (queue_family_properties.queueFlags & vk::QueueFlagBits::eGraphics) queue_family = {physical_device, queue_family_index}; } } if (queue_family.has_value()) { const auto &[physical_device, queue_family_index] = *queue_family; SDL_Log("Found queue family: %s %d", physical_device.getProperties().deviceName.data(), queue_family_index); } bool should_close{}; while (!should_close) { for (SDL_Event event; SDL_PollEvent(&event);) { switch (event.type) { case SDL_EventType::SDL_EVENT_QUIT: should_close = true; } } } return 0; }; 
https://preview.redd.it/5gxvhkdv19zc1.png?width=1024&format=png&auto=webp&s=43814c730b54ba5ddf0bdde4b655b7fb4ef181ba
submitted by ninjesussss to vulkan [link] [comments]


2024.05.08 14:31 tempmailgenerator How to Confirm Email Engagement: A Guide to Email Open Tracking

How to Confirm Email Engagement: A Guide to Email Open Tracking

https://preview.redd.it/onyx15yd57zc1.png?width=1024&format=png&auto=webp&s=4499f53b8e0f2bfa9c1b8f0667f68e94677b4b32

Unlocking the Mystery of Email Open Rates

Email marketing remains a cornerstone of digital communication strategies, fostering a direct line to your audience's inbox. However, the challenge doesn't end with sending an email; the pivotal part is understanding if and when it's opened. This insight is crucial for marketers, sales teams, and anyone relying on email communication to gauge the effectiveness of their outreach. The process of verifying email opens allows us to refine our approach, ensuring our messages resonate well with the audience and achieve the desired engagement.
But how can one track this seemingly elusive metric? The answer lies in leveraging specific tools and techniques designed for email open tracking. These methods not only confirm that your email has reached its destination but also provide valuable data on user engagement. Such data can inform future campaigns, helping to optimize content, timing, and segmentation. This introductory guide will explore the mechanisms behind email open tracking, offering insights into its importance and how it can significantly impact your email marketing strategies.
Why don't skeletons fight each other?They don't have the guts.
Command/ToolDescriptionSMTP ServerServer used to send emails, allowing tracking mechanisms to be embedded.Tracking PixelA tiny, transparent image added to emails to track opens.Email ClientThe software or web service used to receive and read emails.

Exploring the Depths of Email Open Tracking

Email open tracking is a nuanced technique used by marketers and communicators to gain insights into how recipients interact with their emails. This process involves embedding a tiny, often invisible, image within the content of an email, known as a tracking pixel. When the email is opened, the email client requests this image from the server where it's hosted, allowing the sender to know that the email has been viewed. This simple yet effective mechanism provides valuable data, such as the time the email was opened and the number of times it was accessed. This data is instrumental for marketers to analyze the performance of their email campaigns, understand recipient engagement, and refine their strategies accordingly.
However, the ethics and privacy implications surrounding email open tracking have been a topic of debate. Critics argue that tracking without explicit consent infringes on user privacy, leading to increased scrutiny and regulations such as the GDPR in Europe. Consequently, senders must ensure transparency and compliance by obtaining consent and providing clear opt-out options. Moreover, the advent of email clients that block tracking pixels and the growing use of privacy-focused email services challenge the reliability of open tracking as a metric. Despite these challenges, email open tracking remains a valuable tool for optimizing email campaigns, requiring a balanced approach that respects privacy while leveraging data for informed decision-making.

Implementing Email Open Tracking with a Tracking Pixel

Utilizing Email Marketing Software
  Your Email Title Here   Hello, [Recipient Name]! Thank you for subscribing to our newsletter.    

Enhancing Engagement Through Email Open Tracking

Email open tracking serves as a pivotal component in the realm of digital marketing, providing insights that go beyond mere open rates. This technology enables marketers to delve deeper into understanding recipient behaviors, such as the exact time an email is opened, the device used, and even the geographic location of the reader. Such granular details empower marketers to tailor their content, timing, and segmentation strategies more effectively, leading to higher engagement rates and more successful campaigns. The ability to measure the impact of different email elements, from subject lines to call-to-action placements, allows for data-driven decisions that can significantly improve email marketing performance.
Despite its benefits, the effectiveness of email open tracking hinges on the evolving landscape of email privacy and technology. With increasing concerns over privacy and the implementation of measures like automatic image blocking by some email clients, marketers must adapt and seek innovative ways to engage their audience. This includes focusing on the quality of content, respecting user privacy by seeking consent for tracking, and using alternative metrics to gauge engagement, such as click-through rates and conversion rates. In this ever-changing digital environment, the ability to navigate the complexities of email open tracking will continue to be an essential skill for marketers aiming to connect with their audience in meaningful ways.

Email Open Tracking FAQs

  1. Question: What is email open tracking?
  2. Answer: Email open tracking is a technique used to monitor when an email is opened by embedding a small, invisible image called a tracking pixel within the email content.
  3. Question: How does a tracking pixel work?
  4. Answer: A tracking pixel is a 1x1 pixel image that, when loaded by the recipient's email client, sends a request to the server, indicating the email has been opened.
  5. Question: Is email open tracking legal?
  6. Answer: Yes, but it must comply with privacy laws and regulations, such as GDPR, which require obtaining consent from recipients before tracking their email interactions.
  7. Question: Can email open tracking be blocked?
  8. Answer: Yes, some email clients and services offer features to block images or tracking pixels, which can prevent the sender from knowing if an email was opened.
  9. Question: Does email open tracking work on all devices?
  10. Answer: Email open tracking can work across different devices, but its accuracy may be impacted by email client settings, user preferences, and device capabilities.
  11. Question: How can I improve my email open rates?
  12. Answer: Improve email open rates by crafting compelling subject lines, segmenting your audience, personalizing content, and optimizing send times based on user behavior.
  13. Question: What are the alternatives to email open tracking?
  14. Answer: Alternatives include monitoring click-through rates, conversion rates, and using direct feedback mechanisms like surveys to gauge engagement.
  15. Question: How does email open tracking impact email marketing strategy?
  16. Answer: It provides valuable insights into recipient behavior, allowing marketers to refine their strategies for better engagement and conversion rates.
  17. Question: Can open tracking data be inaccurate?
  18. Answer: Yes, factors such as email client behavior, image blocking, and recipient actions can affect the accuracy of open tracking data.

Mastering Email Engagement Insights

In the realm of digital marketing, understanding recipient behavior through email open tracking offers invaluable insights, enabling marketers to tailor their communications for maximum impact. This technique, while subject to privacy considerations and technological barriers, remains a fundamental part of a comprehensive email marketing strategy. By respecting recipient privacy and adapting to the changing digital landscape, marketers can leverage email open tracking to not only enhance engagement but also to foster meaningful connections with their audience. As we navigate the complexities of digital communication, the importance of transparent, consent-based marketing practices becomes ever more apparent, underscoring the need for balance between insight-driven marketing and user privacy.
https://www.tempmail.us.com/en/tracking/how-to-confirm-email-engagement-a-guide-to-email-open-tracking
https://www.tempmail.us.com/

submitted by tempmailgenerator to MailDevNetwork [link] [comments]


2024.05.08 07:22 Hailene2092 Brezza Bottle Washer Pro...not enough slots?

Hello, everyone! I have been using the bottle washer for my 4 week old. We use the Dr. Brown bottles. For those not familiar, it comes with a two-piece vent system that helps the baby from drinking in so much air while feeding. These parts need to be washed, too.
There's room for 4 bottles, 4 of the stems part of the vent system, 4 nipples, and the 4 rings for the nipple. Unfortunately there is no room for the other piece of the vent system.
I have seen people place it on the little ring slots around the edge of the top like so.
But per the official Brezza video, they explicitly say not to put items there.
So what gives? I have been running loads without 4 bottles because with 12 slots to wash things and 16 things to wash, I can't wash everything all at once.
Is this just a gross oversight by Brezza? It's not like they're unaware of Dr. Brown bottles. They're, to my knowledge, pretty common, and to top it off they actually use a Dr. Brown bottle and its hardware in its official videos.
Just seems such an odd design choice to me. Or am I missing something?
submitted by Hailene2092 to FormulaFeeders [link] [comments]


2024.05.08 04:27 Ok-Mastodon2016 a semi-update list of the editions made to Earth 1605 compared to the official DCU

"Earth 1605" is the name of my DC Universe fan project, one which I feel I've put more effort into than basically anything else I've done and yet it's still really nebulous
submitted by Ok-Mastodon2016 to FanficWorldbuilding [link] [comments]


2024.05.07 19:01 y2bx Podfic: 21 minutes of wing kink and priest kink and light bondage (oh, my)

Podfic: 21 minutes of wing kink and priest kink and light bondage (oh, my)
For your aural pleasure, please come listen to my story "How the Angel Burned," lovingly read by coffee_mage.

How the Angel Burned [Podfic]

Written by y2bs(/x)
Read by coffee_mage
Rating: Explicit
Length: 21:36

Summary

Tethered by his wings to the rafters of a half-bombed church in London, 1941, the angel Aziraphale asks himself a burning question — using the demon Crowley’s mouth.
Listen or download the podfic on AO3.
And read the original.

Excerpt

The cold of the church was felt only on the surface of the angel’s skin. Beneath the surface, the angel burned.
“God,” the angel muttered more weakly than intended.
“Again?” came a voice from below.
“God,” the angel repeated, bolder this time.
The angel’s wings — strong and sublime as a winter storm — bristled, spread open to their fullest width and tethered to the rafters by a barely visible thread forged of miracles and a yearning for knowledge. His naked limbs flowed powerfully downward, like a waterfall emerging from the clouds.
Suspended a few feet off the ground, the angel Aziraphale reigned over the room like Winged Victory. A messenger sent to announce a virgin birth. A savior.
A god.
At the angel’s feet, with his head approximately in line with the angel’s hips, stood a man who was not a man. A priest who was not a priest. A demon who was not a demon.
Gazing upward at the angel’s majestic form, this figure examined Aziraphale’s body with new eyes and new understanding. After thousands of years of glancing so easily over the angel’s crown of blond curls, he could more fully appreciate from this vantage point the immense power and strength — the splendor — barely contained within the angel’s smaller, denser body.
A strength and splendor that he, the demon Crowley, now possessed.
Blue moonlight streamed through holes in the ceiling, casting long stripes of light and shadow that contrasted with the still burning embers and smoke floating throughout the half-exposed London church. From a distance rose the sound of sirens, the low hum and staccato of airplanes and engines.
Clad in a floor-length black cassock deconsecrated by the smoke and fire of the explosion, Crowley opened his mouth, encircling the head of . . .

Credits and Thanks

Find coffee_mage on AO3 and on Tumblr.
Extra special thanks and love to u/Nosferatini for recommending my story for podficing. 🩷💜🩷
submitted by y2bx to GoodOmensAfterDark [link] [comments]


2024.05.06 20:10 pp6000v2 Setting grub resolution for a tinypilot kvm

Question up-front: How can I explicitly set the resolution for the grub boot selection menu, since /etc/default/grub doesn't exist, and changing /etc/default/grub.d/truenas.cfg doesn't survive reboot? 640x480/1024x768 is totally fine, I don't need high resolution- just something explicitly set.
I went to go upgrade from Core 13 to Scale 24, but wanted to put my tinypilot KVM on it so I could watch the console output and as it went through the expected reboots. The appliance only has VGA output, which works just fine with a VGA monitor. But for whatever reason, the KVM capture device yields a NO SIGNAL screen. I stuck an old VGA monitor on the port and went through with a clean-install of Scale 24.04. There is an IPMI card installed, which does have its own VGA output, but the BIOS is set explicitly to use the built-in video output- and this works as expected.
Also, the VGA>HDMI adapter does work. I've connected my HDMI monitor and the tinypilot to both the appliance and another Windows box with a VGA port through the dongle and get full panel resolution when I'm in a GUI environment. Can't get the thing to work with a text-only console system without hoop jumping.
Now running 24.04, I still want to be able to use my kvm on the appliance should I ever need to. I set the console resolution explicitly via
midclt call system.advanced.update '{ "kernel_extra_options": "video=640x480-32" }'
which works for the console itself once it's booted. But while the BIOS and splash screens are seen over the KVM, and (eventually) the kernel log and console, the grub selection menu never is- I get the NO SIGNAL error. This is mostly fine, except I can't see to make any selections should I need to boot into a different environment. Changing /etc/grub.d/00_header to set GRUB_GFXMODE=640x480 doesn't change anything.
I don't see the boot log until (I assume) the boot parameter for the resolution is loaded, ~19seconds into the kernel starting up. Here's the dmesg output from my last boot:
[ 16.996173] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input5 [ 17.046497] ACPI: button: Power Button [PWRB] [ 17.046918] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input6 [ 17.082088] ACPI: button: Power Button [PWRF] [ 17.200020] input: PC Speaker as /devices/platform/pcspkinput/input7 [ 17.203152] ast 0000:04:00.0: enabling device (0000 -> 0003) [ 17.203356] ast 0000:04:00.0: [drm] VGA not enabled on entry, requesting chip POST [ 17.203423] ast 0000:04:00.0: [drm] Using default configuration [ 17.203464] ast 0000:04:00.0: [drm] AST 2100 detected [ 17.203507] ast 0000:04:00.0: [drm] Using analog VGA [ 17.203547] ast 0000:04:00.0: [drm] dram MCLK=396 Mhz type=1 bus_width=16 [ 17.204081] [drm] Initialized ast 0.1.0 20120228 for 0000:04:00.0 on minor 0 [ 17.280857] Console: switching to colour frame buffer device 80x30 [ 17.318495] ast 0000:04:00.0: [drm] fb0: astdrmfb frame buffer device [ 17.337479] IPMI message handler: version 39.2 [ 17.360535] ipmi device interface [ 17.398239] acpi_cpufreq: overriding BIOS provided _PSD data [ 17.407099] ipmi_si: IPMI System Interface driver [ 17.468322] ipmi_si dmi-ipmi-si.0: ipmi_platform: probing via SMBIOS [ 17.469111] ipmi_platform: ipmi_si: SMBIOS: io 0xca8 regsize 1 spacing 1 irq 0 [ 17.483386] ipmi_si: Adding SMBIOS-specified kcs state machine [ 17.484417] ipmi_si: Trying SMBIOS-specified kcs state machine at i/o address 0xca8, slave address 0x20, irq 0 [ 17.485920] ipmi_si dmi-ipmi-si.0: Interface detection failed [ 17.589010] sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver [ 17.602431] sp5100-tco sp5100-tco: Using 0xfed80b00 for watchdog MMIO address [ 17.648535] sp5100-tco sp5100-tco: initialized. heartbeat=60 sec (nowayout=0) [ 17.846040] [drm] radeon kernel modesetting enabled. [ 17.859545] vga_switcheroo: detected switching method \_SB_.PCI0.P0P1.VGA_.ATPX handle [ 17.896197] ATPX version 1, functions 0x00000000 [ 17.910016] radeon 0000:01:05.0: vgaarb: deactivate vga console [ 17.912915] [drm] initializing kernel modesetting (RS880 0x1002:0x9712 0x103C:0x1609 0x00). [ 17.916092] ATOM BIOS: AMD_1407_150 [ 17.917201] radeon 0000:01:05.0: VRAM: 64M 0x00000000C0000000 - 0x00000000C3FFFFFF (64M used) [ 17.918878] radeon 0000:01:05.0: GTT: 512M 0x00000000A0000000 - 0x00000000BFFFFFFF [ 17.930850] [drm] Detected VRAM RAM=64M, BAR=64M [ 17.931766] [drm] RAM width 32bits DDR [ 17.940087] [drm] radeon: 64M of VRAM memory ready [ 17.941085] [drm] radeon: 512M of GTT memory ready. [ 17.941908] [drm] Loading RS780 Microcode [ 17.978919] [drm] radeon: power management initialized [ 17.995316] [drm] GART: num cpu pages 131072, num gpu pages 131072 [ 18.038946] [drm] PCIE GART of 512M enabled (table at 0x00000000C0146000). [ 18.039881] radeon 0000:01:05.0: WB enabled [ 18.040695] radeon 0000:01:05.0: fence driver on ring 0 use gpu addr 0x00000000a0000c00 [ 18.044988] radeon 0000:01:05.0: fence driver on ring 5 use gpu addr 0x00000000c0056038 [ 18.072384] radeon 0000:01:05.0: radeon: MSI limited to 32-bit [ 18.073377] [drm] radeon: irq initialized. [ 18.074966] Error: Driver 'pcspkr' is already registered, aborting... [ 18.130486] [drm] ring test on 0 succeeded in 0 usecs [ 18.324258] [drm] ring test on 5 succeeded in 0 usecs [ 18.330774] [drm] UVD initialized successfully. [ 18.331417] [drm] ib test on ring 0 succeeded in 0 usecs [ 18.649616] kvm_amd: Nested Virtualization enabled [ 18.650449] kvm_amd: Nested Paging enabled [ 18.652733] kvm_amd: LBR virtualization supported [ 18.678655] MCE: In-kernel MCE decoding enabled. [ 19.004466] [drm] ib test on ring 5 succeeded [ 19.006468] [drm] Radeon Display Connectors [ 19.007733] [drm] Connector 0: [ 19.008936] [drm] VGA-2 [ 19.009823] [drm] DDC: 0x7e40 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c [ 19.011594] [drm] Encoders: [ 19.012519] [drm] CRT1: INTERNAL_KLDSCP_DAC1 [ 19.025949] [drm] Initialized radeon 2.50.0 20080528 for 0000:01:05.0 on minor 1 [ 19.073354] [drm] fb mappable at 0xF8247000 [ 19.074124] [drm] vram apper at 0xF8000000 [ 19.074762] [drm] size 1228800 [ 19.075369] [drm] fb depth is 24 [ 19.075962] [drm] pitch is 2560 [ 19.089055] fbcon: radeondrmfb (fb1) is primary device [ 19.089061] fbcon: Remapping primary device, fb1, to tty 1-63 [ 19.324225] radeon 0000:01:05.0: [drm] fb1: radeondrmfb frame buffer device [ 27.352008] [drm] amdgpu kernel modesetting enabled. [ 27.355478] amdgpu: vga_switcheroo: detected switching method \_SB_.PCI0.P0P1.VGA_.ATPX handle [ 27.359704] amdgpu: ATPX version 1, functions 0x00000000 [ 27.364324] amdgpu: Virtual CRAT table created for CPU [ 27.366462] amdgpu: Topology: Add CPU node 
submitted by pp6000v2 to truenas [link] [comments]


http://swiebodzin.info