• 0 Posts
  • 14 Comments
Joined 1 year ago
cake
Cake day: June 13th, 2023

help-circle
  • I don’t really think it’s any of those things in particular. I think the problem is there are quite a few programmers who use OOP, especially in Java circles, who think they’re writing good code because they can name all the design patterns they’re using. It turns out patterns like Factory, Model View Controller, Dependency Injection etc., are actually really niche, rarely useful, and generally overcomplicate an application, but there is a subset of programmers who shoehorn them everywhere. I’d expect the same would be said about functional programming if it were the dominant paradigm, but barely anyone writes large applications in functional languages and thus sane programmers don’t usually come in contact with design pattern fetishists in that space.




  • A dedicated server is needed because something needs to keep a catalog of the smart devices available on your network and ideally be accessible to many people in one household. You could make a system that went phone -> device but you would need to set up each device on each phone you wanted to use, which isn’t a great user experience. You could also run into issues where devices would need to handle multiple conflicting commands from different users coming in at once. Since smart devices are usually trying to use as little power as possible, that extra complexity would hurt you in that department. The third reason is that having a separate server enables automated workflows that would depend on an always online server that orchestrates multiple devices. For example, let’s say you have some automatic insulating blinds, a smart thermostat. You want to raise and lower the blinds to maximize your energy efficiency. Since you have the dedicated server, that server can check the temperature set point of your thermostat, current weather, and sunrise\sunset times. If it’s sunny out, and your set point is higher than the outdoor temperature, the server can raise the blinds to let warm sunlight in, and vice versa. If only your phone could control the devices a workflow like this couldn’t work when you were out of the house.




  • I think vscode has definitely come a long way since it first dropped several years ago. You can definitely get auto complete, goto, lining, etc. Via the LSP framework, so all those things should work for python and c with some plugin installs and maybe a bit of configuration. The built in debugging support is also really nice.

    Neovim is basically the same as vim in terms of its editing modes. Vim and neovim use a action -> select paradigm eg. To delete a word you would type d (for the delete action) then w (to select the word). Helix uses a select -> action paradigm so to delete a word you would press w then d. One of the nice things about this is you can see what text you’ll be operating on before you actually perform an action. Helix also supports multiple cursors, which can be more familiar if you’re used to sublime, atom, etc. Both have support for LSP so you can basically get code intelligence on par with most IDEs for many languages. Helix is generally a bit easier to configure if you’re just using the base package, but isn’t as customizable and doesn’t support plugins yet.

    If you want to check out neovim I’d recommend using a pre-built configuration like Lunarvim or Lazyvim these are just configuration distributions that take a lot of the legwork out of bringing neovim up to par with modern editors. Think of it like copying someone’s dot files.


  • As far as I’ve seen many code Ai assistants operate over the LSP framework and work in most editors, and maybe a chat window that’s pretty easy to add to most editors via a plug-in. Adding something like live collaboration is a bit more legwork

    What features do you feel are missing from something like vscode? I’m a long time vim/neovim user but most of my co workers use vscode for everything with no complaints. I’ve actually been pretty jealous of stuff like jupyter integration.

    If you can’t get used to vim, it might be worth checking out something like Helix it’s editing model is a bit different and clicks better for some people.