Nick Janetakis
nickjanetakis.com · Personal blog · on HN since 2015
Nick Janetakis, a freelance developer and course creator, writes about Docker, Linux tooling, web development, and running a freelance business.
What HN saysHN commenters praise his content, including database migration checklists, and link his Debian vs. Alpine Docker benchmarks in discussions of slow Alpine images.
68HN people shared it
28linked it in comments
145stories submitted
3.3Kstory points
3 months agolast shared
2015people per year2026
Most-shared posts
- 1Setting Up Docker for Windows and WSL to Work Flawlessly8 people · 37 points · first shared 2017 · 4 comments on HN
- 2How to pick a good monitor for software development6 people · 117 points · first shared 2017 · 178 comments on HN
- 3Microservices Are Something You Grow Into, Not Begin With5 people · 348 points · first shared 2018 · 153 comments on HN
- 4Run the First Edition of Unix with Docker4 people · 120 points · first shared 2017 · 25 comments on HN
- 5How to start a successful freelance business as a software developer (2017)3 people · 203 points · first shared 2017 · 156 comments on HN
- 6Benchmarking Debian vs. Alpine as a base Docker image (2018)3 people · 70 points · first shared 2020 · 21 comments on HN
- 780 Characters per Line Is a Standard Worth Sticking to Even Today3 people · 53 points · first shared 2018 · 47 comments on HN
- 8Save Yourself from Years of Turmoil by Using Docker Today3 people · 10 points · first shared 2016 · discussion on HN
- 9Using WSL, MobaXterm and Docker to Create a Linux Dev Environment on Windows3 people · 5 points · first shared 2017 · discussion on HN
- 10Transform a $350 Chromebook into an Awesome Dev Box Running Linux (GalliumOS)3 people · 4 points · first shared 2016 · discussion on HN
- 11Why I Prefer Running Nginx on My Docker Host Instead of in a Container3 people · 3 points · first shared 2020 · discussion on HN
- 12Blog3 people · first shared 2017
- 13Switching Pip to Uv in a Dockerized Flask / Django App2 people · 273 points · first shared 2025 · 157 comments on HN
- 14Docker Toolbox, Docker Machine, Docker Compose, Docker WTF?2 people · 4 points · first shared 2016 · discussion on HN
- 15Optimize Your Programming Decisions for the 95%, Not the 5%2 people · 4 points · first shared 2018 · discussion on HN
What HN people wrote when they linked it
nickjj · 2017-01-05
In 2016 I took content creation somewhat seriously and the end result was enough income to sustain living in NY.
Not sure if it's worth blogging about yet. Are other developers interested to see how to potentially make software engineer-tier salaries without having to work for another company?
(Note: I also started with nothing. No mentors, no following, no existing profile, no paid advertising, etc.).
Edit: If you're interested, my site is https://nickjanetakis.com.
If you sign up anywhere on the site, you'll get notified when I release content related to starting your own business / building up your brand as a software developer.
I recommend filling out the form at https://nickjanetakis.com/learn-in/2017, because you can include what you want to learn most about which helps me figure out what I should start writing about first.
Delmania · 2015-06-22
>The thing that I don’t enjoy is when people ask me if they should drop out of school or university to ‘start their own business’
Amazingly enough, it's not a binary decision. You can stay in school and start your own company. In fact, your school may even have an incubator program to help you. Being is school is probably one of the best times to start a company since you have free o cheap access to many resources that are expensive outside of school, and you have fallback when your first few ventures fail.
With that in mind, I'm always amused at the subset of programmers who rail against degrees. The most recent example I found was this: http://nickjanetakis.com/, where the author thinks a degree is a fancy piece of paper. A degree in computer science or software engineering can only help you in your career, and it probably has one of the best ROIs for any degree program.
jackbravo · 2024-04-26
I remember there were some performance-related posts a while ago, about alpine running in docker, recommending people to use debian/ubuntu instead:
Slow alpine posts: - https://pythonspeed.com/articles/alpine-docker-python/ - https://superuser.com/questions/1219609/why-is-the-alpine-docker-image…
Pro alpine post: - https://nickjanetakis.com/blog/benchmarking-debian-vs-alpine-as-a-base…
I wonder if this still holds water.
Helmut10001 · 2024-02-11
I had this discussion before and thought long about using Caddy, but then decided for nginx, directly on the host, basically following this reasoning [1].
My main motivation is that there is just more information available for nginx due to its wider use. And when you need to customize Caddy due to different requirements by services, you end up with the same or worse complexity compared to an nginx .conf. Nginx is just very robust and the configuration is not so hard to get used to.
[1]: https://nickjanetakis.com/blog/why-i-prefer-running-nginx-on-my-docker…
john-tells-all · 2023-07-05
thanks for your work, Nick!
Note Nick has tons of great content. Example: a video on how to use checklists to reduce risk on operations like database migrations: https://www.youtube.com/watch?v=hOp7uog7_Xw
and the corresponding blog post: https://nickjanetakis.com/blog/creating-checklists-for-high-stakes-cha…
whiskeymikey · 2020-03-18
There's a great guide on how to set up tmux on WSL here: https://nickjanetakis.com/blog/a-linux-dev-environment-on-windows-with…
windexh8er · 2018-09-01
Check out GalliumOS. One of the best, Chrome specific, distros around. The question on hardware comes down to what you want. Many of the newest releases of ChromeBooks do not have removable media (M.2 form factor). So, choose wisely up front: hardware that is supported by current releases and storage and RAM suitable to your needs. The latest CB I have is a Toshiba Chromebook 2 with an i3 processor and 4GB of RAM. That model has a removable M.2 and so mine has an upgraded 128GB of storage. It has received app support for ChromeOS and also runs Gallium with full support. You can dual boot these machines easily, which is how mine is setup.
Nick Janetakis had a nice write-up on setting it up from back when the machine was newer, but to give you an idea:
https://nickjanetakis.com/blog/transform-a-toshiba-chromebook-cb35-int…
KajMagnus · 2017-12-13
I went to your blog: https://nickjanetakis.com/blog/docker-swarm-vs-kubernetes-which-one-sh… with Chrome 63 and Firefox 57, but no adds are shown to me :-/ I'm on Linux. What can I do to see the ads? I haven't installed AdBlock or sth like that.
(If you've been thinking about switching to an open-source alternative without ads or tracking, have a look at EffectiveDiscussions, demo: https://www.kajmagnus.blog/new-embedded-comments. (I'm developing it.) There's hosting too: https://www.effectivediscussions.org/blog-comments. Also in the following topic about Disqus getting acquired, there's a list of alternatives: https://news.ycombinator.com/item?id=15851385. )
zenoprax · 2025-12-17
I respect the restraint from self-promotion here but...
Your [Docker, Flask, HTTPS, AWS Docker, and DevOps courses](https://nickjanetakis.com/courses) look good and the price is fair. Bookmarked!
(the last two could use some more detail in the overview but the first three would give me enough confidence to take a chance)
mtlynch · 2024-05-30
I'd be happy to, but the podcast is on indefinite hiatus:
https://news.ycombinator.com/item?id=33945360
https://nickjanetakis.com/blog/taking-an-indefinite-break-from-the-run…
js2 · 2022-08-13
Doh, I missed that.
Aside, but I gotta say, lots of good stuff here:
https://nickjanetakis.com/blog/
I'm not personally a fan of videos, but I have plenty of collegeues who are that I'm going to happily start pointing at your videos. Some of these will be very handy references I can add to code reviews.
laurencerowe · 2022-03-11
Doesn't Alpine have a noticeable performance penalty due to being based on musl libc instead of glibc?
This seems to be born out in multiple people's micro benchmarks though how much of an issue it is for larger applications probably depends on the workload.
https://superuser.com/questions/1219609/why-is-the-alpine-docker-image…
https://nickjanetakis.com/blog/benchmarking-debian-vs-alpine-as-a-base…
mechtaev · 2021-09-11
fzf can partially solve this, as shown in this blog post: https://nickjanetakis.com/blog/fuzzy-search-your-bash-history-in-style…
weatherlight · 2021-06-03
https://erlang.org/doc/reference_manual/expressions.html#pattern
it's more like the = sign in math mathematics.
2x = 10
we can deduce x = 5
Here's an elixir example where a bunch of "if/else" blocks are refactored to use case statements, and then from case statements to pattern matching.
https://nickjanetakis.com/blog/refactoring-elixir-code-if-cond-and-pat…
elcritch · 2020-12-04
Sure it can work, but it’s certainly not for me since I believe it’s a poor choice of default screen size for anything but primarily watching movies, as the aspect ratio limits the vertical viewing area significantly.
I like the way one blogger describes a 1440p vs a 1080p: “A 1440p monitor will give you 3x code windows side by side and 76 lines of code. This is a pretty big deal. You might not realize it until you’ve tried it for a while but being able to comfortably have 3 editor files open and being able to view about 50% more vertical lines of code at a glance is huge.” ( https://nickjanetakis.com/blog/how-to-pick-a-good-monitor-for-software… )
Though someone else mentioned they have 4K version, not just a 1080 version! That can work better with the right scaling. The rest of the laptop looks nice.
noisem4ker · 2020-04-25
I'm almost certain you already read this guide [1], so I ask: where did it fail you? It definitely wasn't straightforward, but I managed to get it working fine in a couple of hours (Windows 10 1903, WSL 1, Ubuntu 16.04).
[1] https://nickjanetakis.com/blog/setting-up-docker-for-windows-and-wsl-t…
japhyr · 2019-12-23
Your post How to Pick a Good Monitor for Software Development was really helpful when I was upgrading my home office this fall. Thank you, and anyone else who hasn't specced out a monitor in a while might find it helpful as well:
https://nickjanetakis.com/blog/how-to-pick-a-good-monitor-for-software…
yoube · 2019-09-12
Have you tried running the Vscode + Linux Subsystem + Docker on Windows stack? It's been pretty good so far (a good writeup on this is at https://nickjanetakis.com/blog/setting-up-docker-for-windows-and-wsl-t…
aequitas · 2019-09-12
> Give up the idea of data volume containers. Given that volumes are the way to go, no other filesystems in the container need to, or should be, writable.
Interesting philosophy, it will pose some issues when replicating a Docker 'build' like system though. But that could be separated from the 'run' system with cached layers.
edit: Btw, Docker also seems to support this: https://nickjanetakis.com/blog/docker-tip-55-creating-read-only-contai… Also allowing explicit creation of writable tmpfs mountpoints.
mtmail · 2019-09-03
The blog is very technical (Docker, Linux, VIM) https://nickjanetakis.com/blog/ As far as I see it's the first post about a product. I don't believe it was written just to push affiliate links.
judge2020 · 2019-05-12
It's not as seamless as docker on Mac or Docker CE on Linux, but it doesn't take much to get docker working in WSL:
https://nickjanetakis.com/blog/setting-up-docker-for-windows-and-wsl-t…
gfiorav · 2019-05-06
You can use docker client from WSL and have it use the Windows docker running in the background. No need for VM
https://nickjanetakis.com/blog/setting-up-docker-for-windows-and-wsl-t…
qualsiasi · 2019-01-21
Sorry for just posting a link, but I find this to be very relevant (and I think has been discussed on HN).
> https://nickjanetakis.com/blog/microservices-are-something-you-grow-in…
pferde · 2018-12-03
There was a nice related article linked on HN last week: https://nickjanetakis.com/blog/optimize-your-programming-decisions-for…
It mostly deals with decisions during programming, but the first part of the article describes exactly this problem.
moondev · 2018-02-09
Have you tried installing the docker client inside WSL but pointed at the hyper-v daemon? I have no problems using it this way.
https://nickjanetakis.com/blog/setting-up-docker-for-windows-and-wsl-t…
game_the0ry · 2020-06-17
> At my last company we had a React interface (a specialized IDE, really) that needed to juggle (sort, filter, process) and work with sometimes hundreds of thousands of entities at once, all in-memory.
The author's example inserts 4M elements.
> and the user experience (and the API design) really benefitted from not having a bunch of extra round-trips to the server.
Possibly, but unless you benchmarked both scenarios, this might not be the case.
Performance over networked devices often has trade offs, sometimes those trade offs are directly contradictory, eg sorting/filtering/mapping/etc data on client side versus server side via api call - sometimes one is better than the other but you wont wont know unless you benchmark.
I get the impression that your company did not go through that exercise, considering you guys are building an IDE with scripting language.[1]
[1] https://nickjanetakis.com/blog/switching-to-vscode-from-sublime-text#:…
whycombagator · 2019-09-03
I'm all for being frugal, but from my few interactions with Nick's blog, he appears to like to nickel and dime almost everything (building his own standup desk[0], cheap linux laptop[1]), so the Amazon Basics keyboard (and him loving it) is no surprise.
IIRC he also has a course where he teaches you to build a SaaS app with flask, but you don't build it from scratch - he starts with a fully built app and walks you through it/has you implement parts of it. It's a project he used for clients, and instead of investing time to reimplement it from scratch he just made a course based on the existing app (which is fine and better than no course, but an example of his frugality)
[0] https://nickjanetakis.com/blog/build-a-home-made-standing-desk-for-50-…
[1] https://nickjanetakis.com/blog/transform-a-toshiba-chromebook-cb35-int…
justboxing · 2018-02-18
> But they've always seemed kind of shady with the whole "$200, now $10.99 with 2 days left"
I read about this from frustrated training content developers all the time. The pricing in particular, esp. w.r.t. programming / technical content which takes a lot of effort to put together, only to find that udemy forces you to list it at 10, 20$ at 70, 80% 'discounts'.
Don't want to re-hash but here are a few links....
Less than 24 Hours on Udemy as an Instructor and I Am Close to Leaving: https://nickjanetakis.com/blog/less-than-24-hours-on-udemy-as-an-instr…
Why I stopped selling courses on udemy - The Udemy Pyramid Scheme: http://osherove.com/blog/2014/5/7/why-i-stopped-selling-courses-on-ude…
My Revenue Increased 300% After Leaving Udemy: http://www.courseminded.com/why-i-left-udemy/
Why I Won’t Be Releasing More Courses On Udemy, And Neither Should You: https://www.linkedin.com/pulse/why-i-wont-releasing-more-courses-udemy…