15 ms·
Lisp at the Frontier of Computation [video]
- agumonkey 9y agoonly 20 minutes in, very interesting talk, although, python is in the gang too ;)
- hyperion2010 9y agoHaving started in python land, and having started to wander into the borders of lisp land, this talk covers the experience of the transition very well. More importantly it provides great suggestions for the social aspects of getting new users over the hump (with happy intern comments as well, (I would like to hear the unhappy ones as well)). Overall a good talk about the realities of one way to use lisp successfully in a 'modern' software development environment.
- leaveyou 9y agotoo bad the audio quality is low..
- sprayk 9y agoindeed. there is nothing even coming out of the right channel. I had to verify with another audio source that something wasnt broken. To top it off, comments are disabled on the video so there is no way to give this feedback.
- reikonomusha 9y agoSorry about that. Our microphone/recording rig wasn't set up in time, and had to resort to a batter-powered lapel mic. We will try to at least duplicate the channel. I hope that the audio is at least relatively clear, and not muffled and incomprehensible!
- deleted 9y ago[deleted]
- flavio81 9y agoI'm not watching the whole video but at 24:00 it becomes very interesting when they talk about Lisp and performance.
- nafizh 9y agoEvery time, I see one of these links or videos, I feel the urge to learn Lisp. But after some time, I lose the motivation. I think that is because I don't know what benefit learning lisp will provide me concretely. Anyone has any suggestion?
- ShaneWilton 9y agoLisp teaches you that there's always a better tool for the job than something that's already in your toolkit. More than any other language I've worked with, Lisp makes it incredibly easy and low-friction to write domain-specific languages to solve the exact problem you're working with. That's not always a good thing -- it can make working with a foreign codebase difficult -- but it's definitely a powerful concept when applied correctly.
- goatlover 9y agoLisp seems to take the exact opposite approach as Go. The power of languages like Lisp appeal to me, so I have a hard time understanding why people want a language that intentionally limits itself. Read Graham's book and he's talking about how macros are great for writing maintainable code because you can make it both short and very readable because it's close to the domain. But then you hear the arguments in favor of Go maintainability, and it's about copy/pasting being preferable to abstraction and not having too many ways to do things, so everyone's code looks familiar. Also that the extra LOC are more readable to Go maintainers than powerful abstractions. That surprises me, because languages like Lisp, Smalltalk, Ruby and Haskell are all about powerful abstraction capabilities so you can express yourself exactly as you need instead of writing a lot of boilerplate.
- flavio81 9y ago>Lisp seems to take the exact opposite approach as Go. The power of languages like Lisp appeal to me, so I have a hard time understanding why people want a language that intentionally limits itself. Me too. I don't understand how people in HN vouch for restrictive languages.
- taeric 9y agoThis was a much more enjoyable video than I was expecting. The audio quality really had me tempted to skip, so I encourage others to not let that turn them away. The quote which I will paraphrase that "lisp is not freed from having to justify why you would use it." This is huge and the section before it going off about how condescension is a terrible enemy of the language is one that I would hope more people contemplate. Major kudos to the presenter!
- agumonkey 9y agoI unplug my headphones jack halfway to turn failing stereo into good enough bi-mono.
- nerpderp83 9y agoSome please make an ML/Dsp powered magical audio fixer for system sound.
- exikyut 9y ago- https://pypi.python.org/pypi/pulsectl/17.1.3 https://pypi.python.org/pypi/pulsectl/17.1.3 - http://larsimmisch.github.io/pyalsaaudio/ http://larsimmisch.github.io/pyalsaaudio/ - https://askubuntu.com/questions/129412/pulseaudio-and-python3 https://askubuntu.com/questions/129412/pulseaudio-and-python... - http://menno.io/posts/pulseaudio_monitoring/ http://menno.io/posts/pulseaudio_monitoring/ - http://menno.io/posts/raspberry_pi_vu_meter/ http://menno.io/posts/raspberry_pi_vu_meter/ You know exactly what features you'd want. This is my attempt at inspiration. :P
- nerpderp83 9y agoI was thinking something more like https://www.technologyreview.com/s/537101/deep-learning-machine-solves-the-cocktail-party-problem/ https://www.technologyreview.com/s/537101/deep-learning-mach... or https://arxiv.org/pdf/1703.08019.pdf https://arxiv.org/pdf/1703.08019.pdf It would allow one to scrub unwanted audio sources from an audio stream.
- patkai 9y agoCode as data is such a big deal that - whatever you say - I will never ever understand why we don't all do Lisps.
- xstartup 9y agoWhat's the most popular Lisp in use today? Does it come with a static compile type checking?
- deleted 9y ago[deleted]
- reikonomusha 9y agoOne of the most popular Common Lisps is Steel Bank Common Lisp (SBCL) [0], which has some degree of compile time type checking and compile time type inference. [0] http://www.sbcl.org/ http://www.sbcl.org/
- sillysaurus3 9y agoRather than most popular, I propose using the most useful. That'd be Lumen. http://github.com/sctb/lumen http://github.com/sctb/lumen It's the only lisp that can interface seamlessly with any JS library you want. Just `npm i leftpad && LUMEN_HOST=node lumen` and type `(require 'leftpad)`. $ npm i leftpad $ LUMEN_HOST=node lumen > (require 'leftpad) function > ((require 'leftpad) "foo" 5) "00foo" Other lisps are nice, but they all try to build their own ecosystems instead of use existing infrastructure. So if you want to do webdev and run into a problem with the library, your only option is to fix it yourself or write your own, since most people don't use lisp for webdev. That brings us to Clojure: the prima facie "lisp for webdev". It's a good lisp, but it forces you into non-optional immutability. That's a feature for some and a burden for others. And it's very difficult to transpile into JS. In an era where size and speed matter due to bandwidth concerns, this is a severe limitation. That said, all of the lisps are a delight to use in their own way. Racket is fun to wrestle with, mostly to coerce it into doing what you want. SBCL is neat for doing archeology in -- you can run all kinds of interesting old programs. Elisp is fun because you can extend your editor to do anything you can imagine. Arc powers the website you're reading this on, and its underlying ideas are worth internalizing.
- flavio81 9y ago32:50 "Despite the odds, i've used Lisp at no less than 7 companies, 5 in which the Lisp ended up in the product that was actually delivered to the customer."
- rhaps0dy 9y agoMy first thought on seeing the python-lisp HTTP bridge diagram was Hy http://docs.hylang.org/en/stable/ http://docs.hylang.org/en/stable/ . Though with Hy you don't get optional types and optimisation and SBCL.
- reikonomusha 9y agoYou might also think of CLPython [0], a (somewhat bare-bones, C-incompatible) Python implementation in Common Lisp. [0] https://common-lisp.net/project/clpython/ https://common-lisp.net/project/clpython/
- flavio81 9y agoThis is a really good video. Here is a simple timeline of what it is all about, so people can jump to what they would find interesting: 23:43 "It really is incredible that we can go close to one order of magnitude" (to C) 26:00 Lisp code is faster than optimized C (quantum) programs when running on the QVM. For non trivial benchmarks (...) {Lisp faster} on an average of 40% percent. 30:00 quick explanation of quantum machine code 33:06 What is the team dynamics of using Lisp? "Condescencion: Lisp's number one enemy" (fun part) "Some time between 2 and 6 decades ago, Lisp invented approximately all of the popular things in programming, some of which are just starting to make an appearance [long list of features follow]" Really fun part follows. 35:41 things Lisp programmers tell the other programming teams 36:40 Interesting, beautiful comparison of using Lisp versus doing calligraphy with calligraphy pens. 41:21 Presenting internship program at Rigetti. Stressing the importance of first having a SBCL, Emacs, Slime, Paredit, and Quicklisp, before thinking how writing productive Lisp looks like. 43:33 Comments of interns after the internship, favorable to Lisp, as well as unfavorable comment. (Fun part here) 51:00 Explanation of what quantum computing is all about
- michaelsbradley 9y agoI guess ParEdit has staying power, but isn't Smartparens[+] the way to go these days? https://github.com/Fuco1/smartparens https://github.com/Fuco1/smartparens
- meken 9y agoYMMV but for what it's worth I became frustrated with smartparens when I couldn't figure out how to do something very simple. I think it was traversing down into the next sexp. I got different behavior when my cursor was right up against the sexp versus one space before. Also whereas paredit really pushes me to have a mental model that the lisp source code forms a tree (e.g. up, down, left, and right being the main operations), I found smartparens drove my mental model back to treating the code a string of characters.
- michaelsbradley 9y ago
- progman 9y agoLisp is the secret power tool of developers who really understand computing.
- johngaizick 9y agoLove it
- quickoats 9y agoum.. uh.. so yeah, can we get an um.. uh... transcription? ummmm so yeah uhhh ummmmm please?