Hooo boy where do I begin? Dependency deadlocks are the big one - you try to share resource attributes (eg ARN) from one stack to another. You remove the consumer and go to deploy again. The producer sees no more dependency so it prunes the export. But it can't delete the export, cause the consumer still needs it. You can't deploy the consumer, because the producer has to deploy first sequentially. And if you can't delete the consumer (eg your company mandates a CI pipeline deploy for everything) you gotta go bug Ops on slack, wait for someone who has the right perms to delete it, then redeploy.
You can't actually read real values from Parameters/exports (you get a token placeholder) so you can't store JSON then read it back and decode (unless in same stack, which is almost pointless). You can do some hacks with Fn:: though.
Deploying certain resources that have names specified (vs generated) often breaks because it has to create the new resource before destroying the old one, which it can't, because the name conflicts (it's the same name...cause it's the same construct).
It's wildly powerful though, which is great. But we have basically had to create our own internal library to solve what should be non-problems in an IaC system.
Would be hilarious if my coworker stumbled upon this. I know he reads hn and this has been my absolute crusade this quarter.
> The producer sees no more dependency so it prunes the export. But it can't delete the export, cause the consumer still needs it. You can't deploy the consumer, because the producer has to deploy first sequentially. And if you can't delete the consumer (eg your company mandates a CI pipeline deploy for everything) you gotta go bug Ops on slack, wait for someone who has the right perms to delete it, then redeploy.
This is a tricky issue. Here is how we fixed it:
Assume you have a stack with the ConstructID of `foo-bar`, and that uses resources exported to `charlie`.
Update the Stack ConstructID to be a new value, ie `foo-bar-2`. Then at the very end of your CI, add a `cdk destroy foo-bar` to delete the original stack. This forces a new deployment of your stack, which has new references. Then, `charlie` updates with the new stack and the original `foo-bar` stack can be safely destroyed once `charlie` successfully updates.
The real conundrum is with data - you typically want any data stacks (Dynamo, RDS, etc) to be in their own stack at the very beginning of your dependency tree. That way any revised stacks can be cleanly destroyed and recreated without impacting your data.
> Dependency deadlocks are the big one - you try to share resource attributes (eg ARN) from one stack to another. You remove the consumer and go to deploy again. The producer sees no more dependency so it prunes the export.
I’m a little puzzled. How are you getting dependency deadlocks if you’re not creating circular dependencies?
Also, exports in CloudFormation are explicit. I don’t see how this automatic pruning would occur.
> Deploying certain resources that have names specified (vs generated) often breaks
CDK tries to prevent this antipattern from happening by default. You have to explicitly make it name something. The best practice is to use tags to name things, not resource names.
>
Anna Grzymala-Busse, a Stanford University international studies professor, said that seizing the means of production is a socialist and communist goal. "The difference is that with communism, there is also one ruling party that brooks no opposition and no pluralist civil society," she said.
Collectivism and some amount of state controlled means of production are typical of many leftist systems. America already does this in many places: military, power, education, civil works. Communism stands out among other -isms on the left in that it is single-party and incompatible with democracy.
> suspicious gesture with his right hand
It was a Nazi salute. Don't believe me? Go to a crowded street corner and do the "suspicious gesture," and gauge the reaction.
He doesn't have a point, because he doesn't know how socialism and communism are alike, and how they differ. He's arguing against what he imagined I wrote.
> The people that started in 3d printing when they had to assemble the whole machine by hand are now sad to see their hobby replaced by something too easy, it feels like cheating.
I have a 10 year old kit-built prusa I3 sitting next to me. Its brother is in the basement next to a kossel. It's been years since they have seen action, there is a litany of small bits of work they need.
I unboxed an A1 Mini and it's been like an epiphany. I've been printing almost nonstop. It's so much FUN. I just send from my phone and it just works. Everything has been nearly flawless until last night where half a batch of mini utility knife frames started to spaghetti, probably my fault for not fully cleaning the build plate in a bit.
Beats the hell out of glue stick or blue tape, fussing with slicer params, babysitting the first layers, etc etc. Fuck that, gimme the cheat.
AI datacenters are bottlenecked by power, bandwidth, cooling, and maintenance. Ok sure maybe the Sun provides ample power, but if you are in LEO, you still have to deal with Earth's shadow, which means batteries, which means weight. Bandwidth you have via starlink, fine. But cooling in space is not trivial. And maintenance is out, unless they are also planning some kooky docking astromech satellite repair robot ecosystem.
Maybe the Olney's lesions are starting to take their toll.
The shadow thing can be solved by using a sun-synchronous orbit. See for example the TRACE solar observation satellite, which used a dawn/dusk orbit to maintain a constant view of the sun.
Every telco satellite can cool its electronics. However, more than a few kW is difficult. The ISS has around 100kW and is huge and in a shadow half the time.
The cooling is the bit where I'm lost on, but it will be interesting to see what they pull off. It feels like everyone forgets Elon hires very smart people to work on these problems, it's not all figured out by Elon Musk solely.
Google, Blue Origin and a bunch of other companies have announced plans for data centers in space. I don't think cooling is the showstopper some assume.
Good call out, and really interesting. SpaceX being the cheapest way to get things into space, it seems like SpaceX is about to become extremely lucrative.
Satellites can adjust attitude so that the panels are always normal to the incident rays for maximum energy capture. And no weather/dust.
You also don't usually use the same exact kind of panels as terrestrial solar farms. Since you are going to space, you spend the extra money to get the highest possible efficiency in terms of W/kg. Terrestrial usually optimizes for W/$ nameplate capacity LCOE, which also includes installation and other costs.
For one or a few-off expensive satellites that are intended to last 10-20 years, then yes. But in this case the satellites will be more disposable and the game plan is to launch tons of them at the lowest cost per satellite and let the sheer numbers take care of reliability concerns.
It is similar to the biological tradeoff of having a few offspring and investing heavily in their safety and growth vs having thousands off offspring and investing nothing in their safety and growth.
LOL, the first list also seems to use the US as the cut-off & first country that is a “deficient democracy”. The magic number must be between somewhere between 0.811 and 0.821.
Having spent a good chunk of my life in Canada and the US, a list that has Canada as more democratic doesn’t make any sense to me. In the end, it’s just a random mix of different measurements, weighted to tell whatever story you want to tell.
Not that they had a wide field of choice and not that they can actually fire him.
Both reasons the US political system isn't all that great - it nosedived into a two party Hotelling's Law quagmire despite the founders being against party politics. It's hardly suprising a system centuries old and creaking failed to scale.
Washminster systems are a literal reaction to the cracks in the Westminster and Washington systems.
Maybe check those American Exceptionalism / Manifest Destiny blinkers and look about a little, it's hard to see out of a rut.
Washington captured many issues of the party system in his farewell address. This can relate to many times in history for both parties.
"They serve to organize faction, to give it an
artificial and extraordinary force—to put in the place
of the delegated will of the nation the will of a party;
often a small but artful and enterprising minority of
the community; and, according to the alternate
triumphs of different parties, to make the public
administration the mirror of the ill concerted and
incongruous projects of faction, rather than the organ
of consistent and wholesome plans digested by
common councils and modified by mutual interests.
However combinations or associations of the above
description may now and then answer popular ends,
they are likely, in the course of time and things, to
become potent engines by which cunning, ambitious,
and unprincipled men will be enabled to subvert the
power of the people and to usurp for themselves the
reins of government, destroying afterwards the very
engines which have lifted them to unjust dominion."
Ben Franklin on why the US Constitution is "Probably the best we can do for now" but will likely "fall to a Despot" is worth a revist in these Trumpian times.
> The Germans literally elected the Nazis... you think they’re better at democracy
FYI - Germany changed their government after this regime fell, to ensure that it would become more democratic and harder to concentrate power in the executive. So they became more democratic as a learning process.
The US had an actual civil war (over slavery no less) and didn't change anything fundamental about their constitution nor government structure as a result. It was less deadly than the holocaust, but enduring a civil war is not a sign of a functioning democracy.
Yes, and in part because of that. The way they teach history and make their citizens resistant to authoritarianism through schooling is different from the really basic ways history is taught in America.
I wonder if you could optimize for reducing the total probe count (at the expense of possibly longer total time, though it may be faster in some cases) by using some sort of "gradient descent".
Start by doing the multi-continent probe, say 3x each. Drop the longest time probes, add probes near the shortest time, and probe once. Repeat this pattern of probe, assess, drop and add closer to the target.
You accumulate all data in your orchestrator, so in theory you don't need to deliberately issue multiple probes each round (except for the first) to get statistical power. I would expect this to "chase" the real location continuously instead of 5 discrete phases.
I just watched the Veritasium video on potentials and vector fields - the latency is a scalar potential field of sorts, and you could use it to derive a latency gradient.
Yes, most likely there are multiple algorithms that could be used to get better results with fewer probes, but I'm not smart enough to do the math and implement them.
How about: maybe some things lie outside of the purview of empiricism and materialism, the belief in which does not radically impact one's behavior so long as they have a decent moral compass otherwise, can be taken on faith, and "proving" it does exist or doesn't exist is a pointless argument, since it exists outside of that ontological system.
I can relate. It's definitely possible, but you have to really want it, and it takes a lot of work.
You need cybernetics (as in the feedback loop, the habit that monitors the process of adding habits). Meditate and/or journal. Therapy is also great. There are tracking apps that may help. Some folks really like habitica/habit rpg.
You also need operant conditioning: you need a stimulus/trigger, and you need a reward. Could be as simple as letting yourself have a piece of candy.
Anything that enhances neuroplasticity helps: exercise, learning, eat/sleep right, novelty, adhd meds if that's something you need, psychedelics can help if used carefully.
I'm hardly any good at it myself but it's been some progress.
Right. I know about all these things (but thanks for listing them!) as I've been struggling with it for nearly two decades, with little progress to show.
I keep gravitating to the term, "prompt adherence", because it feels like it describes the root meta-problem I have: I can set up a system, but I can't seem to get myself to follow it for more than a few days - including especially a system to set up and maintain systems. I feel that if I could crack that, set up this "habit that monitors the process of adding habits" and actually stick to it long-term, I could brute-force my way out of every other problem.
If it's any help, one of the statements that stuck with me the most about "doing the thing" is from Amy Hoy:
> You know perfectly well how to achieve things without motivation.[1]
I'll also note that I'm a firm believer in removing the mental load of fake desires: If you think you want the result, but you don't actually want to do the process to get to the result, you should free yourself and stop assuming you want the result at all. Forcing that separation frees up energy and mental space for moving towards the few things you want enough.
> I keep gravitating to the term, "prompt adherence", because it feels like it describes the root meta-problem I have: I can set up a system, but I can't seem to get myself to follow it for more than a few days - including especially a system to set up and maintain systems. I feel that if I could crack that, set up this "habit that monitors the process of adding habits" and actually stick to it long-term, I could brute-force my way out of every other problem.
For what it’s worth, I’ve fallen into the trap of building an “ideal” system that I don’t use. Whether that’s a personal knowledge db , automations for tracking habits, etc.
The thing I’ve learned is for a new habit, it should have really really minimal maintenance and minimal new skill sets above the actual habit. Start with pen and paper, and make small optimizations over time. Only once you have engrained the habit of doing the thing, should you worry about optimizing it
I'm using claude code to develop this for myself. The age of personal software is here! One stop shop, add things, query calendars, attach meeting notes. "What do I know about Tom's work in the last 3 months" --> agents go to internal tools to summarize the work.
You can't actually read real values from Parameters/exports (you get a token placeholder) so you can't store JSON then read it back and decode (unless in same stack, which is almost pointless). You can do some hacks with Fn:: though.
Deploying certain resources that have names specified (vs generated) often breaks because it has to create the new resource before destroying the old one, which it can't, because the name conflicts (it's the same name...cause it's the same construct).
It's wildly powerful though, which is great. But we have basically had to create our own internal library to solve what should be non-problems in an IaC system.
Would be hilarious if my coworker stumbled upon this. I know he reads hn and this has been my absolute crusade this quarter.
reply