HackerLangs
TopNewTrendsCommentsPastAskShowJobs

ngc6677

no profile record

Submissions

Show HN: Radio4000

radio4000.com
1 points·by ngc6677·3 ay önce·0 comments

comments

ngc6677
·4 ay önce·discuss
A nice way to get quickly familiar with how to use emacs/(neo)vi(m), understand how keybindings work and how to uncover new ones, is to go through reading/practicing the built-in tutorial. It almost plays like games.

When opening a freshly installed emacs, there should be a "Emacs Tutorial" link that can be clicked; also the keyboard shortcut `C-h t` (which is «Control + `h`, then `t`»).

There is a similar feature in `neovim`, when opened type `:Tutor` (which is «`:` to open the command prompt, with command `Tutor`»).
ngc6677
·6 ay önce·discuss
And that anything will still exist in 100 years
ngc6677
·6 ay önce·discuss
Can check out the DOM of https://radio4000.com to see how custom-elements and web-components can be used to describe the entire app (and allow custom themes, and more) (source: https://github.com/radio4000/components) — no css class, full description of the app's state via html attributes (reflected in styles)
ngc6677
·6 ay önce·discuss
Can also checkout https://github.com/internet4000/find for a client side "search router" supporting custom bangs.
ngc6677
·7 ay önce·discuss
also here https://space-element.pages.dev/#data=eyJ2YWx1ZSI6IvCTgoAg8J...
ngc6677
·8 ay önce·discuss
Excellent idea!

Really cool that it respects the SSG conventions and separation of content, collections, templates, themes etc.
ngc6677
·8 ay önce·discuss
A good way to get straight in, is to download `emacs`, open it, and follow the built in "Emacs Tutorial" (click the link on the first page that is shown). It brings a new user through the concepts of the editor, how to move around, do some of the most usual actions, and get familiar with its vocabulary.

At first, it is also a good practice not to install any package, and use the built-in capabilities (`magit` and `org-mode` are now part of the default installation) for a while, the time to discover what comes with the "factory defaults".

Also, for some inspirations, watching videos from `System Crafters, Howard Abrams, Emacs Rocks` to see how some people use it.

It can take a while to get used to everything, or to install packages and customize it to what other editors comes with by default, but the reward is worth.
ngc6677
·8 ay önce·discuss
Also similar procedure used on joblist.today https://github.com/joblisttoday to fetch hiring companies and their jobs and store them into sqlite and duckdb, and retrieved on the client side with their wasm modules. The database are generated with a daily github workflow and hosted as artifact on a github page.
ngc6677
·8 ay önce·discuss
this exact same example used to work in firefox a few years back, i guess some change introduced this bug in between
ngc6677
·8 ay önce·discuss
is it doing HTTP range request, to not download an entire db?
ngc6677
·9 ay önce·discuss
Fun! Would be nice to have an automatic translator built in, or already the alphabet.

Btw, for emacs users, there is a `morse-region` and `unmorse-region` https://www.emacswiki.org/emacs/MorseCode to play with
ngc6677
·9 ay önce·discuss
Also an other take here https://gitlab.com/sctlib/bmcp
ngc6677
·9 ay önce·discuss
1. web-components https://developer.mozilla.org/en-US/docs/Web/API/Web_compone...

2. router https://developer.mozilla.org/en-US/docs/Web/API/URL_Pattern...

The rest should be code organization, not even a build tool.

Can check this example https://github.com/radio4000/components
ngc6677
·10 ay önce·discuss
Also highly recommending decap CMS, or the svelte version sveltia[0]. With Gitlab backend and PKCE authorization, this CMS connects directly to gitlab without any other middleware (unlike when using Github, which will require one for the auth). With a gitlab pages + decap CMS + static site (jamstack), it is possible to have a site running at no cost. Currently having 20+ sites running this setup for clients and never hit an issue "modeling" the data as Decap config, widgets (also custom ones), can allow pretty much anything.

One downside for this setup, is that uploaded media are not re-sized or compressed (since there is no backend job doing it), so a client must be briefed into "making smaller images" (on the web client side with squoosh.app[2] for example), or using a SSG that does that built-in (hugo, gatsby)

0. https://github.com/sveltia

1. https://decapcms.org/docs/gitlab-backend/#client-side-pkce-a...

2. https://squoosh.app