A possible exception is the "auto skip" feature for Earthly Cloud, since I do not know how that is implemented.
15,025 karma · joined April 22, 2012
A possible exception is the "auto skip" feature for Earthly Cloud, since I do not know how that is implemented.
One of the authors, Michaeleen Doucleff, also wrote a book called Hunt, Gather, Parent: What Ancient Cultures Can Teach Us About the Lost Art of Raising Happy, Helpful Little Humans. It's interesting, and has some useful points to think about while parenting. However, I felt that a lot of the concepts would be difficult to apply in the WEIRD (Western, Educated, Industrialized, Rich, and Democratic) society I live in. The author acknowledges this, of course.
The other advantage is that cotton bags do not shed as many microplastics (the thread is almost always synthetic).
Many of the "re-usable" woven plastic bags I've acquired in recent years are of extremely poor quality. I have had to re-stitch many of them, and some had to be discarded after a very short service life.
https://seatosummit.com/products/ultra-sil-day-pack - I've had a few different versions of this bag for years. There are also cheaper/bigger/different versions of the same sort of thing you can find online for "packable daypack".
https://nanobag.com/products/nanobag - I have heard good things about these, but I prefer a backpack because it allows me to be hands-free, or to use my hands to hold more items.
However, I would start by carrying a lightweight "single-use" plastic bag, and simply re-use it. Plastic bags are not as strong as these premium bags, but they hold up well enough to be useful in most scenarios.
They mentioned hooded chairs and bed canopies: https://solar.lowtechmagazine.com/2015/02/restoring-the-old-...
- git has a very useful hooks mechanism, but each user has to manage their installed hooks in their own clone. This should be made more team-compatible. Make hooks a part of the history that can be patched by anyone, and then others can update their hooks simply by pulling. A less-clunky, built-in version of https://pre-commit.com/ , basically.
- Keeping with use cases for hooks, it should be possible to apply code formatting transparently. Nobody should have to think about code formatting, ever. It's a common practice to ensure code conforms to the company's standard format. However, why can't a developer also work in their preferred format? It should be possible for the system to handle this. I work in my preferred format, but all of the committed code is actually in the company's standard format. A bidirectional transformation.
- Break down the barrier between repo and other channels of company communication. Often companies have a wiki, a document drive, a chat app, a ticket system. With the ability to include real-time collaboration in the repo, it makes it possible to unify all of these things, ideally while keeping a full history. I basically want to version control my entire company, including what all of the non-devs are producing. Fossil has some of this capability, but it hasn't captured the mainstream: https://fossil-scm.org/home/doc/trunk/www/whyallinone.md
- Make repos composable. It should be possible to include a repo in another repo in a way that isn't clunky. Submodules, subtrees and subrepos are clunky. A use case for this would be including a third party library as source. It should also be possible to take one piece of a repo, and distribute that "view" while allowing bidirectional contribution. An example use case for this would be for maintaining a public open source project simultaneously in the company monorepo and on a public forge. There are (very nice) hacks for this like https://github.com/google/copybara and https://josh-project.github.io/josh/ , but these have considerable clunk-factor. When repos can be sliced and glued like this, a lot of the monorepo vs polyrepo debate becomes unnecessary; we can have both.
- Make it easy for everyone to use a patch stacking / "branchless" workflow with Diversion. There are numerous projects to enable stacking in git, and it's ubiquitous in big tech, yet it hasn't gone mainstream. It's only a matter of time until some company brings this to the masses.
- Allow history to be viewed and maintained at varying granularity. As I'm sure you know, a common debate you will see unfolding online is between keeping a clean, manicured history, and keeping a full history of what you actually did. You see git forges try to split the difference by offering squash merges. You see people recommending --first-parent for viewing the logs without noise. To me, this all points to a pointless limitation of the tooling. Why can't I take the raw, messy, actual commit log of what I did, and then bundle those up into a non-destructive "summary" commit that appears in the log. That way, people can see the clean, summarised version of my change, but can also dive deeper and see all of the twists and turns I took while producing that change.
There is so much room to improve version control. Much like build systems, I feel like the industry standard falls short of what we know is possible. I am happy to see new developements in this space.
I recall one time I helped a relative diagnose and fix a problem with the plumbing at his cottage. My relative was so elated afterward because he enjoyed the evidence gathering, proposing a hypothesis, going down one path of investigation, crossing that off, going down another path, trying experiments, etc. That was all a new experience for him. I didn't want to ruin his excitement by saying what I was thinking: that it was exactly the same debugging I have done all day at work nearly every day for years, and so I did not share his excitement, although I always enjoy a good debugging session.
This is all to say that I don't think debugging should be seen as exclusively a programming skill. It's a general skill that can be applied to certain types of problem solving. I probably learned it initially by playing with toys like train sets and wooden blocks. Later, I would use it when repairing things around the home. The schools I attended never attempted to teach debugging. My parents never knew how to debug. I think it is a useful skill for any person to know, but maybe I am biased. If we wanted to, we could teach children how to do it with physical mechanisms, and it would probably be intuitive, and maybe even fun.
I will add that layers are an imperfect solution, but they are, IMO, simple and practical, and have provided value in a way that is relatively unobtrustive. In other words, many people have gained value from layers without having to think much about them.
I wish I could hear more of them. Someone should write them all down.
https://earthly.dev/blog/bazel-build/
My thoughts, as someone who has done a lot of build engineering, but that has only a small amount of experience with bazel:
If you are working with languages that are well supported by existing, maintained bazel rules, maybe. Otherwise, the answer is likely "no". You do not want to take on the burden of maintaining significant rules, or figuring out how to mate your ecosystem of choice to an opinionated build system that nobody else in your ecosystem uses.
If you can manage with something easier to setup, it probably makes sense to do that instead. My general experience in startups is that you have to "pick your battles" constantly. You don't have the luxury of infinite time and resources. Work on the build system has a high opportunity cost.
Most developers and other people who aren't build nerds care about the answer to two questions in regard to builds:
1. Is the build fast enough?
2. Is the build working?
That's it. This is frustrating when they don't understand the other important aspects of build system quality, but it is also, admittedly, somewhat of a pragmatic perspective.
There is much leeway inherent in the speed question. If the build is slow, people can wait. Do they have any other choice? There is plenty of other work to do while they wait.
If the build doesn't work, you, THE build guy, are going to feel the pressure to get it working again quickly. This often turns to bodging, and eventually to something resembling life support. However, nobody will care how much of a brittle, knotted mess the build code is if it still manages to mostly work.
To put it bluntly: A startup company can probably survive with a shit build system. And that might even be the right answer depending on the context.
I would personally be perfectly happy to get paid to set up a beautiful, apex example of a build system for a startup, whether it makes business sense or not. My professional integrity just won't allow me to recommend that path unless I think it's justified.
I might recommend to start with a script, or a makefile, or a ninja generator, and see how that works out first. After all, that is how Google did it for a long time before they decided to create Blaze.
- topological sorting the build graph - what is a graph - running child processes - what a process is - process api - interaction with the filesystem - r/w files - mtime comparisons - how computers store time - what is incremental execution
I would suggest to skip parsing, and use a Python literal to hold the 'Makefile'-equivalent dependency graph data structure.
You let students come up with their own fun build graphs, like making sushi:
tuna_maki -> nori, cooked_rice, tuna_fillet, chef, sushi_roller
cooked_rice -> uncooked_rice, rice_cooker, water, rice_seasoning
tuna_fillet -> tuna_slab, knife
tuna_slab -> fishmonger, money
nori -> algae, dehydrator
And then, when executed, it would print the steps, or say that a target was already made.
>NOTE: The Search API is currently only available to customers of the Kagi Teams plan. Please reach out to vlad@kagi.com for invite.
https://help.kagi.com/kagi/api/search.html
It sounds like an excellent product, but I don't want to be forced to use their client/interface; I want to be able to make my own.
https://github.com/opencontainers/runtime-spec/blob/main/con...
https://github.com/permazen/permazen/wiki/FAQ#architecture
It provides a Java view of the data, and handles translating operations in that later into operations on the underlying stores.
That is all relevant. The immense gravity of her decision to become openly, publicly intersex, and the hours of apprehension and coaching required to go through with it, is a significant aspect.