facme   24

GitHub - lotabout/skim: Fuzzy Finder in rust!
A clone of fzf in Rust. Available through cargo: either use the binary directly, or use it as a crate to give your rust program a fuzzy-finder(via BufRead)!
rust  repo:github  CLI  tools  library  facme 
12 weeks ago by mechazoidal
Vimways ~ Vim's social life
"I’ve always wondered why these vi/ex love-letters never mention the use-case of using vi in a shell pipeline, which seems to me a natural and reasonable. But this use-case is never discussed, never featured in breathless one-liners. Anyways I wrote some notes here: (and yes, I know about vipe"
piperesearch  facme  vim  shell  neovim 
april 2019 by mechazoidal
Notes from the Architect – Varnish
"Stop programming like it's 1975": don't worry about moving data between disk and memory. Reserve a block of memory and use it as a backing store. Let the kernel sort it out!

See also this for a 2019 note: https://lobste.rs/s/zshdzh/varnish_notes_from_architect_2006#c_dm3j0k
varnish  programming  optimization  2006  facme 
march 2019 by mechazoidal
Notes on Text Editing: Why Modality and Chording?
An interesting comparison between emacs and vim style, along with praise for vim's specific modal editing (and an unexpected & interesting argument against Kakoune's use of combined visual+normal modes AND reversal of verb object grammar)

"People may prefer to mainly stick to one style or the other, but normal vs. visual vs. insert vs. etc. mode is not the only type of modality. A lot of the benefits of modality can be had without using Vim’s style of having multiple editing modes by default. Some Emacs users prefer to not use evil but still make uses of hydras for grouping related keybindings. Some Vim users rely on chords for one-off navigational/editing tasks in insert mode. The best system is not one or the other but a compromise between the two."
repo:github  vim  emacs  ui  kakoune  piperesearch  facme 
february 2019 by mechazoidal
React as a UI Runtime — Overreacted
An excellent deep dive into React's rendering system. The two bets it makes are "stability" and "consistency" of the rendering tree: it works for most desktop-style UI, it won't help with games or constantly changing controls.

See the lobsters discussion for some other thoughts, including how Clojure Reagent works by taking the data-driven approach
https://lobste.rs/s/cfnsw0/react_as_ui_runtime
programming  javascript  reactjs  piperesearch  facme  ui  gui  webdev 
february 2019 by mechazoidal
What is the difference between the vim snippets plugins? | StackOverflow
Author of mu-template, one of the oldest vim snippets plugins. Note that it is one of the few that allows templates to include other templates, along with allowing the use of "StakeHolders" plugin to enable "tied placeholders"(modifying one named placeholder modifies other placeholders with the same name)

facme: is there any sort of CLI-based snippet generator? like if you called it from acme or a ":!" command: the goal is not to tie it to the editor. OTOH, if you want to visually step through each snippet item(like neosnippet/deoplete), how could you do that with a unix command?
(of course, consider that sam might be able to do something like this with its command-language and structural regular expressions)
vim  facme  stackoverflow 
january 2019 by mechazoidal
RFC: Parameter hints popup menu - Github
"This RFC proposes introducing a second popup menu in insert mode to display method argument hints, current parameter, etc. similar to a number of IDEs and editors. The proposal is to allow scripts to control this (such as on insert of ( and ) characters) and for it to be non-interractive and not to interfere with insert-mode completion."

reddit comment to go with: "Currently Bram is working on "text properties". That will allow you to define that, from line X1, column Y1 to line X2, column Y2 the text is a function declaration. Then you can set highlighting or something similar for that text property. This is how semantic highlighting can be implemented instead of the potentially much slower regex based syntax highlighting.

Then Bram plans to make it possible to spawn a window (something like the completion menu, again, take a look at the link) that has a few lines of text and reuse the text properties on that window - and you get a really nice UI capabilities for function signature help/argument hints."
gist  vim  facme 
january 2019 by mechazoidal
Programmer as wizard, programmer as engineer
"I think one of the overarching goals of compute science is to make more programming like wizarding. We want our computers to be human-amplifiers.

But we have different design goals and constraints when we’re doing one or the other. With engineering, we’re tasked with the long term maintenance of a piece of software, and we also become concerned with many lower-priority properties, such as its performance. With wizarding, we’re often best served by designing for ease of throwing code away rather than maintaining it. Well-engineered code is irreplaceable, but well-cast spells should be transient."

"The Problem is that we’re really, really terrible at transitioning from the bottom-right to the bottom-left. That is, at initially creating a quick and dirty prototype/MVP, and then evolving it into a well-engineered product."

"Getting to an MVP as fast as possible will probably always be the first priority. After all, who knows if what we’re building is even a good idea. And once there, we’re almost always going to start shipping that as a product, and thus wanting to maintain and evolve it from there. We can’t throw it away, no do-overs, too expensive.

So really, we need to get better at making this transition."

(The diagram in the middle is worth the cost of admission, there are some observations on type systems but nothing I haven't seen before)
software_development  design  pmz  facme  piperesearch  asspad 
january 2019 by mechazoidal
dump.mntmn.com/interim-paper/
"Interim is, as the name implies, an experiment of combining the homoiconicity of Lisp (manipulation of symbols), the genericity of Plan 9 (everything is a file system) with the minimalism and hackability of home computers. New languages like Rust [Rust2015], Unikernel systems like Mirage OS [Mirage2015] and hardware designs like lowRISC or the Novena laptop [Novena2015] show that it is absolutely possible to build simpler, more open and safer systems than we take for granted today."

facme: note the "list of 'buffers'" and "list of rectangular 'views'": "the same buffer can be interpreted in different ways: listen to an image, look at graphic structure of text, paint into an audio sample."
But of course contrast that with his view on emacs: it wouldn't need to exist if the OS provided the building blocks for integration.
"I argue that an operating system can be designed as a database of well-formed functions that each do one thing well. The functions can then be composed to form ad-hoc "applications". A requirement for this is that unlike in proprietary/closed/binary designs, all source code must be open and all functions reusable in new contexts. Interim OS includes functional building blocks for text display and editing, and an example development environment written in the Interim language:"
plan9  lisp  osdev  research  facme  pmz  via:mechazoidal 
september 2018 by force
dump.mntmn.com/interim-paper/
(repo: https://github.com/mntmn/interim )
"Interim is, as the name implies, an experiment of combining the homoiconicity of Lisp (manipulation of symbols), the genericity of Plan 9 (everything is a file system) with the minimalism and hackability of home computers. New languages like Rust [Rust2015], Unikernel systems like Mirage OS [Mirage2015] and hardware designs like lowRISC or the Novena laptop [Novena2015] show that it is absolutely possible to build simpler, more open and safer systems than we take for granted today."

facme: note the "list of 'buffers'" and "list of rectangular 'views'": "the same buffer can be interpreted in different ways: listen to an image, look at graphic structure of text, paint into an audio sample."
But of course contrast that with his view on emacs: it wouldn't need to exist if the OS provided the building blocks for integration.
"I argue that an operating system can be designed as a database of well-formed functions that each do one thing well. The functions can then be composed to form ad-hoc "applications". A requirement for this is that unlike in proprietary/closed/binary designs, all source code must be open and all functions reusable in new contexts. Interim OS includes functional building blocks for text display and editing, and an example development environment written in the Interim language:"
plan9  lisp  osdev  research  facme  pmz  2015 
september 2018 by mechazoidal
Xft but for XCB
On using the font-for-xcb library to make it a little easier
x11  facme  rendering  fonts  unix 
september 2018 by mechazoidal
On the road to pure Go X11 GUIs
THis is mostly trying to avoid writing wrappers to the big toolkits(along with avoiding cgo), and a running research log of plugging into Wayland/X11 with Golang
Golang  x11  facme  programming 
september 2018 by mechazoidal
Finda
"a uniform, search-based interface for quickly accessing your digital information, regardless of “where” it is"
facme  osx  tools  productivity 
august 2018 by mechazoidal
☭🚀🐕 Bodil 🐕🚀☭ on Twitter: "And we need to stop copying Notepad's interaction design. It's easy to learn but awful to grow with. Emacs and vim offer tremendous UX at the cost of a steep learning curve, but you're going to be writing code fo
"There seem to be three main schools of thought:

* the IDE school: editors should be like Visual Studio except lighter (Code)
* the Notepad school: editors should be like Notepad except better (TextMate, Sublime)
* the ed(1) school: we solved editors last century (Emacs, vim)
"
"And we need to stop copying Notepad's interaction design. It's easy to learn but awful to grow with. Emacs and vim offer tremendous UX at the cost of a steep learning curve, but you're going to be writing code for a long, long time, you need an editor that can grow with you."
"It might be the bias of my circle but the sam/ssam editor family seem to be a common one to derive designs from" ('ssam' is a plan9 rc script that allows using sam language on streams)
tweets  editor  programming  emacs  vim  sam  facme 
may 2018 by mechazoidal
GitHub - driusan/de: A Programmer's Text Editor
"It's kind of like a bastard child of vim and Plan 9's acme editor, because vim feels inadequate on a computer with a mouse after using acme, and acme feels inadequate on a computer with a keyboard after using vi. Like vim, it's a modal editor with syntax highlighting that uses hjkl for movement. Like acme, it attempts to exploit your current OS environment instead of replacing it and tries to make the mouse useful"
editor  golang  software  tools  acme  vim  repo:github  facme 
may 2018 by mechazoidal
Announcing duit: developer ui toolkit
From mjl! Uses devdraw! Could this be adapted anywhere else?
Golang  gui  library  plan9  facme 
april 2018 by mechazoidal

related tags

2006  2015  acme  asspad  cli  computerscience  design  discussion  editor  emacs  fonts  gist  golang  gui  javascript  kakoune  library  linux  lisp  lobsters  lua  math  neovim  optimization  osdev  osx  piperesearch  plan9  pmz  productivity  programming  protocol  reactjs  rendering  repl  repo:github  repo:gitlab  research  rust  sam  shell  software  software_development  stackoverflow  text  tips  tools  tweets  ui  unix  varnish  vim  webdev  x11  xi_editor 

Copy this bookmark:



description:


tags: