HN user

mschrage

416 karma

Harvard '20 Things I’m thinking about: http://schra.ge Hardware: http://fab.cba.mit.edu/classes/863.19/Harvard/people/mschrage/

Posts36
Comments105
View on HN
twitter.com 2mo ago

Cognition Launches Devin CLI

mschrage
2pts0
cognition.ai 3mo ago

Cognition Announces SWE 1.6

mschrage
1pts1
github.com 2y ago

Oatmeal – terminal UI to chat with large language models

mschrage
3pts0
github.com 3y ago

Write CI/CD pipelines using TypeScript

mschrage
1pts0
fig.io 3y ago

Build internal CLI tools faster

mschrage
11pts0
fig.io 4y ago

Manage Your Dotfiles with Fig

mschrage
13pts1
www.paulgraham.com 4y ago

Haters

mschrage
1pts0
fig.io 4y ago

An Ode to Curl

mschrage
11pts0
fig.io 5y ago

Launch HN: Fig (YC S20) – Autocomplete for the Terminal

mschrage
559pts377
ruzkuku.com 5y ago

Unix Considered Harmful

mschrage
5pts3
rauchg.com 6y ago

Addressable Errors (2016)

mschrage
1pts0
zoomchat.co 6y ago

Show HN: Chat anonymously during Zoom lectures

mschrage
6pts4
en.wikipedia.org 7y ago

The Gods of the Copybook Headings (Kipling)

mschrage
2pts0
blogs.harvard.edu 7y ago

On Language and All That Is Lost in Transit

mschrage
1pts0
blogs.harvard.edu 7y ago

The Rationalization of the Attention Market

mschrage
80pts15
blogs.harvard.edu 8y ago

Friedrich Nietzsche: The Physiology of Politics

mschrage
8pts0
www.engadget.com 8y ago

Google’s comment-ranking system will be a hit with the alt-right

mschrage
3pts1
www.theguardian.com 8y ago

How Facebook's free internet service has failed its users

mschrage
2pts0
labs.rs 9y ago

Browsing Histories – Metadata Explorations

mschrage
1pts0
www.theguardian.com 9y ago

Facebook's internal rulebook on sex, terrorism and violence

mschrage
1pts0
blogs.harvard.edu 9y ago

A Post-Work Proletariat? Marxist Thought and the End of Labor

mschrage
2pts0
motherboard.vice.com 9y ago

That Viral 'FaceApp' Is Making Everyone Look Whiter

mschrage
1pts0
medium.freecodecamp.com 9y ago

My open source Instagram bot got me 2,500 real followers for $5 in server costs

mschrage
2pts0
blogs.harvard.edu 9y ago

No Shortcuts to Democracy

mschrage
2pts0
www.roughtype.com 9y ago

Zuckerberg's World

mschrage
1pts0
www.whitehatsec.com 9y ago

Ad Blocking Wars: Ad Blockers vs. Ad-Tech (2015)

mschrage
34pts35
www.nytimes.com 10y ago

Paranoia Finding Itself Online

mschrage
3pts0
sealedabstract.com 10y ago

On iOS Packaging

mschrage
1pts0
avc.com 10y ago

Global Venture Capital Distribution

mschrage
3pts1
www.buzzfeed.com 10y ago

How Facebook’s Plan to Give the World Free Mobile Internet Went So Wrong

mschrage
3pts0
Fig is sunsetting 2 years ago

The open-source project will continue to be maintained! The open-source autocomplete specs are used by the CodeWhisperer CLI and will be for the foreseeable future.

Currently, lots of developers use GitHub (which naturally requires a login) to sync their dotfiles across devices.

We are building our own version of this, that is more tailored to the use case than a generic git repo interface. :)

Tens of thousands of developers use Fig everyday and seem to really enjoy the autocomplete affordances that we've added.

That said, if you already are very comfortable in the terminal, some of the pain points that we're tackling might be less acute for you.

It seems like Fig might not be solving a problem you have and that's totally okay.

We believe that there is a lot of room to improve developer experience in the terminal. That's why we build the products that we build.

One of our core principles is backwards compatibility. We want Fig to be a seamless addition to your existing tools and workflows!

It's taken some creativity on the engineering side, but has been super fun to see what we've been able to build when working with these constraints.

`zsh-autocomplete` is a great tool as well! Some of this is just a matter of personal preference.

I've answered a few of your concerns in a different comment[0].

tl;dr

Autocomplete is just our first product, and it's part of a suite of tools focused on improving developer experience in the terminal. The idea is that you can configure your developer environment in Fig and then we'll sync it across all of your devices.

Fig will always be free for individuals. Teams pay for Fig for collaboration and discovery of internal scripts and for managing dev environment setup and onboarding.

A Linux/Windows version is coming soon. [1] [2]

[0] https://news.ycombinator.com/item?id=31113668.

[1] https://github.com/withfig/fig/issues/34

[2] https://github.com/withfig/fig/issues/35

I think there are two main areas where we improve the default experience.

1. Zero configuration needed to get started.

With Fig, the experience just works out of the box. A lot of developers - especially people less comfortable with the terminal - don't feel confident installing a bunch of 3rd party zsh completions or creating a custom setup.

2. Extensibility.

We've worked really hard to make the experience of writing your own completions very easy and powerful. Lots of teams are using Fig to make internal scripts and CLI tools more ergonomic and discoverable.

In my experience, writing custom shell completion scripts is not very much fun.

Hey HN! Didn't expect to see Fig here this morning.

We just released a new version of Fig that allows users to install a custom input method on macOS. This means we now work with over a dozen new terminals, including all JetBrain IDEs, Alacritty, Kitty, WezTerm and more.

The engineering behind it was surprisingly tricky since these APIs are not as well documented as you'd hope. (Indeed, the best place to look is the C header files [0])

But with a lot of trial and error, we've managed to get an implementation we're happy with. (That said, if anyone has tips on how to install an input method, without requiring a system restart, I'd love to hear them!)

I'll be around all day to answer any questions about how Fig works under the hood!

--

Also just to address some stuff that generally comes up when we're posted on HN:

1. Why is there a login?

Autocomplete is just our first product, and it's part of a suite of tools focused on improving developer experience in the terminal. The idea is that you can configure your developer environment in Fig and then we'll sync it across all of your devices.

2. Is there telemetry?

Yes, but you can opt-out entirely by running a single command.

fig settings telemetry.disabled true

3. How will Fig make money?

Fig will always be free for individuals. Teams pay for Fig for collaboration and discovery of internal scripts and for managing dev environment setup and onboarding.

4. Is there a Linux/Windows version?

We are making really good progress and will have a prototype in the next month or so. See the Github issues for Linux[1] and Windows[2]

[0] https://github.com/phracker/MacOSX-SDKs/blob/master/MacOSX10...

[1] https://github.com/withfig/fig/issues/34

[2] https://github.com/withfig/fig/issues/35

Writing shell completions is a surprisingly tricky - especially for larger CLI tools or when you want to provide more advanced suggestions. Everything has to be done imperatively, usually as a shell script! It can get hairy quickly.

As a point of comparison, see the difference between the git completions written in bash [1] vs the declarative equivalent [2].

[1] https://github.com/git/git/blob/master/contrib/completion/gi...

[2] https://github.com/withfig/autocomplete/blob/master/src/git....

In our timeline, maybe some file format could be standardized that describes the particular inputs and options a command takes, and e.g. shells would hook into it. Kind of like header files, but distributed either in a community repository or by each of the tools themselves.

This sort of sounds like what we're working on at Fig. We've defined a declarative standard for specifying the inputs to a CLI tool and have a community repo with all supported tools: https://github.com/withfig/autocomplete

Disclosure: I'm one of the founders

Writing shell completions is such a pain (and fish is still way ahead of zsh or bash).

Btw if you like fish autocomplete, you might be interested in fig.io.

We've spent a bunch of time making is super easy to add your own completions for scripts or custom CLI tools. :)