I'm a software developer, so I type a lot. Typing is very practical for throughput and speed.
But I still make time for writing by hand. I find it to be very valuable, because it forces me to think differently about things and sit with ideas longer. I also find journaling almost impossible to do on a computer but very accessible in a notebook.
Writing by hand is also portable and adaptable. You can write on paper, surfaces, and signs. You can write when there's no power. No subscription is required, it doesn't require firmware updates, and it never has connectivity problems.
I can understand why some people would be willing to say goodbye to handwriting, but it's a skill that I'm extremely grateful for and I would be very sad to see it disappear from the world.
No editing either. Also no undo. I think this is forcing one to in memory buffer edit before putting it down on paper which is a good thing once learned.
This echoes a lot of my own thoughts. I've taken to carrying a pen and small notebook around. At first, it was to help spend less time on my phone while eating out or something, and to keep track of all of those 'wow cool ideas' about building MTG decks, and 'what if' scenarios for a Pathfinder game I'm in.
Having all of the former pages on hand, made it so that I could cross-reference a current idea with one I'd already been sketching on some days or weeks back. I could see that I wanted to use the same card in 3 places, and then force myself to consider which one to put it in. I could sit and stare at something I'd written, and turn it over in my head, take a sip of my beer, and contemplate, "What are the motivations of this fictional character?"
I'd forced myself to start thinking more long-term. I ran a Pilot g2 down to about 1mm of ink remaining, filled the whole notebook out, got a new one.
It's a notebook with nothing important or classified, I regularly allow friends and family to scribble a page here and there, and have torn out a few bits to use as a kindling for a firepit with a faulty igniter.
I agree. I still design my algorithms and software architecture on paper, and keep "lab notebooks" for serious projects.
I find it's beneficial for my memory, concentration and general brain fitness. Also, as a result, I write less code. What I write lands closer to optimal for the case at hand, so I debug and tune less.
All in all I enjoy designing software more and write better software at the end . Win-win.
I hate writing by hand the same way I hate walking through deep sand. It's extra effort for the same distance and I'm mentally way ahead of where I am physically.
Why not try to refine what you have in your mind for a couple of cycles before putting it down to paper, or typing it out?
Mind likes to run in circles with scissors at both hands and hurt itself while trying to think fast. Teaching it to walk slowly results in clearer and more refined results.
In this age of keyboards, cloud computing and AI, we think being fast is better. We lost our patience, and want everything instantly. However, there are some processes which needs time.
Life is same everywhere. It makes the same trade-offs. Fast growing plants have less mass, they are less dense, and if they are edible, they're less delicious and nutritious.
However, hard woods, strong plants and nutritiously dense foods grow slowly. It's the same for ideas, and human mind.
When you let your brain draw circles on an idea, you start to prune its illogical parts. When you put a speed limiter with a pen, you force your brain to reconsider what it just said to you, and as a result, you get better, more refined ideas in less time actually.
I have written elsewhere. I design my programs, their architecture and algorithms on paper, with a fountain pen. I keep lab notebooks. This allows me to refine everything before hitting my first key on the keyboard. I iterate less, produce more. The algorithms I design come out already refined to a certain degree, and when combined with architectural knowledge, their first iteration come out performant and efficient.
Let me ask you the same question:
Why bang my hands and head to a keyboard while trying to solve a problem while I can solve it with a cup of tea, a nice pen and paper and create elegant code in one go and enjoy all parts of the process, and spend less time as a result?
> Fast growing plants have less mass, they are less dense, and if they are edible, they're less delicious and nutritious.
I suspect you made that up. Mint grows fast and tastes great. Watermelon grows super fast and tastes super great. And plenty of slow growing plants are plain inedible.
It is not even clear what you mean by "nutritious dense". But, my family used to grow both vegetables, fruits and even potatoes/herbs. Speed of growing and how nutritious or tasty they are does not seem all that much correlated to me.
> When you let your brain draw circles on an idea, you start to prune its illogical parts.
You will prune them even gaster and more reliably when you see own thoughts written.
Trump got a plurality of the popular vote, not a majority. There are lots of people who didn't vote for this. Many people are now doing whatever they can to limit the damage, but it's an uphill battle and plenty damage will be done in the meantime. It's been very hard to watch this unfold.
Sphinx is powerful and hard to beat if you're looking to generate documentation from code in multiple languages or export to multiple document formats, but it's slow and creaky and hard to hack on.
MkDocs by itself is okay, but Material for MkDocs is life-changing:
It's not that. Like most niche AWS services, this was likely the "pet project" of a major AWS customer that wanted something like this as part of a major business agreement [0]. And then after building it for that customer, AWS also expanded offering it to anyone else who wants to use it.
The overlap in work required to build AWS Ground Station and to build a production ground station network for a constellation like Kuiper seems fairly minimal [1], but it does seem like an ok way to get their feet wet while they don’t have any real satellites of their own flying.
1. Kuiper uses a different RF band (Ka vs X or S), needs an order of magnitude more ground stations, doesn’t need all the *aaS infrastructure bits)
PDF rendering is the bane of my existence. I've found it stunningly difficult to generate an acceptable output from a source format like Markdown, and the process usually requires massive dependencies and fiddly configuration to get something close to what you want. Don't even try to produce numbered headings or a cover page unless you're willing to write the whole thing in LaTeX from start to finish, but who knows if you'll ever get the table to appear in the right spot on the page. :D
> disclaimer: I have very little skin in this game. We use S3 for some static assets, and with layers of caching on top, I think we are rarely affected by outages. I'm still curious to observe major cloud outages and how they are handled, and the HN reaction from people on both side of the fence.
I'd like to share my experience here. This outage definitely impacted my company. We make heavy use of autoscaling, we use AWS CodeArtifact for Python packages, and we recently adopted AWS Single Sign-On and EC2 Instance Connect.
So, you can guess what happened:
- No one could access the AWS Console.
- No one could access services authenticated with SAML.
- Very few CI/CD, training or data pipelines ran successfully.
- No one could install Python packages.
- No one could access their development VMs.
As you might imagine, we didn't do a whole lot that day.
With that said, this experience is unlikely to change our cloud strategy very much. In an ideal world, outages wouldn't happen, but the reason we use AWS and the cloud in general is so that, when they do happen, we aren't stuck holding the bag.
As others have said, these giant, complex systems are hard, and AWS resolved it in only a few hours! Far better to sit idle for a day rather than spend a few days scrambling, VP breathing down my neck, discovering that we have no disaster recovery mechanism, and we never practiced this, and hardware lead time is 3-5 weeks, and someone introduced a cyclical bootstrapping process, and and and...
Instead, I just took the morning off, trusted the situation would resolve itself, and it did. Can't complain. =P
I might be more unhappy if we had customer SLAs that were now broken, but if that was a concern, we probably should have invested in multi-region or even multi-cloud already. These things happen.
One thing that I wish was mentioned in this article is that Kubernetes already provides a pretty good compatibility layer between cloud providers.
If you don't completely bake your app into AWS by using the AWS SDK all over the place or using a database that only exists in AWS or something, moving individual apps is just not that bad. You still gotta solve the cross-cutting things like logging and metrics, but you gotta do that anyway, and that shouldn't (!) require code changes to your app.
To be fair, that's all moot if you're not using Kubernetes in the first place. As well, things like EKS pod roles add great value that you'll have to sacrifice to truly call your app "portable".
I second having an internal PyPI. Not requiring your customers to build your platform wheels for you simplifies Python distribution quite a bit.
It'll never be as clean as a static binary build, but it saves us from having to build out two language ecosystems when the rest of the company uses Python for everything.
Don't disagree. It's a problem. As the parent poster and others have mentioned, you can use something like pipx, or bare virtualenv. At least once I've deployed via dh-virtualenv and rpmvenv, pyinstaller, cx_freeze, or tested for compatibility with the system Python if I could control for the client machines.
It's never fun. It's never pleasant. But to be fair, if I have a CLI tool that needs a deployed SSH client, or Tensorflow, or SDL or Qt or something else, I'm not convinced packaging gets much easier no matter what language we're talking about. If your use case is simple, Python is easy enough to deploy, and Go is even easier. If you can't disable CGO or need a third party component, I imagine the fun is just getting started anyway.
As a counterpoint, awhile back, discovered that Golang had a minimum kernel version requirement. That pretty much eliminated it as a possibility for writing tools for legacy systems. Python was viable though, Bash moreso. :) Couldn't tell you if that was still a requirement for Go today.
But I still make time for writing by hand. I find it to be very valuable, because it forces me to think differently about things and sit with ideas longer. I also find journaling almost impossible to do on a computer but very accessible in a notebook.
Writing by hand is also portable and adaptable. You can write on paper, surfaces, and signs. You can write when there's no power. No subscription is required, it doesn't require firmware updates, and it never has connectivity problems.
I can understand why some people would be willing to say goodbye to handwriting, but it's a skill that I'm extremely grateful for and I would be very sad to see it disappear from the world.