Live data from Hacker News

The Bipolar Lisp Programmer (2007)

marktarver.com

31–40 of 136 posts

Re: The Bipolar Lisp Programmer (2007)

#31
post #7
post #2

I quite enjoyed this article, but I reckon they're talking about ADHD rather than "bipolar" mind. Seen under that lens, I resonate with his caricature. Focus is a precious, rare resource outside my control. Mainstream languages, made for collaboration in big teams rather than maximum personal freedom, soon impose restrictions that kill hyperfocus. The "unused variable is an error" is the most egregious of them that I…

This is a great perspective. I am not focus-challenged... at least I don't think I am, but your comment has been a revelation. I always had this nagging feeling about myself that I don't find myself fully immersed in the problem domain when working Go, Python, Rust like the way I feel while working with Lisp. When I am programming in Lisp, I enter a sort of zen like state where my mind becomes one with the problem. N…

Sure, the ADHD thing might be a bit on the nose, but the thing is... you've just become really good at being productive with languages that constantly interrupt you for inane reasons. You're productive DESPITE the terrible tooling we have to deal with everyday.

Sometimes it's nice to shed all that bullshit and just create something.

Sometimes, only on languages with the least amount of syntax and semantics you're able to sculpt that fleeting idea you had. Inspiration is very delicate, and it doesn't take a lot for it to die down because you forgot to update npm and your Emacs config is borked.

Re: The Bipolar Lisp Programmer (2007)

#32
post #3
post #2

I quite enjoyed this article, but I reckon they're talking about ADHD rather than "bipolar" mind. Seen under that lens, I resonate with his caricature. Focus is a precious, rare resource outside my control. Mainstream languages, made for collaboration in big teams rather than maximum personal freedom, soon impose restrictions that kill hyperfocus. The "unused variable is an error" is the most egregious of them that I…

Okay, you made me want to try Lisp.

The sibling comment suggests Clojure, and last time I tried I lost all patience after having to deal with setting up Java, lein (it's been quite a while).

If you want the least amount of friction possible, install Racket and run DrRacket. Here's a tutorial: https://docs.racket-lang.org/quick/index.html and one to make web apps: https://docs.racket-lang.org/more/index.html

(I don't mean to disparage Clojure, I'm sure it's great, but a newbie needs something easy to get excited about, not having to mess with JDK and setting up Emacs)

Re: The Bipolar Lisp Programmer (2007)

#33
post #28
post #2

I quite enjoyed this article, but I reckon they're talking about ADHD rather than "bipolar" mind. Seen under that lens, I resonate with his caricature. Focus is a precious, rare resource outside my control. Mainstream languages, made for collaboration in big teams rather than maximum personal freedom, soon impose restrictions that kill hyperfocus. The "unused variable is an error" is the most egregious of them that I…

ADDENDUM: I love Lisp but I want to clarify that its secret sauce is that it enables exploratory programming: programming from inside the system. While most languages are akin to preparing a detailed blueprint and executing it (then stop to update the blueprint and try again), exploratory programming is like sculpture. You have an unformed mass full of unrealised potential, and you slowly carve it to shape. The ADHD/…

> programming from inside the system.

Can you elaborate on that? I think you are saying that REPLs in other languages don't do what you can do in Lisp, but I don't think I know enough to fully understand why.

Re: The Bipolar Lisp Programmer (2007)

#35
post #28
post #2

I quite enjoyed this article, but I reckon they're talking about ADHD rather than "bipolar" mind. Seen under that lens, I resonate with his caricature. Focus is a precious, rare resource outside my control. Mainstream languages, made for collaboration in big teams rather than maximum personal freedom, soon impose restrictions that kill hyperfocus. The "unused variable is an error" is the most egregious of them that I…

ADDENDUM: I love Lisp but I want to clarify that its secret sauce is that it enables exploratory programming: programming from inside the system. While most languages are akin to preparing a detailed blueprint and executing it (then stop to update the blueprint and try again), exploratory programming is like sculpture. You have an unformed mass full of unrealised potential, and you slowly carve it to shape. The ADHD/…

"The ADHD/Bipolar mind of the article isn't great at making plans, it's great at following its gut instinct, making shit up step by step."

Which is why I do best with the command line, piping outputs and rapidly iterating to get the output I want.

And why I struggled so much writing Python in a larger, more complex script/app. I wanted to constantly run and rerun the smaller parts to get each one just right. Unfortunately that doesn't work great when you're interacting with a half dozen different APIs that take minutes to run each time. Until I realized what was slowing me down, I was just getting more and frustrated.

Now I am at least aware of the issue. Part and parcel of growing from sysadmin to DevOps to coder, I guess? Now I know to look for shims or stubs that help me. Now I can write tests that isolate and verify, rather than run the whole damn thing end to end.

It helps me to think of objects as those command line tools. Their method parameters are the stdin that get passed through pipes. I apologize that this isn't particularly profound, but sometimes epiphanies are made from smaller realizations.

Maybe I should have tried writing part of my most recent script in Lisp? Just to see if it resonated like described in this thread?

Re: The Bipolar Lisp Programmer (2007)

#36
I’m fairly annoyed with myself on my worse days for heading into embedded as a career path when Lisp (clojure mainly) is the only development process I’ve really ever felt fit my brain. I’m positive that there is a Lispy language out there (actually in existence, or the aether) that is appropriate for embedded work, but the constraints of the target make it difficult to envision.

I like C and assembly because they’re simple from a language semantics level but incidental complexity is nearly unavoidable. I’m not sure if I have undiagnosed ADHD like many here are wondering, but I do wish I could go back to living in a REPL without giving up the joy of working on real hardware at the register programming level.

Re: The Bipolar Lisp Programmer (2007)

#37
post #33
post #28

Earlier quoted context omitted.

ADDENDUM: I love Lisp but I want to clarify that its secret sauce is that it enables exploratory programming: programming from inside the system. While most languages are akin to preparing a detailed blueprint and executing it (then stop to update the blueprint and try again), exploratory programming is like sculpture. You have an unformed mass full of unrealised potential, and you slowly carve it to shape. The ADHD/…

> programming from inside the system. Can you elaborate on that? I think you are saying that REPLs in other languages don't do what you can do in Lisp, but I don't think I know enough to fully understand why.

Imagine this:

You start a fresh REPL session with a vague idea of something you want to build. You have good tooling that enables you to write code in your favourite editor and pipe it to the REPL through a socket. You write a couple of functions and send them to the REPL. You call them a few times with some test arguments, maybe define a couple global variables while testing, and realize one of the functions doesn't quite behave the way you want. You tweak the code and send it again to the REPL. The function is redefined and works properly now.

You're happy with what you have for now, so you save the entire current environment of the REPL, functions and global variables and all, into a file (called an image) on your disk. The next day, you come up with a great new feature so you load up the image and continue exactly where you left off yesterday, with all your functions and even global variables as they were defined previously. You add your new feature, all while testing and tweaking your functions interactively, and then you save the new environment into an updated image. Any other code that loads that image will be able to take advantage of your updated functions and variables now.

The power of lisp is not just the fact that there's a REPL — a lot of languages have that now. It's the ability to save and reload the entire current state of the REPL (interactively or programmatically), which enables the powerful interactive development that so many lispers, including myself, rave about.

Re: The Bipolar Lisp Programmer (2007)

#38
post #11

There is no such thing as "bipolar personality". People should seriously refrain from using the term bipolar when they clearly don't have any understanding of the disorder. At least he didn't get it mixed with borderline I guess.

The kind of personality he describes does exist but it has little relation to bipolar disorder.

Given how he defined the term, I suspect he is using the word bipolar in its general meaning of having two states.

Bipolar is a bit of a misnomer as is, multi-polar is a better descriptive what what the disorder actually is. There are not two states, there are several overlapping, non-exclusive “states”. (For example: mania and depression are not exclusive.)

Re: The Bipolar Lisp Programmer (2007)

#39
I wonder if I could write the story of the BBM once he left the university and went on to work in Corporate Land.

My career (if may be called that) can be summarized by a constant swing.

On one side, I have a "job" where I start well but after a while I fall out of grace from higher-ups because I inevitably end up calling out their bullshit and/or start seeing the pointlessness of it all and lose interest in progressing there. This leads me to either quitting or getting fired, which brings me to the other side of the swing: I dive into another project where I try to do everything "my way", no compromises, no shortcuts, no justification of "best practices" because "that is how everyone else does it".

While I am on this side, I feel incredibly productive and I am forced to grow/learn a lot of things that are required to the problem at hand. Yet, because of this hard-line stance on not compromising, my projects gets either out-competed by a startup that was (rightly) willing to take the shortcuts I didn't take, or I end up building something that had no market for, or (worse) there is a market and no strong competitor but I refused to pivot out of the original idea for a matter of "principle" that only I cared about - hub20 definitely fell into that category.

When I am finally out of steam (or financial reserves), I go back into the job market, usually with a renewed set of skills which helps me land a job that was better than the previous one, and the cycle is complete.

Honestly, I am tired of this. These swings were fun for the first 3 or 4 times but now I am increasingly feeling that my luck will run out soon and that I need to get out of this swing, no matter on what end. Either I finally make one of my projects more than a nice portfolio piece or I learn how to settle and navigate the corporate world without hating it and myself so much.

Re: The Bipolar Lisp Programmer (2007)

#40
I'm exactly this type of student. 18 yo, just starting university next month. Any advices?

Every single thing in the article fits my life so far, the boredom, the pointlessness of all things, the ease of brilliance, 1 to 1, sans the sadness because I'm still hopeful that the world can be fixed and am still an idealist. (I attribute this to my faith.)

My classmates always envied how little or none I work for the same results but very few realized it's kind of a curse at the same time[1]. When you don't have a habit of working, you can't work hard when you need it. I think this can be a problem now as I'm entering university (it happened to be a mild problem in late HS too). I would not throw it all up with girls and beer (cos I'm muslim) but I don't know whether I will be bored, because I heard the curriculum isn't exactly full of shiny things.

1: Still I'm forever grateful to Allah for it, no complaints. Learned so much in my all free time not spent doing pointless homework.

Post reply on HN