Do more videos in general. They are helpful in more than one way. I used to say that college professors come in two flavors: those who know the tools and those who got the stories. The first kind keeps you on track to learn a tool that you will (might) need in your work. The second time will tell you stories from the field and inspire you to get there (often at the cost of a lab time). You seem to have enough experience to share some IT related technical stuff as well as stories associated with them. It is very valuable to the community in general. It doesn't have to be expert opinion, just a log of your journey that we can learn from and get some entertainment out of.
Sorry for the smallish font -- next time I'll bump that way up. Here's the code if you want to explore/benchmark/improve it yourself: github.com/groovemonkey/go-elixir-benchmark
Yeah, I'm pumped about doing some programming projects, thanks! And yeah, I became addicted to neovim pretty hard about 4 months ago. I'd been casually using vim keybindings in other places but finally got serious about it this year and it's really paid off.
I wonder if you could build it radically different, when you start a new RandomWord module in Elixir you could spawn an Agent process (very cheap in BEAM) with the shuffled list of words and every time you take the word out you simply pop the front most items from the agent keeping the rest of the shuffled in memory.
Forget this, I tried with agent and `shuffle` was a huge bottleneck in hindsight. Might be better off keeping the "length" as a state and just do random number generator with Map.get access instead
Hi man I don't visit you channel for a while how you become go developer if I am not wrong you was as DevOps in past? Why you start to code on Go? As go developer what you thing about specially in the comparison with python? I mean about syntax, ease of coding, code support?
Hey! Yes, I'm mostly a software developer now (although I do still take care of an AWS infra, write terraform, deal with datadog, etc.). At first I found Go kind of strange, minimal, and not-very-pythonic. After taking it seriously for a few months, I began to really like it. Now I'm as productive in Go as I ever was in Python (i.e. I can develop small tools or features in the same time, or faster, than I could in Python). After a few months of working with a language I find the syntax just "goes away" -- it's much less important than I used to think. Tooling and support is truly incredible in Go -- development is easy and feels great, and the fact that you ship a single, super-fast binary at the end makes all the deployment/infra stuff SO MUCH EASIER. I hope that helps!
Yes, but that wasn't really a surprise. It's more about the kind of performance improvement you can get by using the right datastructures/algorithms and being aware of the complexity of the underlying operations that your language is doing. If elixir was just 10,000x slower than Go, it would be a hard sell for certain applications no matter how much developer productivity and extra features you gain. But getting it within an order of magnitude makes it "just as good" for most things on a practical level, and then you can really enjoy the productivity gains and everything else it gives you over Go. A 3.5x difference, you just use a slightly larger instance type on AWS and move on with your life.
Do more videos in general. They are helpful in more than one way.
I used to say that college professors come in two flavors: those who know the tools and those who got the stories. The first kind keeps you on track to learn a tool that you will (might) need in your work. The second time will tell you stories from the field and inspire you to get there (often at the cost of a lab time).
You seem to have enough experience to share some IT related technical stuff as well as stories associated with them. It is very valuable to the community in general. It doesn't have to be expert opinion, just a log of your journey that we can learn from and get some entertainment out of.
Sorry for the smallish font -- next time I'll bump that way up. Here's the code if you want to explore/benchmark/improve it yourself: github.com/groovemonkey/go-elixir-benchmark
Absolutely would love to see some projects! Also great to see you trying out Neovim!
Yeah, I'm pumped about doing some programming projects, thanks! And yeah, I became addicted to neovim pretty hard about 4 months ago. I'd been casually using vim keybindings in other places but finally got serious about it this year and it's really paid off.
still here at the end buddy. Do the projects!
Nice video! What's your editor's theme?
Would love some go projects!
I wonder if you could build it radically different, when you start a new RandomWord module in Elixir you could spawn an Agent process (very cheap in BEAM) with the shuffled list of words and every time you take the word out you simply pop the front most items from the agent keeping the rest of the shuffled in memory.
Forget this, I tried with agent and `shuffle` was a huge bottleneck in hindsight. Might be better off keeping the "length" as a state and just do random number generator with Map.get access instead
This is a cool idea, and I really appreciate that you actually tried it and followed up. Appreciate it!
From your neovim podcast! I am in the process of switching from vsc to nvim. How about you make a video as well about nvim and your workflow?
Awesome, working on it now!
still here :)
GO GO GO!
Hi man I don't visit you channel for a while how you become go developer if I am not wrong you was as DevOps in past? Why you start to code on Go?
As go developer what you thing about specially in the comparison with python? I mean about syntax, ease of coding, code support?
Hey! Yes, I'm mostly a software developer now (although I do still take care of an AWS infra, write terraform, deal with datadog, etc.). At first I found Go kind of strange, minimal, and not-very-pythonic. After taking it seriously for a few months, I began to really like it. Now I'm as productive in Go as I ever was in Python (i.e. I can develop small tools or features in the same time, or faster, than I could in Python).
After a few months of working with a language I find the syntax just "goes away" -- it's much less important than I used to think. Tooling and support is truly incredible in Go -- development is easy and feels great, and the fact that you ship a single, super-fast binary at the end makes all the deployment/infra stuff SO MUCH EASIER. I hope that helps!
As I remember you have had several videos promoting Emacs as the best editor,and now you are using neovim,have you changed your mind.
nice,
so Go is faster than Elixir.
Naturally
Yes, but that wasn't really a surprise. It's more about the kind of performance improvement you can get by using the right datastructures/algorithms and being aware of the complexity of the underlying operations that your language is doing.
If elixir was just 10,000x slower than Go, it would be a hard sell for certain applications no matter how much developer productivity and extra features you gain. But getting it within an order of magnitude makes it "just as good" for most things on a practical level, and then you can really enjoy the productivity gains and everything else it gives you over Go.
A 3.5x difference, you just use a slightly larger instance type on AWS and move on with your life.