HNHacker News
TopNewBestAskShowJobs

brendanfalk

827 karma · joined December 1, 2016

Co-founder & CEO @ Fig (fig.io). YC S20. Harvard '20. Australian.

Email me: brendan [at] fig [dot] io

submissionscomments
brendanfalk··on Launch HN: Fig (YC S20) – Autocomplete for the Terminal
Traditional shell completions are quite difficult to make. Many CLI tools have completions for subcommands and options, but not for arguments. Only the big CLI tools like `git` and `docker` have arguments completions (e.g. git push [remote] [branch]`.

Fig's declarative schema makes building the completions for subcommands, options and arguments very easy. This means we can support much more powerful autocomplete for many more CLIs.

Fig's standard format also makes it possible to suggest shortcuts for standard workflows (similar to aliases but more visual).

Finally, zsh and fish have good support for traditional autocomplete, but bash does not. Fig works the same across all shells (even when in an SSH session or a docker container).

brendanfalk··on Launch HN: Fig (YC S20) – Autocomplete for the Terminal
We consider most things you type in your terminal to be "sensitive". Fig only ever tracks the root command for any completion you do. For instance, if you type `git push origin master` and complete on `master`, Fig will only ever see `git`

You can see our full privacy policy here: https://fig.io/privacy

brendanfalk··on Launch HN: Fig (YC S20) – Autocomplete for the Terminal
Yes! Sidebar was a legacy feature. This is disabled by default for new users. We actually just removed the toggle to turn it on/off from our menu

Running `defaults write com.mschrage.fig sidebar hidden` should make it disappear.

brendanfalk··on Launch HN: Fig (YC S20) – Autocomplete for the Terminal
Thanks! We do need to put in place a proper privacy policy. But we wanted to be transparent with how Fig uses your data (hence what we have currently).

You can run `fig settings app.disableTelemetry true` to disable all telemetry except for one daily ping.

You also make a good point: in our onboarding we should move our privacy information to before granting accessibility! We will make this more clear

brendanfalk··on Launch HN: Fig (YC S20) – Autocomplete for the Terminal
Hey everyone - I'm Brendan, one of the other co-founders of Fig.

Our server endpoint to download all of Fig's specs just went down. We are fixing this right now. Apologies for the hiccup! Will let you know when it's back up.

*Update*

Our server is back up. If you downloaded Fig and it isn't working, please run `fig update`

brendanfalk··on How to navigate directories faster with Bash (2015)
We tried to somewhat mimic the finder experience when implementing directory navigation at Fig (https://withfig.com). Except of course, we make it all keyboard driven!

The methods listed in the article are almost certainly better if you know exactly which directory you need to go to (like a specific project repo, your bin etc) however often you don’t!

Another interesting tool is Z: https://github.com/rupa/z

brendanfalk··on Remove background highlighting when pasting text into the terminal
Some interesting additional information about "bracketed paste mode": https://cirw.in/blog/bracketed-paste
brendanfalk··on Show HN: Test if your (US) phone number is in the leaked Facebook data
Really helpful - thank you!
brendanfalk··on Bash-LSP: A language server for Bash
Cool! Some of the biggest problems we have seen are:

  * scripts being poorly documented: what's the point of having a script if no one knows how to use it
  * scripts going stale: often built by one person / an infra team. When they break, no one knows how to fix them
  * creating scripts: bash isn't the most popular language these days, but it's still supported just about everywhere. How can we make building them easier and faster but still just as powerful
brendanfalk··on Bash-LSP: A language server for Bash
All three are good, well maintained projects.

Tree-sitter is more general: it aims to provide support for many languages and so its bash support is lacking a little. But it's very fast. It's designed for IDEs (hence why bash-lsp is using it). It caches its results and only re-parses on newly changed code blocks.

sh by mvdan and shellcheck are both built specifically for the shell. They both have really robust grammar. shellcheck is great for error handling. sh is great for building ASTs (it's more of a true parser)

As always, it depends on your use case. If you need a descriptive summary of errors / warnings in a shell script and performance isn't crucial, use shellcheck. If you need a really robust parser and AST output, use sh. If performance is crucial and/or you eventually want to support different languages, use tree-sitter.

Please feel free to jump in if I am wrong here!

brendanfalk··on Bash-LSP: A language server for Bash
This is really cool and having spoken with the lead dev, Kenneth, I trust that this will continue to be well supported.

This is built on tree-sitter, but there are a couple of other interesting shell parser projects:

  * https://github.com/mvdan/sh
  * https://github.com/koalaman/shellcheck
At Fig (https://withfig.com), we had to write a bash parser from scratch. These projects all work well in the IDE context, but in a repl environment (ie when typing in your terminal) they don't support incomplete commands very well. e.g if I type `echo "$(` the above parsers will break as the double quote and parentheses are not closed.
brendanfalk··on Ask HN: Who is hiring? (March 2021)
Fig (withfig.com) | San Francisco or REMOTE | Senior full-stack engineer to join Founding team | Full time

Fig is re-imagining the terminal for the 21st Century. We are starting by building VSCode style autocomplete. In the future, we plan to expand into a fully fledged Terminal app store. We graduated from YC S20 and have raised significant funding (ask us who).

We are looking for two senior engineers with the following experience to join the founding team : 1. Full-stack + Systems + Shell (bash/zsh) 2. Full-stack + Shell (bash/zsh) + Interested in owning our autocomplete product (https://github.com/withfig/autocomplete)

Here's more information about Fig, our team, and what we're looking for: https://withfig.com/hiring

Alternatively, feel free to email brendan at withfig.com

brendanfalk··on Change your MAC address with a shell script (2019)
Another one liner you can use for macOS:

  sudo ifconfig en0 ether $(openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//')
You can always get your original MAC address from About This Mac > System Report > Network > Locations > Hardware (MAC) Address
brendanfalk··on Ask HN: What are your top 10 most used CLI tools?
Cool. I don't think I've ever used the unlink command. Also interesting that `ls` is > `cd`
brendanfalk··on Billionaires Build
And although only a small portion of applicants are invited to an interview, the application is quite similar to the interview
brendanfalk··on Billionaires Build
With tens of thousands of people applying to YC every batch, this will probably go down as one of PG’s most popular essays
brendanfalk··on Notion.clone: open-source notes editor like in Notion
I should learn prosemirror. just figured it would be a nice to have a simple text editor with markdown shortcuts. So perhaps let me rephrase by saying: i find outline clunky and don’t want to spend the time learning proesmirror to get rid of some of the clunkiness.

Also, any major distinctions between prosemirror, slate.js, and draft.js?

brendanfalk··on Notion.clone: open-source notes editor like in Notion
I couldn’t agree more with this. It would be nice to have an open source text editor with markdown shortcuts and auto-formatting. Bear.app, Typora and outline’s rich text formatter are close but the first two are closed and the latter I find clunky and hard to build on top of. I am excited to see this clone and where it goes
brendanfalk··on The Feedback Loop of Productivity
I think positive feedback is good. I also think it is better and more motivating than negative feedback (although both are necessary).

I tend to set goals that I can hit. I have longer term goals. But if I only focus on long ten goals I feel like I haven’t accomplished anything even though I’m working hard. If I set lots of short term goals that lead up to the long term goal, I feel like I’ve accomplished way more, even though really I’ve accomplished the same.

It’s important to actually hit the short term goals. If you get in the habit of not hitting them, then they just become ideas you have but never get around to.

brendanfalk··on Show HN: A Python tool for text-based AI training and generation using GPT-2
Don't understand why this didn't get more hype. This is amazing. Well done
brendanfalk··on Early riser or night owl? New study may help to explain the difference
I studied this at school. On average, men have circadian rhythms longer than women. And all circadian rhythms are longer when you’re an adolescent.

That’s why there is the classic stereotype of male teens waking up so late.

The only way to reset your circadian rhythm is sunlight as soon as you wake up in the morning! And melatonin at night

brendanfalk··on Sweden gives employees unpaid time off to be entrepreneurs (2019)
This is simply amazing
brendanfalk··on PayPal blocks donations to The Grayzone that mention Iran
Agree. Iran has been sanctioned for a long time, But PayPal would almost certainly would be overly cautious given recent events and maybe more edge cases are getting denied than a few months ago.

Anyway, either way we clearly agree here

brendanfalk··on PayPal blocks donations to The Grayzone that mention Iran
The US government is so strict on all transactions due to Anti Money Laundering and Counter Terrorism Financing laws. This donation clearly meant well, but it’s totally understandable that PayPal blocked it given everything that has just happened in Iran.

Yes, this clearly pushes people towards crypto, but PayPal is doing what the Government is mandating and is merely protecting itself.

brendanfalk··on Show HN: I built a newsletter that sends you cheap weekend trips from your city
Smart. Excited to see how this pans out
brendanfalk··on Ask HN: Deploy ML Model as API
As an answer, other than the ones listed above, I was recommended: https://algorithmia.com/
← PreviousPage 2 of 2