Тёмный
Developer Voices
Developer Voices
Developer Voices
Подписаться
Discover the future of software from the people making it happen.

Listen to some of the smartest developers we know talk about what they're working on, how they're trying to move the industry forward, and what you can learn from it. You might find the solution to your next architectural headache, pick up a new programming language, or just hear some good war stories from the frontline of technology.

Join your host Kris Jenkins as we try to figure out what tomorrow's computing will look like the best way we know how - by listening directly to the developers' voices.
Zig as a Multi-OS Build System (with Loris Cro)
1:19:07
2 месяца назад
Creating and Evolving Elixir (with José Valim)
1:42:22
2 месяца назад
Building the Zed Text Editor (with Nathan Sobo)
1:23:52
3 месяца назад
Reimplementing Apache Kafka with Golang and S3
1:23:05
4 месяца назад
Designing Actor-Based Software (with Hugh McKee)
1:12:03
4 месяца назад
Developing a Neovim Docker Plugin from Scratch
23:16
6 месяцев назад
Taking Erlang to OCaml 5 (with Leandro Ostera)
1:03:57
6 месяцев назад
The Magic of Property Testing
11:58
6 месяцев назад
Creating Hackathons that Work (with Jon Gottfried)
1:03:03
6 месяцев назад
Комментарии
@OscarFelipe
@OscarFelipe 2 часа назад
an enzyme programmed in lisp that influence on maillard reactions? that could be amazing
@anonymousfigure37
@anonymousfigure37 3 часа назад
The ease of setting server-client boundaries reminds me of all the work being done on Electric Clojure. Cool stuff!
@glob514
@glob514 10 часов назад
I’ve been waiting for this episode to be released! Loved it 💜
@giacomo_cavalieri
@giacomo_cavalieri 10 часов назад
Lovely interview! 💜
@alphabitserial
@alphabitserial 11 часов назад
Hayleigh is a rockstar in the Gleam community! She's so bright, and I love the way she's so intentional with her words. I've been playing with Lustre and it's very good!
@SnowDaemon
@SnowDaemon 11 часов назад
great interview! love hayleigh, shes great.
@Endelin
@Endelin 12 часов назад
I too had seen Elm, was weirded out by the commas being before each item in lists. After exploring some OCaml and Haskell I came back to Elm. Now I love Elm. I think of it as Haskell-Light, with everything you need and nothing you don't.
@tommaisey9069
@tommaisey9069 13 часов назад
Hayleigh thinks deeply about architecture and it's fascinating to listen to her reason through the trade-offs between different models. I'm loving Gleam and Lustre, so thanks for the software as well as the podcast!
@fredguth1315
@fredguth1315 14 часов назад
Why build on top of Gleam instead of Elixir?
@matthew_jackson
@matthew_jackson 9 часов назад
Gleam is statically typed. This is a huge win.
@klirmio21
@klirmio21 14 часов назад
Thank you for this interview! As a junior front end developer, it was very interesting to watch it, learn about Gleam and Lustre. I tried elm and one thing I liked about it - very helpful and readable error messages, but sadly - there are 0 jobs in my location with it. I really like your interviews, you're doing a really good job!
@AdamChalmers
@AdamChalmers 17 часов назад
The cats in the background!!!!!!!!
@cbrunnkvist
@cbrunnkvist 20 часов назад
Whatever you do Loris, please, please I beg you :) do NOT reinvent Scala's SBT by chasing the dragon's tail of build-system-self-bootstrapping #declarativeToDeathAndBeyond
@klirmio21
@klirmio21 День назад
2:33 - holy shit that was smooth!
@Laurent_GameDev
@Laurent_GameDev День назад
I'm currently learning Odin, and it seems like every time I delve into a topic, I'm always amazed at how cleverly things are done in Odin. The more I use Odin, the more I agree with his maxim "Odin is the alternative to C for the joy of programming". I invit any coder to test it for a few weeks. It's an amazing language for coding.
@toby9999
@toby9999 2 дня назад
Why would anyone still be using make files in 2024?
@vikaspoddar001
@vikaspoddar001 3 дня назад
Can you workout a podcast episode with the devs of rustpython interpreter
@vikaspoddar001
@vikaspoddar001 3 дня назад
There is rye build system written in rust and its being developed by flask's (web micro-framework for python) author. Currently, its maintained under astral
@kuhluhOG
@kuhluhOG 3 дня назад
What baffles me around Hare is that multithreading is not supported at all, to a point where they explicitly state that you should not do this, are on your own and that the stdlib could possibly break from doing that (since it's not threadsafe). Did they even look at how computer hardware evolved over the last -10- 5 years? Or how hardware manufacturers say where things are going to go in the next decade? If this wouldn't be a systems programming language, fine, a higher level language can get away without support for it (look at Python), but a systems programming language?
@budiardjo6610
@budiardjo6610 4 дня назад
wow, learning a lot of thing.
@phononify
@phononify 4 дня назад
Very interesting talk ❤
@robfielding8566
@robfielding8566 5 дней назад
I did iOS development, making music instruments. I wrote my own engine, but I tinkered with Chuck, Faust, SuperCollider, CSound. When I stopped doing iOS music app development, Julius Orion Smith III got the IP for my app, and they made Geo Shred with their own company. Having FFTs and filters, and vectorized acceleration is a good idea for a language. It's similar to how good a vectorizable language for AI is a good idea. (Mojo would be the closest contender.) audio is basically a hard-real-time app. you get loud pops when you miss an audio deadline. so, usually it will get used in a C, Rust, etc runtime.
@0LoneTech
@0LoneTech 5 дней назад
For those who'd like to scratch more surfaces, you might want to look into CSP (e.g. Transputer, XMOS, Occam), Clash and Futhark, or some DSPs like the Epiphany processors (with their dedicated loop modes). C is amazingly awkward for functional pipelines.
@TJ-hs1qm
@TJ-hs1qm 5 дней назад
my goto explainer video for sampling rates and aliasing ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE--jCwIsT0X8M.html
@rodrigoetoobe2536
@rodrigoetoobe2536 6 дней назад
the server modules compiled to wasm is genius.
@leonid998
@leonid998 6 дней назад
i have a feeling that also aliasing has been mentioned and talked about in broader context, lots of watchers may have no idea what it is in current application, why it happens and it'd be nice to explain just in few words at least
@boo9523
@boo9523 6 дней назад
Cool and pragmatic interview. I am just 6 mins in so far.
@MichaelSchuerig
@MichaelSchuerig 6 дней назад
Starting at around 44:20, Romain explains pipelining on an FPGA. What he describes (AFAICT) is re-using a single hardware resource multiple times to process data. I imagine a case where each channel of multi-channel audio is processed by the same block of hardware, instead of dedicated hardware for each channel. I think "multiplexing" would be a better term for this. However, my understanding of FPGA lingo is nonexistent, I'm understanding from what I know about CPUs. With this background, pipelining on an FPGA would involve keeping all hardware resources busy by decomposing computations into small, successive steps that can be executed in parallel for a stream of inputs. Can anyone clarify this?
@0LoneTech
@0LoneTech 5 дней назад
You're right, pipelining is time domain multiplexing at the function block level. If you have some fairly complex function, it takes time to complete it, as it propagates through multiple layers of logic. If we add registers spread out in that deep logic, the depth is lower so we can raise the frequency, but the new registers must then be filled with more data. The stages of the pipeline are like work stations along a conveyor belt. It's the same in CPUs; a pipelined CPU has multiple instructions at varying stages of completion. A revolver CPU, such as XMOS XS1, runs instructions from multiple threads to ensure they're independent (generic name SMT, hyperthreading is one example). MIPS instead restricts the effects, such that the instruction after a branch (in the delay slot) doesn't need to be cancelled. DSPs like GPUs specialize in this sort of thing, and might e.g. use one decoded instruction to run 16 ALU stages for 4 cycles (described as a wavefront or warp).
@leonid998
@leonid998 6 дней назад
porting to mlir?... //
@mattanimation
@mattanimation 7 дней назад
sounds like a great project. will by gnarly if they can sort out the VHDL and Verilog backends
@kahnzo
@kahnzo 7 дней назад
I'd love to see a "compile to Gleam" work done on this
@DeveloperVoices
@DeveloperVoices 6 дней назад
From the sounds of it, that would be a very achievable project. 🙂
@FunkyELF
@FunkyELF 7 дней назад
This discussions seems to conflate "real-time" with "fast". Programming in C, C++ or Rust doesn't magically get you "real-time", nor is it required. Real-time is more about being deterministic which requires help from the operating system itself as well. No such thing as a "real-time" programming language that runs on Windows, Linux, or any other non-RTOS.
@raphaeld9270
@raphaeld9270 7 дней назад
Thanks for the comment. I did not know too much about RealTime Operating Systems (RTOS), but seems like Linux only recently got support inside the kernel: EDIT: Seems none of the links made it through, but there is an article on zdnet called "20-years-later-real-time-linux-makes-it-to-the-kernel-really"
@raphaeld9270
@raphaeld9270 7 дней назад
Have a great day :D
@raphaeld9270
@raphaeld9270 7 дней назад
Seems none of the links made it through, but there is an article on zdnet called 20-years-later-real-time-linux-makes-it-to-the-kernel-really
@tommaisey9069
@tommaisey9069 6 дней назад
In the audio context, that 'help' from the OS is that your audio processor is called on special thread, which has 'more realtime guarantees' than a normal thread. You're right that this isn't a true realtime context like an RTOS, but it's usually pretty good (or your computer's audio would glitch constantly). It's an audio programmer's job not to mess it up by causing priority inversions with lower-priority threads, or to make system calls that lack worst-case latency guarantees. This is usually only possible in C, C++ or Rust.
@0LoneTech
@0LoneTech 5 дней назад
Linux is an RTOS, though many don't use that functionality (e.g. core reservation, memory locking, scheduler replacement). And there are real time programming languages, e.g. the Copilot Realtime Programming Language and Runtime Verification Framework. It's common to relegate hard realtime tasks of limited complexity to coprocessors like PRUs in BeagleBone, PIOs in Raspberry Pi MCUs, or separate microcontrollers. An example of such a task is dynamic voltage and frequency scaling in mainline CPUs.
@danielsinderson1047
@danielsinderson1047 7 дней назад
A fantastic interview as always! I’ve been a hobbyist digital synth designer for ~6 years, and a functional(ish) language for audio that transpiles to C and JS is literally a wish come true. The additional possibility of targeting FPGAs was beyond what I thought prudent to wish for. I will be checking this out immediately.
@redcollard3586
@redcollard3586 7 дней назад
Yeah I got a little excited when he started talking about FPGAs. In terms of latency they CRUSH a general purpose computer.
@randomgamevideos241
@randomgamevideos241 7 дней назад
nim ?
@AdrianBoyko
@AdrianBoyko 7 дней назад
I’ve been doing signal processing for software defined radio in Pony-lang and my framework is concurrent in the way that Kris asks about at 27:58. Every “block” in my framework is a Pony Actor and the Pony runtime schedules them across the available cores. And inside each block/actor, the processing almost always takes advantage of vector operations. I haven’t measured the upper limit of performance but I’ve been processing streams with hundreds of thousands of samples per second - much higher than a typical audio data rate like 48k.
@encapsulatio
@encapsulatio 4 дня назад
Do you like Pony more than Rust?
@adicide9070
@adicide9070 7 дней назад
where's is that Jon Blow interview?? that'd be something..
@timidlove
@timidlove 7 дней назад
I'm starting to worry the half-on headphone will drop
@DeveloperVoices
@DeveloperVoices 7 дней назад
😁
@aadv1k
@aadv1k 7 дней назад
I've never been much of a podcast "listener" especially with how the flooded the market is with mediocre q/a sessions masquerading as "informational podcasts". THIS is what I was looking for, an informative, and actually interesting session I can actually watch for entertainment! awesome (or idk maybe I am just a nerd) Keep it up man, you have some really dedicated folks rooting for ya!
@CjqNslXUcM
@CjqNslXUcM 7 дней назад
Exactly. I can't take another famous host talking to a famous guest about nothing. Give me something I don't know.
@aadv1k
@aadv1k 7 дней назад
@@CjqNslXUcM Yeah. These podcasts like "diary of a CEO" and many other I don't care to mention, it seems they have really accepted their identity as slop that people hear in background and don't really care about. Same generic cookie cutter questions, same circlejerk either trying to appease the guest or shill their product (looking at you Huberman)
@DeveloperVoices
@DeveloperVoices 6 дней назад
Yeah, hosting a podcast like that would hold zero interest for me. I'm here to learn too! :-)
@neoa6401
@neoa6401 7 дней назад
omg this podcast is really exploring all kinds of interesting topics! I was a music nerd playing around with these dsp languages before I turned into a language nerd lol, so it is really interesting to see faust here! For anyone who find this field interesting, be sure to also check out supercollider, it is basically a powerful audio engine that comes with a OOP language called sclang.
@chewbaptiste
@chewbaptiste 8 дней назад
i enjoyed the conversation alot, thank you ! looking forward to using jooq
@libcheet
@libcheet 9 дней назад
"Write once, run everywhere" - it is as almost I heard this lie before :)
@thegeniusfool
@thegeniusfool 9 дней назад
I get a HolyC feeling here.
@alphabitserial
@alphabitserial 10 дней назад
Loris's static site generator, Zine, is awesome! I would love to see him back on to talk about that. It even ships with an HTML LSP that actually reports errors - the VSCode extension is written in zig and built to WASM!
@HalfMonty11
@HalfMonty11 10 дней назад
This was enthralling and I'm surprised at how few comments there are and the percentage of them off topic or talking about some other language he should have used. Personally this conversation bloomed my fledgling interest in lisps. I'm downloading a compiler now to get started learning. I have no delusions that I would ever make something as important with it but his interest in a forever language and one that can be adapted to the problem rather than the other way around speaks deeply to me. Great conversation, thank you to both of you.
@onedarkcoder
@onedarkcoder 11 дней назад
Great interview! During my undergrad, I worked on fluid simulation for my final year project. Later, I transitioned into programming at a bank. Listening to her talk about Maple software, CUDA programming, and SPH techniques brought back so many memories-I could understand it all. Definitely a nostalgic moment!
@toby9999
@toby9999 11 дней назад
This language sounds worse to me than rust and zig and a bunch of other C or C++ wannabes. Use only once seems like a bunch of unnecessary overhead for no good reason.
@0LoneTech
@0LoneTech 12 дней назад
I totally agree on preferring Rust over C++, but it isn't a magical silver bullet. What you want isn't just CUDA in Rust, but the best pieces of Halide, Chapel and Futhark. Chapel has a strong concept of domain subdivisions and distributed computing, Halide has algorithm rearrangements, Futhark has a less noisy language with some strong library concepts like commutative reductions and tooling that can autotune for your data. You'd also want a reasonably integrated proof system, as in Idris 2. The core thing that Chapel and Halide bring is the ability to separate your operational algorithm from your machine optimizations. E.g. if you chunk something for optimization, the overall operation is still the same. Futhark does some of that too, but only profile guided. Some fields approach this by separately writing formal proofs that two implementations are equivalent instead, but it's a much smoother process if you can maintain that as you write, like Idris attempts.
@SoulExpension
@SoulExpension 12 дней назад
I think Zig is the proper evolutionary step. I waited almost 15 years for something like Rust. Never thought about the ramifications of borrow-checker, or even the difficulties of bringing OOP concepts down to a functional and procedural level. We simply accepted C for years, and still do. I'm excited about Zig. I want to find out if I can get Adam Dunkel's protothread working, or if the code trick fails. I think Zig will be perfect for embedded. When I read MicroZig has affinity to utilize both M0+ cores, I was like ya... this... evolve.
@thegeniusfool
@thegeniusfool 12 дней назад
I am sold on these linear types. Ok, maybe not.
@ProgrammingRainbow
@ProgrammingRainbow 12 дней назад
Again, pushing a fantasy of google using this to serve you ads without them knowing your info is wild. Google has you uniquely IDed they have your psychological profile, and they have what you're looking at. None of this is hidden from them. They need to know its you. They need to know what you're looking at, what ad was served to you, and if you interact with it. Can you imagine google not knowing what ads were successfully shown because it was anonymous. Stop floating these nonsensical fantasies. Googles' disinformation and misdirection engines are strong enough. They don't need your help
@thegeniusfool
@thegeniusfool 12 дней назад
I like Kris’ curiosity and lack of fear of show g his own vulnerabilities and ven outright ignorance in the field f language design.