News for hackers. Stuff that matters.

mvanga

Re:Getting Creative with Perlin Noise Fields on Tuesday June 16, 2026 @07:12AM (#48553435)
Author here. I wrote this many years ago (2017?) while exploring techniques to create art that I could put up on my walls :-) If you enjoyed this article there are more similar ones linked on the main page: https://sighack.com/
Re:The Level Design Book on Wednesday May 28, 2025 @03:51AM (#44113659)
Does anyone know if there is something similar for 2D platformers?
Can I ask how you find the fastest links between countries and the servers for them? (Background: during my vacation last month I was playing an MMO from the APAC region but with servers in Germany, and it was crazy high latency. It made the experience quite bad. I wanted to rent my own servers and build a faster link for myself.)
Re:Ask HN: What speed are you watching you YouTube videos? on Monday December 13, 2021 @12:30PM (#29541868)
It really depends on the complexity of the topic and the accent of the speaker. Most videos I watch at 2.8x. Otherwise it's 2x.
Re:Aubio, a C library for analyzing songs on Tuesday September 21, 2021 @08:18PM (#28611695)
These are a nice set of tools. I used this long ago for extracting onset times from audio files: https://sighack.com/post/extract-onset-beat-times-from-audio...
Re:How Watches Work on Monday August 09, 2021 @10:33AM (#28117365)
I really enjoyed the courses at: https://learnwatchmaking.com/
Re:Publicly Available Standards on Tuesday July 20, 2021 @05:36AM (#27891658)
I wonder if there exists a Sci-Hub equivalent for ISO standard PDFs somewhere.
Re:Ask HN: How to stay motivated on solo work? on Friday June 25, 2021 @07:57AM (#27629620)
I know the feeling.

I'm also motivated by small wins. However, at some point you have to face the realization that you need to power through some drudge work to get to those wins. I don't know if there's an easy workaround.

What I found worked best for me was:

1. Being passionate about the goal. This in isolation is not enough, but when you're already working on something, it helps for coping with the inevitable roadblocks and the frustration that follows.

2. Launch asap. Then iterate. Iteration is more fun than launching because the former provides quick wins while the latter requires expending enormous energy upfront before you see a win. The approach that worked for me is to pick the minimal features I need for the end product and build towards that with (metaphorical) blinders on w.r.t. all other features. Really think about the bare minimum features you need, and then slog through till you hit it. It's basically the path of least resistance to get to your MVP. Once I hit that, iteration is more fun.

3. Consistency beats extreme bursts of productivity. Try to improve things a little at a time. This isn't always possible, but still attempting to tackle things in digestible chunks helps me with procrastination. Whenever I do bursts of work, I get the results but also burn out on that particular project. I can't look at it for a while afterwards. It's like squatting five reps of 150kg at the gym and recovering for the rest of the week vs. lifting five reps of 75kg for three days in the week. The difference in total weight moved at the end of the week is huge.

4. Energy management. The above point is one example of energy management over time management. Attempting to micro-manage my time to gain efficiency never seems to work for me in the long run. Instead, thinking about it as managing my overall energy tends to be more fruitful. Eat healthy, daily exercise however little it might be, good sleep, and some social interaction all help. All those will improve overall energy and psychological outlook. Beyond that, work during your peak energy hours and temporarily remove distractions that will waste them.

5. Get feedback. Show it to your target community and gather feedback. This is the best form of external motivation you can get. (Of course this may also be very hard to get depending on the community you're targeting.)

Good luck!

Ask HN: Video conferencing solution for 1x1 guitar lessons?

Thanks to working from home during the pandemic I recovered some extra time from my daily commute, and I've been taking guitar lessons online.So far I've tried Skype and Zoom but the latency and audio quality are really quite terrible.Skype's audio quality isn't particularly great and the video quality seems to adjust automatically during the call. With Zoom (web client) it does all kinds of...

( Read More... | 3 comments | 2 points | on HN )
Re:Stripe Identity on Monday June 14, 2021 @10:45AM (#27503176)
Amazing how Stripe consistently executes fantastic solutions for all the very real and difficult pain points of building commercial products on the web. Fantastic work!
Re:Ask HN: Solo-devs what is your tech stack? on Thursday April 22, 2021 @12:50PM (#26904926)
I've worked on several solo projects in the past. I've personally found the below stack to be quite productive:

Frontend: NextJS + Tailwind Backend: Flask Ops: Heroku + addons

Re:Basic Music Theory in ~200 Lines of Python on Monday April 19, 2021 @08:52AM (#26862178)
Interesting. Do you have some reference or link where I can learn more?
Re:Basic Music Theory in ~200 Lines of Python on Monday April 19, 2021 @06:52AM (#26861231)
Very nice! I like your way much better than the one in my writeup :-) I'll refactor things over the weekend to use this approach if that's OK with you.
Re:Basic Music Theory in ~200 Lines of Python on Monday April 19, 2021 @05:50AM (#26860856)
Agreed. The patterns are the most interesting bits. Actually, just the fact that there exist patterns is pretty amazing. It's unfortunately hard to see them through the notation and that made it very unintuitive for me for the longest time.

Unfortunately the momentum that Western music notation has, with a few centuries of tradition behind it, means one has to work within that system.

There was an interesting discussion I came across on Stack Exchange while writing the article: https://music.stackexchange.com/questions/67730/why-have-sha...

Re:Basic Music Theory in ~200 Lines of Python on Monday April 19, 2021 @05:21AM (#26860664)
Oddly, for me it was the opposite!

I used to be confused on why modes required modifying certain notes from a major scale until I tried deriving them in the way shown in the article.

Of course, once you understand that, the way you go about memorizing and practicing is probably easier the way you described; that is, deriving modes in any given key by modifying notes of the major scale using the circle of fifths.

Re:Ask HN: Learn Driver Development on Wednesday March 24, 2021 @08:31PM (#26575016)
> Do I have to read x86/arm spec + pcie spec + acpi spec + usb spec?

Pretty much, yeah. There's a reason not everyone is sitting around writing hardware drivers.

The alternative is reading through Linux kernel code. However it typically requires you digging through many layers of abstractions to get a fuller picture.

Generally, x86 is generally more mature, and the specs tend to be fairly large. ARM documentation should be a little simpler to dig into.

Honestly, this article presents a fairly ridiculous comparison. You could bump deploy times on Heroku to 20 minutes and I would still use it without a second thought. At best, I'll complain a little louder.

Here's step 1 from the article: The documentation says to create a new AWS IAM role with credentials for automation.

At this point, you've already failed. You are forcing more complexity on me than I have to care about when using Heroku. And the underlying complexity is worse. You need to be familiar with Gitlab's CI/CD pipelines. Your included YAML file hides all the complexity and uses all your magic variables: https://gitlab.com/gitlab-org/5-minute-production-app/deploy...

What happens when something breaks?

Quite literally, the only downside of Heroku is the pricing. Even that, I question for smaller teams where operational overhead can get way worse. I have yet to come across anything in the ballpark.

Anyway, this may still be a decent setup for deploying an app to AWS perhaps, but comparing to Heroku in the title is way off base.

Re:The tree-based approach to organizing documentation sucks on Wednesday March 10, 2021 @01:53PM (#26414662)
The graph approach (e.g. Wikipedia) is pretty much useless without a search engine (e.g. Google) directing you to the first useful node in the graph. When is the last time you just jumped onto the Wikipedia homepage and found your way to the information you wanted?

So once you accept that a graph structure is useless without powerful search behind it, the advantages of the tree approach are more obvious: it provides a basic search mechanism through hierarchy, and still allows for a graph approach (via linking and duplication of content in multiple categories).

Also, maintaining documentation sucks. So there's that...

Can anyone more knowledgeable comment on the details and significance of the comment regarding the frequency of formation being a normal distribution?

> Straight away, they noticed a statistical pattern in the frequency at which the crystals emerged; it followed what’s known as a normal distribution, which has long been theorized but only now experimentally verified.

Re:Ask HN: What does mastery look like in software engineering? on Thursday January 07, 2021 @01:02AM (#25667748)
https://bellard.org/

Clean, well-documented projects showcasing demos that end up having huge impact. Some of these projects single-handedly spawned entire tech ecosystems. (see FFMPEG, QEMU, JSLinux)

Re:Ask HN: If you could time travel, where would you go? on Wednesday December 23, 2020 @02:54PM (#25521449)
Confirm or reject the Younger Dryas impact hypothesis. While I'm at it, stop by Göbekli Tepe just to check out what they were using the site for.

Check out the construction of the pyramids at Giza. There's still so many mysteries surrounding them and they're just overall fascinating.

Then pay a visit to the Library of Alexandria. I always wondered how much civilization was set back by it being burned down.

The cynic in me sees this, which is just the latest move in a series of overreaching actions being taken by the big social media giants, as an effort to get Section 230 repealed.

The more blatant they are in their partisan actions, the more they rile up the opposition and the more the pressure on lawmakers to repeal Section 230.

Once that happens, they get to have full control over the content on their platforms "because the law makes them liable", and they never have to worry about competition ever rising up against them ever again. They basically got to ride the coattails of Section 230 to the point of a monopoly; repealing it just gives them everything they want.

Ah whatever, censorship is not the answer in a free democracy. Freedom of speech has to be more than just a law written on some paper somewhere for it to mean something; it has to be something the people believe in their day-to-day interactions with their fellow countrymen. I suppose that's gone at this point...

Re:Ask HN: Learning about philosophy on Saturday December 05, 2020 @06:15PM (#25319376)
The Stanford Encyclopedia of Philosophy (SEP) is pretty fantastic. They have a lot of articles summarizing debates as well, which I find very useful. Example: https://plato.stanford.edu/entries/platonism-mathematics/
Re:Ask HN: Learning about philosophy on Saturday December 05, 2020 @04:27PM (#25318546)
Just my 2c below.

I went down a similar path over the last few years. Here is what didn't work well for me:

- Reading books on the history of philosophy summarizing a wide range of ideas from famous philosophers. Examples would be Bertrand Russell's and Anthony Kenny's books. The problem I found is that there's just too much stuff in there that is not of interest to me personally.

- Reading books by author. For example, just reading through Plato's dialogues never worked for me, again because the topics are vast and varied, and many are not of interest to me personally.

What worked for me are diving into specific topics that interested me deeply. In my case: political philosophy, the question of the existence of "God", and topics pertaining to morality and ethics. (There also happens to be a nice overlap across these topics making it easier for me.)

Starting out is the hardest part. I find that the first books you pick seem to set the stage for one's worldview to a large extent. That's just a correlation from personal experience, not necessarily causation. My basic approach to not blindsiding myself to specific views has been to work my way up through history to understand how the ideas and arguments pertaining to a topic evolved over time. I found that during this phase I have to actively suppress my natural impulse to immediately criticize arguments I come across; I rather assume that I missed something. The next phase for me is to actually dig deeper into some of those criticisms that came up, and see if they hold up.

Next, pick your translations very carefully. Research the best translations for each book before purchasing. /r/askphilosophy and /r/philosophy are great resources for this and the deep-dive phase of your research.

A final piece of advice: read slowly. Comprehension is king when it comes to philosophy. I was reading, re-reading, and parsing through 2-3 pages per hour when I started out. This is mostly because many terms that you wouldn't think are technical turn out to be (for example, Aristotle's use of the term "motion" refers to something much more expansive than what we think of motion as today). However, on the bright side, that speed tends to go up (slightly) over time as you become familiar with the area.

So to summarize: my recommendation to you for developing a personal philosophy is to ask questions first, and then seek out answers that you judge on their merit, regardless of who wrote them.

TLDR: Ask questions first, read widely second, and think for yourself.

Re:The Tech Stack of a One-Man SaaS on Monday November 23, 2020 @10:21AM (#25187618)
Honestly, having gone down this path a year back, just use Heroku for your backend. Maybe Netlify if you want to separate your frontend and backend.

The amount of complexity and interdependencies these "here's my stack" posts describe are always a huge cognitive overhead for running a one-person SaaS.

Heroku costs more, but there's a reason for it. If you're even remotely making money from your product, and are alone in running the show, it's a no brainer to drop a couple hundred dollars a month to eliminate 99% of your ops headaches: the documentation, the add-on's, the fantastic UI, decent reliability, and ease of operations are totally worth it. Literally the worst thing one can say about Heroku is the cost, and possibly, the inability to build certain complex architectures (which most single-person SaaS services aren't).

Not entirely related to the article, but rather why I think we're seeing all these problems in journalism of late.

The rise of the internet gatekeepers (Google, Facebook, Twitter) has forever destroyed the old business model for journalism.

Today, in order to have any success at building an audience on these platforms, one needs to appease the algorithms that these gatekeepers employ.

Unfortunately, their algorithms are designed to bring out the sinister side of human nature; tribalism, extremes of opinion, polarization.

I suspect anyone that tries to stay on the neutral side of journalism will eventually be forced to pick a side to stay afloat. Not because of the gatekeepers themselves anymore, but because the gatekeepers have amplified qualities in all of us that have irreversibly changed individual behavior itself.

I'm not sure of what can be done to ebb the tide. The problem is you can no longer look to fixing the gatekeepers. The real problem is how to turn back the clock on individual behavior en masse.

Older »