HNHacker News
TopNewBestAskShowJobs

imaltont

73 karma · joined June 4, 2022

submissionscomments
imaltont··on Six programming languages I’d like to see
There is also Vala that was made for GTK/GObject developement. Racket also has pretty good out of the box GUI support afaik.
imaltont··on Six programming languages I’d like to see
I think the Lisps, and especially Common Lisp, in addition to Smalltalk gives you a lot of the things you mention here. That interactive development environment where you can compile any code at any time is almost a given in these, with example programs such as GNU Emacs and Nyxt, that can be reprogrammed on the fly in release mode too. It is pretty interesting to look at and play with, if you fire up something like Emacs + Slime/Sly and SBCL for Common Lisp or the bundled IDE for a Smalltalk such as Squeak or Pharo.
imaltont··on I should have loved biology
I feel the same way about just math in general, and all the sciences that derive a lot of their knowledge and systems from it. You start learning math as just high level/abstracted away things where you just have to memorize that this thing does that and in this case do this instead, especially derivation I remember they showed us the formula with dy/dx, but they never showed us any proofs of why or how that lead to the different outcomes, we just had to memorize.

Meanwhile, later when you get to higher education, math just kind of explode into this creative problem solving field with loads of interesting problems and ways to reason about them, but you almost have to relearn it/properly learn the basics over again when you get there, because you never learned why or how the basics works, just the input and output of the basics.

imaltont··on What Is Machine Learning Anyway?
As good as Ian Goodfellow's work has been, I think I have to disagree with him on what is part of the back propagation algorithm. Rumelhart et. al 1986 also describe it is a single algorithm from start to end. It is true you can use other things than stochastic gradient descent though, Mitchell also points this out by saying their algorithm was a backpropagation example using gradient descent.
imaltont··on What Is Machine Learning Anyway?
Both Tom M. Mitchell's "Machine Learning" as well as Russel & Norvig's "Artificial Intelligence: A Modern Approach" define the whole process from propagating the input until you have an output, calculate the gradient and update the weights.
imaltont··on What Is Machine Learning Anyway?
The way I like to explain it, which is how I have seen it explained several times, is that all AI can be reduced to search/optimization. ML is just applying the search over the function that will search for the final answer over a dataset (either generated on the fly or prepared beforehand). For neural networks the hypothesis space (all the solutions you are searching through to find the best ones) is the weights for the neural network, and your search strategy/optimization is (usually) backpropagation. If you translate the weights to something traversable by other algorithms they could do just "fine" (assuming infinite time and space) in it's place. It really opens the mind up for experimentation on every bit of the process. The book that really hammered it in for me was Intelligence Emerging by Keith Downing, short, great book on bio-inspired AI.
imaltont··on Open source is not about you (2018)
OSS part of FLOSS stands for open source software. It is an integral part of free software as defined by the FSF, and to open source as defined by the OSI. Any other usages of the term(s) is either ill-informed or malicious in an attempt to make it more ambiguous.
imaltont··on Development Environments
Things are highlighted as you go through, the buffers showing various values in scope is updated all the time, you can add certain variables/objects to be watched. GUD (built in) supports pretty much anything GDB can do (and also supports JDB afaik and a some others), check the manual for full feature set https://www.gnu.org/software/emacs/manual/html_node/emacs/De.... DAP (plugin/extension) is a bit more flashy and "modern", I haven't used it too much though, but it looks interesting https://emacs-lsp.github.io/dap-mode/page/features/. A nice video showcasing some of it can be seen here: https://www.youtube.com/watch?v=0bilcQVSlbM.
imaltont··on Development Environments
> Yes a JetBrains IDEs will take longer to build the AST model in RAM but once you have it they do amazing things with it. E.g semantic search and replace, etc. The debugger capabilities are spectacular, they literally show the values of variables on the side of the line you stepped over. Another cool thing, inferred types just show next to the variable definition, parameter names appear in the method call, etc. These are small things that add up to a lot on the day to day.

Emacs has all of the things mentioned, either through plugins (LSP, Tree sitter, DAP) or built in (tags, GUD). Especially LSP-mode has over the last few years made sure you can integrate your favorite text editor into pretty much any language, for certain languages/technologies it still makes sense to pull up the specialized tools for e.g. debugging, deploying, building, publishing etc, but you can do a lot with the more general tools too.

imaltont··on What's New in Ada 2022
> Just give me a simple and easy to use language that has built in packages for doing most of the common stuff (working with different data formats, network interaction etc.) and has a built in cross platform GUI library, with an IDE that lets you use a designer with drag & drop functionality for laying stuff out, before you connect all of the components in code. Somehow the wisdom of RAD (rapid application development) seems to have waned in the last decade.

Racket does all of these afaik outside of the built in WYSIWYG editor for GUIs. There probably are 3rd party designers around though.

← PreviousPage 2 of 2