875 karma · joined June 17, 2011
Originally inspired by the stream deck, but I wanted a more dynamic interface and less hardware restrictions. For example you can use your phone as the controller.
Now it can do a whole lot more. Including mouse, keyboard, media controls. Supports custom buttons types and things like sliders and color pickers. Dynamically switches layout based on foreground app, and can also control which app is in the foreground from the controller itself. Having a lot of fun so there are a bunch more features in the hopper like deeper app integration, and an eink version.
Its a web app/PWA, so no app store needed.
If you are worried about privacy, get a domain just for this. Use domain privacy and dont host other things there.
Yes, some sites whitelist domains or dont allow subdomains. For those I'll use another account - or a firefox alias or something. But 9 out of 10 work fine.
I am not a fan of alias services since materializing names takes discipline. How many do you make? Maybe there is a limit of 50. When do you share them across services? My guess is many people just create 2 or 3 aliases they use for everything - which defeats the purpose. Sure, it masks your personal address, but once one gets compromised, you find it basically served as your personal address anyway.
I also dont really keep track of most of the names I use. Since most are one time things that I would never use again, like to sign a waiver or something. But I mostly stick to '{domain}@' for the names. So my nytimes account would just be nytimes@, which is predictable when I need to recover it. I used to use addy.io for this, but it was not as good since it had account limits and I had to manually manage every alias. Much easier for me to just create a mail filter to sinkhole an old name. Of course I have never really needed to do this anyway.
nytimes@mailsub.example.com -> jono@gmail
anything-else@mailsub.example.com -> jono@gmail
You dont even need to materialize aliases at all.
I do think the type of projects have indeed changed however, so maybe OP is looking in the wrong place, or has become steeped in the corporate world (see Middle Aged).
Look at app stores, f-droid, vscode plugins, github repos, frontend frameworks, distributed databases, Linux desktops, TUI apps, text editors. There are more projects than ever. They may not be as low level or as widely used as system kernels or programming languages, but there is so much code being written for personal needs.
I actually think the fact that these are not widely used is important. Higher level constructs and AI have made programming much more accessible. Non-devs are making one off apps just for their family. Or using LLMs to quickly churn out scripts to automate home assistant or common desktop tasks.
I personally have built several projects from my long-running ideas list that I never would have had time to do before without the help of AI. Savr is one (https://github.com/jonocodes/savr). For someone like me who has built that same CRUD interface for every company, AI has been an amazing motivator to work on new interesting things and less repetitive drudgery.
I am a senior/staff software engineer with 20 years of experience and who would be considered a top performer. Quick wittedness is something I rely on but technical thinking is always slow. White board interviews are nearly impossible. So finding work is ROUGH.
I wouldn't call my self the class clown, but I am often the first one to crack a joke and people look to me for lighthearted fun. I often hope this will save me in interviews as I rely on my past work and personality are my strong traits. All of the jobs I got through this, or from a personal referral. Never through a technical interview.
My way of coping with this has always been to work more hours then everyone else. It helps that I am also more passionate about what I am working on then those around me. I work on open source in my free time, while my co-workers have barely heard of Linux. If it were not for my love of the craft, I be miserable in this industry.
I first noticed this all when I was a kid and started taking more advanced classes. I’d have to take copious notes and deeply review them after class to make sure I knew what was going on. While my friends would listen once and ace the tests. I was also always behind on reading speed since I had to read things 2 or 3 times before the words really registered in my brain.
As a side note, I recently worked with a real version of the oh-so mythical 10x programmer. And he was a college intern! Running loops around the rest of us at our startup. He was doing the work of several of us older programmers. I think most of it was do to his 0-friction processing of information. Read, assimilate, code. Interesting to watch. They do exist.
I would just prefer to not have to public expose a service for a single user. In my case when sharing an image server to family it has been easy enough to walk them through installing tailscale on their windows desktop that they use. I love adding friends and fam to my tailnet. It then also makes it easier to log in and troubleshoot their issues later too.
It looks like CFs solution for restricted public access is CF access controll, but thats still publicly exposed. Their non-public option is WARP, but that requires installation on the client machine. At that point your user setup is even harder then tailscale.
Here is a good recap of the current players. https://www.localfirst.fm/landscape
All data is stored entirely on your device, and you have the option to sync it to your own storage provider like dropbox. This means you don't need to have the technical know-how to setup and maintain a server.
Its not usable yet, as I have rewritten it several times, but in the current iteration it is a client side PWA, so cross platform. Just started a new job so had to take a break for a bit.
Follow if you are interested (I need to update the Readme): https://github.com/jonocodes/savr
Remote: No. Only looking for hybrid in downtown SF.
Willing to relocate: No
Technologies: Python, Typescript, NodeJS, React, Django, Docker, REST, grpc, GraphQL, SQL, AWS, GCP
Résumé/CV: https://www.linkedin.com/in/jfinger
Email: hn0225 at m dot dgt dot is
Role: Senior or Staff Software Dev, full time
Hiring info and reviews from managers: http://dgt.is/professional
Excluded Industries: Finance, advertising, sales, marketing, retail, defense
Preferred Industries: Education, environmental good, social good, animal welfare, medical, science, public transit, open source, developer experience
Blurb:
* 15+ years as backend and full stack developer on teams of all sizes
* Enjoys mentoring engineers and giving tech talks
* Open source contributor, tech enthusiast
* Recently on front page of HN: https://news.ycombinator.com/item?id=42666851
* Will not do leet code technical interviews
Lets say I ask for some function that calculates some matrix math in python. It will spit out something but I dont like what it did. So I will say, now dont us any calls to that library you pulled in, and also allow for these types of inputs. Add exception handling...
So response time is important since its a conversation, no matter how correct the response is.
When you say deep seek "nailed it on the first attempt" do you mean it was without bugs? Or do you mean it worked how you imagined? Or what exactly?