Live data from Hacker News

Challenging projects every programmer should try (2019)

austinhenley.com

161–170 of 346 posts

Re: Challenging projects every programmer should try (2019)

#161
post #148

Earlier quoted context omitted.

> The difference with a web search engine is that nobody today can build such a thing completely from scratch I'm sorry, but can you substantiate this claim? I've seen no indication that a search engine is not buildable from scratch at all.

Sigh ... Of to the silicone mines it is then ... again /s

You mean, the beach?

Re: Challenging projects every programmer should try (2019)

#162
post #63

Earlier quoted context omitted.

Hey, putting a ray tracer and a web browser in the same category of "more challenging projects" seems a bit weird. A ray tracer is a weekend project. A web browser is a multiple man-years project, unless you use a third-party HTML+CSS engine and a third-party JS engine.

A fully featured, commercial ray tracer takes many years, much like a fully featured, commercial web browser.

My point is that a barebones ray tracer (spheres, planes, metal vs plastic) is much, much simpler than a barebones web browser (a minimal HTML parser + a minimal CSS parser and cascading + a minimal JS implementation + a miimal layout engine + a minimal renderer).

A text-only browser without scripting support, like lynx, could be a more reasonable project, but still larger than a basic ray tracer, or even a ray tracer + a basic material system.

Re: Challenging projects every programmer should try (2019)

#163
Thank you for this idea, I was inspired by it years ago and wrote a delay queue using Golang. But it is dependent on the Redis, recently I want to remove the Redis and write a Key-value store by myself. Welcome to contribute your code to it: https://github.com/raymondmars/go-delayqueue

Re: Challenging projects every programmer should try (2019)

#164
post #153

Total long shot. But does anyone have any good side projects that would center around simulating fluid dynamics? I’ve always been interested in aerodynamics and I’ve wanted to see if there is a way to learn more about it with my programming skills.

If you're interested to learn more about aerodynamics I would highly suggest learning a bit of classical aerodynamics. It will not be software oriented, since most of the theory deals with approximating very complicated behavior with simple analytical models. It could be interesting to do a comparison with finite volume methods to see when/how those approximations break down.

Totally newbie question - 'approximating very complicated behavior' - this seems like a perfect problem for ML to me. Is this something that's used or explored ?

Re: Challenging projects every programmer should try (2019)

#165
post #148

Earlier quoted context omitted.

Sigh ... Of to the silicone mines it is then ... again /s

You mean, the beach?

It is a joke based on needing to define "from scratch". Similar to, "how do you bake a cake from scratch? First you must create the universe." Op is gathering the raw ingredients to start fabricating his chips.

Re: Challenging projects every programmer should try (2019)

#166

Total long shot. But does anyone have any good side projects that would center around simulating fluid dynamics? I’ve always been interested in aerodynamics and I’ve wanted to see if there is a way to learn more about it with my programming skills.

Some sort of game might be a good idea, for example about building or managing a dam, a reservoir, or canal. Maybe a simple colony sim about otters.

Re: Challenging projects every programmer should try (2019)

#167

Total long shot. But does anyone have any good side projects that would center around simulating fluid dynamics? I’ve always been interested in aerodynamics and I’ve wanted to see if there is a way to learn more about it with my programming skills.

Not sure if this fits, but I've thought about doing an app to approximate cyclists drag coefficients from video and help improve aero positioning.

I have no idea if it's realistic - from what I've read, it looks like not really, but hell, I would love to give it a shot.

Re: Challenging projects every programmer should try (2019)

#169
post #24

While writing a text editor, a compiler, an operating system, or a raytracer might make you a better programmer, it won't make you a better software engineer. In fact, it might make you worse at software engineering, because it embodies the disastrous "Not Invented Here" doctrine. Hackers like to obsess about Big-O, data structures, HoTT, and other high-theory stuff, yet the following skills, essential for software e…

I don't understand why you believe low-level "intrusive" programming and general software engineering are mutually exclusive. There is a big, open field for high quality, low-level software to be written well bearing good practices and practical decisions. 1. To be faif, these kinds of "hacking" projects aren't technically meant for learning software engineering in the context of a job, but they are really interestin…

>I don't understand why you believe low-level "intrusive" programming and general software engineering are mutually exclusive.

Hmm, while I don't fully agree with his comment,

then your comment reminded me how I hate to discuss programming languages and programming ecosystems with C people.

It feels like C/low lvl people often refer to some "standard" that they treat as a bible of programming languages even when nobody mentions C and they treat GCC/CLANG as a perfect reference for compilers.

So, while high level devs dont understand low lvl stuff, then I believe low lvl programmers aren't creative at very abstract level, very abstract system modeling cuz they're too used to modeling everything with integers in C.

And they're too used to being hurt by C ecosystem that they believe it is "normal".

High level people (web developers) spend a lot of time arguing about their buzzwords like microservices, ddd, oop vs fp, etc.

Re: Challenging projects every programmer should try (2019)

#170
post #133
post #83

Earlier quoted context omitted.

This is like telling a student learning an instrument never to practice scales or études because there are other skills necessary for playing in an orchestra. Those other skills are important, but you have to develop your chops at some point, and being a better a programmer will certainly help with basically all those skills you listed anyway.

Nowadays (and increasingly, going forward) it's possible to be a very productive programmer without knowing much low-level stuff. This may seem unfair to those who spent years wrestling assembly and then C pointers but that's just today's reality. It's not possible to be a "productive" musician on a traditional instrument (i.e. excluding iPads) without knowing how to play scales, chords, etc.

Tell that to most guitarists. Vast majority are self taught and can’t read music; a number are excellent players.
Post reply on HN