This one is based in security standards :( https://security.stackexchange.com/questions/45455/which-sec... (link talks about screen locking but similar vibe for app logout for various certification bodies)
HN user
abcxjeb284
It’s really 2 ways to do it, and the defaultdict way (I believe) would have less allocations in a deeply nested loop (since this version has to create a {} and a [] every time).
Also setdefault causes confusion for less experienced users in a way that the defaultdict format does not.
Nice! Very expressive way to do n-levels!
Great for expressivity of multi-level dicts (excuse the goofy example):
state2name2visited = defaultdict(lambda: defaultdict(list))
state2name2visited[“PA”][“Joe].append(“Pittsburgh”)Great links in the article to read more, but strikes me that this style of working assumes everyone is already up to speed. How do you set aside time for mentoring? Teaching? Growth?
In hindsight, probably would’ve been way better to ship a `cryptography2` package and deprecate the old package.
That way you get the benefits of using rust without the anger about the sudden breakage of a transitive dependency.
In terms of floating versioning, I honestly think it’s not reasonable to ask packages to do this, because then you get into dependency hell with unfixable dependency conflicts.
Agreed, strict use of mypy with editor support is a game changer (particularly its union types and TypedDict)
Excellent points, I’d add the counterintuitive:
* Pedestrian traffic - busier streets with more people mean less likely to be mugged vs the empty side street.
Bit of a miss on why “serverless” (though author & I have different definitions), possibly because of language / toolset.
Lambda / Step Functions make for an easy combo for easily understandable units that you can use without a bunch of servers. Combine it with AWS CDK and you end up with a low boilerplate, auto-completeable environment (with types!) that’s actually easy to unit test locally!
I agree that yaml config and figuring out how to wire things up sucks. I’m open to Smalltalk being better.
But we’ve been using Lambda / Step for a few years now and it’s been highly robust, easy to understand, monitoring / logging essentially free and - best of all - we haven’t had to manage any server upgrades / patches / etc the whole time. (And super easy to spin up stack per user)
Have a queue of items to work on? Combine lambda + sqs (just a few lines with cdk) and now you have code that auto scales linearly with how many entries are in your queue.
We did write our own tool to handle boilerplate of linking python functions to their lambda handlers (but again this is the beauty of actually being able to use programming language to define your stack)
But Wintel will own business desktops for probably a decade, unfortunately.
Do you see this as being different from what was going on pre-M1?
Aside from shared math libraries, seems like most stuff required cross compilation just to work - I’m not clear that M1 adds more work on top of that.
I wouldn’t call your posts “self-promos”. You’re actually posting guides, not “2 lines of text now buy my product”. You’re already being a reasonable redditor.
Phillip - would you be open to using your platform for a non-profit art project? We don’t have many funds (see: COVID), but we are REALLY excited by the possibilities of the space you designed and the game maker map!! :)
It’s pretty absurd for github to suggest that you should go through multiple steps to disable commands to log untrusted output. [1] Poor form to expect developers to understand and check for a new way that they need to sanitize their input rather than Github fixing it (possibly in a backwards incompatible way)
At a minimum they should provide a shell script (`show $XYZ`) and a js function that handles generating those tokens and enabling/disabling workflow commands for you.
[1] https://github.blog/changelog/2020-10-01-github-actions-depr...