Examples of descriptive sentences

Watch People Die Inside

2016.10.21 15:38 relayrider Watch People Die Inside

[link]


2013.10.20 11:26 tilnewstuff Where everyone is a quantum scientist...

For only the very smartest braggarts.
[link]


2014.04.23 07:10 Hoogs Megalophobia: Fear of Large Things

Fear of Large Things
[link]


2024.05.16 23:38 Last_Cow_4198 letter to teacher

For your final writing assignment, you will write a persuasive essay/letter to Teacher. The purpose of your letter should be to effect change at school for the future, whether it be next year or further into the future. Focus on problems or issues at school that you believe need to be addressed. You need to acknowledge the issue(s), come up with solutions, and then clearly explain how those solutions should be implemented. All solutions and implementation must be realistically achievable.
Your essay must be at least 3 pages long, double-spaced, 12-point font.
All essays will be printed out, signed, and delivered to Teacher . This is due Friday, May 17th, @ midnight.
NOTE: Your persuasive essay must be realistic. DO NOT WRITE A JOKE ESSAY. YOU WILL FAIL.
Important elements of persuasive writing to remember:
submitted by Last_Cow_4198 to Essayprowriter [link] [comments]


2024.05.16 23:35 SuperCustodiam A Buyer's Guide to the AL Ships

This is a straight to the point buyers guide for people that are wondering if any of the AL ships are worth buying or not. I am here to give you an idea of what's worth, and what's not. I will rank them in descending order for convenience. Keep in mind that these are from my own opinions on the game: my word is not law. These are just my recommendations from my personal experience and a spur of the moment deal personally.

Best Pick: AL Montpelier

This is a premium version of Cleveland, the USN tier VIII CL. However, unlike the later AL premiums, AL Montpelier was unique in at least, a very minor way: She has tighter shot grouping due to a 2.15 sigma versus the standard 2.0 at the cost of slower reload at 0.5 sec slower (7 sec vs 6.5 sec). The result is overall consistent salvos, at the cost of just a little DPM that can be fixed with Adrenaline Rush and Top Grade Gunner, depending on how you build her.
Besides that, she also has un-nerfed version of radar, at a 30 sec vs 27 sec on Cleveland. That doesn't sound like a big deal, but if you run Consumable Enchantments and or Surveillance Radar Mod 1, you have a larger number that the percent based changes will take affect on. Essentially, with both the commander skill and 2nd slot upgrade, you get 39.6 sec vs 35.6 seconds on duration. So a radar build is not bad compared to Cleveland. Besides that, she doesn't have access to the catapult fighter consumable, but that is super seceded by radar and anyways so who cares.
And above all else, it is a Cleveland, which is IMO, a very competitively viable cruiser at tier VIII, with it's very small citadel, thin profile / narrow beam that leads to a lot of over-penetrations, good DPM, good concealment, and good AA. It really only lacks in the speed, gun range, and shell flight time problems, which can be remedied with skill and positioning.
As far as the commander voice acting, Rie Takahashi voices Montpelier. If you do not know who that is or do not care, and just want to know if the commander's voice is annoying or not, then be happy that she isn't overtly grating compared to some of the other commanders you can get. I find her rather composed, cool, and relaxed, fitting the trope of kuudere, if you even know what that means.
TLDR: Premium Cleveland with higher sigma, slightly lower RoF, Longer lasting radar.

Runner Up: AL Sovetsky Rossiya

This is a premium version of Sovetsky Soyuz, the VMF (Soviet Navy) Tier IX BB. Like Montpelier, she is slightly unique to her tech tree counterpart, bar being premium, by having standard battleship dispersion (USN, Royal Navy, German, etc.) instead of Russian BB dispersion formula that gets way better inside 15km. She does also have 1.8 sigma versus 1.7 sigma, for slightly tighter shot grouping. So, while Soyuz excels at mid range, Rossiya excels at long range, which does reasonably well considering the average high tier meta these days.
Other than that, you retain all the upsides of Fast action Damage Control Parties, the tough hull design of the Sovetsky Soyuz. The only other thing you DO NOT get is the AA, as she has the Hull A of Sovetsky Soyuz, and in turn has worse AA overall. In fact, she has such bad AA that only Musashi beats her out in having worse AA for Tier IX battleships. So yeah, CVs that know their targets will have free reign on you, so stick close to allies in CV matches.
Now a I'll be honest with you, Rossiya is not a super competitive BB at tier IX, so this choice is really just down to being different in few ways instead of blatant copy paste. Really, only AL Montpelier is the only super competitive option here. So above all else, Rossiya is a side grade if anything and you should not fear of having FOMO for not getting her. Besides, she's not an historical ship that is going to get removed because it was OP, so fret not (COUGH COUGH MUSASHI, COUGH COUGH ALASKA, COUGH COUGH MISSOURI).
Lastly, the commander is voiced by Manami Numakura. I can really only characterize her as cool, tough, deep voiced anime woman archetype. I dunno really how to explain it that well, so I apologize for anyone that likes her due to my poor description.
TLDR: Premium Sovetsky Soyuz Hull A with 1.8 sigma and standard battleship dispersion.
OK, with those two out of the way, I want to put a disclaimer here that the next ships are purely optional and not super worth it IMO and really only selected for being different than the rest, I.E. not something that is currently offered in other ships / premium ships already in-game.

Optional 1st Pick: AL Prinz Heinrich

This is a premium version of Prinz Heinrich, the tier VII german battlecruiser of the Ersatz Yorck class. She is a 1 for 1 copy of Prinz Heinrich: no special differences here besides premium benefits.
Now, while she is not unique in any way, she is not a bad battlecruiser for tier VII standards. This mainly comes down to the 50mm deck plating she has in a tier wrought with battleships with just 26mm of plating on their decks. Really, any tier VII battleship that has more than 27mm of plating is really competitive in this tier, simply because they don't get overmatched or full-penned by HE. It's sort of why Scharnhorst '43 is so popular and good, since she doesn't get chunked for 10k when hit by 15 in + guns (380mm guns for ya'll metric nerds).
Besides that, she's not slow as hell, going at a decent 28 knots, has 15in guns herself, has fast acting DCP, and is the first ship in the german battlecruisefast battleship line that gets that sweet improved secondary dispersion formula, which despite the 9km max range, means that she has free DPM to let the game play itself essentially. Combined with torpedoes, she can bum rush many slower and weaker battleships that the german battlecruiser line is famous for. And on top of all that, she also has hydro for better pushing to see torpedoes earlier, or push smoked up ships.
Now for some cons, the guns, while using battlecruiser dispersion have an awful 1.5 sigma, so your shot grouping is... bad. Do not be surprised if a lot of your shells in your salvo get a mind of their own. Besides that, she's on the below average end of HP for tier VII, at 56k. Also, she does have 25mm bow and stern. She does have a 30mm extended belt (colloquially known as an ice breaker), which is followed by 120mm extended belt, that protects the lower portion of the ship from overmatch bar 18in guns that she MIGHT face in the likes of Georgia, Sun Yat Sen, Musashi, and Tsurugi, and Adatara. Still, that doesn't mean she is immune from overmatch, as the odd shell can still get through her bow and stern and chunk you, so do not bet on it 100%.
Now that is for the most part, the review. However, for any true fans out there, they know that Prinz Heinrich from AL is actually a P-Class cruiser, AKA Schill in this game. Since Schill was a limited time ship that required whaling for her, and that wargaming dropped the ball and just did "Oh this ship has the same name! Here ya go!" then you know how much this kind of sucks. If you just like Prinz Heinrich, and want her as a premium, you can ignore this tidbit, but for any true fans that DO NOT have Schill, you're shit outta luck.
As far as commander goes, the voice actor, Hiyori Nitta, does a wonderful job characterizing a carefree and bubbly character. As previously mentioned, I recommend putting her on Schill if you really care about game accuracy, that is, if you even had Schill to begin with.
TLDR: Premium Prinz Heinrich copy-paste. Get it only if you really like Prinz Heinrich (the ship) which is actually pretty good for its tier, and want a premium version of it, or Prinz Heinrich as the character.

Optional 2nd Pick: AL Shimakaze

Hoo boy, this one might be controversial. This is a special ship (NOT a premium ship) of IJN DD, Shimakaze.
Shimakaze really needs no introduction. It is the old school torpedo boat that coined the phrase "Torpedo soup" or at least contributed to that phrase. It can put 3x5 23k damage, 12km Type 93 long lance torpedoes into the water. It has some of the best concealment for her tier, getting down to 5.6km surface detect, and good speed at 39 kts (42 kts when speed boost is active). It has been here since the games launch, and well, admittedly, or at least in my opinion, has seen better days.
Still, while some other DDs might have powercrept her a little, you can't mistake the fact that a well played Shimakaze can terrorize a team that lacks the tools to pin her down. Even if that is seldom the case most of the time (48% win rate on NA out of 8 million battles), the ship still has strong tools when played to it's strengths. 23k damage torpedoes are no joke... if you get hit by them at least, as they have a pretty awful average reaction time of ~9.35 sec (according to wows ship builder). Now, this can be sort of remedied with building for torpedo speed, getting torpedo tubes mod 1 and swift fish to decrease that time to ~8.5 sec, but that's still far above the average of 7.8 sec most torpedoes have in other nations. Still, if you get the right angle, devstriking a full HP battleship is not uncommon if you get a perfectly lined up shot. Thing is, it takes WAY more skill and positioning than you think it does, especially considering that most top tier players sort of know what they're doing, and that a lot of top tier ships can run hydroacoustic search these days.
Combined with the fact that she has some of the worse gun DPM of any tier X DD, and has fairly low HP for the tier, it can be fairly hard to play this ship unless you get just the best matchmaking ever. It's a real feast or famine type ship, which I would say summarizes most of the IJN Shimakaze line in general, bar maybe the mid tiers. All this really means is that Shimakaze is NOT the most competitive DD at tier X, as arguably many other nations have better torpedo boats, or better yet, opt for hybrid boats that can defend themselves fairly well, such as the Pan Euro DDs. Still, as mentioned earlier, if played to her strengths, she can be a good ship, but all I am arguing for is that she is not a meta ship, at least in my opinion.
Now, onto the whole Special Ship thing. Yes, this IS a tier X ship that can be bought for money. And YES, this is like the ARP Yamato deal, allowing noob whales to skip to tier X and forgo all the blood sweat and tears that goes into grinding to top tier. And YES, IT'S A SHIMAKAZE, THE TIER X NOOB MACHINE. I DO NOT HAVE HIGH HOPES FOR MANY AL SHIMAKAZE PLAYERS EITHER. With that out of the way, what benefit do you get for getting a special ship version of Shimakaze?
Well, to start, Special ships essentially have the premium bonus package already baked in, I.E: +50% Credits, +100% Ship XP, +100% Commander XP, +100% Free XP. On top of that, you also have a reduced repair cost compared to a standard tier X. Besides that, you can freely swap commanders onto this ship like a premium ship with no retraining required, making it a good trainer. These are the ONLY 2 reasons that make this ship more economically viable compared to Shimakaze. While the bonus package on Shimakaze can achieve 1 of these 3 effects, the other two, reduced repair cost and free commander swapping, puts this above standard Shimakaze as a result.
So, unfortunately, This is a slightly better Shimakaze. So if you REALLY like Shimakaze, and want a premium version of it, well, here it is, for a lot of goddamn money. Like $100+ expensive. Go figure ya know?
Also, the commander is voiced by Saori Hayami.
TLDR: Special Ship verison of Shimakaze. Take if you are a whale have a lot of expendable income to burn, AND really like Shimakaze (The ship), and or really like Shimakaze (the AL character).

Optional 3rd Pick: AL Yukikaze

AL Yukikaze is a similar version of the IJN DD Kagero, but with F8 torpedoes and no option for torpedo reload booster.
Now, this is the last of the semi-unique AL ships, as every other one has been copy-paste. Yukikaze at the very least is different in that she has F8 torpedoes. These differ than Kagero's choice by having less range, (8km vs 10km), higher damage (21k vs 20k), faster reload (104 sec vs 112 sec), and higher speed (76kts to 67kts) which also leads to a better reaction time of ~8.8 sec vs ~9.45 sec.
Now, does this make Yukikaze better? No, not really, as 8km is rather short range for high tier standards. It does make them almost break past ~8 sec reaction time with a full torpedo speed build, the best of any type 93 torpedo, but combined with the fact that it has no other differences in gun handling, DPM, HP, and consumables, I find this shorter ranged torpedo to be a high risk high reward setup, which already exacerbates high tier IJN DD gameplay further than it already is, being so heavily feast or famine.
I can really only recommend this ship if you really like Kagero for whatever reason and really like the 8km F8 playstyle. That and if you like the history of the ship and or like the character of the ship, voiced by Kana Yuuki, despite how annoying and self aggrandizing her character is made out to be.
TLDR: Kagero but 8km F8 torpedoes.
OK, now for the ships I really do not recommend at all for varying reasons. The reviews are going to be more brief from here on out.

Skip 1: AL Cheshire

Only get this if you really, REALLY want to get Cheshire right now. Currently, regular Cheshire is off sale, and cannot be obtained. For whatever reason you think you might need Cheshire, this is the only way to obtain her at the moment in AL form. Which more than likely means that if you want her, you are more than likely a fan of the AL character, as the ship itself is pretty bad. Kind of polarizing given that Cheshire in AL is pretty meta, and her in WoWs she's pretty solidly in D tier for competitiveness.
She is essentially a worse Albemarle, having no Spotter Plane, and garbage DPM for the tier. Really, the 9.2 in guns really only offer 59mm of pen vs 34mm, and better AP pen with overall flatter flight times, but not by much. The armor is Okayish, but trust me when you will get smacked through your bow and stern often, as you have a stepped citadel that if you get overmatched through either direction, you WILL get citadelled. While you get that 50% cit and hull repair party, it really doesn't matter that much when it happens so often, or you just get straight up dev striked. Combined with the lack of spotter plane, that 16km gun range will feel really short, especially when you are bottom tier.
You can at least be happy that the AA she has is up to par in how she is in AL, as it's best in class for her tier. Well, mostly, but her Flak Count is above average at 6+1, and combined with always having defensive fire, I recommend getting the commander skill Focus Fire Training, so you get that +1 flak cloud for 8 in total, which combined with Defensive fires flak buff, those flak bursts will do 7k a pop, Which is the equivalent to instantly destroying about 7 to 3 planes depending on the type if they run into it while DF is active.
Besides that, the commander is voiced by Shizuka Ishigami, and well, pretends to be a catgirl.
TLDR: Get this if you really really, REALLY want Cheshire and you don't have one, or because you really like the AL character.

Skip 2: AL Hornet

This is just Hornet. You can get her cheaper with a 25% discount coupon. It's also a CV, which I imagine is not everyones cup of tea.
The commander is voiced by Nozomi Yamamoto, and personally, I enjoy the happy go lucky characterization she has. This might be the ONLY reason you want to get Hornet, that or because you like the cool skin the ship has, and or the free 10 point commander.
TLDR: Get regular Hornet with 25% discount. ONLY buy this if you love AL Hornet (the character) to pieces.

Skip 3 & 4: AL Azuma and AL Agir

These two are just Agir and Azuma, coal ships, that you can get absolutely for free. They are also not really the best Tier IX cruisers anyways, as Azuma is super vulnerable to battleships, and Agir doesn't match up to the likes of other large cruisers at this tier.
That said, I can only imagine you getting these ships for the same reasons for Hornet, and that is because you are a fan of the AL characterization of these ships, as Azuma is voiced by Kiyono Yasuno, and Agir, Ayane Sakura. Or you just like the ship skins.
TLDR: Get Azuma and or Agir for free with Coal. ONLY buy this if you love AL Agir / AL Azuma (the characters).

BONUS: Commander Pack

Hahaha no. Unless you really love AL and don't mind by dropping... looks at price... 100$+ USD and getting a ton of fully voiced commanders, then go for it. The only other reason would be because you are a fresh player and need 10 point commanders for most of the nations in this game, which is really only useful if you need say concealment expert on destroyers for example, then sure, go for it if you find that to be an OK option.
submitted by SuperCustodiam to WorldOfWarships [link] [comments]


2024.05.16 23:09 Walkamang How do I group cells into numerical ranges?

I apologize but I cannot take screens shots to provide a visual for my issue. What I have is a list of numbers in column A and a description of that number in column B. The assigned number can range from 0001-9999. I need to group column A into ranges. For example if I have A5 = 0010, A6 = 0011, A7= 0012, A8 = 0020, A9= 0021 and A10 = 0022… how can I get them to group together to list 0010-0012, 0020-0022. I hope this makes sense as I’ve tried to keep it as simple as I can but still explain what it is I need to do. Thanks in advance!
submitted by Walkamang to excel [link] [comments]


2024.05.16 23:06 Remote-Cartoonist460 What Is a 1031 Exchange?

What Is a 1031 Exchange?
A 1031 exchange allows real estate investors to swap one investment property for another, enabling them to defer paying capital gains taxes. Named after Section 1031 of the Internal Revenue Code (IRC), this strategy is frequently mentioned by real estate agents, title companies, and investors. Some even turn it into a verb, saying, “Let’s 1031 that building for another.”
swap one investment property for another - owntic
Before attempting a 1031 exchange, investors must understand its various requirements. Exchanges can only be made with like-kind properties, and the IRS imposes limitations on its use with vacation properties. There are also important tax implications and strict timelines to follow.
Tax Deferral: A 1031 exchange allows you to sell a property used for business or investment purposes and purchase another similar property, deferring capital gains taxes on the sale.
Proceeds Handling: Sale proceeds must be held in escrow by a third party and used to purchase the new property. You cannot receive the proceeds directly.
Like-Kind Properties: The properties exchanged must be considered like-kind by the IRS to defer capital gains taxes.
Frequency: There is no limit on how often you can perform 1031 exchanges.
Former Principal Residence: The rules can apply to a former principal residence under specific conditions.
What Is Section 1031?
A 1031 exchange, also known as a like-kind or Starker exchange, involves swapping one investment property for another. If your exchange meets 1031 requirements, you may not owe any immediate tax, allowing your investment to grow tax-deferred. There is no limit on how many times you can perform a 1031 exchange. You can continue to defer taxes by rolling over gains from one property to another. If done correctly, you may only pay one long-term capital gains tax when you eventually sell for cash.
The term "like-kind" is broader than it seems. You can exchange an apartment building for raw land or a ranch for a strip mall. The rules are flexible, even allowing business property exchanges, but there are pitfalls to watch out for.
Special Rules for Depreciable Property
When exchanging depreciable property, special rules apply. Depreciation recapture, which is taxed as ordinary income, can occur. For example, if you exchange improved land with a building for unimproved land, the previously claimed depreciation on the building will be recaptured.
Changes Due to the Tax Cuts and Jobs Act (TCJA)
The TCJA, passed in December 2017, limited 1031 exchanges to real property. Previously, exchanges of personal property like franchise licenses and equipment also qualified. Now, only real estate qualifies, though certain tangible personal property may still benefit from full expensing allowances.
1031 Exchange Timelines and Rules
A classic 1031 exchange involves a direct swap between two parties. However, finding someone with the exact property you want and vice versa is rare. Thus, most exchanges are delayed or three-party exchanges, also known as Starker exchanges. In these cases, a qualified intermediary holds the cash from your property sale and uses it to buy the replacement property.
Timing Rules:
45-Day Rule: Within 45 days of selling your property, you must designate the replacement property in writing to the intermediary. You can designate up to three properties, as long as you close on one.
180-Day Rule: You must close on the new property within 180 days of the sale of the old property. The 45- and 180-day periods run concurrently.
Reverse Exchange
You can also buy the replacement property before selling the old one. In this case, you must adhere to the same 45- and 180-day rules. The new property must be transferred to an exchange accommodation titleholder, and a property for exchange must be identified within 45 days, with the transaction completed within 180 days.
Tax Implications: Cash and Debt
If you have cash left over after acquiring the replacement property, it is considered "boot" and will be taxed as partial sales proceeds. Additionally, changes in mortgage debt are treated like cash for tax purposes. For example, if your mortgage on the new property is less than on the old one, the difference is considered a gain and is taxed.
1031 Exchanges for Vacation Homes
While it’s possible to use a 1031 exchange for vacation homes, the property must be rented out and treated as an investment. You cannot simply swap one vacation home for another and then move in.
Using a 1031 Exchange for Estate Planning
One advantage of 1031 exchanges is that tax liabilities end with death. If you die without selling the property obtained through a 1031 exchange, your heirs inherit the property at its stepped-up market value, and the deferred tax is eliminated.
Reporting to the IRS
You must report a 1031 exchange to the IRS using Form 8824 with your tax return for the year in which the exchange occurred. The form requires detailed information about the properties exchanged, including descriptions, dates, and values.
Examples and Practical Applications
For instance, if Kim owns an apartment building worth $2 million and sells it through a 1031 exchange to buy a larger condominium for $2.5 million, she can defer the capital gains tax, allowing her to reinvest more funds into the new property.
In summary, a 1031 exchange is a powerful tool for real estate investors to defer capital gains taxes and build wealth. However, it involves complex rules and requires professional assistance to navigate successfully.
submitted by Remote-Cartoonist460 to FinanceManual [link] [comments]


2024.05.16 22:53 SlightlyNotFunny Adding affiliate links to new YouTube channel

Hello everyone, I've been an amazon associate for years now putting the affiliate links in the descriptions of my videos. Lately, I've been considering redubbing my videos from English into other languages.
Other than the language it will be the exact same videos, I was just going to create a new channel with a language descriptor in the name. Example would be: "Channel Name en Español".
I was just wondering if it would be possible to add this new channel to my affiliate program, and just add the links like normal or would I have to reapply with an entirely new affiliate account.
Thank you very much.
submitted by SlightlyNotFunny to amazonaffiliate [link] [comments]


2024.05.16 22:53 Total_anon1 Issues with passing variables when using sheets in Swift?

I am currently making a Calorie Tracking app using Swift, but am having some issues with how different views are presented using sheets when trying to pass a variable
I have 2 views - my CaloriesView:
import SwiftUI import Firebase import FirebaseAuth import FirebaseFirestoreSwift struct CaloriesView: View { u/EnvironmentObject var viewModel: AuthViewModel @EnvironmentObject var calsViewModel: CaloriesViewModel @State private var shouldPresentSheet: Bool = false @State private var selectedCategory: String? = nil var body: some View { NavigationView { ScrollView { VStack(spacing: 20) { CurrentCaloriesView(viewModel: calsViewModel) mealSection("Breakfast", foods: calsViewModel.breakfasts) mealSection("Lunch", foods: calsViewModel.lunches) mealSection("Dinner", foods: calsViewModel.dinners) mealSection("Other Food", foods: calsViewModel.otherFoods) } .navigationBarTitle("Calories", displayMode: .inline) } } .onAppear { Task { await calsViewModel.fetchTodayMacros() await calsViewModel.fetchTodayFoodIntake() } } .sheet(isPresented: $shouldPresentSheet) { FoodListView(calsViewModel: calsViewModel) } } @ViewBuilder private func mealSection(_ category: String, foods: [(String, Double)]) -> some View { VStack(alignment: .leading, spacing: 10) { Text(category) .font(.headline) .padding(.top) ForEach(foods.indices, id: \.self) { index in let food = foods[index] VStack(alignment: .leading, spacing: 8) { Text(food.0) .font(.headline) .bold() Text("Weight: \(food.1, specifier: "%.2f") g") } .padding(.vertical, 8) } Button(action: { Task { let currentDate = Date() // Use the current date let currentUserId = Auth.auth().currentUser!.uid // Directly using the user ID as we're sure user is logged in do { let macrosDocumentExists = await calsViewModel.doesMacrosDocumentExist(userId: currentUserId, date: currentDate) if !macrosDocumentExists { try await calsViewModel.createMacrosDocument(userId: currentUserId, date: currentDate) } let foodIntakeDocumentExists = await calsViewModel.doesFoodIntakeDocumentExist(userId: currentUserId, date: currentDate) if !foodIntakeDocumentExists { try await calsViewModel.createIntakeDocument(userId: currentUserId, date: currentDate) } selectedCategory = category shouldPresentSheet = true } catch { print("Error creating documents: \(error.localizedDescription)") // Handle errors, perhaps by showing an alert to the user } } }) { Label("Add Food For \(category)", systemImage: "plus.circle.fill") .font(.headline) .foregroundColor(.white) .padding() .frame(maxWidth: .infinity) .background(Color.green) .cornerRadius(10) } .padding(.bottom) } } } 
And my FoodView:
import SwiftUI import Firebase import FirebaseAuth import FirebaseFirestoreSwift struct FoodListView: View { @ObservedObject var calsViewModel: CaloriesViewModel @ObservedObject var foodViewModel = FoodViewModel() @Environment(\.dismiss) private var dismiss @Environment(\.presentationMode) var presentationMode var body: some View { NavigationView { List(foodViewModel.foods) { food in NavigationLink(destination: FoodDetailView(calsViewModel: calsViewModel, food: food)) { Text(food.name) } } .navigationTitle("Select Food") .toolbar { ToolbarItem(placement: .navigationBarLeading) { Button("Cancel") { dismiss() } } } .onAppear { foodViewModel.fetchFoods() } } } } struct FoodDetailView: View { @ObservedObject var calsViewModel: CaloriesViewModel var food: Food @State private var weight: String = "100" @State private var showConfirmation: Bool = false @State private var errorMessage: String? @ObservedObject var authViewModel = AuthViewModel() var body: some View { VStack { TextField("Enter weight in grams", text: $weight) .keyboardType(.numberPad) .textFieldStyle(RoundedBorderTextFieldStyle()) .padding() if let weightAsDouble = Double(weight) { Text("Calories: \(Double(food.calories) * weightAsDouble / 100, specifier: "%.2f") kcal") Group { Text("Protein: \(food.protein * weightAsDouble / 100, specifier: "%.2f") g") Text("Carbs: \(food.carbs * weightAsDouble / 100, specifier: "%.2f") g") Text("Fat: \(food.fat * weightAsDouble / 100, specifier: "%.2f") g") } .font(.headline) } Spacer() Button("Add Food") { Task { let today = Date() guard let userId = Auth.auth().currentUser?.uid else { errorMessage = "Unexpected error: User ID is not available." return } do { let weightDouble = Double(weight) ?? 100 let mealType: MealType = .other // This should be determined or selected by the user print("Adding food with weight: \(weightDouble)") // Debug log try await calsViewModel.addFoodIntakeAndUpdateMacros(userId: userId, date: today, food: food, weight: weightDouble, mealType: mealType) showConfirmation = true } catch { errorMessage = "An unexpected error occurred: \(error.localizedDescription)" } } } .alert("Food Added", isPresented: $showConfirmation) { Button("OK", role: .cancel) { } } message: { Text("Your daily intake has been updated.") } if let errorMessage = errorMessage { Text(errorMessage) .foregroundColor(.red) .padding() } Spacer() } .padding() .navigationTitle("\(food.name) Details") } } 
Currently, in FoodDetailsView, the mealType variable that is being saved to the firestore document is hardcoded to be ‘Other Food’, so all of the food, no matter which of the 4 "Add Food For \(category)" buttons I click is being shown in the ‘Other Food’ category
I instead want the food to be saved into the Firestore document with the relevant mealType, depending on which section the button is clicked in
I have tried doing this by passing a mealType variable through when the “Add Food For \(category)" button is clicked, as you can see in the new versions of CaloriesView and FoodView below:
CaloriesView:
import SwiftUI import Firebase import FirebaseAuth import FirebaseFirestoreSwift struct CaloriesView: View { @EnvironmentObject var viewModel: AuthViewModel @EnvironmentObject var calsViewModel: CaloriesViewModel @State private var shouldPresentSheet: Bool = false @State private var selectedCategory: String? = nil @State private var selectedMealType: MealType? = nil var body: some View { NavigationView { ScrollView { VStack(spacing: 20) { CurrentCaloriesView(viewModel: calsViewModel) mealSection("Breakfast", foods: calsViewModel.breakfasts, mealType: .breakfast) mealSection("Lunch", foods: calsViewModel.lunches, mealType: .lunch) mealSection("Dinner", foods: calsViewModel.dinners, mealType: .dinner) mealSection("Other Food", foods: calsViewModel.otherFoods, mealType: .other) } .navigationBarTitle("Calories", displayMode: .inline) } } .onAppear { Task { await calsViewModel.fetchTodayMacros() await calsViewModel.fetchTodayFoodIntake() } } .sheet(isPresented: $shouldPresentSheet) { if let selectedMealType = selectedMealType { FoodListView(calsViewModel: calsViewModel, mealType: selectedMealType) } } } @ViewBuilder private func mealSection(_ category: String, foods: [(String, Double)], mealType: MealType) -> some View { VStack(alignment: .leading, spacing: 10) { Text(category) .font(.headline) .padding(.top) ForEach(foods.indices, id: \.self) { index in let food = foods[index] VStack(alignment: .leading, spacing: 8) { Text(food.0) .font(.headline) .bold() Text("Weight: \(food.1, specifier: "%.2f") g") } .padding(.vertical, 8) } Button(action: { Task { let currentDate = Date() let currentUserId = Auth.auth().currentUser!.uid do { let macrosDocumentExists = await calsViewModel.doesMacrosDocumentExist(userId: currentUserId, date: currentDate) if !macrosDocumentExists { try await calsViewModel.createMacrosDocument(userId: currentUserId, date: currentDate) } let foodIntakeDocumentExists = await calsViewModel.doesFoodIntakeDocumentExist(userId: currentUserId, date: currentDate) if !foodIntakeDocumentExists { try await calsViewModel.createIntakeDocument(userId: currentUserId, date: currentDate) } selectedCategory = category selectedMealType = mealType shouldPresentSheet = true } catch { print("Error creating documents: \(error.localizedDescription)") } } }) { Label("Add Food For \(category)", systemImage: "plus.circle.fill") .font(.headline) .foregroundColor(.white) .padding() .frame(maxWidth: .infinity) .background(Color.green) .cornerRadius(10) } .padding(.bottom) } } } 
FoodView:
import SwiftUI import Firebase import FirebaseAuth import FirebaseFirestoreSwift struct FoodListView: View { @ObservedObject var calsViewModel: CaloriesViewModel @ObservedObject var foodViewModel = FoodViewModel() @Environment(\.dismiss) private var dismiss @Environment(\.presentationMode) var presentationMode var mealType: MealType var body: some View { NavigationView { List(foodViewModel.foods) { food in NavigationLink(destination: FoodDetailView(calsViewModel: calsViewModel, food: food, mealType: mealType)) { Text(food.name) } } .navigationTitle("Select Food") .toolbar { ToolbarItem(placement: .navigationBarLeading) { Button("Cancel") { dismiss() } } } .onAppear { foodViewModel.fetchFoods() } } } } struct FoodDetailView: View { @ObservedObject var calsViewModel: CaloriesViewModel var food: Food var mealType: MealType @State private var weight: String = "100" @State private var showConfirmation: Bool = false @State private var errorMessage: String? @ObservedObject var authViewModel = AuthViewModel() var body: some View { VStack { TextField("Enter weight in grams", text: $weight) .keyboardType(.numberPad) .textFieldStyle(RoundedBorderTextFieldStyle()) .padding() if let weightAsDouble = Double(weight) { Text("Calories: \(Double(food.calories) * weightAsDouble / 100, specifier: "%.2f") kcal") Group { Text("Protein: \(food.protein * weightAsDouble / 100, specifier: "%.2f") g") Text("Carbs: \(food.carbs * weightAsDouble / 100, specifier: "%.2f") g") Text("Fat: \(food.fat * weightAsDouble / 100, specifier: "%.2f") g") } .font(.headline) } Spacer() Button("Add Food") { Task { let today = Date() guard let userId = Auth.auth().currentUser?.uid else { errorMessage = "Unexpected error: User ID is not available." return } do { let weightDouble = Double(weight) ?? 100 print("Adding food with weight: \(weightDouble)") // Debug log try await calsViewModel.addFoodIntakeAndUpdateMacros(userId: userId, date: today, food: food, weight: weightDouble, mealType: mealType) showConfirmation = true } catch { errorMessage = "An unexpected error occurred: \(error.localizedDescription)" } } } .alert("Food Added", isPresented: $showConfirmation) { Button("OK", role: .cancel) { } } message: { Text("Your daily intake has been updated.") } if let errorMessage = errorMessage { Text(errorMessage) .foregroundColor(.red) .padding() } Spacer() } .padding() .navigationTitle("\(food.name) Details") } } 
But doing it this way causes the sheet containing FoodListView to be presented as completely blank, containing not even the ‘Cancel’ button
The original code did not do this - any ideas why? Thanks
Edit - for an MVP Minimal Reproducible Example, see my Stack Overflow question: https://stackoverflow.com/questions/78492454/why-does-passing-a-variable-into-a-view-that-is-presented-using-a-sheet-cause-th?noredirect=1#comment138379430_78492454
submitted by Total_anon1 to iOSProgramming [link] [comments]


2024.05.16 22:49 okairport5756 How to get out of poverty (I was here)

I was once here making less than 10k a year. I have over quadrupled my income in two years and it shows me just because you make money doesnt mean anything is easier but getting there is easy if you are motivated. I started aggressively applying for jobs july of 2022. I found a job that would let me train to become a shift lead for 18/hr.. I trained to that in 6 months at a 15/hr. Built another 3 months of experience but as soon as I got the title upgrade I started applying else where (apps take time to get pulled) to places as a shift lead. I found a job that increased my income by easily 35% with less responsibility. I then applied a lot of my past experience (food service brand knowledge) to apply for a better management positon. Less responsibility, more money. I have finally made it there and now have management position that is over double the original job I got from applying aggressively. I comfortably pay rent, buy things I want and have a fridge full of food. Do I have a lambo? No, but I can make whatever protien I want for dinner. Dont be complacent, you can do anything you apply yourself to. Dont waste time at your job waiting for more money. The big thing is work hard and leave anywhere that doesnt appreciate you they will ONLY BRING YOU DOWN BY USING YOU. I work somewhere that appreciates what I do and that makes going to work great.
Big note: You app is the biggest thing holding you back from improvement. Many companies use ai to vet canidates and if you dont have enough buzz words or terms they want from the job description you will not be considered. If the job description says for example: "will lead team of subordinates to fulfill daily production service needs." You need to state you "have successfully lead a team of x number of subordinates in x setting for x time". If you dont say stuff in line with the description like that your app will be tossed. Hope this helps. Get out there people. Take control of the poverty.
Perspective: before I am where I am I was sleeping on a foam pad in a roomate situation that I hated to afford rent with no belongings and relying on food from work to keep me alive. Not working was starvation. Now I live alone with all my rooms complete with furniture, a whole bed box spring frame.
Post ps: When I say apply aggressively you need to do 10 plus apps per day.
Post ps2: You need to use anything from past jobs to show you are not entry level employee to get a better job. The aim is to find a salaried position. That will be 24-26 paychecks of the exact same thing every year. This makes budgeting easier.
submitted by okairport5756 to povertyfinance [link] [comments]


2024.05.16 22:36 Sapphire_Dragon793 I know no other place to ask this question, but my (F16) handwriting has deteriorated very badly over the last few years, is this a sign of anything?

The only medication i am on is birth control, and I have no medical conditions. If necessary, I can give an example but it has gotten to the point where it is almost illegible in normal circumstances. My fine motor skills are ok otherwise and I have not had a head injury. It is not a case of rushing or effort, and it will take me about ten times longer to write a neat sentence than my normal writing. I know this is probably a non-issue but I just want to make sure. I have been regularly handwriting since I learned to write so it is not a case of lack of practice either
submitted by Sapphire_Dragon793 to AskDocs [link] [comments]


2024.05.16 22:30 lindstropicalsno Optimizing Google Reviews for Your Shave Ice Business: A Complete Guide

Did you know 97% of consumers search online to find a local business? And 64% of consumers check Google reviews before visiting a business? In the competitive world of shave ice and snow cone businesses, standing out online is crucial. One of the most effective ways to do this is by optimizing your Google reviews. In this guide, we’ll walk you through why Google reviews are important, how they impact your business, and practical strategies to get and respond to reviews. Let’s dive in!
Why Google Reviews Matter
First Impressions Matter Your Google Business Profile (GBP) is often the first interaction potential customers have with your business. It’s like a digital billboard showcasing who you are, what you do, and how you operate. Having a strong profile filled with positive reviews can significantly influence potential customers’ decisions.
Impact on Local SEO Google reviews play a significant role in local SEO. They affect your ranking in Google’s “Map Pack,” which displays local businesses based on proximity and relevance to the searcher. According to Daniel Wright, an expert in reputation management, 17% of how you rank in local searches is determined by your reviews, including their quantity, quality, and how often you receive them.
Building Trust and Credibility Reviews build trust and credibility. Nine out of ten people read reviews before choosing a business, and they spend an average of 15 minutes doing so. Positive reviews reassure potential customers that they’re making the right choice, while a well-managed response to negative reviews can show your commitment to customer service.
Setting Up and Optimizing Your Google Business Profile
Complete Your Profile Ensure your GBP is complete and accurate. Include essential information like your business name, address, phone number, operating hours, and a brief description of your services. Regularly update your profile to reflect any changes.
Add Photos and Videos Photos and videos can significantly enhance your profile. Businesses with photos and videos receive 35% more clicks. Add high-quality images of your products, storefront, and happy customers. Encourage customers to upload their photos too.
Strategies to Generate More Reviews
Just Ask Surprisingly, up to 70% of people are willing to leave a review if asked. Train your staff to ask for reviews, especially after a positive interaction. You can also include a reminder on receipts or follow-up emails.
Make It Easy Simplify the process for customers by providing a direct link to your Google review page. You can generate this link from your GBP and share it via email, SMS, or on your website.
Use QR Codes Display QR codes at your shop that customers can scan to leave a review. This makes the process quick and convenient, increasing the likelihood of them following through.
Employee Incentives Motivate your employees by setting up a review generation program. For example, if your team can collect a certain number of reviews in a week, reward them with a bonus or a team treat.
Responding to Reviews
Timely Responses Responding to reviews within 24 to 48 hours shows that you value customer feedback. Quick responses can improve customer perception and encourage more reviews.
Personalize Your Responses When responding to reviews, personalize your message. Thank customers for their feedback and mention specific details from their review. For example:
Use Keywords Incorporate relevant keywords in your responses to boost SEO. For instance, if you’re located in Madison County, you might say, “Thank you for visiting the best shave ice spot in Madison County!”
Dealing with Negative Reviews
Stay Calm and Professional It’s essential to stay calm and professional when responding to negative reviews. Acknowledge the issue, apologize if necessary, and offer to resolve it offline. This demonstrates to potential customers that you care about resolving issues.
Learn from Feedback Negative reviews can provide valuable insights into areas where you can improve. Use this feedback constructively to enhance your business operations and customer service.
Leveraging Free Tools and Platforms
Google Business Profile Features Google provides several free tools to help you manage your reviews. For instance, you can generate a review link directly from your GBP. Explore these features and make the most of them before considering paid solutions.
POS Systems and Email Campaigns If you use a POS system like Square, you can use customer contact information to solicit reviews. Send follow-up emails or texts with the review link, making it easy for customers to leave feedback.
Final Thoughts Optimizing Google reviews for your shave ice business can significantly enhance your online presence, attract more customers, and boost your local SEO. Remember to keep your Google Business Profile updated, actively solicit reviews, and respond promptly and thoughtfully to customer feedback. By implementing these strategies, you’ll be well on your way to building a strong, trustworthy online reputation.
check out tropical sno blog for more fun shave ice info!
submitted by lindstropicalsno to u/lindstropicalsno [link] [comments]


2024.05.16 22:27 Capital-Scholar4944 I fantasise bad things happening to me.

One thing I’ve notice is that in my maladaptive daydreams I usually have horrific things happening to me. I feel so bad because all of these things are so awful and disgusting, I’d never want it to happen irl but I can’t help but daydream about them.
I feel like it’s because in general I fantasise being a victim and being this all rounded innocent, angelic person, when I know deep down I’m far from either of these things.
TRIGGER WARNING: some descriptions of graphic images and severe domestic violence and mention of r*pe.
For example, I already have trauma from childhood irl, but the extent of the trauma is way worse in my daydreams.
Specifically I daydreamed:
Does anyone else have these kinds of daydreams, the ones that make you feel like you’re a horrible person for daydreaming them?
submitted by Capital-Scholar4944 to MaladaptiveDreaming [link] [comments]


2024.05.16 22:27 CederTrees ▌ELIMINA ▌ Open World RP ▌Original Setting ▌Server ▌ 21+ ▌

The Setting
Almost three-hundred years ago, the Earth was almost destroyed. A monumental catastrophe raked over the planet, swallowing up reality and changing everything we knew.
The great wiping of the slate allowed for a new civilization to grow into one where Humans and Fae became intertwined. New forms emerged as well, living concepts called Daemons who shepherded the Earth races toward other stars.
Elimina is a prison planet five light years away from Earth.
Exiles have been sent from all over the habitable systems to the remote planet for two-hundred years. Survivors of earlier exiles have built societies from the wastes, learning to live on what they could find.
With growing towns and settlements, getting sent to Elimina is no longer the death-sentence it used to be. The planet is now in the early days of building a new society, one that isn't solely a dumping ground for the violent and inconvenient. It's a fresh start for some, and a regulation-free eden for research and industry.
Most are thrown into the wasteland by force while others come to escape prisons of different kinds.
The Vibe
Sci-fi with magic. One member described it as "Space Australia."
We have chill one-off and casual RPs to long, world-altering plot progressions.
We don't have post length requirements because more words don't mean more information. We use all varieties of writing from long scene-setting, descriptive posts to rapid-fire dialogue and action.
We expect at least a high school level of English proficiency, which means you should be able to clearly express yourself through writing. Occasional mistakes are okay.
Most of us have some post-secondary education.
Lore:
We've built a history for a unique world, enough to provide a structure with room to create your own story. We have rock lore, dirt lore, political lore, science lore and even a little gas lore.
The server and setting have been set up to help you go from joining to making a character with a minimal time investment.
We're an active community with at least a few posts per day, but there's no activity requirement.
Click Here To Join
submitted by CederTrees to RoleplayGroups [link] [comments]


2024.05.16 22:26 CederTrees ▌ELIMINA ▌ Open World RP ▌Original Setting ▌Server ▌ 21+ ▌

The Setting
Almost three-hundred years ago, the Earth was almost destroyed. A monumental catastrophe raked over the planet, swallowing up reality and changing everything we knew.
The great wiping of the slate allowed for a new civilization to grow into one where Humans and Fae became intertwined. New forms emerged as well, living concepts called Daemons who shepherded the Earth races toward other stars.
Elimina is a prison planet five light years away from Earth.
Exiles have been sent from all over the habitable systems to the remote planet for two-hundred years. Survivors of earlier exiles have built societies from the wastes, learning to live on what they could find.
With growing towns and settlements, getting sent to Elimina is no longer the death-sentence it used to be. The planet is now in the early days of building a new society, one that isn't solely a dumping ground for the violent and inconvenient. It's a fresh start for some, and a regulation-free eden for research and industry.
Most are thrown into the wasteland by force while others come to escape prisons of different kinds.
The Vibe
Sci-fi/Solarpunk with magic. One member described it as "Space Australia."
We have chill one-off and casual RPs to long, world-altering plot progressions.
We don't have post length requirements because more words don't mean more information. We use all varieties of writing from long scene-setting, descriptive posts to rapid-fire dialogue and action.
We expect at least a highschool level of English proficiency, which means you should be able to clearly express yourself through writing. Occasional mistakes are okay.
Most of us have some post-secondary education.
Lore:
We've built a history for a unique world, enough to provide a structure with room to create your own story. We have rock lore, dirt lore, political lore, science lore and even a little gas lore.
The server and setting have been set up to help you go from joining to making a character with a minimal time investment.
We're an active community with at least a few posts per day, but there's no activity requirement.
Click Here To Join
submitted by CederTrees to DiscordGroupRP [link] [comments]


2024.05.16 22:25 Vicksin r/afkarena Rules and Guidelines

Greetings Adventurers!

We've just restructured and consolidated our previous Rules page to be more straightforward and cohesive. Due to the character limit in a rule's description, this post will go more in-depth regarding what these rules mean, provide examples of what is and isn't acceptable under these rules, and aims to clear any confusion or misconception regarding our rules.
By participating in our Subreddit, you are committing to honor and abide by our rules.

1) Be respectful and civil

As straightforward as it gets, the number one rule for a reason. Be kind to others, be good people.
Please don't hesitate to contact Modmail if you are feeling unsafe for any reason.

2) No targeted harassment or personal attacks

In tandem with Rule 1, this rule more specifically refers to direct attacks on individuals. Under no circumstances should any individual feel like they are being unjustly targeted, attacked, or under the threats of malicious intent by any other individual(s).
Do not make anyone feel unsafe or unwelcome. We do not take these situations lightly.

3) Submissions must be relevant to AFK

Keep posts relevant to AFK Arena or AFK Journey in some nature. Any discussion of clones will be removed. There must be a direct link to AFK in some form to constitute relevance.

4) External links and self-promotion must be approved

Any form of self-promotion, such as links to YouTube or other social media platforms, must be approved via Modmail.
Posts regarding submissions to official AFK Arena contests, such as artwork contests, do not need approval.

5) No Misleading Information

Everyone is welcome and encouraged to express their (unharmful) opinions, but the outright spread of misinformation, especially when presented as factual information, can be very misleading and harmful to the community.
If you are UNSURE if the information you are presenting is a fact, preface it with something to the effect of, "I think" to prevent misconception.

6) Use our designated Megathreads

To reduce clutter, our Subreddit implements the use of Megathreads to keep things organized.

7) Check for recurrent/duplicate topics before creating a new post

8) Submissions that involve explicit NSFW content are prohibited

Another simple and straightforward rule - posts or comments of explicit NSFW nature are prohibited. This includes, but is not limited to:

9) Credit(s) must be given to the creator(s), even if it is your own work

Any post or comment which shares artwork, digital media, or content of any kind must credit the creator(s).

10) Poll posts must have an additional option for users to view the results of the poll

When making a "poll"-type post, an option must be included that allows users to simply see the results of the poll without impacting the results.

11) Properly title and flair your posts

See a detailed explanation of our Post Flairs here
Misleading, incorrect, irrelevant, or otherwise non-specific post titles about a specific subject may be removed.
Using incorrect or intentionally misleading flairs for your post may result in post removal.

Report content that breaks our rules

While not a rule nor obligation by any means, we greatly appreciate users who do their due diligence and report comments or posts that break our rules.
Intentionally submitting false reports with any negative intent may be subject to disciplinary action.

Disciplinary actions

Disciplinary action for breaking these rules may vary based on severity, and may include warnings, temporary bans, or permanent bans with repeated instances or escalation.

Conclusion

If you have any questions or clarifications regarding our rules, or anything stated in this post, please feel free to comment below, or contact us via Modmail.
Thank you all, have a great day, and be good people!
submitted by Vicksin to afkarena [link] [comments]


2024.05.16 22:24 CederTrees ▌ELIMINA ▌ Open World RP ▌Original Setting ▌Server ▌ 21+ ▌

The Setting
Almost three-hundred years ago, the Earth was almost destroyed. A monumental catastrophe raked over the planet, swallowing up reality and changing everything we knew.
The great wiping of the slate allowed for a new civilization to grow into one where Humans and Fae became intertwined. New forms emerged as well, living concepts called Daemons who shepherded the Earth races toward other stars.
Elimina is a prison planet five light years away from Earth.
Exiles have been sent from all over the habitable systems to the remote planet for two-hundred years. Survivors of earlier exiles have built societies from the wastes, learning to live on what they could find.
With growing towns and settlements, getting sent to Elimina is no longer the death-sentence it used to be. The planet is now in the early days of building a new society, one that isn't solely a dumping ground for the violent and inconvenient. It's a fresh start for some, and a regulation-free eden for research and industry.
Most are thrown into the wasteland by force while others come to escape prisons of different kinds.
The Vibe
Sci-fi/Solarpunk with magic. One member described it as "Space Australia."
We have chill one-off and casual RPs to long, world-altering plot progressions.
We don't have post length requirements because more words don't mean more information. We use all varieties of writing from long scene-setting, descriptive posts to rapid-fire dialogue and action.
We expect at least a highschool level of English proficiency, which means you should be able to clearly express yourself through writing. Occasional mistakes are okay.
Most of us have some post-secondary education.
Lore:
We've built a history for a unique world, enough to provide a structure with room to create your own story. We have rock lore, dirt lore, political lore, science lore and even a little gas lore.
The server and setting have been set up to help you go from joining to making a character with a minimal time investment.
We're an active community with at least a few posts per day, but there's no activity requirement.
Click Here To Join
submitted by CederTrees to Group_Roleplay [link] [comments]


2024.05.16 22:19 aleatorio_random I don't think Russian grammar is hard, it's just different to what most of us are used to

здравствуйте!
I've been formally studying Russian for two and a half months now and I have 160 days streak on Duolingo. I'm a Portuguese native who also has a very good level of English and Spanish. I've studied a few other languages like French, German and Mandarin for a short time
I've been learning for a short time and only 2 hours per week and I haven't even touched the Case system yet, so I know I'll probably get very frustrated later
But, compared to my native language, I've seen Russian grammar can actually be easier in some aspects. For example, you can form simple sentences in Russia without any verb: "Iuri é um cosmonauta = Юрий космонавт!" Awesome!
Then I got into verb conjugations. Only 3 verbal tenses with 2 types of conjugation depending on the verb! So, let's say, you'd have to memorize 36 endings for verbs in Russian. That's so cute!
Portuguese has up to 12 verbal tenses, meaning a single verb might have up to 72 different forms (75 if we include infinitive, gerund and participle). And we have three types of conjugations depending of the verb, so it's more like 225 forms you're gonna have to memorize
And about the case system, well, it does look like there's a lot to memorize but the idea is pretty easy. The word ending indicates the what's the role of the word inside a sentence, not unlike when we add an 's in English to indicate ownership: "Bear's house = Дом медведя"
Tbh, the most difficult part of Russian to me is that most words are completely different. I try to read song lyrics to see if I can identify some words, and most of the time I only recognize less than 10 and with a lot of luck a whole sentence. I don't even think having perfect grammar is that important, but the lack of similar vocabulary means I can't even try to use context to deduce a sentence's meaning yet
That's very different to French, which I studied much less, but I can actually recognize words and sentences very often to a point where I'd say I understand about 50 or 60% of the written language, because I can just deduce what a word means using my native language and English as reference
That's the things with languages, the closer they are they easier they are to learn. Even the verb conjugation madness that Portuguese has is actually gonna be relatively easy for a Spanish speakers, since they have a pretty similar kind of verb conjugation madness with similar endings
Honestly, I'm at the point that just understanding a few simple words and sentences makes me so happy. And I've always had an interest for Russian history and culture, so that's why I keep doing it. Because every little bit a get to learn is a plus! :)
submitted by aleatorio_random to russian [link] [comments]


2024.05.16 22:03 PMSlimeKing Who or what would you consider to be the "mascot" of your world?

Clarification
A mascot in this case being a character, creature, or concept that conveys the ideas and tone of your world, and can generally get what your world is about across to anyone who otherwise might not be familiar with it.

GUIDELINES AND ETIQUETTE

submitted by PMSlimeKing to worldbuilding [link] [comments]


2024.05.16 22:02 PMSlimeKing Who or what would you consider to be the "mascot" of your world?

Clarification
A mascot in this case being a character, creature, or concept that conveys the ideas and tone of your world, and can generally get what your world is about across to anyone who otherwise might not be familiar with it.

GUIDELINES AND ETIQUETTE

submitted by PMSlimeKing to goodworldbuilding [link] [comments]


2024.05.16 22:02 DirectorBest3630 My first npm react package

I came across the problem where I am releasing changes on daily basis, but as a solo developer, i do not have time to implement some kind of release notes system in existing clients applications plus to write them manually, and considering using 3rd party platforms is not working on different clients, so I came up to this solution.
Upon creating PR to my `master` branch, I would write release notes in description of the PR.
Example: - implemented new feature 1 - fixed bug with something - fixed other bug
And mark that PR with label `release`
Since this is fast thing to do, only thing left was to create fast way to implement it, and in doing so I created solution as NPM package so I can reuse it in all my react projects.
Implementation is pretty simple as:
And that is it.
This is now rendering simple list of items, where each item represents one PR meeting above filter (label & base branch)
https://preview.redd.it/8mqyupsugu0d1.png?width=2547&format=png&auto=webp&s=e5e988ed965a06ea7ccf54aee36bc5359895ad14
I am sharing this here so maybe some of you find this helpful and use this package to speed up his delivering process.
Feel free to fork and improve it (I see a lot of space for it, however will not do it for now) and I will gladly merge improvements.
Note: Currently it is fetching only last 30 PRs, and from those pick the ones meeting filter so that is kinda buggy, but I will fix it in a few days, for now it is good enough for me, to show my client last few release notes.
Package name: ls-release-log
submitted by DirectorBest3630 to react [link] [comments]


2024.05.16 22:01 Gloomy-Blackberry I feel too dumb to learn algorithms

I'm self-taught in programming. Not super well but I can make some things. I thought it would be a good idea to get to grips with data structures and algorithms.
I followed two courses in PluralSight by Robert Horvick which was mostly data structures. I didn't have issues with that but I wanted more to do with algorithms. So I signed up for Coursera's Princeton Algorithms course. It's not going well. I've been taking notes and I can follow as the teacher is talking and going through slides and examples but we get to the quizzes and projects and I don't have a clue.....
Here were the last quiz questions:
1) Question 1
Social network connectivity. Given a social network containing 𝑛n members and a log file containing 𝑚m timestamps at which times pairs of members formed friendships, design an algorithm to determine the earliest time at which all members are connected (i.e., every member is a friend of a friend of a friend ... of a friend). Assume that the log file is sorted by timestamp and that friendship is an equivalence relation. The running time of your algorithm should be 𝑚log⁡𝑛mlogn or better and use extra space proportional to 𝑛n.
2) Union-find with specific canonical element. Add a method 𝑓𝑖𝑛𝑑()find() to the union-find data type so that 𝑓𝑖𝑛𝑑(𝑖)find(i) returns the largest element in the connected component containing 𝑖i. The operations, 𝑢𝑛𝑖𝑜𝑛()union(), 𝑐𝑜𝑛𝑛𝑒𝑐𝑡𝑒𝑑()connected(), and 𝑓𝑖𝑛𝑑()find() should all take logarithmic time or better.
For example, if one of the connected components is {1,2,6,9} then the 𝑓𝑖𝑛𝑑()find() method should return 9 for each of the four elements in the connected components.
3) Question 3
Successor with delete. Given a set of 𝑛n integers 𝑆={0,1,...,𝑛−1}S={0,1,...,n−1} and a sequence of requests of the following form:
design a data type so that all operations (except construction) take logarithmic time or better in the worst case.
and here's the project description:
https://coursera.cs.princeton.edu/algs4/assignments/percolation/specification.php
I feel very out of my depth. It's been a long time since I've done any math. Last time was high school in precalc. I wasn't bad by any means I got straight A's but I was nowhere near the best either.
It also doesn't help this course is in Java. I know JS and C# mostly and I'm intimidated doing these projects in Java.
I really want to get good at this but I feel like I'm drowning. Does anyone have recommendations on courses or videos that might be a little more beginner friendly? For all I know, this course might be beginner friendly and I'm just garbage.
I've been really low lately. I got a useless degree and I'm probably never going to get anywhere if I can't do this...I feel like I messed up my life
submitted by Gloomy-Blackberry to learnprogramming [link] [comments]


2024.05.16 22:01 Dorrin_Verrakai I ran the MMLU-Pro benchmark on GPT-4o, some notes

(Yes, the creators already did this, but I wanted to try reproducing their results.)
First of all, there's definitely still issues with the dataset.
  1. Questions mostly have 10 possible answers, but some have fewer "to remove unreasonable choices". This is supposed to be done by actually having <10 answers (I assume), but in some cases questions are padded with N/A at the end multiple times. Removing N/A from the end of the options list until only one existed resulted in removing 3314 options from the test. AFAIK N/A is never the correct answer to any question (I checked).
  2. Some questions are duplicates. I kept only the first instance encountered. This removed 86 questions from the test. I didn't check if their answer options were also duplicates.
  3. Some questions have duplicate answer options (i.e. A and C or whichever being the same answer). As this is obviously incorrect I removed these questions from the test. This removed ~400 questions. It should be pretty easy to fix these but I didn't want to spend more time.
  4. Some questions are impossible to answer as they're missing info.
    • For example, question ID 2668 is "Which of the following scans can image brain function?" but it does not give further details, and the answer options are things like "I, II and III only".
    • I only noticed one of these but I'm pretty sure there are more.
  5. Some questions have very bad formatting, like 11797:
    • \textquotedblleftNew business firms can under price older firms, because thenewer firms can buy the latest equipment and are not bur-denedwith the older, less economical equipment which olderfirms must retire before they can economically adopt thenew. This is why continued technological progress contributesto maintaining a competitive economic system." Explain the er-rors in both sentences.
    • Smarter models will probably do better on things like this, but I don't think the formatting is intentional.
For my first run, I used temperature 0.2 (they used 0.1) and this system prompt:
You are a knowledgeable expert. When given a multiple choice question, think it through then give your single final answer as The answer is ....
Here is their system prompt:
You are an knowledge expert, you are supposed to answer the multi-choice question to derive your final answer as The answer is ....
I'm not a fan of the phrasing, but more importantly in my preliminary testing I noticed that GPT-4o interpreted it to mean that it could give multiple answers. My "single final answer" was intended to prevent that. This mostly worked, but when answering questions that involved a lot of LaTeX in the CoT it would sometimes format the answer using LaTeX, making regex matching unreasonably hard. (I didn't fix those, scoring them as failures.)
For my second run, I used temperature 0.5 (which OpenAI uses in their simple-evals repo) and this system prompt:
Answer the following multiple choice question. The last line of your response should be of the following format: 'Answer: ($LETTER)' (without quotes) where LETTER is a single one of the options. Think step by step before answering.
This is based on this prompt from OpenAI's evals. OpenAI's says to pick one of "ABCD" but I was too lazy to generate that dynamically so I changed it a bit. It seems to work well. I used the regex Answer\s*:\s*\(\$?([A-Ja-j])\) to capture the answer.
If the model's output didn't seem to give an answer at all I manually checked it. This was:
Here are the results I got, plus the original results from TIGER Lab @ UWaterloo.
Models Prompting Overall Biology Business Chemistry ComputerScience Economics Engineering Health History Law Math Philosophy Physics Psychology Other
GPT-4o (TIGER Lab) CoT 0.7149 0.8504 0.7852 0.7428 0.7512 0.784 0.5401 0.7152 0.6718 0.5393 0.762 0.6947 0.7355 0.7726 0.7091
GPT-4o (my first run) CoT 0.7100 0.8441 0.7802 0.7502 0.7404 0.7763 0.5740 0.7061 0.6761 0.5753 0.7901 0.6760 0.7349 0.7611 0.7117
GPT-4o (my second run) CoT 0.7113 0.8441 0.7725 0.7628 0.7506 0.7662 0.5584 0.6964 0.6641 0.5597 0.7772 0.6474 0.7378 0.7445 0.7041
So I'd say the results themselves are basically "yep, that sure is how it scores". I don't know if my overall scores are actually slightly worse or if it's the effect of removing almost 500 questions from a 12.3k question dataset.
Total cost: maybe $160 based on token counts, messed up cost tracking at first.
The second run had approx 2.17M input tokens and 5.04M output tokens. Naively scaling this to other models (without actually using their tokenizers, and assuming they'll give identical output lengths) gives these approximate prices:
I don't intend to run those.
I'll post the inputs/outputs of both runs if anyone knows a good place to upload password-protected zips (to avoid accidental scraping, since everything posted to reddit is trained on).
submitted by Dorrin_Verrakai to OpenAI [link] [comments]


2024.05.16 21:50 Affectionate-Bed2165 My top 5 hardest dbd achievements

This is just my general opinion. It is generally included that achievements that can be farmed easily will be ranked lower, but some are still hard to signal that you want to farm for. These are some of the 35 achievements I have left, while most of them are adepts or somewhat grindy killer achievements.
This is also based on my anecdotal experience. For example, I've met the conditions for Left For Dead a couple of times and I find that any achievement whose requirements you only have to fulfil once is quite likely to come home given patience
  1. Deep cleansing.
This sounds easy on the face on it. Cleanse 100 hex totems isn't hard per say, the problem is that hexes are generally not meta and doesn't appear every match. So you first have to meet a killer that has at least one hex totem. Then you have to notice that it exists unless you want to run around like a headless chicken for a huge portion of games. And finally you have to be the one to cleanse it. Finding the totem first is not trivial as well in pubs either, so you might have to run every single game with a perk like detectives hunch or the upcoming dnd perk to raise your chances. (I've seen one description that mentions totems and one that doesn't so a bit confused on that part)
  1. Bless You
Blessing hex totems has all the requirements of the last achievement, but that you have to have a boon perk in your loadout permanently until you get this achievement. Also, it takes so long that it isn't rare that if the totem is in an open spot the killer just straight out finds you before you have the chance to complete. Overall an horrible experience. At least it's only 20 times, but if you don't like playing with boons it's a bummer.
  1. Outbreak Breakout
Escaping from rpd by personally opening the exit 20 times. No. Please don't. RPD is my most played map, and the majority of my playtime is from before stranger things. Haven't even gotten the achievement yet. So many RPD offerings. All my friends hates playing on RPD as well so it's either grinding it with pubs or hearing the biggest sigh of your life when someone says "did you have to do that?"
  1. Taking one for the team
Taking 250 protection for a recently unhooked survivor isn't something you do in an afternoon. Generally annoyed with this one since people with endurance often wants to take the hit for you, but you want the hit yourself. This and you have to do it 250 times. Would be much softer if hits while unhooking or extending the range/duration. Overall a perk you might have to do slight gamethrowing for to consistently increase, since if you unhook well enough and manage to actually get the other person out of there and avoid getting hit yourself as well you don't progress. I'd also bet that you'd have to do over 1000 unhooks to get this, since it's not like every killer camps the hook
  1. Skilled huntress
20 hits from over 24 meters. Absolute nightmare. I've tried to farm for it, but no survivor understands. I've tried to get it legitimately, but I've only managed it twice. Too much have to go too well for even one hit, but 20 (or console players 100) is too much. Not even every map has the required sightlines for this achivement, and while chasing if you're trying to give people distance they will run behind stuff. Thinking of trying for this in the 2v8 with like Huntress x Trapper or Huntress x Wraith who just bodyblocks people in corners, tells me to come, while I miss 100 shots, reload a couple of times, until I hit them with my axe. Although this will be fun for nobody it might be the best solution.
Dishonourable Mention: Outta Nowhere, hitting 40 survivors with a basic attack while undetectable. Seems like it has been bugged since I returned to the game. I have 0 progress and I've recounted to fulfil it at multiple occasions. Or I'm just misunderstanding something? Either way it is hard to get right now
Open to hear your opinions, tips, and disagreements!
submitted by Affectionate-Bed2165 to deadbydaylight [link] [comments]


2024.05.16 21:35 Winter-Assumption957 Would like a bit of perspective on my roots/style

Would like a bit of perspective on my roots/style
Hello, I’m new. Does anyone else have a terrible time with Pinterest? I find that I can find something almost right, but not quite. I find I pin bunches of art, crazy stuff, all sorts of things, and no examples of styled clothing. I really pushed myself to pin actual people with clothing I might wear. Even so, my pinterest boards do not quite accurately indicate what I’d wear. They are too neutral, and too warm toned. The patterns and the very sparkly one are aspirational. Perhaps the middle one, blonde with the purple sweater, tan pants. That comes the closest, but I don’t quite look like that. I’d wear exactly that though. I’m probably an FN, and a true/warm spring. I’m not at all sure of my essences. I think somehow classic/natural fits, and is most of it. I think I might also have gamine or ethereal, but I can’t figure it out. I have a short hair, and long hair has never worked on me. Friends say I look like a mermaid when I wear the dresses I own and have included. They love the colors, I dyed them, and I’ve dyed the purple button down, because those colors are hard to find! I find that colors make a big difference. So I would rarely wear an outfit of neutrals, because it makes me look a bit tired. The jewelry is spot on for me, rose gold, something that sparkles and does not get in my way.
I also included my actual clothing, and what I actually wear. For some reason, it looks much colder in temperature this way than how it looks on me.
I think I am very much mushroom, moderate earth, small bit of sun, but I do see perhaps a case for stone. What do you think? I wish I had more soulful earth or moon, but as a person who does best with graphic color contrast, its difficult to get that. Patterns in true spring colors tend to feel like clownish for some reason, or muddly color from a distance. Black is difficult, it does nothing for me at all. I have no clothing at all in patterns, except something I just wear to bed. Would love positive descriptions of my style! What types of things should I look for on Pinterest, or generally?
I did a style consult with someone who said my style was boring, that I was entirely yang, and that I needed hair clips and strings and things on my clothing, and I’ve really tried for 2 years now to implement their suggestions and forget the negative commentary. Their commentary really hurt me, because I padid them for their help and thought they could help me. That sort of thing is tough. Their suggestions were just off. I’ve decided to move forward, but I’m very nervous about this. I’ve worked hard on my style, but it has stalled quite a bit since I tried to get a consult and by accident encountered a style system that really didn’t help me at all.
https://preview.redd.it/c23wmfzdau0d1.jpg?width=752&format=pjpg&auto=webp&s=dd6734284db5cb877a9295e7c2a1b7dc51cee623
https://preview.redd.it/aq57m5kfau0d1.jpg?width=752&format=pjpg&auto=webp&s=047c1fcbcf3b8f58fa46b5ba7ce26a1a47f30ac8
https://preview.redd.it/lv78dzdjau0d1.jpg?width=752&format=pjpg&auto=webp&s=69373ee59d6e6f8b7cfe679459f9a1dc005bca0a
https://preview.redd.it/jk7f8ydjau0d1.jpg?width=752&format=pjpg&auto=webp&s=ec095a925a221729b881dcd14f43ce3855b53b8f
https://preview.redd.it/cx1k0ydjau0d1.jpg?width=752&format=pjpg&auto=webp&s=ffdde273f867abad8467ee0c64dc2962d9127b36
https://preview.redd.it/c8iy0zdjau0d1.jpg?width=752&format=pjpg&auto=webp&s=cd4ce066b6277b3963fc8424d4b531224846d1d5
https://preview.redd.it/2s70rxdjau0d1.jpg?width=752&format=pjpg&auto=webp&s=5059071e4e3bd8af90c2e094b044bcce6b0c1380
submitted by Winter-Assumption957 to StyleRoots [link] [comments]


http://rodzice.org/