bird_monster
The "whataboutism" on DoD contracts isn't relevant. If your stance is "Our own government is a terror cell", well obviously then our entire society is gone anyway, so why even bother discussing the ethics of tech in america at all? But obviously this stance is just hyperbole in an attempt to dismiss the validity of claiming the rioters as legitimate terrorists.
And even by your own example, when has the DoD ever stormed the capitol? Or attempted to overthrow the US government? Spoiler: they haven't. And these insanely silly attempts at implying that legitimate businesses are under the same category as fascist extremists is a joke. This tech precedent pearl clutching is such an insanely bad look it's difficult to even fathom. My assertion is simple: when you try to overthrow a country's government, companies in that country don't want to work with you. The waters are muddier with respect to overthrowing other people's governments, but the DoD has never once attempted to overthrow the US government. There has never been an AWS-supported US coup (before last week). SO the "whatabouts" aren't even relevant.
Businesses that are not terror cells have nothing to worry about. Companies have always pulled away from extremist groups. You wouldn't expect Microsoft to accept a contract with ISIS, would you?
This is really not that complicated. Once you attempt to overthrow a country's government, businesses in that country don't want to work with you. This has always been true.
You cannot get mad at errors you don't know about.
Also letting the user find and report the error allows you to mark your tickets "done" and move on, which makes management happy.
Agreed (but probably on the opposite end as you)
It seems a lot like you've been scorned in the past and that's driving a lot of your statements now (which is totally fine and fair). I'm trying to bring up that, for every problem you've just defined, the literal exact same problem exists for colo/managed servers, except it is now also your problem to keep the lights on and the machine running.
> literally every small business I have ever worked in as a tech worker has had several people at the office who were perfectly capable of buying a switch or firewall or router and spending the few minutes required to configure it or buying a server and installing Linux/Windows and then whatever server software it needed again very quickly.
I'm sorry, if you believe that building and deploying production-ready server infrastructure is as easy as "Just going out and buying a switch and spending a few MINUTES installing linux" (emphasis mine) - I feel like we aren't talking about the same thing at all. Not even close.
This complexity exists either way, is my point. Whether you're managing your own servers, or using barebones cloud VMs, or using a bunch of cloud fanciness, the complexity you just defined still exists. And if that complexity is a constant, why is it only being used as a negative against cloud services?
> Just look at the number of anecdotes about even quite large and well-established businesses that have had systems go down because they didn't fully understand AZs and failover arrangements, or have been landed with some crazy high bill because they didn't fully understand all the different things they were going to be charged for, or have been breached because they left some S3 bucket open.
If your argument is "It's not better when done badly", definitely, I agree, because what is?
I guess, my overall point is that cloud-based infrastructure shifts your focus. Yes, you have to know how to configure cloud resources, but in 2021, do you think it's easier to find people with AWS experience, or people with custom in-house or colo server management experience?
From another post in this thread: If you want to deploy distributed stream processing like Apache Kafka, but do not want to roll it yourself, you can use a tool like AWS Kinesis or Azure Event Hubs.
You still need "Operational Support" to manage EH/Kinesis, but generally it's closer to the type of "Operational Support" that can be provided by a general backend software engineer, as opposed to a DevOps/Infrastructure-specific dev. By using a Cloud (Managed) service, you're removing the need to manage:
* Uptime management * Scaling * Custom-multi-AZ
And probably a lot more. Sure, you've still have to actually handle events appropriately, but you have to do that either way.
I do not agree. The entire point of using cloud offerings as opposed to rolling your own, is cloud offerings are usually several orders of magnitude easier to configure. Using Event Hub, as an example, means that you're getting a similar experience to Apache Kafka, but without having to scale/configure everything yourself.
Sure, you have to become proficient with Event Hub, but becoming proficient with EH is probably 1/100th of the difficulty as becoming proficient enough in Kafka to support the same scalability/workload.
Here you can find the code additions Github Insight.
The org can have 49 people in it, but 48 of them are not writing code for Vue.js.
In my experience, this is the piece that engineers rarely realize and that is actually one of the biggest factors in evaluating cloud providers vs. home-rolled. Especially if you're a small company, engineering time (really any employee time) is _insanely valuable_. Valuable such that even if Airflow is cash-expensive, if using it allows your engineers to focus on building whatever makes _your business successful_, it is usually a much better idea to just use Airflow and keep moving. Clients usually will not care about whether you implemented your own version of an AWS product (unless that's your company's specific business). Clients will care about the features you ship. If you spent a ton of time re-inventing Airflow to save some cost, but then go bankrupt before you ever ship, rolling your own Airflow implementation clearly didn't save you anything.
Maybe not your business, but there are many businesses in which this is exactly what happens. Any managed-service is just combining other people's work into a "product" that gets sold to customers. And that's great! AWS has a staggering amount of products, and lots of business don't even want to have to care about AWS.
> Who out there is using 20+ AWS/Azure/GCP products to back a single business app and is having a fantastic time of it?
Several times. I think cloud products are just tools to get you further along in your business. Most of the tools I use are distributed systems tools, because I don't want to have to own them, and container runtimes/datastores. Every single thing I've ever deployed across AWS/Azure is used as a generic interface that could be replaced relatively easily if necessary, and I've used Terraform to manage my infrastructure creation/deployment process, so that I can swap resources in and out without having to change tech.
If, for some reason, Azure Event Hub stopped providing what we needed it for, we could certainly deploy a customized Kafka implementation and have the rest of our code not really know or care, but from when we set out to build our products, that has always been a "If we need to" problem, and we've never needed to.
Which is much easier to attain if you're comfortable with only a single person being allowed to write code. Personally, I wouldn't use Vue in any business-oriented application for this exact reason. The "bus factor", or as I would call it, "If and when Evan decides to stop caring about Vue", is enough to make Vue dead in the water as a legitimate FE library choice (to me).
Unfortunately, their banking business (not the app) was their core business, and they were absolutely awful at banking.
Why is more tools a problem?
- Identify and document possible solutions. Think hard about why each solution is good and each decision is bad.
- Within each solution, attempt to find common patterns in that problemspace (when working with Sharded databases, this approach brings these results, etc)
- Try to match your personal and organization requirements against the various patterns you find and the pros/cons you defined previously
During implementation
- Keep a running list of things that seem weird, or things that seem great, or things that turned out to be untrue
- Don't stop implementing, but for each thing you found that wasn't great in step 1, try to find a better way to approach that thing (while moving forward)
Post implementation
- Compile all the notes you made in pre/during into a manageable list of goods/bads.
- Use this to drive A.) iterations of your solution, and B.) future solutions
If you do this enough times, you'll have a pretty decent list of your experiences in a space, and you'll start to notice patterns as you try different things and become exposed to problems, their solutions and their tradeoffs. Eventually you won't even have to look at your previous notes very often, as you'll have built up a pretty decent amount of experience in various problemspaces such that you can predict what goes well/doesn't go well.
Also worth noting, this type of behavior doesn't really have to be applied to software, but will also gain you big points with future employers when interviewing. You'd be surprised to find how many candidates never stopped to reflect on the work they'd done, why it was sub-optimal, or how it could be corrected moving forward. Response like "We did it ____ way because that's how we always did it." Which, from a progress standpoint, is basically a none-answer.
Note: this is obviously just my opinion, and I'm no expert in "Becoming a Master of Stuff", but these are the methods that I have used and seen my peers use (in one form or another) over quite a long time. Sometimes not as obvious (doing these things in your head vs. writing them down), but the shape is always pretty similar. Ultimately I think being reflective is one of the best skills a person can possess (with respect to employment and I guess also relationships). Acting without thinking is reckless, I think.
Sometimes it's also fun to just see something different. There is value in "Play". You might find you actually really love the new thing, or you might find the new thing just totally reaffirmed your love for your current tools. Either is great! But finding out is probably more valuable.
For what it's worth, to your question directly, I found using Prolog to be a pretty profound experience with respect to how I thought about programming. I haven't touched it in ~12 years, but while I was using it I thought it was incredible. One of the "funnest" learning experiences of my career was building sudoku solvers in Prolog.
Go isn't for everyone, and that's okay, but it seems kind of silly to make a judgement based off of a negative review hinging on a pretty poor understanding of a language.
This statement really nails it. If you change teams and are still unhappy you can always quit. If you quit without having changed teams and then hate your new job, you might not be able to go back to your previous company (but new team). I think it's general good practice to give another team a change before you leave the company if you're on the fence. If you know it's a company problem, bail, but if you think it could just be your team, give it a shot.
Maybe it's just me, but I like to minimize the amount of decisions I make that I cannot undo.
Also this person did not wikipedia what they posted, as wikipedia also lists tolerable upperbounds for adults as 4000 IU / day.
> The researchers will administer nicotine patches to some of the participants for a period of 4 to 5 months, and then carry out a follow-up for 6 to 7 months. Of course, it is still too early to conclude exactly how nicotine interacts with the coronavirus. However, if nicotine is indeed confirmed as a protective factor, NRTs including e-cigarettes could play a pivotal role in controlling this pandemic.
Very curious to see how this goes. I would also love to see information as to why nicotine works this way, and if there are any non-nicotine options that have similar effects? Interesting stuff none the less.
My doctor prescribed 1 week of 15000 IU a day, then a week of 10000 IU, then a running dose of 5000 IU a day. I've seen measurements of 50k IU from a day in the sun. 3000-5000 is not too much or "obscenely high" for many people, but as with literally everything like this, its best to consult a doctor about an individual's needs.
If you rewrite your first sentence this way, does it better highlight why this board is interested in this information?
The nuance is that they're not - they're trying to improve their _image_.
It might make sense to switch this to "should be", as innocent people's privacy gets invaded by unlawful search and seizure all the time. Between civil forfeiture, DUI checkpoints, stop and frisk, etc, America is a country in which invasion of privacy under the guise of searching for nonexistent malicious intent happens very frequently.
It's all the more interesting that it happens so frequently without any evidence at all, and yet was not acted upon with actual evidence. Almost as if there was a bias modifying police behavior. You'll note, Anthony Warner was white.
" < language > is only safe if the authors of such code take advantage of the features that the language provides to write safe code "
"Yeah well your language isn't good either" isn't a very good argument for why a language is _better_. If the idea is "Haskell works better than other languages as long as you happen to know how to make it so", isn't that just every language that exists? Due to Haskell's branding, I was under the impression that the issues the above user is describing should be impossible. If Haskell doesn't even make good on those guarantees, but instead shifts that guarantee as "Things you should've known not to do" onto the user, how is that different from any other language?
edit And since this thread has a lot of tension and vague hostility, I will add, I am not attacking you or the language you enjoy. I legitimately would like to better understand.