When I was a kid, they always told me math would be super useful, especially if I liked computers. Well, 20+ years of a dev career later, I still have never used anything more than basic arithmetic and rudimentary algebra (to calculate responsive component sizes). But with web dev jobs going the way of the horse-drawn wagon, I figured it was time for a career change. Hoping to get into (civil/environmental) engineering instead, but I guess that field actually does use math, lol. We'll see how it goes...
In the meantime, also taking singing classes at the community college, and enjoying THAT way more. We performed at a nursing home a few weeks ago, and that brought SO much joy to the audience there, even though we're just a bunch of amateurs. It's just such a different reception than anything I've ever seen as a dev. Tech rarely inspires such joy.
If I could start all over again, I wish I would've pursued music over computer stuff. Much harder life though!
Check out the extended preview here: https://minireference.com/static/excerpts/noBSmathphys_v5_pr...
Here is the concept map from the book which might be useful to you as general orientation in the "concept space", now matter which book you're learning from: https://minireference.com/static/conceptmaps/math_and_physic...
Last but not least, I highly recommend you check out the computer algebra system SymPy, which provide functionality for doing all kinds of basic algebra (`solve`, `simplify`, `expand`, etc.) You can use it to invent practice problems for yourslef, check answers, etc. It also has useful functions for calculus which you will need when you get to that. Here is a little tutorial on it: https://minireference.com/static/tutorials/sympy_tutorial.pd...
Always just saw it as the handful of operations and a handful of generalized objects (sets, variables, etc) that represent data. So knowing those parts is all there is. Contrived compositions used in school to prove ourselves to some teacher just seems like patronizing helicopter parenting type vibes.
Went at most of my math classes with that in mind and didn’t really worry about relating it to past things
I don’t really buy into a notion like “more abstract” or “less” abstract. Everyone is its own abstract.
I dunno. That philosophy has worked for me so far shrug
But mostly, I'm learning from ChatGPT. You can enter (or take a picture of) any problem and ask it to break it down step by step and it does that very well, and explains it better than most resources I've found. There are some OK YouTube or KhanAcademy videos too, but overall I prefer ChatGPT for its higher signal to noise ratio.
At home I'll usually ask ChatGPT to explain the first one of a problem type, then try to do it again on my own and double-check it against the posted answers. For subsequent problems, I'll do it myself first (pen and paper or iPad), check it for correctness, and then ask ChatGPT for a breakdown if I screw up. I can usually tell it the mistake I made (i.e. how come I got X in step Y) and it can often correctly guess and explain where I went wrong.
Some examples (keep in mind that I'm still working up to calc, so still in pre-calc right now!):
* Breaking down the quadratic formula and explaining imaginary numbers: https://chat.openai.com/share/b267e954-fa0b-46ea-8fd6-11f71a...
* Explaining properties of logs: https://chat.openai.com/share/01d79b4f-81b4-46b3-9767-be93b7...
* e and natural logs: https://chat.openai.com/share/fbb3f957-ed6f-4c1a-af95-917d0e...
* Word problems: https://chat.openai.com/share/502f7a91-9c2c-4c74-834a-5c791a...
-----------------
Overall, I find this method of learning math (by rote memorization and parroting) very unsatisfying, and I'm unable to retain most of it in long-term memory. A few days after I learn anything I already forget how to do it. I ended up with an A in the class mostly just cramming the night before + morning of, using ChatGPT and class notes to refresh myself before the tests.
But IMO it's a terrible way to learn (at least for me) and part of why I hate math. I never really learn the whys and wherefores of anything, it's just a bunch of magic shortcuts and black-box algorithms that I have to memorize and re-use without any actual understanding. It's the educational equivalent of solving every problem with someone else's function/library :( I have no idea why anything works the way it does, only that I must remember it and re-use it exactly.
If anyone has a better approach to learning and retaining this stuff, I'm all ears!
> that 6-figure salary and maybe not feel too bad about calling our self’s engineers
Hah! I've only ever briefly made a 6-figure salary, and I quit that job because of its bureaucracy. I'm just some rando dev and I would NEVER call myself an engineer (even though my job title sometimes says that). It's an insult to all the REAL ones who actually survived the math, lol.
(Frontend) web dev has always been more similar to me to graphic design than anything I would call "engineering": It's pretty-looking shiny stuff backed by spaghetti code, not anything I'd ever trust to life-and-death scenarios like dams or bridges.
Anyway, that's not the point :)
> well hell go for it my friend!!!
Hah. This is the upside of a minimal DINK life. We don't have much money (at all), but we have fun!
Could you elaborate please ?
Started with Difficult Conversations last year and it was a total game changer. It has been instrumental in my professional and personal life. If I was going to share two key points for anyone it'd be to remember to listen and that you have also always contributed to the problem.
Working through Getting to Yes by the same group of folks now and it is just as great. A bit more high level but I plan to dive back into more specific areas afterwards and read through the just recently updated version of Difficult Conversations.
Want to hit Supercommunicators and Crucial Conversations later. I've decided that so many things break down, big and small, because of these seemingly small but ultimately important conversations. Always be soft on the people and hard on the problem.
https://www.amazon.com/Nonviolent-Communication-Language-Lif...
a cursory search online already makes this look absolutely awesome! I'm totally adding this to my repertoire
honestly, i work in public education and I feel like these kinds of negotiating and communication skills could easily be a doctoral dissertation
- E.T. Janes "Probability Theory: The Logic of Science" provides the fundamental theory.
- Robert McElreath "Rethinking Statistics" provides a practical application of the theory in R.
- Andrew Clayton's "Bernoulli's Fallacy" is a non-technical book that provides historical context to the frequentist vs bayesian debate.
I'm fairly convinced now that Bayesian approaches have more mathematical rigor than the crusty old heuristics of traditional statistics. But in terms of user-experience, doing Bayesian calculations still requires more effort on model design and more compute power. It's flexible to a fault, without a well-defined workflow. There is a strong temptation to follow the easy path - shove your data into a black box and publish if p<0.05. It's going to take a generation of (re)training and improvements to statistical software before Bayesian methods are widespread.
Another, more basic, book on Bayesian stats is: https://allendowney.github.io/ThinkBayes2/ The author uses the grid approximation for everything, so there is no need to get into Stan or other framework.
Myself, I'm still trying to (re)learn frequentist stuff properly (will post a separate comment about that), but the deeper I go the more convinced I am that it is total crap, and my desire to convert to the church of Bayes increases...
I started programming because I wanted to work on Guild Wars 1 back in the day, but that didn't work out and I ended up as a web developer (although with some gamedev experience). I've always thought you can't make an MMO alone and so never tried.
Recently a combination of health problems that scared be quite a bit and seeing other people on YouTube tackle these kinds of projects have motivated me to fulfill my childhood dream of learning the tech behind MMO games.
My goal is still to work on a MMO game professionally one day, but if that never works out, at least I worked on a MMO. My own.
Apropos of the other HN article on the elder mathematician who credits his success by studying the simple things until he understands them really, really well, I'm practicing drawing boxes in any/every orientation in 3D space. This includes drawing two boxes connected by a common edge - imagine a box with a lid the same size as the box itself, slightly opened.
For me this is profoundly difficult to visualize. I've taken to learning the basics of Blender just so I can create these various boxes accurately to use as reference material. It's been slow going but the progress is tangible and the process is fun.
Thanks for the rec!
Descriptive Geometry was a major component of Tech Drawing, everybody in pre CAD digital age (and still, I'd say at least) needed a good grounding in blueprints, schematics, and "constructive drawing" good enough to take measures from during building.
Thank you!
I started (re)learning this subject in preparation for a new book, thinking all I had to do was review what I studied in my university days, and summarize the essential ideas, but it turns out statistics is A LOT more complicated than that. It's like a black hole that you can never get out of. There is lots of historical baggage, strong opinions, unjustified rules of thumb, etc. I've been in it for 5+ years now! As a physicist, I want to understand how things work under the hood, so I can explain to readers the underlying mechanisms and not just give formulas without explanations, and this has been very hard to do. The whole thing is well summarized by this quote from Richard McElreath "Statistics is a horrible thing."
There is hope though, in recent years teaching frequentist statistics is moving toward simulation based methods, a.k.a. the modern statistics curriculum, which makes a lot of sense. Here is a blog post about that: https://minireference.com/blog/fixing-the-statistics-curricu...
You can see the notebooks from the upcoming book here: https://nobsstats.com/ and concept map here: https://minireference.com/static/excerpts/noBSstats/conceptm...
Also learning to get better on the piano, specifically improvising.
I ended up built InkChatGPT as my learning project and it was huge fun. It is an AI Agent that could help learning from multiple documents and you can chat with it, thank Chat PDF GPT.
I use LangChain as LLM framework to simplify the backend, and using Streamlit as front end UI and deployment. Using OpenAI `gpt-3.5-turbo` model, Use HuggingFace embeddings to generate embeddings for the document chunks with `all-MiniLM-L6-v2` model.
To be honest, coming from Mobile development background, learning about ML and reading about LLM models, prompt tuning and various techniques really opens my mind, but the vast information and knowing how to start is difficult.
[1] InkChatGPT: https://github.com/vinhnx/InkChatGPT
I plan to pickup more on LLMs topic and will start experimenting with different models.
During my high school, only Newtonian mechanics was taught, whereas in engineering college, they introduced quantum mechanics with Lagrangian/Hamiltonian formulation, skipping classical mechanics with those two.
The purpose of learning is just fun.
AI chatbots sometimes come to rescue when I am stuck. Not with mathematics though.
[1] https://www.amazon.com/Classical-Mechanics-Theoretical-Georg...
[2] https://www.amazon.com/No-Nonsense-Classical-Mechanics-Stude...
Other than that I'm learning powershell too, mostly forced to for work, but actually it's not a bad language.
On my roadmap is lua and tcl.
I’m wondering if it’s worth it to introduce to the rest of the company. We’re pretty comfortable building/“maintaining” ~400 container images, and it’s relatively fast (~3-5 min build time if no packages are changed), but there a lot of shared dependencies between all these container images, and using nix to get actual reproducible AND minimal container images with a shared cache of Linux and language-specific packages (dotnet, node, python and R) would bring in a ton of efficiency, as well as a very consistent development environment, but I won’t force all the developers to learn nix, so the complexity should optimally be absorbed into some higher level of abstraction, like an internal CLI tool.
I’m aware that the caching of dependencies can be improved, as well as creating more minimal container images, but it’s tricky with R and Python in particular, and then I figured why not just to balls-deep on nix that actually solved these issues, albeit at a cost of complexity.
For Docker, you could start here in this HN thread [1], for NixOS and flakes there is a video series and git [2] I used at the begining which I liked.
I wanted something a bit more 'complete', so if you will you can read through my nix repo [3].
I have built Portry and Go applications (that I'll push to nixpkgs at some point) and GCP images for VMs, so if you need a reference for that just ask :)
[1] https://news.ycombinator.com/item?id=39720007
I'm looking forward to making a few sculptures that we can also use in our garden, as well as some Frankenbikes, though that might be a longer-term project - I don't want to spend money on it, so I'm hoping to source all of my parts from the trash - so far, I'm up to four frames, and my marriage is still intact!
I currently own a Lyra 8 synth and it is teaching me… something about FM synthesis and feedback. I also have a Vanilla synth from STG/Musonics on order and hope not be up to speed on the basics before I get it in June. I Will at some point probably get a serge system because it seems the most amenable to analog explorations at their most basic.
There's certainly a lot of interesting things happening with Rust but I'm one or two problems away from deciding that Rust isn't a viable replacement for the situations where I use C.
What I wanted from Rust was basically a strongly-typed C and more modern tooling. I'm open to more checking than that, depending on what cost it has.
What I'm getting is strong typing and more modern tooling--cargo, for example, is excellent. But the borrow checker is extremely invasive, and `unsafe` doesn't actually make it less invasive. There are a number of cases where I still haven't figured out how to get the compiler to not complain about the lack of a `.clone()`. Borrow semantics are... pretty good, as it's basically enforcing a pattern I use frequently anyway, but the exceptions to that pattern are critical and working around the borrow checker causes more problems than it solves. It's possible I just don't know how to make "the Rust way" more workable, but if that's the case I am having a hard time finding how what "the Rust way" is for the things I'm trying to do.
That said, I can see how Rust is a great tool for what it was originally intended for (writing a browser). That's just not what I'm doing.
Been there. You are not alone.
Digital electronics is in many ways much easier, but the analog part tends to sneak in everywhere, especially when you find your digital stuff isn't working. I think it's hard to design anything new, even digitally, without at least a working knowledge of how Ohm's law, LRC circuits, transistors, diodes, op-amps, etc. work.
I don't think it was this course, but I recall checking out an impressively thick book meant for US Navy technicians. The advantage there is that the assumption (unlikely college textbooks), is that you are intelligent but not college educated, and you need to know how to work on nearly anything electronic. Again, the focus is mostly the analog side. https://archive.org/details/NEETSModule01/mode/2up
Do you (or anyone else) have any suggestions for hands-on resources? I have Practical Electronics for Inventors, but you don't build anything until Chapter 7 (Page 551). I learn better when I'm making things.
[0]: https://github.com/jfedor2/screen-hopper/blob/master/HARDWAR...
I did find that the steps that I took to get to intermediate all helped immensely. Learning triad shapes all across the neck, learning all the notes in the neck. Learning the basics of theory for chord construction, and learning how to build chords in the guitar neck. Then focus on time and keeping a the forms of songs.
Hit me up if I can help. I've brought a half-dozen devices to market; right now I'm bringing a modular data logger to production and blogging about it at https://blog.supermechanical.com
Surprised to know nobody mentions reinforcement learning here.
Bought three books (in their transitional Chinese edition), whose original titles are,
* Reinforcement Learning 2nd, Richard S. Sutton & Andrew G. Barto
* Deep Reinforcement Learning in Action, Alexander Zai & Brandon Brown
* AlphaZero 深層学習・強化学習・探索 人工知能プログラミング実践入門, 布留川英一
None of them teaches you how to apply RL libraries. The first is a text book and mentions nothing about how to use frameworks at all. The last two are more practice oriented, but the examples are both too trivial, compared to a full boardgame, even the rule set is simple for humans.
Since my goal is eventually to conquer a boardgame with an RL agent that is trained at home (hopefully), I would say that the 3rd book is the most helpful one.
But so far my progress has been stuck for a while, because obviously I can only keep trying the hyperparameters and network architecture to find what the best ones for the game are. I kind of "went back" to the supervised learning practice in which I generated a lot of random play record, and them let the NN model at least learn some patterns out of it. Still trying...
2. Ray tracing in a weekend but in Rust.
3. How to return to the job market after 4 years of off and on freelance and being a caregiver for sick parent.
And also reading the book on Modern Manufacturing Techniques by Groover.
I work as a Software Engineer but somehow I haven't had the itch to write any personal software or work on side projects for some time now. Looking to expand my toolset and get my creative side going again in a new space.
The idea is to experiment and stress test with the idea of write once run forever to the max. See how far can I get. Any resource for Erlang will be much appreciated.
Currently using exercism and Joe's book of Programming for the concurrent world 2nd edition. I guess beginner topics are covered. More interested in advanced erlang topics for which resources seems hard to come by. Specifically related to security since I would want to know how to go about the security of the backend using erlang.
But yeah. Product logic and security without using frameworks like Chicagoboos, Nova framework or Nitrogen is what I meant when I said no framework. Replacing any possible crypto parts or critical libraries like cowboy is not the intend.
I also want to learn some frontend.
I started learning Rust some time ago.
I really need to remind me a lot of basic IT topics.
The problem is how much I'd really learn.
PS: Check out this concept map that shows the high school math concepts and topics that you can use as a "progress bar" for what there is to review: https://minireference.com/static/conceptmaps/math_concepts.p...
Thanks for the link!
It's been very fun. I keep saying that I'm going to do a blog series about it, once I get it in an MVP stage.
The state of embedded Rust is also progressing very quickly underneath me, which is nice. Writing drivers is much easier now than it was at the beginning of the project.
The Youtube channel Phil's Lab has a really good series [1] on PCB design focused on STM32 series chips, that is where I started.
I also got a lot of good information in this thread [2]
And I got feedback on one of my designs on the PrintedCircuitBoard reddit, which is very active and full of amateur and pro-am PCB designers getting feedback. You can post a schematic or layout and people will leave high quality critiques.
For vendors, I have had 2 runs made with JLCPCB (with each run having flaws; some bad, and some not too bad; my board is fairly complex/ambitious so that's part of it). I have heard PCBWay is similarly cheap and good. No quality issues but I've kept traces, spacing, and components on the larger side.
I'm not good at PCB design but am having a blast with it.
[1] https://www.youtube.com/watch?v=aVUqaB0IMh4
Now I'm diving in and scratching that itch! It's also been great because I've been able to start looking beyond that to making things for the entire apple ecosystem. It's also just been so good to dive into something without any work pressure there!
In terms of finding it, it was a bit of a shot in the dark. I did some poking around and this popped up the most, specifically because I was looking for iOS specific materials. I'm sure if you want to make cross platform apps there's probably a whole host of great resources!
I tested pretty all piano app and even if it is not the slickest or most efficient, it has the most progressive learning plan of all.
Sorry, what do you mean by this?
After about 4 months of work, I'm closing in on a working v1, hoping to do an open beta in the next few months.
The goal of the course is to give people a feeling for how fast code can be by teaching how it runs at the cpu level. I like it so far.
The other day I wanted to create a 10GB file with a perl one liner and it was taking over 10 minutes and doing some napkin math I figured out that should only take 4s at 1 character per clock cycle, so something is wrong (it was flushing every single character). I tried versions that flushed less and could get it to 7s by printing chunks of 1MB. That's ultimately the goal of the class, get a rough idea of what should be possible.
What I really like about that class though is it really makes you realize even assembly is a high level language now. I had heard about it, but it didn't really make sense to me, but the course basically has you writing doing assembly that looks like it should be doing the same thing (e.g. same thing but with loop unrolling), and explains what's happening in the background making one version twice as fast as the other.
Pretty difficult champion in my opinion with a high skill ceiling.
Some matchups are brutal but honestly one of the most funnest champions to play
It also makes it easier to learn characters: Yesterday I learned the character 祂 while reading about Buddhism. It means “it”, but when referring to a god, which I could infer from the context, but also from the fact that 他 means “he” (with a person radical 人), and 她 means “her” (with a female radical 女), and I’m familiar with the radical for god/temple which is 礻.
In Chinese this also helps with “guessing” how the character should be pronounced, to an useful extent, but I don’t know if this also would apply for Japanese.
Keep up the good work!
It's a short book, so you can get through it in one sitting. The advice is mostly about OOP design, and how to shuffle things around and invent arbitrary constraints in order to make the code more testable. I found the advice fairly… underwhelming.
I decided to implement Conway's Game of Life myself (though not with OOP) as the author asserted the advice transcends implementation languages and paradigms.
My implementation isn't amazing either, but I'm not convinced by the advice in the book.
Here's my implementation.
I don't have much experience with proof-based math, which has been a constant thorn while studying physics.
I've been using a combination of my own AI, LeelaZero and KataGo to teach myself in Go. For 8 years I've languished at the same level of play. Then I met a real human teacher who taught me Go at the end of 2023. And since then my game improved. I beat my own AI (which was intentionally trained to be impoverished in skill) for the first time in January.
Learning Go is teaching me all sorts of new ideas in pedagogy and putting a dampener in any enthusiasm that involves LLMs in education.
I'm trying to understand how to break an expression down to a graph of bit functions, so I can program a BitGrid. I suspect GitHub copilot can help.
I basically want to study and be an expert in social engineering if I’m being completely blunt. That’s my whole motivation for studying psychology. And I think I should just clarify it’s not because I want to use social engineering knowledge to go do terrible things - I just find it literally fascinating.
On the one side it could be a cool side project where I can help people getting their hands dirty with Deno and follow my passion on teaching interesting topics to folks. On the other side I want to push a project of myself over the finish line and maybe make a dollar or two with it.
If you have recommendations let me know!
Swift & swift ui
I have always worked as a developer and have been building products for the past 6 years. But as a founder, you need to know GTM and growth for your product!
Initially, we used to think that we could outsource, but we were so wrong! :D Hence, now learning it on our own.
Happy to take help and suggestions, or if you are up for the discussion around growth, GTM and marketing.
It feels a bit more daunting than when I was first learning how to program, since there appears to be numerous more tutorials, but half of them are only there to promote a course and it's hard to distinguish good learning material from bad.
The allegation is that - the boundary between the “I” and “else”, that the “I” so strongly attaches itself to, is an illusion.
The other claim is that, with meditation, one can experience this truth and there is no greater joy.
This also got me interested in Creative Nonfiction and I’m reading about that now, although the Snowflake Method book is something else — a fiction story that explains a nonfiction subject.
with the free tier, he answers questions from students and that's valuable alone. with the paid tier, you get to learn the mechanics of a short story from one of america's best living short story writers.
Recently officialised my freelancing business into a corporation and it's fascinating learning about all that finance stuff.
I'm hoping to turn all that knowledge around into building tools and utilities for doing all the calculations.
Low-level programming of any mildly-complicated hardware device using microcontrollers is a PITA.
* Elixir: I am intrigued by Erlang since a decade, anyway the steep learning curve always rejected me.
* Mandarin
Would also like to start learning how to DJ
HTML/CSS/JS is fun and creative to some degree, but kinda abstract. Data engineers get to work with real-world phenomena! What prompted the interest in web stuff?
1 - I feel like more bespoke interfaces could be amazingly useful in the data world.
2 - Data engineering doesn’t really get me building creatively.
3 - Getting 3 languages to play ball (and that’s front-end only) sounds crazy challenging.
Data projects are nightmares but it is good exposure to the messiness of the real world. Have you had a chance to dig into DE much yet?
I've built some little tools for the task, which ended up teaching me enough about modern development that I could enter back into software as a career without too much hassle. There were no good Anki frequency list decks, so I made https://ankiweb.net/shared/info/1331009943 and later https://ankiweb.net/shared/info/1149950470 .
These in turn led me to devour a book on the inner workings of SQLite and web dev, because I needed some way to scrape Tatoeba without losing my data every time. Eventually I got good enough to start reading the 'clear Finnish's news, but then I realized YLE.fi didn't seem to have an easy way for me to scrape all previous news articles, so I built https://hiandrewquinn.github.io/selkouutiset-archive/ as an excuse to get a little deeper into Hugo and also learn some stuff about Git modules, systemd timers, doing things on a Raspberry Pi, doing things in GCP...
... And finally today I made the first lurching version prototype of a flashcard generator for that news archive, at https://github.com/Selkouutiset-Archive/selkokortti . I guess I just keep stringing the tools and interests I have together to make bigger and bigger things. Maybe that's all a career/vocation really is at the end of the day.
I've also been learning a lot about QEMU and virtualization. That's mostly for work. I make software that runs on trains.
Multi-turn conversation and knowledge system implementation techniques on the side.
Also, how to deal with the annual crop of leaves on a few acres of woods.
Not just 3D assets but also text recreation
There’s an A* influenced planner that helps manage the output flow so things don’t go crazy
Sketching out saving good outputs to disk and sync them across clients while I work on the core AI ->frontend bits