13 comments

  • donatj 167 days ago

    Ports 2000 - 6000?

    I know I am getting old but when did we stop running things on 8xxx? The more 8's the more dev it was. 8000, 8080, 8088, 8888

    • userbinator 167 days ago

      To me, 8xxx is for proxy servers.

      • lexokoh 165 days ago

        i made an update to specify ports like these. You can check.

      • faangguyindia 167 days ago

        On macOS i've this in my zshrc file:

        `killport() { kill -9 $(lsof -t -i :$1 -sTCP:LISTEN) }`

        i use it like killport 8000

        • porridgeraisin 167 days ago

          Yeah, I have a function `whoseport` which is just your subcommand. I usually manually type kill or whatever I want with `$(whoseport 3000)`

          • lexokoh 167 days ago

            Nice. I have this too. I wanted something more visual and expansive.

          • _def 167 days ago

            I'm not looking forward to the near future where it will become harder and harder to distinguish little projects like this from AI generated tools.

            • userbinator 167 days ago

              The README already has a rather repugnant LLM-ish feel to it; lots of lists and verboseness, while saying very little.

              Also, this is a perplexing choice (which also serves to illustrate the above point regarding verboseness):

                  White background with red center: 1-9 processes (some development servers) 
                  White background with orange center: 10+ processes (many development servers)
              • lexokoh 167 days ago

                A lot of ReadMe's are generated with AI. Doesn't really mean anything.

                • userbinator 167 days ago

                  You're right. A lot of words that don't really mean anything; and that's exactly why you should not do it if you want actual humans to read it.

                  • jelder 166 days ago

                    Whenever I see a README or worse, PR description that was obviously generated by an LLM, my immediate response is "if you couldn't be bothered to write this, why should I bother reading this?"

                    • 1gn15 166 days ago

                      Because it provides useful information, and is easier to read compared to reading the code directly.

                      • jelder 166 days ago

                        Except, no it doesn’t.

                        In the case of a pull request, I am not about to trust some LLM that has no business context and can only pretend to guess at the “why” of a change.

                        To understand the “what” of a change, you have to actually read the code. This doesn’t belong in the pull request description most of the time.

                        • e-clinton 166 days ago

                          You’re implying that if someone uses AI to write something, the person doesn’t then read it/iterate on it to ensure correctness. Serious “get off my lawn” vibes here.

                          • userbinator 166 days ago

                            the person doesn’t then read it/iterate on it to ensure correctness.

                            As someone who has had to deal with drive-by PRs on open-source projects, which were a problem before but have now gotten much worse in volume as they are mostly AI-generated, yes.

                  • nojs 167 days ago

                    > Quit: Exits the application

                    • johnisgood 166 days ago

                      I would have never figured that one out, had to ask an LLM! Thank god for LLMs.

                  • AbuAssar 167 days ago

                    the ascii tree in "Project Structure" is a dead giveaway that AI is used in this project

                    • pacifika 167 days ago

                      Why would you need to do that?

                  • dsab 167 days ago

                    What is "development process" ??? What is "business use case" of this tool? Such a big readme and no introduction to why I should be interested in this tool.

                    • lexokoh 167 days ago

                      It's just a tool I built for myself. There's no business case. It just helps me

                      • hit8run 167 days ago

                        Which is perfectly fine and a fun thing to do. I personally use the terminal but such a little monitoring tool can be quite fun and we should embrace the fun in doing things more. People over here are so soaked up by the Open Source as a business model VC-Pitch that they can't believe it when someone builds a little hobby tool with no business plan for a multi billion dollar exit. You're doing it right buddy. Don't let these Crypto-SaaS-AI-Bros ruin the fun for you.

                      • OfflineSergio 166 days ago

                        can't a guy just create something anymore? :D They have to have a business model or a grand plan ?

                        • motorest 167 days ago

                          > Such a big readme and no introduction to why I should be interested in this tool.

                          This.

                          Why in the hell would anyone want to kill random processes that open a port in the tange 2000-6000? And why is this need so pressing as to require a full blown monitor integrated in a task bar?

                          Without context, this sounds like a complete random silly project that makes no sense and serves no purpose at all.

                          • bigyabai 167 days ago

                            Without context, it sounds like something someone vibe-coded and git push-ed up to the internet. Which is fine, but it's just unusually precise and verbose for something that would end up being a shell alias for most developers.

                            • todotask2 167 days ago

                              The author also posted it on Reddit. He used it for himself, but some people use it even though it’s bad practice.

                        • hbbio 167 days ago

                          Didn't expect to see the FSL for that kind of project :)

                          The part I'm interested in is the tray_icon crate but I'll look at the package directly https://docs.rs/tray-icon/latest/tray_icon/.

                        • sgt 167 days ago

                          lsof is a bit heavy, I wouldn't want that running every 5 seconds to be honest.

                          • password4321 167 days ago

                            Interesting idea ("manages development processes running on ports 2000-6000"), and props for hitting the front page though technically this is a "Show HN". Screenshot(s)?

                            • lexokoh 167 days ago

                              Not sure I can add images here, but if you check the repo, I'll be adding one shortly.

                            • sdotdev 166 days ago

                              If only I was on mac, something like this probably exists on windows I just need to find it. great idea however

                              • lexokoh 161 days ago

                                I finally added support for windows and linux

                                • lexokoh 164 days ago

                                  If you open an issue or feature request, could look at it.

                                • nbbaier 167 days ago

                                  Neat! There's also a raycast extension for this kind of thing for anyone who wants to go that route:

                                  https://www.raycast.com/lucaschultz/port-manager

                                  • incanus77 167 days ago

                                    These would be good additions to SwiftBar/BitBar.

                                    • npretto 167 days ago

                                      a couple of prompts of claude code gave me this, works well enough, but while I agree that this is sometimes useful, it may indeed better served by a couple of aliases in the terminal ``` #!/bin/bash

                                      # SwiftBar Port Monitor # Monitors processes on TCP ports 2000-6000

                                      # Menu bar title echo " Ports" echo "---"

                                      # Get processes listening on TCP ports 2000-6000 processes=$(lsof -iTCP:2000-6000 -sTCP:LISTEN -n -P 2>/dev/null | awk 'NR>1 {print $2 "|" $1 "|" $9}' | sort -t'|' -k3 -n)

                                      if [ -z "$processes" ]; then echo "No processes found on ports 2000-6000" exit 0 fi

                                      # Process each line while IFS='|' read -r pid name port_info; do if [ -n "$pid" ] && [ -n "$name" ] && [ -n "$port_info" ]; then # Extract port number from format like :3000 port=$(echo "$port_info" | sed 's/.://')

                                              # Menu item with port and process name
                                              echo "[$port] $name | color=blue"
                                              
                                              # Submenu items
                                              echo "--Kill (TERM) | shell=kill param1=$pid terminal=false refresh=true"
                                              echo "--Kill Force (KILL) | shell=kill param1=-9 param2=$pid terminal=false refresh=true"
                                              echo "--Process Info | shell=ps param1=-p param2=$pid param3=-o param4=pid,ppid,user,command terminal=true"
                                              echo "-----"
                                          fi
                                      done <<< "$processes"

                                      # Refresh option echo "---" echo "Refresh | refresh=true

                                    • naikrovek 166 days ago

                                      Green -> Red -> Orange

                                      That is an odd progression

                                      • phplovesong 166 days ago

                                        This has 10 additional deps. 10! Rust is the new Javascript.

                                        • crote 166 days ago

                                          Complaining about the number of dependencies is completely meaningless if you don't take into account what those dependencies do, and what the ecosystem looks like.

                                          For example, `tray-icon` looks pretty useful for a lightweight app which basically is a tray icon: rewriting that library from scratch would be a massive waste of time.

                                          On the other end of the spectrum, `log` and `serde` provide basic functionality which most languages will have in their standard library. Rust intentionally keeps a small standard library to avoid ossifying potentially bad ideas. The crates have tens of millions of users, rewriting that yourself would be stupidity.

                                          It's very easy to criticize the length of their dependency list, but could you point to a specific one which you deem unnecessary? Which one do you consider to be a "leftPad", and what trivial code fragment would you replace it with?

                                          • userbinator 166 days ago

                                            I haven't had to do Mac GUI development, but on Windows managing a tray icon is a single system library function: https://learn.microsoft.com/en-us/windows/win32/api/shellapi...

                                            • phplovesong 166 days ago

                                              I mean this entire thing is doable in a one-liner bash script. This tool has 10 deps (and every one of them also includes a big list of deps, so in practice i probably have over 200 deps).

                                              How is this acceptable?

                                              • sghiassy 166 days ago

                                                Even if the app used the bash script as the backend, the UI would require dependencies (aka tray icon)

                                                • phplovesong 166 days ago

                                                  You dont need a UI for things like this.

                                                  • E39M5S62 166 days ago

                                                    Maybe you don't, but the author did/wanted one. It's a good thing your exact needs don't control how other people use their computer.

                                                    • phplovesong 166 days ago

                                                      Its also reckless that you install 200 deps that can in theory read/write and do anything to your OS. How do i know this thing is not listening to my keyboard? Etc...

                                                      A uI tray icon is usually a few os calls away. I does not require 200 deps.

                                                • cdaringe 165 days ago

                                                  A macos status bar gui with user interaction is doable in a one liner bash script? Show me.

                                                  Spoiler: no it isnt.

                                            • skyzouwdev 167 days ago

                                              [dead]