Hacker News new | past | comments | ask | show | jobs | submit | cbushko's comments login

Tailscale ssh is very useful when away from your home network. Setup was pretty easy and the only 'gotcha' that I found was you cannot assign ssh to a mac machine if you are using the gui app. No worries though as it was easy to get tailscaled running with nix-darwin.

I am often away from my home network and my main gaming machine is asleep. I worked around this by installing tailscale + tailscale ssh on my router (yes you can to this!) and using it to send a wake-on-lan packet to my gaming machine.

Some useful fzf code for anyone that wants to get a listing of tailssh machines.

  tailscale status --json | jq -r '
    .Peer[] |
    select(.Tags?[]? | contains("tag:dev")) |
    "\(.DNSName)"' |
          sed 's/\.$//' |
          fzf --ansi --border-label="| Tailscale SSH Hosts |" --height=30% --  border=rounded \
              --margin=2,2,2,2 --prompt "Connect to: " --preview-window=top:40% \
              --bind "j:down,k:up,ctrl-j:preview-down,ctrl-k:preview-up,ctrl-f:preview-page-down,ctrl-b:preview-page-up"


I am 47 and I am the best I have ever been. I might code slower than people 20 years younger than me but I produce much much better code than they do.

There is definitely ageism out there. What you don't get in velocity, I make up in quality.

Also, I think I am wise enough to know that I know nothing and there is still a heck of a lot to learn!


I've used everything. Windows for gaming/work, linux for prod/home and now Mac for work/play. I use docker every day and it's performance on Intel Mac used to be pretty terrible.

Until the M1 came out. It hands down beats every machine I have ever owned. I have an M1 Air, no fan, 10hr battery life, tiny package. It is amazing hardware. Docker is fast on it. Not linux fast but fast enough to always be running a dozen containers.

I find the recommendations saying that 'the software on mac is terrible' to not be the case for me. Sure, I am not running a fancy Wayland/sway tiled setup but the MacOS desktop is not THAT bad; at least it is not Windows.

I mostly use open source software every day. Alacritty (terminal), neovim (IDE), zsh (shell), firefox (browser), obsidian (docs). Spotify, slack and zoom are pretty much the only applications that are not open source.

I use dotfiles and use brew/brewfile to install packages. Brew has problems but apt/yum/etc have problems too. If you really want to keep things clean then you can use Nix on Mac if you wish.

And the Apple ecosystem? It just works and that is all I really care about. I put in my airpods and they can connect to all my devices. If I need to share files I can just air drop them to whatever device I want or just let them sync with iCloud.

I don't have time to fight with technology as I want to spend that time building things or hanging out with the family.

I think Asahi linux on M1/M2 laptops will be pretty amazing in the next year and you can have the best of both worlds.


Just for the record: obsidian is not open source in the same way as Firefox or linux is. The source be viewed, but is subject to restrictive licenses. I use it, really like it, but it isn’t free and open.


Please help the community and make sure that these issues are documented in Github/whatever issue tracker.

Or if you have the skills please contribute back and fixes these things that bug you!


I've re-built my neovim config like 3 times this year as I have played with several 'distributions' and styles. SpaceVim, LunarVim, AstroVim, and NVChad to name a few.

This last weekend I gave LazyVim a try and it is by far the most sane config setup I have used and I will now be sticking with it.

There is a starter repo where you clone it, delete the .git directory and start customizing.

https://github.com/LazyVim/LazyVim My config is here, feel free to copy/steal it. https://github.com/curtbushko/nvim


Could you elaborate, why is LazyVim more sane? It too seems to require understanding a lot about their organization of configuration. (It doesn't help that I'm still not migrated from Vim to Neovim and lua, because I just didn't find a neovim configuration that was better than what I have.)


There are a couple things:

- Most distros seem to like wrapping functionality and having you use their own convenience functions to get things done. For example, for AstroVim, astrovim.<function> is all over their config files. This is fine if you were a distro developer and you were trying to make things easy for yourself but I do not find it easier for the user when neovim already has simple lua based functions. It is another barrier to entry as you have to learn how the distro authors put things together. - The config for LazyVim is will thought out. For example, it has 2 directories: /config & /plugins. That makes it simple to figure out where things should go. keymaps go in keymaps.lua, options go in options.lua... it kind of makes sense. - The plugin config for disabling a builtin plugin is the same as where you would configure your own plugins. It is literally:

  return {
    { "github/plugin.nvim", enabled = false },
  }
vs

  return {
    { "github/myplugin.nvim", {config here if you want}},
  }
- There are no weird plugin loaders and most examples you see from plugin authors are copy/paste into that bracket section. - The LazyVim website is decent. Not perfect though. https://www.lazyvim.org/ - The starter is a great place to start your setup. https://github.com/LazyVim/starter - The plugin manager, lazy.nvim, seems to be a lot simpler and well thought out compared to others plugin managers (like packer). It has autoloading, caching, a UI, etc. - Folke, the distro creator, has written many popular plugins and knows quite a bit when it comes to configuring plugins. That seems to be paying off in the design.

To be fair, there are some design decisions that I don't agree with when it comes to the LazyVim layout itself. Putting everything in editor.lua or ui.lua instead of per-plugin config is not how I would have done it. It was pretty easy to figure out where the plugin settings were though because they match the categories on the website.

Note: I mainly switched to Neovim as I am find that there just seems to be much more development in the ecosystem and the number of amazing plugins coming out is staggering.


Thanks a lot. Maybe I'm starting to see what you are talking about. I have setup a working (?) lazyvim. Let's see where it goes. Some frustrations had to be overcome, most of them turning off unwanted functionality like autopairing parantheses, for example.. The custom notifications/popups also had to be disabled for now since they have some problems (cursor vanishes in light terminal? Important command outputs are only visible for a few seconds?).


I disabled the checker on startup because that dialog was annoying me.

In /config/lazy.lua:

  checker = { enabled = false }, -- automatically check for plugin updates
I've never had a problem with the things you mentioned but the notifications are using either noice or notify. I think the submenu is <leader>sna



Helix doesn't have tabs or folding, I find it really hard to use an editor without those features. The preconfigured LSP stuff is nice, but after you set it up in vim you usually don't have to mess with it unless you want too.


I'm happy to dump NeoVim if Helix is actually better. But is the ecosystem _really_ there yet?


As with most engineering tools, I think using the word "better" is not necessarily correct. It's a matter of tradeoffs.

For me, I was fed up maintaining code to run my neovim setup the way I want, so I was looking for a configuration distribution or... something else.

Helix was the dead simplicity I was looking for. It has its own warts and drawbacks, but the tradeoffs are well worth it in my experience. I absolutely love Helix!

But if you want your editor to work exactly the way you want and having maximum flexibility is more important, you will not like Helix, which is extremely opinionated and has 95% of what you want in a modern text editor. The other 5% may be a deal breaker for you.

And that's fine! Use the tools you love!


Unfortunately there is no ecosystem. Helix does not provide an extension interface.


Huge downside for me.

Not that I want to muck around with plugins all day, but having the ability to add a few helper plugins to ease certain tasks is a godsend in terminal editors.

Especially if you really dislike certain defaults packaged with the editor.


That is too bad. If they did then they would probably garner huge community support and the gaps would be quickly filled in.


They're actively discussing/working on it: https://github.com/helix-editor/helix/discussions/3806


No neovim is much better and easier and retains most of the vi keystrokes while helix breaks some common vi keystrokes

And no extension interface for helix another big positive for neovim and even vi


I have played with helix and I do like how it comes with everything out of the box. Helix is doing great things but it isn't there yet.

I can customize Neovim the way I want and the plugin ecosystem is huge. Maybe when Helix gets there it will be worth the switch.

p.s. kakoune style of modal editing makes so much sense and I wish vim had started out like that.


What are the design goals of helix other than neovim in rust without all the original vi/neovim key bindings sans extension interface b



Can they add backwards compatible to all vim key bindings then that gets very useful like neovim and unlike a vim like plug-in on vscode


I would love to use helix, if only it hadn't decided to come up with new keymappings


Nah the keybindings don't work once you learn the vim ones


I've only had successful paired programming in one situation and it was amazing. I believe it worked because we were friends and at the same knowledge level. In three days, we ripped through a project that should have taken a month. Our 'C' code was perfect because there was always someone looking at it in real time and catching the errors on the spot.

I do not think that I will ever encounter this level of productivity ever again.


It’s beautiful when that happens.


I've done a lot of pair programming with mentees and it's very rewarding. They usually learn a lot and it helps building a relationship with them. Bonus points if they see you struggling with a problem/bug.


The same goes for huge open source projects like Kubernetes. The amount of money to run the infrastructure for CI/CD and CDN is in the millions per year. Someone has to pay for that and the big companies are the ones that fit the bill. Google mostly pays for it but others have started contributing also. For example, Amazon recently announced that they are funding part of the infrastructure also.


How much does AWS make from just EKS? Tossing some change to support k8s ecosystem seem like a pretty good investment.


*foot the bill



No. Foot is right, meaning "pay". "Fit the bill" is also used, but not in this context.


Yes. _Fit_ is right, specifically in this context. Re-read the comment you're talking about. In fact, either work fine. I'm taking issue with the pedantry we're engaging in here (while admittedly adding to it).


The context was clearly about payments. So it's foot. It's not particularly ambiguous even.

I don't correct people to be pedantic or argumentative. I love being corrected and learning from others, but I suppose not everyone does.


Yes, it is "foot the bill" in regards to paying for it. My mistake but I am glad everyone had some fun learning!


I recently noticed a decline in battery on my M1. It is ridiculous to complain about 10h battery life but the decline was noticeable. I fixed it by:

1) Turn off siri suggestions & privacy and all the app watching it does. System Settings -> Siri & Spotlight -> Siri Suggestions & Privacy. It turned it off for every app.

2) Turn off siri all together. System Settings -> Siri & Spotlight -> Ask Siri Toggle

3) Turn off Spotlight for everything you do not need. System Settings -> Siri & Spotlight -> Search Results check boxes

4) Turn off login items. System Settings -> Login items. Remove what you do not need from the list.

5) Turn off run in background items. System Settings -> Login items -> Allow in background

6) Remove items from ~/Library/LaunchAgents/ that you do not need. I had an old docker vnet item that wasn't needed.

Other than #6, you can do the first 5 things on all of your Apple devices and it makes a big difference in battery life. I just did the same steps with my phone and ipad.

I hope this helps your battery life a little bit.


Thank you! I have turned off a lot of background helpers from apps I don't use anymore and removed some search result types. Docker was in the background helpers multiple times. Let's see how much this helps.

In activity monitor, I also saw that Steam and iStat Menus both hand an "impact" of 50 which made them the top 2, the next had an "impact" of 5.


This might be an old issue, but try turning of the hard drive space indicator in iStats Menu. It was a major drain for me a couple years ago. After a restart, energy use went way down.


Thank you. As part of the analysis I stopped istats completely as it was one of the main consumers of power.

But I think it must still be something else as it also consumes power in sleep. And I have disabled function to wake up and check mail.


Folks tend to get so upset about the title of "DevOps". I am unsure if it is because of:

  - just dealing with bad Ops engineers at work that "don't do much"
  - employees taking advantage of the DevOps movement to make more money
  - System Administrators complaining that 'this is what we have always done'
System Administrators, though skilled, had a much different mindset in the 90s when I worked closely with them. They were more focused on keeping Sun hardware running and keeping the SAN from filling up. That server room was their 'production'. They were still on call for when a server went down and it took days for a new server to be rebuilt. The best of them wrote scripts to make their lives easier but that wasn't often the focus. They were too busy keeping the systems running to automate much of it.

I find that DevOps is a different level of abstraction compared to Sys Admins. In general, they do not need to know how to build a server and fight with the OS as they can use tooling to spin up 100s of machines in the cloud. The amount of knowledge they need is much broader and less specialized than a System Administrator. Where the Sys Admin would need to know the ins and outs of Cisco Routers, the DevOps engineer only needs to know how to use a Load Balancer. If lucky, there is a tool that makes it easy to create them.

I find the list in the guide to be quite accurate but you do not need to be a master of everything in the list.


I use hop only for specific characters using `HopChar1`.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: