[HN Gopher] Osm.el - OpenStreetMap Viewer for Emacs
___________________________________________________________________
Osm.el - OpenStreetMap Viewer for Emacs
Author : okasaki
Score : 233 points
Date : 2022-03-15 08:22 UTC (14 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| hereforphone wrote:
| RIP "Do one thing and do it well".
|
| "The Unix philosophy is documented by Doug McIlroy in the Bell
| System Technical Journal from 1978: Make each program do one
| thing well"
| omaranto wrote:
| But that's for individual programs in a larger system. Those of
| us who live in Emacs do follow the Unix philosophy at the
| granularity of individual applications inside Emacs or even
| individual Elisp functions.
| [deleted]
| Zambyte wrote:
| This is like saying RIP "do one thing and do it well" because
| Osm.js has been written for Node.js. Osm.el is a program that
| does one thing well (view OpenStreetMap) for the Emacs runtime.
| deng wrote:
| I just tried it and wow, this works surprisingly great. Pretty
| snappy, zooming and searching works fine (well, it's using
| openstreetmap.org for searching, so the results are pretty bad,
| but that's not the fault of this package).
| mark_l_watson wrote:
| That looks so cool (but I didn't install it). I regret after 30
| years using Emacs that I have mostly moved in to VSCode. I toy
| with going back to Emacs but I have become addicted to tools like
| GitHub Copilot that saves me so much time that I can't imagine
| not having it always running. Eventually Copilot support will
| come to Emacs.
|
| Someone else here said that Osm.el is very performant. At its
| best, Emacs is like a Smalltalk environment where you can happily
| do all of your work in one environment.
|
| Anyway, I have bookmarked Osm.el and if Copilot becomes available
| for Emacs I really look forward to spending a day installing both
| at once.
| whartung wrote:
| Very nice. I looked before for some kind of graphics support in
| Emacs, but didn't find anything. I didn't know that Emacs could
| render and (I assume) interact with SVG. Apparently it's been in
| there for some time.
|
| Great, another distraction to tap my time.
| melling wrote:
| Always fun to see cool things written for the big Lisp
| interpreter that poses as an editor.
|
| When do those big performance improvements for Emacs Lisp ship?
| Tomte wrote:
| nativecomp has already shipped. Is there anything more in the
| pipeline?
| AlbertVAustin wrote:
| Shipped as in "merged to master" but Emacs 28 that will
| feature this has not been released yet, or am I wrong?
| draxil wrote:
| Correct: https://github.com/emacs-
| mirror/emacs/blob/master/etc/NEWS.2...
| Tomte wrote:
| You're right. I've read so much about it that I had stored
| it as "it's here" in my mind.
|
| Thanks!
| Barrin92 wrote:
| You are right but for what it's worth I've been running the
| nativecomp build for months now and had exactly zero
| issues.
| seanw444 wrote:
| Huh, I thought it had released already. Been running 28
| for about half a year maybe? Works perfectly.
| NoGravitas wrote:
| Release branch for Emacs 28 has been cut, but Emacs 28 has
| not been released yet, no. Emacs main branch is now 29.0.50
| now.
| tuukkah wrote:
| In the future, doing queries and edits within Emacs would be
| awesome!
|
| Overpass Turbo for queries: https://overpass-turbo.eu/
|
| Level0 for text-based edits:
| https://wiki.openstreetmap.org/wiki/Level0
| nicbou wrote:
| This is the beauty of open data and open source in general. No
| one is forcing you to use the tools as intended. Want a map of
| all free bathrooms near a cafe as a markdown file? Knock yourself
| out! People will even help you do it.
|
| Meanwhile Google Maps has one increasingly user-hostile frontend
| per platform. It won't let me see how long a route with waypoints
| is, and it just started showing me a news feed every time I use
| it.
|
| OpenStreetMap is as precious as Wikipedia, and very few people
| seem to realise it.
| lolcat_cowsay wrote:
| Bloat
| seanw444 wrote:
| Bloat is bundling it into the default Emacs distribution. This
| is cool.
| [deleted]
| nanna wrote:
| As someone who presents lectures using org-tree-slides [0]
| instead of Powerpoint, I can totally imagine this being useful
| for me.
|
| I'm flabbergasted at how snappy and intuitive it is!
|
| [0] https://github.com/takaxp/org-tree-slide
| akagusu wrote:
| Thanks for the link, very useful.
| taeric wrote:
| I was also blown away by how much more responsive it is than
| the browser maps.
| m4lvin wrote:
| This works great, in particular on the Purism Librem 5 :-)
| sobkas wrote:
| Yep. I also had a phase of "use Emacs for everything, literally"
| but I have it behind me. I now I use it as the editor. I use it
| to edit EvEryThIng.
| Hitton wrote:
| I'm once again reminded of: "Emacs is a great operating system,
| only lacking a decent editor."
| distantsounds wrote:
| Doesn't everyone need geo-locate and map coordinates while
| simultaneously editing a config file? You're on hackernews,
| people will come out of the woodwork to defend this stuff.
| tmalsburg2 wrote:
| False. Emacs has a wonderful vi(m) implementation in the form
| of evil-mode.
| kqr wrote:
| It does have a decent editor, though: Evil mode.
| RobertMiller wrote:
| Better than decent. I switched from neovim to evil mode a few
| years ago and never looked back.
| lycopodiopsida wrote:
| I am in process of switching from emacs to neovim atm (doom
| evil user before). Whatever I do in emacs (emacs28, jit-
| compilation, M1) I still experience some UI lags l cannot
| get with profiler. I suspect slow lsp interface and
| suboptimal caching/gc. At some point I've tried neovim and
| was just surprised by how fast it feels.
| RobertMiller wrote:
| Company mode is the big offender for me, it handles very
| large completion lists poorly. I'm not yet fully
| satisfied with the latency situation in my emacs config,
| but for me there is no going back. Evil mode let me keep
| almost all of the muscle memory I ever learned in
| vim/neovim, and the rest of the emacs ecosystem more than
| makes up for the latency issues in my opinion.
| lycopodiopsida wrote:
| I've also experienced some heavy lag immediately after
| startup - maybe warming up the caches? Had a feeling it
| gets worse after each package update with compilation.
|
| Long line performance is still a huge problem. Emacs team
| does an amazing job keeping up, but the age shows itself
| everywhere. In the end I've realized that org/magit were
| not life-changing for me, evil-mode it the only thing I
| care about. :)
| amitp wrote:
| Corfu might be worth a look, as a lighter weight
| alternative to company mode:
| https://kristofferbalintona.me/posts/corfu-kind-icon-and-
| cor...
| omaranto wrote:
| And Corfu was written by the same person as this
| OpenStreetMap Viewer.
| codemac wrote:
| Honestly this is a big thing that emacs folks don't
| value, multi threaded performance.
|
| I don't even use LSP because I have my own ways of
| browsing source code through emacs. So I go off and tout
| emacs' amazingness, but then when someone tries it and
| attempts to use what worked in other editors, it's a slow
| laggy mess.
| nathell wrote:
| That's the adage oft repeated by people who had had a cursory
| look at Emacs, but haven't been really using it. In reality,
| the opposite is true. Emacs is a great editor, but the
| operating system that it is [0] is lacking in many ways:
|
| - performance is not great (although it's getting better with
| the advent of native compilation in Emacs 28)
|
| - the system language is awkward (no namespaces, dynamic
| scoping by default, ...)
|
| - no preemptive multithreading
|
| - etc.
|
| On the plus side, it is auto-documenting and extremely
| malleable.
|
| [0]: Yeah, it can be a full-fledged OS. Just add a Linux
| kernel: http://informatimago.free.fr/i/linux/emacs-on-user-
| mode-linu...
| bananamerica wrote:
| I'm pretty sure when the adage was created it was much closer
| to the truth. Now it's mostly a joke.
| throwawayboise wrote:
| I started using emacs close to 30 years ago. As a text
| editor, it's pretty much the same as it ever was (the same
| goes for vi also).
| kqr wrote:
| It's not, though, because you now have a wealth of
| choices beyond the text editor that comes bundled with
| Emacs.
| donio wrote:
| > dynamic scoping by default
|
| This is not much of a problem in practice these days. As you
| probably know it's trivial to enable lexical-binding for an
| entire source file and many (most?) modern packages do just
| that. It's even on by default in the _scratch_ buffer. Emacs
| is just more user friendly than most other systems when when
| it comes to backwards compatibility.
| zeveb wrote:
| > the system language is awkward (no namespaces, dynamic
| scoping by default, ...)
|
| RMS's dislike of Common Lisp really caused a colossal amount
| of damage. Imagine an Emacs written in Common Lisp instead of
| Emacs Lisp, with decades and decades of improvements. Having
| written a reasonable amount of software in both, Common Lisp
| Emacs would be very, very preferable, in part for the reasons
| you list and in part for others (e.g. a full-fledged, built
| in object system and improved extensibility).
| wrs wrote:
| There has been some work on that over the decades (but of
| course not enough momentum): https://phemlock.common-
| lisp.dev/
| deng wrote:
| > RMS's dislike of Common Lisp really caused a colossal
| amount of damage. Imagine an Emacs written in Common Lisp
| instead of Emacs Lisp, with decades and decades of
| improvements.
|
| If Emacs were written in Common Lisp, only people on big
| mainframes would have been able to use it in 1985, and it
| probably wouldn't have become popular in the first place.
| Also, implementing Common Lisp would have taken much
| longer. RMS has said that his main goal with his LISP
| dialect was to keep the programming language as small and
| performant as possible, since at that time, machines had
| maybe 1MB of RAM (if you were lucky) and no virtual memory.
| This is why for instance he decided against lexical scoping
| (and still, Emacs was known back then as "eight megabytes
| and constantly swapping").
| lispm wrote:
| IIRC, Coral Common Lisp ran on a Mac Plus, which had 1 MB
| RAM. It included an editor.
| schemingguild wrote:
| I'm very interested in guile-emacs, not because I think
| it'll replace main emacs, but I do think it'd be really
| neat to have my config in a 'cleaner' lisp like scheme, a
| clojure like language, lokke[0], or even python[1]
|
| [0]: https://github.com/lokke-org/lokke [1]:
| https://gitlab.com/python-on-guile/python-on-guile
| sreevisakh wrote:
| That may be what nyxt browser is trying to do. The author
| claims that nyxt could be extended to be anything,
| including an alternative for emacs.
|
| [1] https://nyxt.atlas.engineer/article/why-building-nyxt-
| instea...
| jfb wrote:
| Emacs is a reflection or a rhyme of a great operating system;
| it has the critical feature of total
| inspectability/hackability, but the implementation is poor.
| There is no other system in use today that has that kind of
| total transparency all the way to the bottom, or at least, as
| far down as Emacs does.
|
| I don't think people should try to use Emacs to build an OS on
| top of, but building an OS without understanding why Emacs
| survived is going to just end us up in the same world of
| inflexible, brittle, clunky software we're in now.
___________________________________________________________________
(page generated 2022-03-15 23:01 UTC)