Email or username:

Password:

Forgot your password?
pixx

Learn how to manage memory manually, or how to write assembly. Write a compiler, or a web browser.

Learn how to repair your hardware when it breaks, and how to fix your software when the authors don't care to.

Teach yourself how to write, or draw, or sing, or whatever it is that you wish you knew.

You don't have to do any of this, of course - but if you're not going to, it should be because you don't want to, not because you've been lied to.

The hardest step is to admit that you are capable.

16 comments
pixx

This thought brought to you by years of discussion with other people where I have slowly realized just how many people have chosen not to even try pursuing their interests due to years of *lies*.

For every person who genuinely cannot learn algebra, there are *hundreds* who had the wrong teacher (not necessarily a *bad* teacher, just not the one that they needed).

Has any musician ever told people that learning music is hard?

Has any writer claimed most people aren't good enough to try?

pixx

This is an important notion to me on a personal level.

Many of my projects, I started before i understood how hard they were *supposed* to be - and then, once I saw the rising difficulty ahead of me, I just... stopped trying.

This was wrong, but I tend to think I'm smart, but not *arrogantly* so - if a lot of smart people are telling me that something's going to be hard, who am I tell them otherwise?

I'm understanding now why arrogance and humility are *both* considered important traits.

grimmware

@pixx I feel like the difficult thing to hone in on is not necessarily self-belief (although it is critically the first step) but the delivery of self-belief producing results along the way to your chosen destination.

As an example, I used to choose monolithic projects that were outside of my skill set which didn’t necessarily have iterative successes along the way, or alternatively I would not choose projects with a focus on learning rather than result.

Take for example I’ve been wanting to learn more assembler but I know I only really learn things when I have a material goal I want to achieve. I’ve just discovered that I can’t access the RTC on my Z80 retrobrew from MBASIC so I need to rewrite my moon phase clock in Z80 asm.

At the core of that is knowing (as you alluded to) how I learn, and how that is not the same as everyone else learns and critically not the same as most people teach.

@pixx I feel like the difficult thing to hone in on is not necessarily self-belief (although it is critically the first step) but the delivery of self-belief producing results along the way to your chosen destination.

As an example, I used to choose monolithic projects that were outside of my skill set which didn’t necessarily have iterative successes along the way, or alternatively I would not choose projects with a focus on learning rather than result.

grimmware

@pixx I suppose in that sense the best way to approach learning is often to ask yourself what is the most achievable thing you can do that will make you feel like you’re making progress. It’s a continual game of motivational hacky sack

J3RN :fedora: :elixir: :emacs:

@pixx I love this. Though I'll say:
Compiler: Fun.
Web Browser: Scary.

The "scary" is in large part implementing the ever-changing CSS and JS standards. I don't even think Firefox is fully caught up.

pixx

@j3rn I don't think it _needs_ to be.

If you want to make a web browser - and I probably will actually do this SoonishTM - start by picking the lightest site you care about, and getting it to a point where you can use it.

Then add another site

and another

annnnd another

I don't think the best way to approach a complex project is to try and implement each of the features perfectly from the beginning, but to try and make sure that every day it's more useful than the last :)

pixx

@j3rn Honestly, between C++ and the entire Web, I'm not sure which is scarier.

Gabriele Svelto

@pixx @j3rn having done work on both, web browser is way, way scarier. Mostly because it consists of many overlapping, wildly different bits, each extremely complex on its own and with a plethora of platform dependencies on top. And all the inputs are considered potentially malicious by default.

Also there's usually at least one compiler within a browser, possibly more.

Anna >/dev/null 2&>1

@pixx Also: Roll your own crypto (by this i mean "method of securely encoding and decoding private data in a way that relies on a specific key that only the owner can decode", not "printing fake money"). Just never actually use that in anything important.

pixx

@not_on_pizza Sure!

But also: don't use anyone else's crypto either ;)

Schroedinger

@pixx I have been in software dev for 40 years. I learnt all the basics, and what I really learnt was that thes things never entirely change.

Current software dev is very different. But it works down to the same stuff that it always did. And that is really helpful to understand.

Flux

@pixx Sometimes I feel like the hardest part for me to start something is often just a confidence issue or a feeling that "Welp I'll forget about this project in a week like I always do so cause I got distracted on something else so why bother". I think I need to start actually learning to stick with something a bit better... idk

Go Up