How is this a security problem? Is it because someone on the same network as the remote machine but without SSH access can connect the port that is forwarded over SSH?
As a user, I quite like how well VSCode's SSH system works.
> The agent runs over port-forwarded SSH. It establishes a WebSockets connection back to your running VSCode front-end. The underlying protocol on that connection can:
- Wander around the filesystem - Edit arbitrary files - Launch its own shell PTY processes - Persist itself
When you ssh into a remote server as a client, afaik that server cannot execute arbitrary code on the client. At a minimum, the client would have to explicitly take action for that to happen.
If you build on NextJS you will get the entire tailwinds of the industry behind you. Having Cursor write a full-stack app that leverages server components alongside client components is a 10x velocity unlock that you won't get if you bifurcate your codebase (as is the rails model)
Typescript is going to be the language of AI engineering, (with Python being the language of ML engineering).
Rails is a fundamentally unserious framework:
1. It lacks LSP (any modern language should support this, think "clicking" a function call to go to it's definition)
2. it lacks type-safety (do you really want to write unit tests to enforce contracts and expectations in your code? or just use the type system?)
3. Object-Oriented-Programming is a failed paradigm for modern web development
4. elite engineers will not want to work for you
Also, typescript has OOP support for a reason -- lots of typescript codebases make copious use of classes. Javascript tried to remain mostly functional for a long time, and people kept trying to make class-based OOP, so, they added it.
Finally, React is not a full-stack framework -- it's a framework for generating UIs. It has recently added support for server-side rendering, and NextJS has added support for that, but Rails and NextJS are very different. Rails is batteries included, NextJS is bring your own [everything] that happens on the server.
YMMV/to each their own/etc etc etc, but referring Rails as "fundamentally unserious" (github, stripe, shopify, i could go on) reflects the opinion of someone who either has an axe to grind with ruby/rails, or is willfully ignorant of it's capability.
> M&A is effectively dead right now
Curious if there is a reason why M&A is slow; any reading?1. Anti-trust activity takes a HUGE portion of the liquidity that does M&A out of the market. That has a dynamic effect -- other players who are not under direct anti-trust scrutiny think twice about their potential M&A activity. This, in theory, should reduce M&A prices (reduction in supply supply), but this is probably largely offset by point 2. 2. Inflated valuations from 2021 era. Lots of companies raised ridiculous late stage rounds around this period. Then interest rates rose. Now your company that raised on 100x ARR is worth a lot less than it was. But the company still has to grow into and beat it's last valuation. Combined with the M&A dynamics, it's much harder to justify a post-money above what your last raise was if that raise was a post-covid valuation, unless the business is just truly on ripping (e.g. Wiz).
Isn't the market what determines the value of a company? If they can't get the IPO price they want, then they aren't worth what they think they are.
Founding Sales https://www.foundingsales.com/
Maybe it's the environment? The language? The community?
I think certain people's brains work better with different languages. Often there's an overlap with community. I started my career in ruby, and still write it as much as I can, though these days, not usually for "work". I love writing it, and it's creator wrote it to be loved when you're writing it. Even though python shares a lot of similarity with Ruby, I find it frustrating in a lot of the little details and design decisions, and I just don't enjoy writing it like I enjoy writing Ruby.
I don't particularly enjoy writing javascript, but I've always enjoyed writing Swift. I also enjoy go, though find some of it's design decisions on the margins perplexing, pedantic and annoying.
Experiment with different languages. Find something you understand, that your brain doesn't have to fight with.
Also, get a hobby that has absolutely nothing to do with computers. Do something tactile -- baking, carpentry, fixing things. The raw difficulty of manipulating things in the real world is both deeply satisfying, and gives me a deeper appreciation for the ease and elegance of manipulating computers with software.
Hope this helps. Good luck.