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

help-circle













  • 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.