Every company I’ve been at that relied on application code to handle referential integrity had orphaned rows, and incidents related to data errors or the absurd pipelines they had built to recreate what FK constraints and triggers already do.
RDBMS are extremely well-tested pieces of software that do their job incredibly well. To think that you could do better, or even equally as well, is hubris. If you want to trade those guarantees for “velocity” go right ahead, but you also need to take into account the inevitable incidents and recoveries that will occur.
It’s really not about code is better or database it better, it’s mostly about locality: if you want to update thousands of records, you can’t pull those records into a separate process, update them there and then write back. So you put your code next to the data in the database. Stored procedures are just code deployed to a database container…
Its possible but of course slow because of https://gist.github.com/jboner/2841832. Data locality matters a lot. Moving data around the network when it doesn't really need to be moved is heresy (unless performance doesn't matter, then who cares). Remember the computer doesn't care about your religion which says only this can do this and only that can do that.
Although I'm partial to a SPROC, I do not deploy them because I understand my colleagues might throw me from a window. But without going full tilt DB-as-the-application,
The DB can make much stronger guarantees about transactions and updates the closer that logic happens to itself. In the world of cloud computing, this can be a cost savings for ingress/egress too.
>> deploy them because I understand my colleagues might throw me from a window
Maybe throw your colleagues out the window instead if they don't know what they are talking about. I'm not anti/pro SPROC at all, but I am anti anti-reality. People that don't understand the vast differences in latencies between in process and out of process work should not exist in the industry.
And both of those philosophies will lead to bad engineering.
There are things that work better, are safer and simpler to do on the database, and things that work better, are safer and simpler in code. And those things might change depending on context, technology, requirements, size of project, experience of contributors, etc.
Forcing round pegs into square holes will always lead to brittle code and brittle products, often for more cost (mental and financial!) than actually using each tool correctly.
I am mostly on the side of business logic should live in applications and relationships between data types are not business logic so much as just the layout of the data. But I typically access data via an ORM and they typically don’t have support for triggers and stored procedures. If they did, I would certainly use it because projects I work on might have multiple people writing application code but everyone uses a single set of database models. This would mean that critical constraints on the shape of the data could be defined and respected at all times vs some developer on my team forgetting to include some critical check in their data update routine.
Generally customers don't care about religious views. Make understanding the actual machine and associated latencies your religion instead. The reason to write a stored proc or do some processing in the database is entirely about data locality, not to keep the drooling masses from messing things up. A library is fine for that.
Every ORM I’m aware of allows you to drop down to raw SQL. Write your stored procedure, store it in VCS, add it as a migration, and then call it. If you want to make it friendlier, wrap the call in a function in your language so you can add helpers, better error handling, etc.
What I would prefer is integration at the model definition level. For example let’s say that I have a Customer model and an Order model. I don’t always want to pull in the customer fields when listing orders. Most ORMs would allow me to create a join and specify the field from Customer I want when fetching Orders but those joins add up quickly. I could denormalize the data and put things like the customer name and email onto each order but if the customer changes either value now the application code has to remember to update it. And yes I could put that in the model’s save() method but that is fragile too because what if someone else does run code that updates stuff at the raw SQL level and doesn’t include these updates.
Now if I could specify that I want Order.customer_name to come from a specific other model and be updated automatically the ORM could automatically create a trigger to update that field when the customer table is updated.
Obviously this is a very simplistic example but there are many more, including versioning and soft deletes that could be incredibly useful. But the key is that the ORM has to generate the code for the triggers and stored procedures. Doing that manually is possible now but (a) uses a different language even than regular SQL which not everyone is familiar with, and (b) there is no type checking for what you are doing. The ORM model definitions are the main source of truth about the shape of your database, so I want to use them as such.
>> I don’t always want to pull in the customer fields when listing orders
Data locality is king. Everything comes down to physical things such as blocks on the SSD, network interconnect, RAM, L3, L2, L1 cache and registers. Are those customer fields in the same page as whatever else you need? If so, most of the work is already done. Yes, you can save some network bandwidth transferring things that aren't needed but does it matter? It might but it might not. The key is to know what matters and reason about things from the perspective of the machines actually doing the work.
I believe that both code and data are kings, under different realms. Code is king of the "what we're doing today" realm. Data is king of the "what's possible tomorrow" realm.
The point is that the monkey was only the trigger. But the full cause of an outage is much more than just the trigger. It's a monkey this time, could have been an operator or a storm...
Digging a bit deeper, they appear to be running with very little margin, if any. Meaning redundancy and protection against cascading failures is limited.
Fixing the real cause is expensive, so it's often easier to just blame the trigger—though admittedly in this case it makes for a great headline. :)
OK, in all fairness I did think all we were talking about was the trigger, not the underlying vulnerable system (which I already had understood to be less than solid over the years.)
One option might be to visit your local Jetro or Restaurant Depot, if you live in the US. If Sysco has showrooms/open warehouses I’m not aware of them, but Jetro and RD are of a very similar ilk.
My first thought was that airplanes need noise canceling for the engine sounds. There's a real difference in a long flight with and without noise canceling headphones. Effective (better?) noise cancelation for the whole cabin would be impactful.
They're superior for lots of things, but inferior in ways that are very important for many cooks. I cooked professionally so I've got a whole lot more experience than most using stoves— including induction stoves at work.
If a typical home cook was buying a stove for their house, I'd recommend induction without thinking twice, especially if they had kids. Same for anyone in a house without a stove hood. Even in a restaurant, I'd choose induction for pastry work— the precision and consistency are really great. It's also nice to not have all of the heat from 30 90k BTU burners all the time in a small room, too.
But for most uses, having a flame you can see, hear, and feel affords much more expressive heat control than digital displays and pan temperature alone. Most pan work is about feel rather than "heating something at x temperature for y time." Also, being able to pick the pan up a few inches to jostle the contents while still getting nearly the same heat transfer is really important for high heat sautées. It's also much much more expensive to get an induction burner that doesn't have a tiny hot spot in the middle of the pan— even with a relatively small burner, the gas flame still spreads out more, which is critical for things like searing large cuts of meat properly.
My dad is a retired mechanical engineer— he was the chief engineer at a fairly large company for years, and he knows a lot about heat transfer. He won't even entertain the idea that induction stoves are inferior to gas stoves in any way. He's probably also used a stove about two dozen times in his life and standing in front of one he vibes like someone learning to drive. It's the equivalent of his arguing I should use a compass, French curve and templates when figure drawing. Induction being more precise and efficient on paper doesn't make it better in all use cases, and some use cases are really important to some people.
I keep reading the same experience as you did but it's really difficult to imagine it being so without actually having access to an induction stove to try it out. What I care about most is the rapid adjustment from high heat to low heat and vice versa within seconds; this is really important for many Asian cuisines. What I care about next is the amount of heat output at its highest and lowest setting. Of course I can't verify these attributes by looking at induction stoves in a store.
Asia is the largest market for induction cooktops, I wouldn't worry about its ability to cook Asian cuisines. They even make ones that are perfectly shaped for woks.
Are they cost effective? I suppose in the long term you save money by paying for electricity instead of gas, which could offset price differences. I strongly prefer gas stoves over conductive electric ranges, but haven’t tried an induction stove yet.
Probably don't make that much of a difference. I know it does not in my country. If anything, at the same price of gas and electricity, gas is less efficient so induction should be cheaper. Imma say this again : Gas is not efficient.
And since it probably don't make much of a difference, if you have the financial room for it, maybe you can make the sensible choice for society ?
Electricity means a single network and can be clean, gas can't. Gas stoves is the gateway drug to gas heating and the industry knows it which is why they spend so much lobbying for it even though it's a very small part of the gas they sell.
I still find it funny that there is such a fuss about when a mentally ill person finds a ideology to die for and blow themselves up for the cause when it's just as likely and deadly than gas accident but barely no one is able to remember last year street explosion because of gas. Both are fact of life and can be mitigated for but one is apparently very meaningful while the other... "oh well".
I'm definitely not an expert, but I would say nothing of note has changed with our utility bill since we replaced the gas cooktop with an induction cooktop.
The marketing will tell you it's more efficient because all the energy goes into the cooking (heating the pot) instead of heating the room as with gas. But hey, that's marketing.
One other concern was control: we did find out that the power levels on our model were not linear. The first 5 were all low power for low power needs (eggs, sauces, etc) and then 6 through 9 were much larger increments for high power needs (e.g. frying).
Our experiment before committing was using a plug in cooktop. We got a good one, and even though it was "only" 1800W it made many meals. It's power settings were linear but offered us 0-100% in 1% increments (amazing control! Love that thing.)
To be fair, there are losses with induction charging, and I imagine there are similar effects here. But it makes sense that induction cooktops would generate less waste heat than a gas range.
Induction is better than electric but it isn’t as good as gas in my opinion. You can’t use copper cookware, you are very limited on how you apply heat, you can’t use techniques like flambé, you can’t hold food directly over a flame to singe like you can with gas, etc.
Induction is fine for some people but not for everyone. Not to mention in many places they are more expensive to buy and operate. Besides, venting your stove makes gas perfectly safe. The process of cooking creates more harmful gasses anyhow. Burning toast will freak any monitor out.
Just use a portable stove for those rare occasions you need one for a specific technique. Why breath in those nasty gases when making something simple for dinner?
That all depends on what you're cooking. I have used just about all types of cooking contraptions there are ranging from an open fire through a pit fire, several types of "cultivated" fires (wood-fired stoves, BBQs etc), propane/butane/methane gas burners of various types, coil/cast_iron/ceramic/halogen electric and induction stoves. I normally cook on a wood-fired stove seeing how as I live on a farm in the Swedish countryside with plenty of forest on my doorstep which I also use to heat the house and whose branches I cut up for the stove. I do have one of those cast-iron resistance heated electric ranges next to the wood-fired stove but I only use it as a parking lot for pans etc. I also have a few single-hob induction plates around which I sometimes use outside when we're not supposed to light fires due to extreme drought etc. When I lived in the Netherlands I bought a "gas-free" house which meant I had to use electricity for cooking. Induction was supposed to be the bees knees so I built myself a range with an induction cooker on top and a hot-air oven underneath it. The thing worked fine for some types of cooking but it royally sucked for e.g. stir-fry cooking using a wok. Even the flat-bottom version I got did not come close to the real thing on a gas stove or wood fire.
Now, more than 20 years later I regularly use my mother's new induction stove when I visit her in the Netherlands. That thing still sucks for stir-frying, no matter which pan I use. There is just not enough power to be had on a residential induction cooker to reach the quick heat needed to make a good nasi goreng (i.e. Indonesian-Dutch fried rice). On the wood-fired stove here at home I use a Chinese wok which hangs directly in the fire and as such is close to perfect. The sad part of this is that my mother's previous range had a special wok burner which, while not as capable as the wood-fired stove, at least made it possible to quickly reach a good heat and keep it. Alas, she felt she needed to go with the flow and had that range swapped out for an anaemic induction cooker which is supposed to be able to run 2 plates at max power (~2 kW) at the same time but does not even seem to be capable of that without dropping one of them a notch down.
If you're comparing commercial induction cookers to gas stoves the comparison might hold. There are special induction plates for using a round-bottomed wok which may also lead to better results. Those are not what most people will get at home when they replace their "dangerous" gas range though.
Induction's pro's are its reaction speed, cleanliness, electrical efficiency and sometimes price (single-hob plates at e.g. IKEA are dirt-cheap) but that is about it. Its cons are the lack of power in most residential ranges, the lack of fine-grained control, the sensitivity of the ceramic top plate - it gets scratched easily when you have an 'active' cooking style as well is liable to break when confronted with heavy cast-iron skillets in the hands of inexperienced users, this is true for all ceramic cookers and not specific to induction - and the power electronics (I have repaired two induction cookers already, one of them (a commercial single-hob plate) had a blown out capacitor (literally - loads of black smoke blew out off the thing), the other (Siemens) suffered from a whole bank of broken power transistors (RJH60T4 IGBTs). Finally, confusingly in the light of my remark about single-hob plates being cheap, its often high price. Induction still seems to be priced as a "luxury" good while in reality it is fairly cheap to produce, the only relatively expensive part being the power electronics (where "expensive" means "a few tens of euro's for the requisite transistors and capacitors as well as the copper induction coils).
I've seen that forever and not just on United. I have thought it's something about the underlying SABRE system that many airlines use. Maybe someone here knows more.
> I've seen that forever and not just on United. I have thought it's something about the underlying SABRE system that many airlines use. Maybe someone here knows more.
I don't remember the precise details, but some airline website's password had restrictions at one point that made it super-obvious that they were internally converting alphanumeric passwords to digits based on the US telephone key mapping.
I remember thinking at the time it might ultimately have been due to SABRE (because I believe that's literally one of the oldest computer system still in use), and screen-scraping some telephone menu system depressingly seems like something someone would do for expediency.
I wouldn't be surprised if a system like that also mangles names.
> Usernames and passwords containing letters need to be translated to numbers to enter them in a Fidelity phone system (like FAST, or if you call a representative). Use your telephone keypad to convert the letters to numbers. There is no case sensitivity. Substitute an asterisk (*) for all special characters.
https://www.fidelity.com/customer-service/need-help-logging-...
I can tell you from personal experience that if you have four names it will turn "First Second Third Last" into "Firstsecondthird Last" (I usually fly Delta).
I asked a checkin agent to fix it but they said it will start rejecting my ID if they change it at all.
On British airways (and I believe other ticket systems that use Amadeus), I often get LastnameTitleFirstnameSecondname all as one word (in caps). It certainly looks funny on the boarding pass, but I've never had any issue getting through security.
It’s only 10k and global services in pre boarding. And it’s gotten a lot shorter lately because I think everyone’s covid status extensions ran out (mine did). Group 2 is much longer now
If i were a US citizen and you ran for president and the whole political system wasn't locked so only candidates who serve the richest people can have the slightest chance of winning primaries and even if they could win they probably would get smeared and maybe assassinated in their first term, then i would totally vote for you.
IME (Germany, Dubai, South Africa mainly) it’s First Class, Business, Platinum members (because none of those groups have enough members to board only those), then economy, but split into groups depending on plane size, a typical emirates flight has 4-5 groups by seat number.
Amenity discovery is a lot harder than price discovery, so people are going to decide based on the info they can obtain easily.
It would probably be very difficult to reliably compare flights on plane-specific amenities (if the plane ends up being different than the originally scheduled one, and the seats are narrower, do I have financial recourse?).
But even airline-level rules are buried five screens deep in checkout and not necessarily directly comparable. Again, is there recourse if they say "we shrunk the carry-on allowance, or introduced a new super-terrible boarding process after you booked"?
The one amenity advertising that worked for me: Southwest makes a big point of advertising free checked bags, to the point where I'd make it a point to cross-shop them, except they never seem to be going where I want to go.
> tend to prefer a lower price even with fewer amenities.
I actually prefer boarding later. Why would I want to spend more time in the cramped plane when I can spend that time in the far more spacious waiting area? Sure, if I had first-class money I’d prefer sitting there, but not even business is nice enough to want to board early ;)
Then the real problem that ought to be solved is too many people boarding with too many large bags.
The size of some 'carry-on' baggage of late is getting comical - I've seen some as large as my checked baggage. And then some airlines allow an additional 'personal item' (laptop bag, handbag, etc) as well as the larger carry-on. Add to this an unwillingness to place anything under the seat in front (presumably to safeguard their limited legroom), and you're left struggling to find a place for your modest bag if you board last.
It's just selfishness, pure and simple, and it won't be stopped until the airlines enforce sensible limits.
PSA: Traveling with a weekender style of bag (or a backpack) makes using one’s own legroom so much easier. And thus removes the need to board early.
My ideal boarding experience is to be the last one entering the plane. Which makes sense as I also try to cut my total time at the airport to a minimum. So far it has worked out.
I actually enjoy watching people boarding planes, I find that relaxing. The trick is to only have a backpack and nothing else on you: from the moment you're not relying on getting overhead space, you can completely skip the boarding stress, stay seated while everyone is stressing out and walk into the plane last.
I do recognize that many passengers have financial difficulties and this only works if you can afford a registered luggage.
There is also this frenzy about feeling the need to leave the airport at flash speed. I don't mind waiting a few minutes at the belt, it usually gives me time to reply to a few emails and make 1 or 2 calls. Again, this assumes you're not flying the last plane of the day, which is often cheaper, but delays May expose you to missing a public transport connection.
Chiming in: on my Android, I do have FF Nightly as my default browser for the whole phone. Recently some Google apps have begun to use Chrome, ignoring the system setting, but mostly, the setting is honored. There might be a few other exceptions but again... mostly honored.
(Phone is a Samsung Galaxy S23)
I'm personally Code is King, and I have my reasons (like everyone else)
reply