220 karma · joined April 18, 2020
That doesn’t mean they’re always right or there aren’t bad journalists, but if you spend time listening to most journalists explain their reporting they often explain exactly how they verify their stories, what they went through to get sources, and what they were and weren’t able to report.
Journalism is one of the few ways we have in a democracy to hold power to account. What I don’t get is what a lack of faith in this institution does for us except give those in power even more ways to be unaccountable for what they do.
Iran is not Syria, there’s a flourishing academic population, the fundamentalists are the ones in power, plenty of people still remember what life was like pre-1979.
Giving a company a chance to respond to some hiring numbers when they likely have multiple anonymous sources who have been credible before is a different bar than asking for comment on something that alleges fraud or illegal activity.
100,000 miles for spark plugs is extremely rare. I just pulled up a 2022 A4 and it’s 30k. Transmission fluid is 40k miles. I don’t think it’s a stretch to say that the heat, vibration and weight from an ICE engine wears down parts faster. Add in complexity from turbochargers and there’s even more parts that can fail.
The coolant system on an electric vehicle is extremely simple. There’s no radiator even. An ICE coolant system is far bigger and more complex.
My Volvo XC40 Recharge has a 2-year/20,000 mile maintenance cycle, the only work it needs is a check of the coolant and brake fluids and replacing cabin air filters.
Having suffered through broken engine mounts, torn exhaust flex pipes, painful spark plug replacements, coolant leaks, pump failures, and countless other issues with ICE engines, the simplicity of electric is a breath of fresh air.
Of course there’s the question of what happens to the battery over the long term but i’ll take that trade over what ai had before any day.
There you define the relationships between tables, which dimensions to expose to your users, and how measures are to be aggregated along which dimensions and at what roll ups. Filters, formatting, and other semantic information rounds out what’s possible, making it easier to build complex reporting without having to pre-build large joined tables in the warehouse.
In theory a semantic layer decoupled from BI can be useful too, as downstream systems can all query a metric. Maybe an operational workflow needs access to revenue numbers or a spreadsheet wants a feed of some fresh aggregates.
The real question is will BI tools adopt a semantic layer they don’t own, giving up control over a key part of their input into their visualizations? Time will tell.
Once in the warehouse, it needs to get back into those operational systems again, which is the tricky part.
I’ve done these one off integrations from the warehouse into Salesforce (creating leads, converting them, moving stages all based off product usage), and into marketing tools (customer segmentation built using SQL in the warehouse, then sent to marketing automation tools).
Being able to feed tools directly off the warehouse instead of writing one off integrations is the real value.
Part of your job as a professional engineer is to both communicate and manage uncertainty. A properly scoped story shouldn’t be a month long project. It could be a few hours, or it could be a few days.
Helpful advice is to give your estimates using an appropriate dimension of time that reflects the uncertainty. If you think it’s going to take 2-3 hours, call it a half day.
If you think it’ll be 8 business days call it about two weeks.
Sometimes you don’t have an estimate. That’s where scoping comes in. It’s perfectly acceptable to say I’m not sure but if I spend the next 30 mins scoping it out, I can get back to you with a better idea.
I find managers are perfectly understanding that the world is a fuzzy place and no one has all the answers. Get comfortable with admitting that to yourself and to others and estimating gets a lot easier.
Forget email, say you have a app that scans links in comments for maliciousness. You rely on an internal api for checking against a known blacklist, which follows shortened links first, and an external api from a third party. You want the comment to appear to submit instantly to the poster but are comfortable waiting for it to appear for everyone else. What are your options?
You could certainly use message queues and workers. If you’re cloud native maybe you leverage lambdas. Maybe you spin up an independent service that does the processing and inserting into the database in the background, and all you need to do is send a simple HTTP request on an internal network.
Your solution depends on your throughout requirements, the size of your team and their engineering capabilities, what existing solutions you have in place. Everything has its pros and cons. Pretending that celery/redis is useless and would be solved if everyone just used Java ignores the fact that celery and redis are widely popular and drive many successful applications and use cases.
i’ve worked with founders who would check slack on their honeymoon, who has their wife begging them not to go in a holiday, and who took a whopping two weeks off (i.e. working from home) to help their wife after their first child was born.
but i also know founders who have found work life balance and have made sure their employees have it too.