Hacker News new | past | comments | ask | show | jobs | submit login
How to type “blimpy” in Emacs [video] (youtube.com)
326 points by progfolio on Sept 2, 2023 | hide | past | favorite | 126 comments



Those who enjoyed this should also have a laugh at:

"Vim Exit% Speedrun [WR - 2.50:13]"

https://www.youtube.com/watch?v=TLbfqZBL8t8


The C-u C-u trick at 2:03 is such a neat hack. Goes to show how with Emacs you don't have to compromise between customization and productivity: a true hacker can have both.


Thank Stallman there's a package for that! Saved my butt countless times.

https://github.com/progfolio/blimpy/


I know this is a joke, but people should really give Emacs a try.

Check out this interview about Emacs if you’re not convinced:

https://youtu.be/urcL86UpqZc?si=3ew2h0iI0FIT5Zmd


You recommend using a framework like doom or building up your own config?


I'd recommend starting from scratch. The whole point of emacs is it's super easy to hack and make your own. So you'd just end up "undoing" everything in a starter kit anyway. But you should definitely look at those starter kits to see what you can do.


I feel like doing that with doom emacs. I'm not sure what is a feature or a package and it feels like a bunch of things are overlapping in terms of functionality.


If you start with framework you might not learn enough to solve problems later, but using it later to simplify your config should be ok. For example ergoemacs http://ergoemacs.github.io/ is a nice way to make Emacs more ergonomic and easier to use(if having problems with default configuration).


I think the only thing I couldn't live without is evil mode. I'd install that right off the bat. I'm using doom but it feels like it's doing too much behind the scenes for my taste.


Bruh. Emacs!


Not funny. Double flagged by click on flag button twice.

If Stallman ever figures out how to watch YouTube in Emacs, someone is going to be in big trouble.


What do you mean “if”? https://imgur.com/KsLQxNC


limpy b :(


Sorry, I thought it was very funny.


I am not sure I approve of the inner mysteries being so paraded in public.


Don't worry, people who don't have the emacs gene will be lost nevertheless.


Those without the sixth finger.


This is fairly accurate.

Of course, you should really be using the Doom module or Spacemacs layer to add another level of abstraction that will definitively fix any issues you might have run into.


blimpy.


It's actually very easy to type blimpy in ed, the standard text editor.


  $ ed
  blimpy
  ?
  exit
  ?
  quit
  ?
  stop
  ?
  go away
  ?
  ^C
  ?


pulls power cable

Ah, so that’s how you do it!


For the uninitiated:

https://www.gnu.org/fun/jokes/ed-msg.html

There are good reasons that ed is the standard text editor.


:)


I use Emacs as my daily driver, but everyone needs a quick editor for config files and the like. I started using GNU Nano for that purpose a year or so ago, but until then I was using ed. That would make it the longest-running program I've ever used: 1976 to 2022.


I wish Vim, when started in Ex mode, wouldn't set current cursor line to lowest regardless of whether the cursor is already on it. It wastes screen, making backscroll unusable. I researched ways to configure Vim not to do that and didn't find any one that works well together with Vim's terminal support. This is the only obstacle to using Vim like ed.


Couldn't have found this video at a better time - I have an assignment on blimpy due tomorrow.


blimpy-mode forgave my student loan debt


Oh, you had `helm` installed, I see.


Blimpy? Chicken chicken chicken!

chicken: https://isotropic.org/papers/chicken.pdf


I heard Chicken Scheme is especially efficient with that: http://www.call-cc.org

And Schemers do use emacs.


In conjunction with the power of Magit this is going to make cranking out those pesky commit messages so much easier.


--force-blimpy


I opened vim and tried to type "blimpy" and nothing happened. I also can't quit.


Quitting hasn't changed in forever, just open a second terminal and killall vim.


Unless you're on sunos...


How does one do it in sunOS?


L1-A

Then you can program in FORTH, which has full Emacs key binding support!

https://github.com/MitchBradley/openfirmware/blob/master/for...


So do you program the keybindings in Forth or lisp? Is the lisp implemented in forth? Or the forth in lisp?

Are parentheses forth words??

This hurts my brain. (And/or makes me want to implement a forth in lisp in forth, as a quine)


On SunOS, killall actually kills everything.


Just pull the power cord


Or load Deldo into Emacs and insert the plug!

https://www.youtube.com/watch?v=D1sXuHnf_lo


(I see that the name of the channel is called poor life choices)


Due to some disagreements in the vim community about typing blimpy not being a priority, I believe you have to download blimpyvim to get this working.


Or set the compiler flag +blimpy if you're building it from source. I would still recommend tpope's vim-pagliacci plugin for the RECL.

EDIT: Read-Eval-Clown-Loop


Just run a vimulator in emacs.


Really? You should end up with "mpy" in your buffer. Maybe your configuration is messed up. Try deleting your .vimrc and try again.


In Emacs the editor is the operating system. To type "blimpy" you download a software package and install it.

In Vim the editor is one part of a larger operating system, called Unix. To type blimpy in Vim, combine several Unix tools and read the output. Type this:

    :read ! cat /dev/urandom | LC_CTYPE=C tr -cd 'blimpy' | head -c 1000000 | fold -w 1 | sort | uniq | tr -d '\n'<RET>
(<RET> means "hit the RETURN key". don't type it!)

That gives us something just a little bit off but we can fix that with only three keystrokes. Just type:

    lxp
Now you have blimpy!


you can use the following script to quit vim, it kills random processes until vim dies:

  while pgrep vim; do
      ps axuw | awk '{print $2}' | grep -v PID | shuf -n 1 | sudo kill -9
  done


Why would you want to quit?


Best answer


:blimpy!


  E492: Not an editor command: blimpy!


Why would I use blimpy-mode when you can access blimpytyper.net from any machine anyway?


Only if you have internet access. blimpy-mode is a lifesaver when travelling.


I run blimpytyperd locally and it’s pretty slick.


“Unwashed masses” == vim converts.


I wouldn't mind switching away from Vim, but I would never, EVER switch to Emacs. this video only scratches the surface of how bloated Emacs is.


> bloated

"blimpy"


what dont you like about vim that would make you switch away from it? There's no universe where I can imagine doing that


honestly Vim is pretty slow, and it utterly sucks with long lines. you can do "g" motion, but I cant seem to get my muscle memory to remember that. to me "down" should always use whats visible on the screen, not just dumbly move to the next line.


From a colleague; I haven’t tested it:

    --Remap for dealing with word wrap
    vim.keymap.set({ 'n', 'v' }, 'k', "v:count == 0 ? 'gk' : 'k'", { noremap = true, expr = true, silent = true })
    vim.keymap.set({ 'n', 'v' }, 'j', "v:count == 0 ? 'gj' : 'j'", { noremap = true, expr = true, silent = true })


what is this? I dont recognize that language


It's Lua. Presumably they're using Neovim.


Ah, my bad. Not a heavy vim user so I didn’t realize this was neovim-specific.


vimscript


No, it's not.


mea culpa


> you can do "g" motion, but I cant seem to get my muscle memory to remember that. to me "down" should always use whats visible on the screen, not just dumbly move to the next line.

You could always add key mappings to your .vimrc file so it works this way.


you're supposed to learn the mechanics of vim and then configure it in a way which you find intuitive. i find that much more natural than software which tries to anticipate (and indirectly reinforce) some arbitrary "common sense".

  nnoremap <silent> k gk
  nnoremap <silent> j gj
  nnoremap <silent> 0 g0
  nnoremap <silent> $ g$


I have mapped gk and gj for Up and Down keys. So I can use both.


Ok I got you mane.. you have 2 solutions. By the way, there is a sort of "common" set of configurations that probably 90% of people have in their vim config, like turning off the bell and stuff. Obviously there are exceptions because those people know what they're doing, but my point is that don't give up on it until you at least try a common config to remove a lot of the basic annoyances.

Solution 1: Add this to your vimrc. This will make it so when going up and down, wrapped lines are properly interpreted and not skipped

``` " better up and down map j gj map k gk ```

Solution 2: If you want to make it where the cursor literally goes ANYWHERE in the document, including in space that doesn't even exist, do this below. I used this mode for a very long time and it's amazing. I only switched recently just to try something new to see if I like it more, and right now I'm just 50/50 on if its better or not

``` " allow cursor to go anywhere set virtualedit=all ```

Lastly, try using `vimtutor` from terminal and practice commands right there in your terminal.

And, if by "slow" you are talking about literal performance, try Neovim. Neovim is basically a fork of nvim that gets rid of vimscript (but still allows it if you want to use it) and instead implements Lua, which is an extremely (the fastest, actually) scripting language. (The other comment you asked about was a Neovim lua configuration which does the same thing as the vimscript version).

Part of the Neovim idea is that they also set a lot more "sane" default config thats more modern.

The best part about Neovim is that it supports LSP's in a much better way, so you can complete VS-Code like IDE experience, rather than relying on a complex array of plugins. If you decide to do that, check out lsp-zero for the easiest setup possible.

If you decide to give neovim a shot, I would 100% recommend using this: https://github.com/nvim-lua/kickstart.nvim

I recently transferred 10+ year vim config to lua and neovim, and I saw people recommending this over and over. Because I wasnt familiar with it I thought "I dont need that, i want to start fresh". Well after doing that for nearly a month, I realized how good kickstart is, it REALLY is quite good, and does lots and lots that you would want without doing too much. I didnt use it, but i took tons of inspiration from it for setting up LSPs.

Let me know if you have any questions I'd love to not lose vim friend over something stupid like moving on long lines.


A lot of people don't know how.


Actually funny video, shows how absurd emacs can get. Although you don't know, someone might earn a living typing blimpy or a similar thing


The rogue blimpy optimizing AI will one day enslave us all into typing blimpy. If you know how to do it the Correct Way in Emacs, you'll get to live a little longer before your matter is harvested for the blimpy typing nanobots.


limpy b limpy b limpy b


blimpy?


I had to look it up myself and I'm guessing it's this blimpy[0].

But I haven't watched to video to confirm. YMMV.

[0] https://pypi.org/project/blimpy/



I dont get it... does blimpy equate to some emacs commands or something where you cant type it in emacs' equivalent of insert mode?



this answers nothing


You valiantly strove for the unattainable. Take solace in the fact that nobody took it from you, it just wasn't there to begin with.


That's exactly what a vim user would say.


There’s nothing to answer.


>this answers nothing

Then listen to the music, not the song.


limpy b


No, I think the word was just chosen because it sounds kind of funny. The crux of the video is making fun of how simultaneously annoyingly fidgety and powerful emacs packages can be.


The warnings never mean anything


>B(000000)B

That's a blimpy sailing right over your head.



Am I the only (former) emacs user in this thread very confused by the "--INSERT---" line at the bottom of the screen in this video? That's clearly a vi-ism?


They're using evil mode! It briefly interfered with blimpy mode


Evil mode, I guess


Is this supposed to be funny and Im not getting it? Can anyone kindly explain what am I missing out?


It is supposed to be funny, the author of the video is obviously faking seriousness while presenting a joke package for emacs. That's a kind of a sketch comedy with a computer.


limpy b


It is just as weird as typing in vim. ducks


Duck typing?


More than anything else I'm confused by the positive response this is getting.

* Very few people use Emacs

* Anyone who nevertheless is using Emacs should be willing to read documentation. The only way to learn Emacs is through reading the docs.

* As illustrated, copy-pasting a use-package clause is an easy way to get started with something. The pain point is the alternative ways to set a package up that are distracting.

* This doesn't hit the traditional Emacs stereotypes of crazy keyboard chords, insane customisability or digs at lisp syntax.

Can anyone articulate why there is a group of people who seem to really like this video?


one time I was in Kyrgyzstan staring down a band of armed marauders with AKs, me holding nothing but my pre-Lenovo Thinkpad. The battery had long since died (it only lasts about 38 minutes) and of course the WiFi doesn't work due to proprietary drivers but I was able to plug in the six-pound AC adapter to the back of a Unimog and after waiting for the 10 minute boot process to complete I quickly typed "C-c b" which is my personal keybind for blimpy. The marauders were so impressed that they gave me a camel and sent me on my way.

So I guess you could say that blimpy saves lives.


I’ve never seen a Unimog reference in the wild before!

What an amazing machine.


Maybe it's not very lightweight but pretty customizable, just like Emacs.


As a long time emacs user, I've definitely felt this sinking my teeth into a novel package and I imagine lots of people have felt the same.

The fact that emacs even has a coherent package story is a testament to people's dedication to making it work. On the surface, it should be impossible; the editor is so configurable that there was no particular guarantee that a coherent family of behaviors would emerge. But the fact that packages and package management not only exist but interoperate with each other speaks volumes to the dedication of the software engineers who made that happen.

> Anyone who nevertheless is using Emacs should be willing to read documentation. The only way to learn Emacs is through reading the docs.

Ah, assuming that's how people learn things these days is our first mistake. ;) Emaxs does have excellent built-in documentation... But in the StackOverflow era, I think a lot of people learn their software by hopping from solution to solution instead of digesting all of the documentation.


> Can anyone articulate why there is a group of people who seem to really like this video?

blimpy


Didn't you see that sharky blimp in the GitHub repo? Or is it a blimpy shark? I find that funny. Also, as transpires elsewhere in this thread, “blimpy” seems to be an alternative spelling of “bloated”. Could be emacs users not taking themselves too seriously for a change. Refreshing!

And the comments here, how everyone's imagination goes off with associations and interpretations? I'm not even sure there is a single consistent explanation for all of this and how it's funny. Maybe it cannot really be explained. Forget reason for a minute, if you can, and just enjoy :)


To me it's just absurdist humour, like Monty Python.

I use Emacs and this video doesn't reflect my experience at all. (I use Doom Emacs, and stuff Just Works.)


I'm with you, I don't get it. Is this an example of the emperor's new clothes where nobody gets it (because it doesn't make sense) but pretends to find it funny because they assume it must be funny if only they understood emacs?


> blimpy blimpy blimpy, blimpy blimp'y limpy b. blimpy blimpy blimpy limpy b blimp'y blimpy blimpy blimpy blimpy blimpy (limpy b blimp'y blimpy blimpy) blimpy blimpy limpy b blimpy blimpy blimpy blimpy limpy b blimpy blimpy blimpy limpy b limpy b?

Agreed


How is that situation not funny? GNU is Not Unix…


It's Neodada.


it's blimpy, actually


Looking for better ways to type blimpy in my document.


I believe it was mocking a redditor that has been spamming /r/emacs with short how to videos with somewhat complicated ways to do super trivial things.


Can you articulate why this isn't funny?


Well... one of the things groups do to bond is they develop memes and in-jokes that are objectively nothing and exist only to show who is in- and out- of the group. One of the signs people are doing that is one word responses like "blimpy". That sort of activity is purposefully low-content because it is supposed to signal group membership and nothing more. Which is what I think this is. That turns up in every group although it can be a bit subtle at times.

But this is a bit weird because this isn't what Emacs users have traditionally bonded over. The traditional stuff is things like https://xkcd.com/378/ leaning on "Emacs does everything and has long key combinations". This is more saying the package manager is bad or something? Which isn't a traditional joke. So either this is a new group of Emacs users I'm not familiar with or there is a good joke here that I've missed.

And I optimistically asked for an explanation of the joke in case it is the latter. Based on the comments in response I think this is a wave of Emacs users I'm not familiar with doing group bonding. Which, fair enough. They do their thing. Although even then the number of people involved seems high and it'd be interesting to know where they are coming from.


The joke is that it's overly complicated to do a simple thing in Emacs, and you have to rely on blindly running shakily-trustworthy third-party code to do that thing for you. (I like Emacs very much, I use it every day, but there is a kernel of truth to this and I laughed.)


Definitely a younger crowd. Back in my day if you blindly copied code without reading the documentation thoroughly there is no way that Emacs would be doing anything remotely useful. That was the sort of thing Emacs was mocked for, in fact - you really needed to get in amongst Elisp to customise it and nobody goes out of their way to learn Elisp.

Being able to blindly copy use-package statements has been one of the best parts of the Emacs modernisation effort.


Oh for sure, I agree, and I've blindly imported reams of elisp dependencies myself!


What’s a (real) example of a simple thing that’s hard to do in emacs?


I mean I think if you compare to, say, VSCode, writing any amount of [Emacs] Lisp to customise anything at all is "hard". I like it! It means I can customise more or less whatever I like, but it's a different universe.


I mean, surely such a thing is harder in VS Code considering you can't really do it.


It's also allowed to think up new jokes.


I use Emacs casually, but oh dear it can get absurdly complicated for very little payoff. Yak shaving if there ever was. This blimpy plugin/module points it out in a deadpan way. It also reflects on a lot of tech in general. Who hasn’t spent a lot of time messing about with a system for no apparent benefit?

It has little twists too like indirectly bringing vi into it by supporting evil mode, furthering the futility of adding options and configurability to ostensibly “simplify” something. The video points out so many absurdities of IT life through the lens of an editor and its ecosystem.


Hackernews during the weekends is something else.


blimpy?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: