chakspak's comments

chakspak | 6 months ago | on: The End of Handwriting

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.

chakspak | 3 years ago | on: Welcome to the PyPI Blog

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:

https://squidfunk.github.io/mkdocs-material/

If it does everything you need it to do, it'll make creating and editing sites much faster and with fewer opportunities to break things.

chakspak | 4 years ago | on: AWS Ground Station

Holy wow, it never occurred to me that there were enough organizations launching satellites to warrant creating a managed service to support it.

chakspak | 4 years ago | on: Risk of myocarditis following sequential COVID-19 vaccinations by age and sex [pdf]

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

chakspak | 4 years ago | on: Summary of the AWS Service Event in the Northern Virginia (US-East-1) Region

> 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.

chakspak | 4 years ago | on: Don't Make My Mistakes: Common Infrastructure Errors I've Made

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.

chakspak | 4 years ago | on: Don't Make My Mistakes: Common Infrastructure Errors I've Made

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".

chakspak | 4 years ago | on: Don't Make My Mistakes: Common Infrastructure Errors I've Made

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.

chakspak | 4 years ago | on: Japan breaks world record for fastest internet speed

This. I have a friend with 1Gbps up/down at his house. I've been waiting for fiber for like 10 years but it's never been available at any place I've lived. This is despite the fact that we live in the same (relatively small) county. This situation could only be possible if they just didn't care about making fiber available to everyone.

chakspak | 4 years ago | on: Secret Management in Kubernetes

This article didn't add anything to the conversation.

"Secret management" (i.e. having a non-ClickOps way to deploy secrets and a layer of security so that they're more than just not-configmaps) has been a black hole that has eluded our team for some time.

Should I use SOPS? Sealed Secrets? Vault? KMS? How does this integrate with our GitOps engine? Kustomize has no sensible way to pass secrets built in. ArgoCD actually has to be rebuilt from source to even try any of these options out.

Our current "best" practice is using Helm + Terraform, bootstrapping secrets with Terraform Cloud, and ensuring all services run in their own isolated namespace and service account. This feels inadequate.

At this point, I really have no idea how people are using secrets in the wild.

chakspak | 4 years ago | on: The Missing Semester of Your CS Education (2020)

I thought that was a peculiar choice of words as well. I would understand these things under the banner of "Build Engineering", or even just "Tooling". I couldn't figure out the distinction they wanted to make by calling it "Metaprogramming".

chakspak | 4 years ago | on: I hope work from home continues

Wow, all day? That's a lot!

My team and others have been having "office hours" meetings where everyone is just working, but often the cameras are off, mics are muted most of the time, and we only do it for a few hours a week.

I definitely agree that there is a lot of value in being able to jump in and ask questions in the moment. That's a big benefit of having these calls for us.

Maybe we should try having them more often. :)

page 1