I take properly to mean a structured approach to full understanding. However, the totality of math is beyond any single person. There are multiple approaches that all drift of in to different directions.
In short. There is no final Aha moment for maths at large. There are however a shit load of specific aha moments down the path
Category Theory (and more advanced Set Theory). After taking an undergraduate Set Theory course I want to explore these areas of mathematics further. I'm currently going though Thomas Jech's "Set Theory" on the Set Theory side, but haven't yet found a good, undergraduate accessible, Category Theory text.
- A deep and real understanding of the blockchain.
- Clojure. I've heard that it is not only fun, but changes the way you approach programming in general. I don't have any professional need for it, though.
- Truly understanding how neural networks work.
- Rust, although this is similar to Clojure above; I don't know what I'd actually use it for.
I'd really like to get into hobby electronics, specifically DIY guitar pedal design.
There's a great subreddit, /r/diypedals, which I've been lurking for a while, I just haven't made the dive into buying my first kit and soldering equipment. Does anyone here on HN have any tips or words of wisdom?
No tips, but I think this is one of the best ways to learn electronics. I took electronics classes in university but it wasn't until I actually had real circuits that I wanted to build (in my case amplifiers) that the material really started clicking for me.
I think its helpful to understand the basic principles of soldering. There are obviously tons of youtube videos out there.
The underlying mechanics of soldering are that you are effectively making a metal to metal connection, which serves as both electrical conduction, and mechanical strength. The key to making good solder joints in the mechanical sense, is to ensure that the solder reaches the full melting point, so that it flows as a liquid. Once it flows as a liquid, it will wick onto/into the metal you are trying to fasten, the components and circuit board.
There is a second component to solder, flux, which essentially optimizes this flow. As you heat the solder, the flux activates, as well as boils off. So this is why its somewhat time sensitive. It is during this activation period that the solder is optimally positioned to make good joints. If you just leave the iron right on the solder for too long, the flux burns off, and the metal starts clumping again, becoming less like a liquid and more like a solid. In this state, its kind of a losing battle to continue to attempt to form a good solder joint. The caveat to flux is that you must clean it off when you are done, as it is corrosive. There are no-clean fluxes out there too, meaning that they don't need cleaning.
Thus, I've found the key to being able to solder well is to pay attention to the flux, and the viscosity of the solder. You can get flux by itself, to add as needed. You can buy it in a marker, or a bottle. This is very helpful with small pitched parts, because it allows the solder to wick very efficiently, as opposed to forming unwanted solder bridges.
When your solder joint cools, you want it to be a nice hyperbolic transition from the horizontal plane of the circuitboard, to the vertical surface of your part lead. In other words, you want it to be concave, as opposed to convex. Another key metric to look for is the shininess of the cooled joint. If its dull, its because some part of the process didn't happen correctly. Add some flux, and hit it again.
In terms of actual technique with the soldering iron, the key science to remember is heat transfer. You are taking one hot piece of metal (the iron), and mating some surface area with another piece of metal, the place where your component meets the circuit board, with the goal of heating that second piece of metal to the point where it will melt the solder. Thus, positioning the tip to have maximum surface contact with your joint is beneficial. Dont be afraid to put a decent amount of pressure as you are applying the tip as well. This will increase that surface area, and the heat transfer.
Finally, this is going to make smoke, and get chemicals on your hands. If you just have a fan blowing at your work area, you are defeating all of your heat transfer work. I've found using a small desk fan, and just having it far enough away to draw the smoke away is a good compromise. Point the fan away from the work, not towards. Also, wash your hands after you solder. You don't want to put that stuff in your body.
Buying some through-hole protoboard with individual solder pads, and some resistors is a good way to practice. Dont worry about the circuit your building, just try to get the hang of making good solder joints.
This is aimed at people soldering through hole, not surface mount, components.
Really, it's not that hard. I'm clumsy, but I could solder pretty well. Buy an iron. Get hold of old scrap circuit boards and some cheap components and some solder. For beginners you'll want to try to get tin/lead solder with built in flux.
People will recommend some very expensive stations, and those are nice, but you don't really need them. Just get something for electronics work, and avoid the cheapest products.
Apply a tiny bit of solder to the hot tip, put the tip on the joint, apply the solder, remove the solder, remove the tip. You're heating the joint which heats the solder. You need to do this somewhat rapidly to avoid damaging the pads and overheating the solder.
When you buy a kit it'll come with wire. That wire is probably going to use PVC insulation. You'll need to practice soldering PVC wire. You can buy a whole reel for quite cheap. PVC insulation will "shrink back" when heated. Practice will help. (As will rubber sleeving to go over those joints. Here's one example of a product, but there are many: https://www.canford.co.uk/Products/39-420_HELLERMANN-SLEEVES...)
OpenAI is throwing a RL (and Transfer Learning) contest right now, I am using it as an opportunity to learn and re-implement the current best RL stuff. https://contest.openai.com/
If you end up joining the contest, shoot me a message on the discord, I would love to chat about RL (I am `lyons` on the discord).
Getting into amateur radio is a good way to pursue these activities. GNURadio is popular and well-supported for software-defined-radio systems, and hardware can be a cheap as $10.
If you're talking about kinematic control systems, building a quadcopter or RC plane may be worthwhile. There are tons of self-balancing arduino-powered things out there too.
I'm with you. I used to love web development. These days I find it exhausting unless you limit yourself to a clear set of tools and ignore the rest, at least for a while.
Even if you don't end up using React itself, alot of libraries are similar in concept. By learning one you can gain the concepts to use many. For example vue.js is really easy to pick up if you already know react.
Read "Blender 3D Basics"[1], this book is pure garbage. It's 70% of offtopic and author clearly doesn't have experience with blender and can only make some basic things. Author clearly have been paid for number of words and didn't even attempted to fill with useful information. Pure waste of time.
Then tried more advanced book "Blender Master Class"[2], it was actually easy to follow and understand until some point when it went from one pic of blocks to fully modeled temple.
(Just make the rest of owl)
Next book I want to try is "Blender 3D Incredible Machines"[3] this time I made quick read of it. It looks like perfect place to learn blender.
I started doing this recently, but I want to use a laptop. Blender seems better suited to a full size keyboard and proper mouse. Does anyone use it with a laptop keyboard and trackpad?
I would say that in the abstract, if this is a skill you want to learn, don't let the specific tool choices get in the way of the education. Give yourself every opportunity for success, by choosing the recommended tools, as you can afford them. A better way to think of good tools is that they get all of the bullshit out of your way so you can work at maximum efficiency. Thus, until you actually learn the skill, trying to impose your own preconceived notions of the right tools for the job is complete guesswork.
Once you understand the basic logistics, then you are positioned to judge specific characteristics of your tools, and make educated decisions about which accentuate your craft, and which cause you endless grief to just perform their basic tasks.
I don't use blender, so I'm not sure if it is highly specialized for a particular application. However, Autodesk Fusion 360 is a perfectly capable program as well, and has very favorable licensing if you are a hobbyist. They've done a really good job with first party tutorials, both in written copy, and videos. It seems to be one of the hottest tools in the 3D printing community right now, so the community is robust for support as well.
Where it really shines though is that anything you can make happen in the GUI, you can also make happen in python. In fact, I believe it is possible to simply "trace" what you are doing in the GUI, and use that as a guide for how to do it in your own custom code. Thats the "Fusion" part of the name. You can do the actual modeling with code. You can also create more gui features. For instance, you can make a button on the toolbar that, once clicked, checks for user selected geometry. If any is found, do operation X upon that geometry. This pattern alone makes me think that Fusion 360 is an excellent tool to approach CAD from the perspective of a coder.
I shouldn't have said "3D modeling" there. I'm more interested in "3D art" than in CAD models.
I've found some books about preparing models for 3D printing in Blender. Also it has quite big number learning materials about it.
> This pattern alone makes me think that Fusion 360 is an excellent tool to approach CAD from the perspective of a coder.
While many people hate blender's UI, I really liked it because it fells like writing text in Vim. At first it is hard to understand it, but then you learn hotkeys and you stop calling actions from toolbars/menus and simply input action using keyboard.
As simple example: <TAB> (To switch to edit mode) e (To duplicate all selected points) g (To move selected points) x (along X axis) 2 (by 2 units)
5 keys and I've made duplicate of current object and moved it a little. Without touching mouse. I really like blender for all these hotkeys they make modeling much faster and easier.
Russian, better; I've been through the Duolingo course many times over now. I like it's teaching style, but it ends too soon, and I'm struggling to find good learning resources to advance to a higher level.
More mathematics, particularly more degree-level analysis and geometry. It's the area that interests me most, and I feel I missed out on it doing a computer science degree. I'd also like to understand elliptic curve crypto.
Not really a "topic", but I've wanted to get around to learning piano for a while now.
- Better theories of social interaction patterns online. I don't even know if that body of knowledge is out there outside of facebook/google, but i wish I had a better concrete understanding of how people interact online.
- Off-the-beaten-path interface design. UI design seems to have converged around a set of principles that are generally pretty sound, but seem to have been optimized for looking good in demos but lead to underwhelming user experiences.
For me all I can think of when asked this question is all the topics I wish I could learn/study that are not specifically software / programming / information technology related.
Wood frame construction, new ways to run organizations (e.g. Holocracy etc.), how to build solar power systems, how water purification systems work (e.g. Hydrolysis or reverse osmosis), cooking and baking... so many more.
And, probably Tensorflow/Keras, Kubernetes, Angular, VR and maybe a deeper dive into Apache Spark. I didn't really ever get into blockchain. But lately I don't feel as motivated about the latest technology fad. Which is surprising even to me!
In the general sense, I've found that the best way to learn a new skill is to find an application that you are really interested in. This switches the goal from learning something to doing something interesting/fun. It is this motivation of wanting to use the end result that will sustain you through the grind of learning the skill.
Haskell. I can only do simple things and need to understand more jargon.
Category Theory. I'm actually fixing this right now doing an online course.
3d modelling. Haven't gotten started. Really want to learn it.
Rust / Clojurescript. I've started several times but not really been invested enough in the projects I think up to get very far.
Swimming. I am also starting to make progress here.
Handstand. I have the strength and flexibility but need better technique.
Spanish. I understand when I listen but haven't learned how to speak, need to move to a latin country.
Eye contact. I can do it with some people but with others (people who feel insecure) I empathize too much and break eye contact and start talking to the sky.
Sperm retention. I want to be able to control my ejaculation, I've practiced a little but it's quite hard.
Mh, there's a bunch of things, but not enough time.
I might want to look at some modern C++ style, but it's tricky to figure out a year to land on, and it's tricky to find a good book. This could be interesting for some gaming projects or simulation projects of mine.
I might want to look at salt/ansible from a professional perspective. I'm a chef guy, but it'd be good to know some of the other tools around. This is mostly a case of lazy and lack of personal project. Containers and orchestration systems as well, but that's planned at work.
Beyond that, electronics and model building. I've gotten myself some lego, an arduino, but I'll need to work more on that to do ... things. I dunno. Make my lego crane automatically pick up bright pink blocks or something. From there, I'd probably venture further into model building, like ships or planes. Or Nerf-Tanks. it sounds really useful to me to have a good basic grasp of low-voltage electronics, and how you'd wire up a home or how you'd fix simple electronic devices. It's something I'd be missing if I was supposed to build my own home from scratch.
And beyond that - but I really want to get going there this summer - get and learn to paddle a folding canoe. I need to work on my work-life balance, and paddling a canoe is a great thing to just ignore the world. It's hard to think about binary deployments if there is a duck racing you.
55 comments
[ 3.1 ms ] story [ 124 ms ] threadIn short. There is no final Aha moment for maths at large. There are however a shit load of specific aha moments down the path
Second was authentication using PostgREST.
- A deep and real understanding of the blockchain.
- Clojure. I've heard that it is not only fun, but changes the way you approach programming in general. I don't have any professional need for it, though.
- Truly understanding how neural networks work.
- Rust, although this is similar to Clojure above; I don't know what I'd actually use it for.
Not for network applications. It's nearly impossible to make async tcp server right now. But it's promising language. So let it mature.
There's a great subreddit, /r/diypedals, which I've been lurking for a while, I just haven't made the dive into buying my first kit and soldering equipment. Does anyone here on HN have any tips or words of wisdom?
The underlying mechanics of soldering are that you are effectively making a metal to metal connection, which serves as both electrical conduction, and mechanical strength. The key to making good solder joints in the mechanical sense, is to ensure that the solder reaches the full melting point, so that it flows as a liquid. Once it flows as a liquid, it will wick onto/into the metal you are trying to fasten, the components and circuit board.
There is a second component to solder, flux, which essentially optimizes this flow. As you heat the solder, the flux activates, as well as boils off. So this is why its somewhat time sensitive. It is during this activation period that the solder is optimally positioned to make good joints. If you just leave the iron right on the solder for too long, the flux burns off, and the metal starts clumping again, becoming less like a liquid and more like a solid. In this state, its kind of a losing battle to continue to attempt to form a good solder joint. The caveat to flux is that you must clean it off when you are done, as it is corrosive. There are no-clean fluxes out there too, meaning that they don't need cleaning.
Thus, I've found the key to being able to solder well is to pay attention to the flux, and the viscosity of the solder. You can get flux by itself, to add as needed. You can buy it in a marker, or a bottle. This is very helpful with small pitched parts, because it allows the solder to wick very efficiently, as opposed to forming unwanted solder bridges.
When your solder joint cools, you want it to be a nice hyperbolic transition from the horizontal plane of the circuitboard, to the vertical surface of your part lead. In other words, you want it to be concave, as opposed to convex. Another key metric to look for is the shininess of the cooled joint. If its dull, its because some part of the process didn't happen correctly. Add some flux, and hit it again.
In terms of actual technique with the soldering iron, the key science to remember is heat transfer. You are taking one hot piece of metal (the iron), and mating some surface area with another piece of metal, the place where your component meets the circuit board, with the goal of heating that second piece of metal to the point where it will melt the solder. Thus, positioning the tip to have maximum surface contact with your joint is beneficial. Dont be afraid to put a decent amount of pressure as you are applying the tip as well. This will increase that surface area, and the heat transfer.
Finally, this is going to make smoke, and get chemicals on your hands. If you just have a fan blowing at your work area, you are defeating all of your heat transfer work. I've found using a small desk fan, and just having it far enough away to draw the smoke away is a good compromise. Point the fan away from the work, not towards. Also, wash your hands after you solder. You don't want to put that stuff in your body.
Buying some through-hole protoboard with individual solder pads, and some resistors is a good way to practice. Dont worry about the circuit your building, just try to get the hang of making good solder joints.
Here is the standard that everyone gets, but sometimes there are deals on other ones: https://www.amazon.com/Hakko-FX888D-23BY-Digital-Soldering-S...
This is aimed at people soldering through hole, not surface mount, components.
Really, it's not that hard. I'm clumsy, but I could solder pretty well. Buy an iron. Get hold of old scrap circuit boards and some cheap components and some solder. For beginners you'll want to try to get tin/lead solder with built in flux.
People will recommend some very expensive stations, and those are nice, but you don't really need them. Just get something for electronics work, and avoid the cheapest products.
Apply a tiny bit of solder to the hot tip, put the tip on the joint, apply the solder, remove the solder, remove the tip. You're heating the joint which heats the solder. You need to do this somewhat rapidly to avoid damaging the pads and overheating the solder.
When you buy a kit it'll come with wire. That wire is probably going to use PVC insulation. You'll need to practice soldering PVC wire. You can buy a whole reel for quite cheap. PVC insulation will "shrink back" when heated. Practice will help. (As will rubber sleeving to go over those joints. Here's one example of a product, but there are many: https://www.canford.co.uk/Products/39-420_HELLERMANN-SLEEVES...)
- C (I have the modern C book, just need to do it. My end goal is to get a PR into the linux kernel)
- SICP + lisp
- basic design, so I can have some idea of where to put things/page structure
I keep track this kind of stuff in a trello list. I have a lot in the ToDo column
If you end up joining the contest, shoot me a message on the discord, I would love to chat about RL (I am `lyons` on the discord).
If you're talking about kinematic control systems, building a quadcopter or RC plane may be worthwhile. There are tons of self-balancing arduino-powered things out there too.
https://www.youtube.com/channel/UCOKHwx1VCdgnxwbjyb9Iu1g
I came across his channel when an interesting interview he did with Blender's founding creator was linked on here a while back.
Read "Blender 3D Basics"[1], this book is pure garbage. It's 70% of offtopic and author clearly doesn't have experience with blender and can only make some basic things. Author clearly have been paid for number of words and didn't even attempted to fill with useful information. Pure waste of time.
Then tried more advanced book "Blender Master Class"[2], it was actually easy to follow and understand until some point when it went from one pic of blocks to fully modeled temple. (Just make the rest of owl)
Next book I want to try is "Blender 3D Incredible Machines"[3] this time I made quick read of it. It looks like perfect place to learn blender.
[1]: https://www.amazon.com/Blender-3D-Basics-Fisher-Gordon/dp/18...
[2]: https://www.amazon.com/Blender-Master-Class-Hands-Sculpting/...
[3]: https://www.amazon.com/Blender-Incredible-Machines-Christoph...
https://blender.stackexchange.com/questions/124/how-to-emula...
Once you understand the basic logistics, then you are positioned to judge specific characteristics of your tools, and make educated decisions about which accentuate your craft, and which cause you endless grief to just perform their basic tasks.
Where it really shines though is that anything you can make happen in the GUI, you can also make happen in python. In fact, I believe it is possible to simply "trace" what you are doing in the GUI, and use that as a guide for how to do it in your own custom code. Thats the "Fusion" part of the name. You can do the actual modeling with code. You can also create more gui features. For instance, you can make a button on the toolbar that, once clicked, checks for user selected geometry. If any is found, do operation X upon that geometry. This pattern alone makes me think that Fusion 360 is an excellent tool to approach CAD from the perspective of a coder.
I've found some books about preparing models for 3D printing in Blender. Also it has quite big number learning materials about it.
> This pattern alone makes me think that Fusion 360 is an excellent tool to approach CAD from the perspective of a coder.
While many people hate blender's UI, I really liked it because it fells like writing text in Vim. At first it is hard to understand it, but then you learn hotkeys and you stop calling actions from toolbars/menus and simply input action using keyboard.
As simple example: <TAB> (To switch to edit mode) e (To duplicate all selected points) g (To move selected points) x (along X axis) 2 (by 2 units)
5 keys and I've made duplicate of current object and moved it a little. Without touching mouse. I really like blender for all these hotkeys they make modeling much faster and easier.
More mathematics, particularly more degree-level analysis and geometry. It's the area that interests me most, and I feel I missed out on it doing a computer science degree. I'd also like to understand elliptic curve crypto.
Not really a "topic", but I've wanted to get around to learning piano for a while now.
- Off-the-beaten-path interface design. UI design seems to have converged around a set of principles that are generally pretty sound, but seem to have been optimized for looking good in demos but lead to underwhelming user experiences.
Wood frame construction, new ways to run organizations (e.g. Holocracy etc.), how to build solar power systems, how water purification systems work (e.g. Hydrolysis or reverse osmosis), cooking and baking... so many more.
And, probably Tensorflow/Keras, Kubernetes, Angular, VR and maybe a deeper dive into Apache Spark. I didn't really ever get into blockchain. But lately I don't feel as motivated about the latest technology fad. Which is surprising even to me!
Original poster, why do you ask?
Category Theory. I'm actually fixing this right now doing an online course.
3d modelling. Haven't gotten started. Really want to learn it.
Rust / Clojurescript. I've started several times but not really been invested enough in the projects I think up to get very far.
Swimming. I am also starting to make progress here.
Handstand. I have the strength and flexibility but need better technique.
Spanish. I understand when I listen but haven't learned how to speak, need to move to a latin country.
Eye contact. I can do it with some people but with others (people who feel insecure) I empathize too much and break eye contact and start talking to the sky.
Sperm retention. I want to be able to control my ejaculation, I've practiced a little but it's quite hard.
I might want to look at some modern C++ style, but it's tricky to figure out a year to land on, and it's tricky to find a good book. This could be interesting for some gaming projects or simulation projects of mine.
I might want to look at salt/ansible from a professional perspective. I'm a chef guy, but it'd be good to know some of the other tools around. This is mostly a case of lazy and lack of personal project. Containers and orchestration systems as well, but that's planned at work.
Beyond that, electronics and model building. I've gotten myself some lego, an arduino, but I'll need to work more on that to do ... things. I dunno. Make my lego crane automatically pick up bright pink blocks or something. From there, I'd probably venture further into model building, like ships or planes. Or Nerf-Tanks. it sounds really useful to me to have a good basic grasp of low-voltage electronics, and how you'd wire up a home or how you'd fix simple electronic devices. It's something I'd be missing if I was supposed to build my own home from scratch.
And beyond that - but I really want to get going there this summer - get and learn to paddle a folding canoe. I need to work on my work-life balance, and paddling a canoe is a great thing to just ignore the world. It's hard to think about binary deployments if there is a duck racing you.