HN user

mpd

321 karma
Posts1
Comments169
View on HN

Heya - I'm the author. Glass is a cross-platform MCP server that gives an agent a way to see and interact with GUI apps. I don't like building UI. Agents can code it, but can't verify or debug it. Glass exists to close that loop.

Glass is purpose-built for software development, and aims to enable headless, parallelized agent work while the user continues to use the machine unhindered[0]. It minimizes token usage, increases consistency, and just goes faster by preferring to interact with an app's accessibility tree, before taking the screenshot route (which glass also fully supports).

Glass is cross-platform and the code is Apache-2.0 licensed. We release builds for Linux, Windows, and macOS hosts. Glass supports development targeting the three above host platforms, Android (all hosts) and iOS[1] (macOS hosts). The internal API is backend-agnostic, and new platforms can be added in the future pretty easily.

Feedback is very welcome, either here or at github. If it breaks on your app, I am especially interested in knowing about that. I hope you build great things.

[0] Due to the license enforcement on Windows and macOS, isolated headless development targeting those platforms requires a VM. It will otherwise interact directly with the desktop. Android and iOS development on those platforms can still be done headlessly via the emulators.

[1] The iOS backend does not currently support multi-touch gestures.

Oh, it looks like the release command would fit the `build` step I mention.

As far as the after-deployment tasks go, we automate those just like migrations - they're (occasionally very slow) one-offs that we don't want to hold up a restart for. Really, an analogue to the release command that can run after restart is all that I'm talking about here.

My big want here is containerized deployments with build + release steps to allow me to e.g. run migrations and after-deploy tasks (we use both). This prevented a move to Render for us previously.

Ruby 3.1 5 years ago

My question is whether or not rubocop can autocorrect it to whatever. If so, I really dgaf about this.

No reasonable person could understand the phrase, "Don't Be Evil," to mean, "Don't do things that I personally consider evil."

TBH, I think almost everyone treats the former statement, as meaning the latter. Did you mistype here?

Maybe there's even something different about using "evil" here, specifically. Would another word have a different outcome?

To me, it feels like the same effect as Ruby ~15-10 years ago. Lots of chaos as good (subsequently winnowed down to preferred), patterns were discovered, and then things stabilized. It isn't sexy anymore, but to this day I've yet to discover a better tool, that lets me blast out features and make changes at rapid pace, than Ruby (and Rails on the web side).

I think it's the likely reality of far more projects than just terraform, and I don't fault the project completely for reaching this state - attrition is a brutal thing.

It's distressing personally though, that it's an issue unknown to me before I read this post, and affects a product I use and champion.

I'm not your parent commentor, but imo, it's because there's is an enormous amount of existing info out there about these two steps. For these kinds of projects, they are necessary whether you're translating to another language (i.e. generating code) or not. And everyone starts with lexing and parsing. And just repeats the same old shit.