VPN dependent.

  • 4 Posts
  • 41 Comments
Joined 1 year ago
cake
Cake day: June 30th, 2023

help-circle
  • For backup and sync I use Syncthing. I can specify which folder on which devices I want to sync to which folder on the server.

    I use a folder based gallery on my phone so when I move stuff around on my phone (or on my server) it gets replicated on all my devices.

    I also have a policy to sync specified folders (and subfolder) with my family’s devices. No more " hey can you send me all the pics from the XYZ trip"

    We take a trip. Make a subolder for that trip in a shared folder dump all our pictures there, get home and open the folder on the computer and prune together.







  • hahaha good point.

    That colleague, keep in mind is a bit older, also has Vim navigation burned into his head. I think where he was coming from, all these new technologies and syntax for them, he much rather prefers right clicking in the IDE and it’ll show him options instead of doing it all from command line. For example docker container management, Go’s devle debugger syntax, GDB. He has a hybrid workflow tho.

    After having spent countless hours on my Vim config only to restart everything using Lua with nvim, I can relate to time sink that is vim.



  • As a former Vim user myself, I have to say I really dislike screensharing with coworkers who use Vim. They are walking me through code and shit pops up left and right and I don’t know where it comes from or what it is I’m looking at. Code reviews are painful when they walk me through a large-ish PR.

    These days, I tend to bring my vim navigation/key bindings to my IDE instead of IDE funcs to Vim. Hard to beat JetBrains IDEs, especially when you pay them to maintain the IDE functionality.


  • code is just text, so code editors are text editors.

    What sets IDEs apart are their features, like debugger integrations, refactoring assists, etc.

    I love command line ± Vim and used solely it for a large portion of my career but that was back when you had a few big enterprise languages (C/C++, Java).

    With micro services being language agnostic, I find I use a larger variety of languages. And configuring and remembering an environment for rust, go, c, python etc. is just too much mental overhead. Hard to beat JetBrain’s IDEs; now-a-days I bring my Vim navigation key bindings to my IDE instead of my IDE features to Vim. And I pay a company to work out the IDE features.

    for the record, I am in the boat of, use whatever brings you the greatest joy/productivity.




  • Hard Fork: for keeping up with the biggest tech news. they do dissecting of potential impact if stuff.

    Lex Fridman: He interviews really interesting subjects. I’ll listen to subjects I’m interested in based on who they are or the subject matter they are an expert in. Lot’s interesting tech folks. My favorite episode so far is with John Carmack: Doom, Quake, VR, AGI, Programming, Video Games, and Rockets. Epsidoe is 5 f***king hours but broke it up into several sessions and Carmack is so good in articulating, it flew by.

    Huberman Lab: before software I liked biology and medicine. I like these occasionally because I get to learn how systems outside of software/hardware work. These I will watch/listen in a sitting as one would to a movie. It demands your attention to follow along. (I don’t like when doctors have podcasts with all the “alternative medice” BS. But Huberman is an active researcher at Stanford and in charge of a lab that cranks out sweet research. Def credible dude and very methodic and tries to rule out bias).



  • I tried Logitech’s wave keys at the store and I fell in love with them. I have several custom keyboards (including a HHKB with topre keys and WASD Code keeyboard) and this puts them to shame, unfortunetly. Can pick it up for $56 USD.

    https://www.logitech.com/en-us/products/keyboards/wave-keys.html

    • The shape is not those crazy ergo keyboards but the keys are very easy to reach, and you will not have to adjust to a new layout if you are comfortable with laptop keys.
    • The keys have more travel than laptop keys but less than mech keyboards (on average).
    • The Keys are also effortless to press but offer resistance.
    • Bluetooth and if you use wireless Logitech mouse you can use the same BT receiver.
    • They have them at Staples and Best Buy, so you can go and try it out.

    As for programming, I found the WASD Code keyboard to be pretty customizable with their hardware switches. I can flip a switch and boom, my Caps Lock is now another Ctrl, etc. But you can do that in the OS as well. They go around $99 and you can pick different keys. Not sure if they have any wireless ones

    https://www.wasdkeyboards.com/code-v3-87-key-mechanical-keyboard-cherry-mx-blue.html


  • The statement is very informative. The bug happens under increased read/write operations to the same file causing a race condition.

    I also found interesting:

    Despite the bug being present in OpenZFS for many years, this issue has not been found to impact any TrueNAS systems. The bug fix is scheduled to be included in OpenZFS 2.2.2 within the next week


  • There is a very effective approach (34:00), that big companies like cloudflare use, to ship a product in a fast and quality way. It bears parallels to what you are describing. In essence engineers should not get hung up in the details to trying to solve everything.

    1. Just build a proof of concept
    2. Discard the prototype no matter what and start from scratch keeping the initial feedback in mind
    3. Build something internally that you yourself will use
    4. Only once something is good enough and is used internally, then release it to beta.

    So that tedious process in trying to flush out all the details before seeing a product (or open source effort) working end to end, might be premature before having the full picture.



  • nothing wrong with being self taught, you could follow these basics topics before poking holes in firewall.

    1. VLANS: learn how to separate your LAN into networks with different security requirements. For wireless, try to make a “main” and “IoT” network so that IoT network that can’t talk to your “main” network but “main” can reach IoT devices. For wired, try to have a Management network, and a “Dirty network” etc.
    2. Firewalls and Routing: You will need to be able to route between your VLANS and set firewall rules to allow certain traffic. Best practice is block everything and allow only what you need.
    3. NMAP: learn how to do NMAP scans of your network to discover hosts and their open ports/services. This is a similar approach that “hackers” and script kiddies use on the public internet to find vulnerae and open services. Being able to probe your own network is crutial in understanding how others might approach in penetrating it.
    4. Wireguard VPN: Learn to access your network remotely by setting up a wireguard VPN. Wireguard is preferred because it is “stealthy” and will not respond to unsolicited attempted to probe your network. Start small by using wireguard to access between VLANs so you don’t run the risk of using the internet.
    5. NGINX and Reverse Proxy: If necessary, learn to expose your services or blog or website by only exposing nginx and proxying to your services. Many guides on securing NGINX exist. Try not to expose anything, but sometimes necessary if you want others to reach your website/blog/hosting etc.

    That’s a rough outline that you can use to guide yourself and achieve milestones with hands on experience. In your pursuit you’ll run into certificates and domain name hosting and stuff. But all this is on the web so let your curiosity (and paranoia) drive! Have fun!!