HNHacker News
TopNewBestAskShowJobs

willjp

139 karma · joined January 15, 2020

submissionscomments
willjp··on How to present to executives (2021)
I feel like this is a reality when communicating across any two domains. People have their own problems their mind is busy with, you have to optimize for the least attentive person. That said, this sales-pitch style communication is exhausting.
willjp··on MyNoise – Background Noise Generators
I strongly empathize with you, this and the fast-and-furious truck drivers at 5am. I need to check this out.
willjp··on GraphQL kinda sucks
I think graphql is fantastic, and solves tricky design decisions (versioning, precise rest queries). However, I don't believe all graphql client libraries are created equally, and I strongly prefer those that are simpler, and closer to graphql's own syntax (ex. ariadne). This is an opinion though, my preference is generally explicit > implicit.
willjp··on All about QBasic and QuickBasic
woooow this brings me back. This is where it all started for me. Before I ever had my own computer.
willjp··on Dear startups: I hate subscription services (2021)
This is my favourite model. Say you are an illustrator, you purchase photoshop once for 900$ and you update again when the features are compelling. Maybe every 5 years?

These are not industries where people make programmer wages. Combining all of the required software costs is very expensive. Subscriptions more closely match the model/needs of the producer, but they are often quite bad the consumer.

willjp··on It's normal to play the same song over and over again (2016)
It’s not unusual - to see me cry
willjp··on Linux Sucks 2022
Internationalization is a strong argument.

I don’t like it, but you might be right. I’d still prefer a layer of abstraction between config file keys/comments so your configuration can be localized, but there are additional issues here with user-vs-author comments which the UI solution wouldn’t need to consider.

Of course you are correct, I couldn’t imagine teaching grep to my grandpa, most relatives, or even all coworkers. It shouldn’t be necessary, but it would be lovely if this was always an option. I’d much prefer having control, than an opaque system that migrates my settings forwards. Maybe I’m advocating for a system that supports both?

Thank you for posting, I never considered this, I need to think about it.

willjp··on Linux Sucks 2022
I agree and disagree. The driver issue is frustrating, but I think this is mostly a choice of hardware issue. If you can get a wifi chip with officially supported drivers it’s pretty painless. Broadcom, in my experience have consistently been the most painful.

There are ui configuration options, but the last I tried them (long ago) they felt inconsistent and painful. It quickly became clear that you needed a terminal to solve most issues, and when you didn’t start that way, you’re now faced with both an uncomfortable environment, and a problem to solve. So I opted to get used to the terminal, and I totally fell in love with it.

For my (not experienced) level of use, I find that it’s just several different systems. Once you know the name of the system, you can read it’s docs, find it’s configs, etc. I think one of the reasons for the recent popularity of arch is that you are given the choice of, and are made familiar with several of these systems to build your install. Maybe you’re using netctl, dhcpcd, or networkmanager - but you made that choice, and probably the initial configuration.

I don’t like the control panel, and the registry is difficult to navigate. Suffering through deeply nested menus to find a setting is a horrible experience for me. I’d much prefer grepping a directory of files for keywords. I have more tools at my disposal. Plus then I can version control and automatically provision a new machine instead of a hunt through ever-changing uis. You’re right that the original configuration takes some extra research and time, but I find for my own setups that the automated setup is worth the investment.

This is all very subjective —- I certainly don’t think you’re wrong, but I wanted to share some perspective on how it can be used (in the off chance you weren’t aware) - i hope it might make it more friendly the next time you cross paths :).

willjp··on My quest for the perfect window manager (2004)
I still use a non-tiled wm for specific use cases.

Openbox is extremely minimalist and customizable. I use it for games, gimp, and occasionally gui application development. You can add directional selection keybindings etc. so it keeps a tiled-esque feel.

I dumped a shellscript in my ~/.zprofile where I can easily switch wms and X configurations without logging out (keep mounts, music, etc). It makes it really painless to switch.

willjp··on Vim 9.0
This is what I love about vim. Ironically, I think that the barrier to writing a plugin that solves your problems is lower in vim than an IDE. Pair that with portability, and you have a cozy environment you can feel safe investing hours into.
willjp··on Permissive forwarding rule leads to unintentional exposure of containers (2021)
I’m not sure that is entirely fair.

Sure containers like LXC and bsd-jails existed, but I think the feature that won the hearts of devs was the incremental builds that let people fail quickly in a forgiving way.

With jails, the best I know of achieving this is creating a base jail filesystem (thin jail), and creating a new one. (Apologies in advance if another tool addresses this).

willjp··on We will never have enough software developers (2020)
Hahaha fair enough
willjp··on We will never have enough software developers (2020)
That’s very frustrating. I suppose it would be very expensive to standardize apis at this level where everything is performance critical.
willjp··on We will never have enough software developers (2020)
Wow, I had no idea. I wonder why all of the resistance - if not github then even the git protocol over ssh or a samba share.
willjp··on We will never have enough software developers (2020)
This is what I’m hoping for. At least, I’ve noticed on the admin side that lower level tools and system calls seem to be more stable and better documented than the abstractions built overtop of them.

I think market pressures make this a difficult fit in the workplace. High turnover (~2yrs) and larger systems encourage shorter term results with a shallower understanding.

This isn’t a criticism (I have so so much to learn still, I’m in no position to judge, nor do I want to be), but more of an observation. Balancing learning churn(frameworks/languages) vs fundamentals(theory, concepts) is a struggle I think I will have for the rest of my life.

willjp··on We will never have enough software developers (2020)
Re: skill churn

I got the impression that there is much less of this in lower level languages. It seems like there is a fairly stable foundation of C, Cpp that everything else is built on top of. I wonder if embedded programmers have this problem.

willjp··on Plain text, with lines
People that liked this post may also be interested in drawit, a vim plugin that helps you create ascii diagrams.

https://github.com/vim-scripts/DrawIt

willjp··on Morrowind 20-year anniversary book
Congratulations, you just made my 2022.
willjp··on Morrowind 20-year anniversary book
I feel exactly the same. I had never played a game before that felt so free. I spent so much time just discovering the world, what you could do. The magic system that invited you to break the game mechanics - at a cost. I love how playful it was, with items like the boots of blinding speed.

I don't know if any game can quite capture what I loved about Morrowind, but you might also like Outward, or Kenshi, if you'd like a similar feeling of discovering and surviving in a strange world that wasn't designed around you.

willjp··on Ask HN: Have you created programs for only your personal use?
This is my favourite passtime. So so many little scripts. Some fun ones:

* cli tool to diff changes to a branch since the last revision you looked at when it has been rebased (only if you haven’t git gc’d!!)

* use fzf to choose from pulseaudio sinks/sources, changing the default and applying it to all current audio streams (ex.change mic or to headphones)

* change the default linux webcam by renaming devices, runs as a udev hook.

* various arch tools. Automatically download mirrorlist and enable the fastest 5 sources. Download/extract a package from the aur. Fzf multiselect all of the .pacnew files, vimdiff them, and delete the .pacnew files for files that changed. Also my own install script with choices for ext4 or zfs.

* use mplayer to play a video as the background on all monitors. I downloaded several 10hrs of ocean/forest sounds and alternate between them.

* tool to convert restructured text to html email in mutt

* using xargs to parallelize updating my most common config repos

* index all git repos on disk, then either fzf choose from or choose best match and cd into it. Not my idea, but I love it so much!

* makefile for my i3 config that looks at avail displays and gives me 10 monitors per display with the same hotkeys (like dwm).

* choose from several presets and recompile st with a different colourscheme.

* categorize all of my bank transactions to monitor my spending over time.

* a cli DM with different Xorg configurations and window managers (music keeps playing, fuse mounts retained). Useful for multimonitor games that require different setups.

* wine, proton scripts to manage prefixes and cd to common windows directories within them.

So,so many more.

willjp··on Google mandates workers back to Silicon Valley, other offices from April 4
I seem to be the minority, but this makes me sad. Personally, I find it much less productive to work in an office, with all of the background chatter, interruptions, distractions, meetings. It's my fourth year of full remote work and I don't miss the office one bit. I really enjoy being able to prepare healthier/fresh lunches, and I probably work too much overtime either way.
willjp··on Discord is a black hole for information
Oh I didn't realize that, thank you!
willjp··on Discord is a black hole for information
I agree, but it's not discord's fault. Discord is great at what it does. I find the same social issues with discord, slack, gitter, irc, matrix.org, etc. Chat may be good for the questioneer, but it's bad for search/retention. I kind of miss the prominence of phpbb.
willjp··on Reclaiming the lost art of Linux server administration
Well, a house and some kind of NAS or at least a computer that is always on. But I take your point. This idea is brilliant though!!
willjp··on Reclaiming the lost art of Linux server administration
Thank you very much for this reply! Those are all very good points. You’re right, this is a service, and not having the worry about hardware or scripts at all is valuable when you have a million other things to manage.
willjp··on The history of the end of poverty has just begun
This is terrifying, and has a ring of truth to it. I still think it's better than the alternative though.
willjp··on Reclaiming the lost art of Linux server administration
agreed.
willjp··on Reclaiming the lost art of Linux server administration
This is exactly the solution I landed on as well. It has served me well for a few years now :).
willjp··on Reclaiming the lost art of Linux server administration
This is very slick. Apparently, I need to make some techie friends. Tarsnap is pretty affordable for off-site backups though!
willjp··on Reclaiming the lost art of Linux server administration
I'm not sure, I guess it depends what you're looking for. I'm a hobbyist, with no real professional experience in server admin, so I am probably missing some important things. But most of this can be replicated with ZFS and FreeBSD jails (or on linux, BTRFS and LXC containers).

>> 1. A solution for unlimited scheduled snapshots without affecting performance.

You can very comfortably have instant and virtually unlimited snapshots with zfs/jails (only occupying space when files change). Very easy to automate with cron and a shellscript.

>> 2. API access for managing configuration, version updates/rollbacks, and ACL.

>> 3. Close to immediate replacement of identical setup within seconds of failure.

There is a lot of choices for configuration management (saltstack, chef, ansible, ..). I run a shellscript in a cron job that takes temporary snapshots of the jail's filesystem, copies to a directory, and makes an off-site backup. A rollback is as simple as stopping the server, renaming a directory, and restarting it. It's probably more than a couple of seconds, but not by much. I think I'm uncomfortable exposing an API with root access to my systems to the internet, but I'm not sure how these systems work. I don't think it would be hard to set it up with flask if you wanted it though.

>> 4. No underlying OS management.

I don't know what this is, but I'm curious and looking it up :D.

In most of the posts I'm reading here, people have really beefy rigs. But you could do this on the cheap with a 2000s era laptop if you wanted (that was my first server).

← PreviousPage 3 of 5Next →