It's interesting that this piece mentions "to get really rich" as one of the primary motivators. Especially to high school students. I wonder if that's good advice or if society is better served by motivating students to start companies that make the world better.
I built DiffLens (https://www.difflens.com/) initially just for myself. It's a diff tool that uses abstract syntax trees to make the diff more review-able. It's free for anyone to use too. I use it every day to review my diffs. If anyone works on Typescript, Javascript, HTML and/or CSS, do check it out!
I'm the author of DiffLens (https://www.difflens.com/). I initially built it for myself too (and use it everyday) and it's currently free for anyone to try. It's an attempt to use abstract syntax trees to make diffs more readable. Happy to see another diff project here!
The worry is understandable. As someone who's been in a similar situation before, the worry with a work visa and housing tends to go away one way or another. Either you get out of a work visa at some point, or you accept that you will never receive a green card in your productive years and you jump into the property market with that risk anyway.
Just wanted to chime in and say that this was a good read. Reminded me of reading editorials when I was younger. I agree with most of these points, and especially appreciate the fact that you present a nuanced view. Too often, western views are translated directly to other places and result can be inaccurate assessments.
I wonder if you can pick your favorite language/framework and write a daemon that serves as the "backend". Then, write a UI in whatever you like, and send calls to the backend to modify state. It's the same concept as MVC, but implemented in different processes
My recommendation would be to apply to as many positions as you can, but steel yourself to the fact that you may not hear back from any of them. I'd also recommend exploring if you can push graduation back by a year (assuming funding would cover it and you have legit research to do), or if you can pick up part time lecturer, post doc etc type of positions for the next year. IMO, job prospects for software engineers will likely start improving in the last quarter of 2023 and be much better in 2024. So I'd plan to tough it out till then.
I do empathize with your position and wish you luck :) I'm ever grateful to the first manager who hired me. He changed my life forever and that of my family.
> as I see it is that it provides a uniform api for traversing a parse tree, which makes it relatively straightforward to onboard a new language to a tool with tree-sitter support. The problem though is that the tree-sitter grammar is nearly always going to be an approximation to the actual language grammar, unless the language compiler/interpreter uses tree-sitter for parsing.
Author of DiffLens (https://marketplace.visualstudio.com/items?itemName=DiffLens...) here. A uniform API for traversing a parse tree for all languages would be amazing for DiffLens! However, I fear languages are different enough that this ideal may never be reached :) Or maybe there would be a core set of APIs and extensions for the idiosyncrasies of each language. For DiffLens though, we try to use the language's official parser/compiler if it exposes an AST
Haha, I found this quite funny :) I'm sure there's an element of truth to it considering how complicated the code base must be for the various services
This is a great post! I have very similar thoughts! I haven't escaped the corporate job yet, but the pandemic and subsequent layoff scares have convinced me that bootstrapping a business is a good way to take back some economic control.
I'm working on DiffLens to improve how developers see diffs of their code changes. DiffLens uses abstract syntax trees to make diffs more focused and understandable. It's free at the moment while we iterate on it and get the word out. I think it's the best way to view source code changes. If someone is interested in checking it out, see https://marketplace.visualstudio.com/items?itemName=DiffLens... . It works within VS Code and supports JS, TS, CSS and text diffs. JSON support is coming soon!
Interesting execution. I'm not totally sold that Sapling is somehow forcing smaller/(more understandable) commits. Running Sapling restack with the manual step of an `amend` doesn't sound too different than running `git rebase -i` and moving the commits around. ReviewStack is interesting, but nothing new. It seems like it's removing the need to click through the commits page in GH by exposing it in a dropdown. IMO, the real improvement to our workflows will come from using better diff tools to make reviews more intuitive. I am biased of course :) (full disclosure: I work on DiffLens https://marketplace.visualstudio.com/items?itemName=DiffLens... )
Not related to this article per se, but I wonder if there is a tool (or a market) for "validating" pdfs. Specifically I'm thinking of a tool that validates that different fields in a pdf have been filled. Sort of like "required" fields in a document that need to be filled for back office processing. I'm thinking about a recent experience where I had to send a pdf back and forth via email a couple times because some fields were missed each time. Perhaps an automated system would've caught this and saved everyone some time.
Great write up! I don't have much practical experience with Paxos/Raft other than coursework. I'm curious, if I wanted to insert a row into a table, what is the overhead of all these extra nodes in the insert operation now compared to a single table?
I realize the answer depends on how big the cluster is, what state it is in at any given moment etc, but I'm happy to accept back of the envelope calculations/estimations!
I've been wondering over the past few months if we can build a "public" cloud. I have some old machines gathering dust, I'm sure others do too. Is it feasible to build an ad-hoc network of such computers where the compute power is rented out. For ex: I can connect my old lenovo i5 laptop to this network for 6hrs a day and charge 1.2x my electricy cost. Sort of like on demand EC2 instances, but backed by torrent like tech. It'd make computers pay for themselves over time