• 1 Post
  • 17 Comments
Joined 1 year ago
cake
Cake day: July 22nd, 2023

help-circle


  • I would second Elixir. Either that or Rust. Sure both are popular, but for good reason.

    They are completely different from the languages you use.

    You will be introduced to new paradigms.

    As a person who used the same stack as you (albeit typescript instead of JavaScript), I think it would be a waste of time to learn C#. It is so close to Java, and learning it may make you hate having to use Java, because it seems a bit better put together. Even though it runs on Linux, and is a good language, I don’t think there is ever a reason to chose it over Java, because M$.






  • Yes, you can debug with vim + plugins, but I haven’t taken the time to set it up. You can do the same in emacs. I haven’t tried emacs as an IDE. I’ve read that LSP support is pretty good at this point, and I’m interested to set it up. I think spacemacs makes that pretty easy. I have LSP hooked up in nvim and have near parity with VS Code, but I’ve been wanting to swap my config to a Lua based one.

    I think running neovim as a standalone app is rooted in the desire to manage it with a window manager, but for me, being in the terminal is a huge plus. Pair that with tmux, and you can piece together an IDE outside of nvim as well, say, running gdb in a window compiling your app in another, and having nvim open in the next with convenient hotkeys to manage the windows and copy text fluidly between them.


  • I would roll your own config with both. I use NeoVim every day. It’s not my main IDE, mainly due to working with Java dev and needing a debugger. But need to edit a command? ctrl-x ctrl-e. Want to pipe output of a command to an editor? ‘| vim -‘ Vim macros can save you so much time, and are fun to implement. It’s an essential tool imo. As I understand it, eMacs is better used as a standalone application than in the terminal. My primary use for emacs is org mode. You can export org mode to multiple formats including markdown. Easy to share notes to a wiki or readme. You can also execute code blocks within org mode using babel. Have a csv that you want to turn into an ascii table? Org mode can do that as well, and you can add functions to columns. You’ll have to enable these packages in your config. Hint, figure out “use package” from the start. Back to my first bit of advice, figure out what you want to do in each, and pull in a few packages to your config. You’ll have the basics down. Then when you want to grab a batteries included framework, you’ll have some opinions on which one you might want to use. NvChad looks cool, but it almost seems too much for me, and I’m attached to my simple configuration. I don’t want tabs in vim because I have a cool fuzzy search for buffers. That being said, in eMacs, I have a package that implements tabs. Anyway, I say just start using them!





  • Each electron app has its own Chromium runtime. With the prevalence of electron apps, the result is multiple instances of chromium running on your machine. Chromium isn’t light weight. On top of that, there is the philosophical aspect. Do we really need to be shipping an entire browser for the purpose of creating a UI? That being said I understand why so many electron apps are created. HTML/JS/CSS are powerful and easy to use (IMO) and cross platform. I just try to avoid them and use alternatives to electron.




  • No.

    Working as a software developer, creating software is a team effort. The developer doesn’t necessarily come up with the requirements. The business is the driver of what the software becomes. You would have to account for the product team as well. What percentage would go to whom?

    How would you quantify usage? Number of API requests? Number of downloads? What if the app is only run locally. Are you going to phone home every time the data parser is fired up and charge users on a per row of data processed basis?

    What about features being disabled or removed? Refactored by another dev? Now you are talking about algorithms to monitor source control to track who receives residuals. Sounds like a mess.

    Sounds like an entire governing body would need to be in charge of how to track residuals. More bureaucracy is bad.

    Someone else mentioned responsibility for code after you have left a company. I think one of the most relieving things about getting a new job is the mess of systems you leave behind (only to walk into a new mess).

    I’ve signed a contract with every employer I have worked for that states what I work on is their IP. Employees should go in knowing that.

    Another issue is fair pay. Ideally everyone would be payed fairly for their work. In the U.S., software engineers are known for being compensated well, so I don’t think that is an issue.

    To tie this back to the current situation with writers, a precedent has been set in that industry, where residuals are expected. I do believe there is creativity in software development, but the extent of that is on a person to person basis. Many people write convoluted code their entire careers, which simply gets the job done. Often times creating more work than they realize when it comes time to extend.

    This concept also seems to go against those most vociferous pioneers of the industry who advocate for free and open source software? Torvalds, Stallman, Jimmy Wales etc…