HN user

zschuessler

728 karma

meet.hn/city/38.9587514,-77.3585955/Reston

Socials: - github.com/zschuessler

---

Zachary Schuessler

- zlschuessler@gmail.com

Posts9
Comments119
View on HN

I could talk for days on all the peculiar bugs resolved. Once the alpha stabilizes I have drafts to publish on several topics.

You actually nailed the major pain points. Particularly window focus and state management. I've spent months solving this problem alone.

-

1. Applications data list: Getting the list is easy! Finding out which apps in that list are "real" apps isn't. Getting icons isn't. Reliably getting information on app state isn't. Finding out why something doesn't work right is as painful as can be. Doing all this in a performant way is a nightmare.

2. Applications menu renderer: Rendering the list for the menu is easy enough: the macOS app sends this data via socket. The frontend is just web sockets and web components under the hood (https://lit.dev). The difficult part was converting app icons to PNG, which is awfully slow. So a cache-warmup stage on startup finds all apps, converts their icons to png, and caches them to the app directory for read.

3. Window state: again, by far the worst and it isn't even close. Bugs galore. The biggest issue was overriding macOS core behavior on what a window is, when it's focused, and how to communicate its events reliably to the app. Although I did include a couple private APIs to achieve this, you can get pretty far by overriding Window class types in ways that I don't think were intended (lol). There is trickery required for the app to behave correctly: and the app is deceptively simple at a glance.

-

One bug, and realization, that still makes me chuckle today.. anything can be a window in macOS.

I'm writing this on Firefox now, and if I hover over a tab and a tooltip pops up - that's a window. So a fair amount of time has gone into determining _what_ these apps are doing and why. Then coming up with rules on determining when a window is likely to be a "real" window or not.

The Accessibility Inspector app comes standard on macOS and was helpful for debugging this, but it was a pain regardless.

If anyone feels this way and wants to try an alpha I have 1,000+ hours in.. I've implemented a Windows 10-like UI for MacOS. Similar to uBar (ubarapp.com).

The key distinction is it's built to be extended with third-party plugins (think Obsidian). I stopped using uBar because it had features I needed, but it's not actively adding features anymore last I checked. And of course, this will be fully open source.

This solves a lot of problems I have feeling productive in any not-MATE UI. More here: https://progress.compose.sh/about

It's in active alpha development but has all the core features you'd expect: taskbar works great, but only a basic system tray and start menu. And it'd be very much an alpha that needs feedback :-)

What a phenomenal article and reading UX.

Explaining a difficult concept in terms anyone can understand. Great diagrams and examples. And top marks on readability UX for spacing and typography.

OP, what inspired you to create your current theme? Have you ever considered creating an engineer-focused publishing platform?

I skimmed the Readme, the What is Superstreamer? page, and features list. I still don't understand when I would use this, or when I would recommend it to someone. I'm an engineer somewhat familiar with the space.

You may consider starting with a simple unique value proposition and reworking presentation from there.

Take the first sentence of the Readme as example: "Superstreamer is a self hostable platform that aims to simplify the complexities of video delivery" - and answer questions:

1. Who is benefiting?

2. How is this better?

3. What complexity is being solved?

4. What's the tangible outcome, or CTA?

5. What well-known alternative is this related to?

ChatGPT took a stab at it. Not amazing, but something to start with:

"Superstreamer is a self-hosted platform that simplifies video delivery, giving you full control over your content without third-party dependencies. Reduce costs, customize your setup, and deliver high-quality streams with ease. Drop <competitor> today and get started in minutes."

Also simple things like defining an acronym before it's used goes a long way.

Overall presentation, UX, design, code quality, and detail is a homerun IMO. Nice work, I can tell you put a heap of passion into it.

This is really neat. Well done on the UX and functionality.

I saw others already mentioned uniqueness of city names. In the US there is no guarantee a state, zip code, or even county won't have a duplicate city name. To solve this one must store the lat/lng coordinates instead. Then offer users a search list of matched cities, so they can select the right geographic location.

Good stuff - cheers!

To some degree OS productivity is subjective based on what you grew up with. Your neural pathways form around a certain way of work management and it becomes hard to change that after ten years.

I'm naturally biased then to early Windows and MATE-esque environments. And, it's worth noting that I despise Win11 overall, so a better comparison is indeed Linux Mint MATE[1]. Part of the project inspiration is to never use Windows 11 again, actually!

Before I started the project I wrote down what I consider productivity boosters for me:

1. Fast context switching between open apps and windows, natively. All open apps are in front of me by way of the taskbar, always, and never hidden. I never have to think about where to find my immediate work. I can group apps, pin them, and create custom behavior for them.

2. System tray apps for things that you interact with often, but aren't necessarily immediately working on. Macos has something similar but it isn't really pluggable or widely used yet, and nowhere near as customizable. With Win10 I can add, remove, or hide system tray apps based on how I use my workstation best.

3. Optimized Start Menu. I press a button, I get access to things I've favorited, recent apps/files, and categories of apps I use often. It is highly customizable in Win10, while I struggle to have something as efficient in macos (even though macos global search is wonderful!).

I feel like the old UX rule of "don't make me think" applies heavily here. The macos app dock is a great example of this. You're forced to think about what you want to do with 10-20+ options glaring at you. Disabling the dock is the first thing I do on a new Mac ;)

Lastly, Win10 lets me customize my system to a high degree as my needs change. I just don't get that with macos, nor have I found apps that hit the mark for me.

I'm curious about your own experiences if you care to share :-)

-

[1] Linux Mint MATE: https://www.linuxmint.com/rel_vanessa_mate_whatsnew.php

I have been working on porting concepts of the Windows 10/11 taskbar, tray, and window management, to macos. With emphasis on simplicity, speed, and function inspired by Linux Mint MATE.

It has been a wild ride. Often frustrating but rewarding. Some days I may spend 10 hours solving an API for which app is frontmost at a given second. Sure, there's a system API for that, but it doesn't even remotely cover edge cases that exist. And many times with no answers out there on how to do something, it feels like I'm the first, so finally solving it is a great endorphin rush.

Part of the complexity is I wanted the app to be completely pluggable, kind of like Obsidian. The app communicates events to a local socket server in full duplex, which enables cross-plugin communication (but also cross-app!). Plugins access the app's JavaScript system bridge API for pubsub and system calls through a Webkit interface. Edits are hot reloaded and instant, no compile time necessary. The first time I could change my "Start" menu in real time through JavaScript/CSS was quite a feeling.

Sadly, I couldn't leverage existing tools like Tauri or Electron. They don't have adequate system bridge APIs available, and would be more work to leverage instead of less. They are too general, whereas this project only builds to macos. Therefore it can be much more complicated (and useful) by design.

I originally set out to be more productive in macos. But I've also spent time making prototypes for fun. A desktop widget system, real-time system color theme set from Spotify album art, live video desktop backgrounds from Twitch/YT, a Destiny 2 macos system theme, etc.

I plan to open source it and build a community around it one day.

The exception I have found to poor AI chatbot experiences, oddly, was Carvana.com.

I needed to resolve a highly complicated title problem I was battling two separate state DMVs over (plus a defunct lender). It was starting to seem I needed to retain a lawyer.

So I was just compiling information at the time. I asked an esoteric question about one of the private LLC names Carvana have as their lending arm in a specific state. You would only know this name reviewing a stack of paperwork, it is not public.

The chatbot responded with detailed information on what I needed to do to resolve the problem. Plus information about the LLC. And then emailed me supporting documentation automatically.

My jaw dropped.

The killer feature for me is how extensible the software is made to be. It truly lets you operate how you know best, making very few assumptions on how you use it.

Case in point: one of my favorite productivity plugins is a full-fledged Kanban board. It has deep integration into Obsidian features:

- https://github.com/mgmeyers/obsidian-kanban

One of the coolest hack projects I've seen in some time. Looking at the schematics took me back to my electronics technology class, learning the value of heat syncs and accidentally setting amps on fire :,)

Having an accompanying explainer article or video is something I'd pay/donate for, just out of sheer curiosity of the work involved.

Find a B Corp 3 years ago

This is the first I've become aware of B Corp and I like the idea.

I dug into what defines a B Corp. Notably the self-described "stringent" rules for becoming licensed. Pardon my ignorance, but it seems like a lot of regulatory checks to adhere to for keeping the company accountable? Seems.. like a lot of overhead.

I've been silently cheering on Teamshares.com over the past year hoping their idea catches on. I'm not sure if that's the same idea (emphasis being on employee ownership). But I'd be interested in hearing the account of others who have worked for a B Corp.

This is fascinating. If this ever becomes a more serious endeavor, reach out - email in my profile.

Another user posted about Teamshares (https://www.teamshares.com/). It appears to operate similarly: investors buy up companies and give them to the employees. I'm assuming some level of fee is given to Teamshares to continue operating.

Oddly enough.. one of the backers of Teamshares is Collab Fund, where my second quote is pulled from on one of their most recent posts. Small world.

I heard few song lines from a new artist I've discovered. It has me thinking on a problem I want solved. Although, I'm not actively working on it.

Why aren't there more employee-owned companies? And I don't mean solely shareholder programs, I mean actually owned by every employee and they are paid dividends of profit after all planned R&D costs. Similar to the Alaska oil pipeline bonus. Even interns.

All studies show that the companies structured this way that do exist (they seem few) have much higher output, quality, and happiness among staff.

After more research I found that this exists: https://esca.us/ - Wawa is a member, pretty cool.

Talking more to others about the idea I've heard interesting stories. Some machine tooling shops have an actual employee-owned setup. All employees are incentivized to make every product output great and keep profits high, because they all share the profits.

Anyway, I'm not actively working on this. But wanting to shape this idea more in the future. It feels like it could help the current state of America. But perhaps I'm too hopeful and naive :-)

---

Hobo Johnson - My Therapist:

"The idea's about equity, it's about wealth

Most think that it's dumb, you should think for yourself

If I buy a pizza place that makes a definite profit

Yeah, let's say yearly, the owners make $100,000 off it

And if I buy this pizza place for, let's say, $300k

And when the workers recoup in three years, I'll sign it over that day

And wouldn't everybody not see

They should buy their pies from me?

You'd rather have a boss

When you can work democratically?"

---

"Incentives are the strongest force in the world. They explain why good people do awful things, why smart people do stupid things, and why ordinary people do amazing things."

- Quote I have pinned from @morganhousel

The example with feeling comfortable asking trivial questions hints at a common theme of successful teams: psychological safety.

If you are interested in learning more on it here are a few resources!

1. Project Aristotle - A study from Google https://rework.withgoogle.com/print/guides/5721312655835136/

2. Good to Great had a couple chapters touching on safety, but also making company information easy to access.

http://www.squeezedbooks.com/articles/good-to-great-why-some...

3. A more sciencey approach https://www.ncbi.nlm.nih.gov/books/NBK310384/

I couldn't find the second study I wanted to link to. I recall reading a study on team composition that focused on impact of different types of leaders. Teams that had a leader which got everyone to talk in a group were consistently successful. That was the one constant over time, even beating out visionary/charisma types that weren't inclusive.

I'm late to the game but I'll throw in the opinion of a hobbyist doing VR development.

I gave Unreal 4 a solid shot: did the tutorials, watched videos, learned simple concepts and advanced concepts alike. After months of learning one weekend I thought "I'm not having fun anymore" because 70% of my time was troubleshooting build errors and vague bugs (I actually counted). I'm no stranger to build errors (I'm an engineer) and even for me it was a difficult task to fix them. I would go down rabbit holes for hours fixing vague errors. Further, just about every tutorial I came across for UE4 was outdated and didn't work.

I swapped to UE5 a few months before they released their first public version. It was an absolute beaut of a system to use in comparison: better UI, drastically fewer bugs, tutorials were accurate, and no build errors. Quite a bit Just Worked, A+.

Ultimately I went to Unity because at least for VR, there were better tools that were better supported by the package maintainers. Adding a new third party Thing to a project in UE5 was a guaranteed recipe for troubleshooting weird bugs. In Unity, everything worked flawlessly. And personally, I dig C# more than C++.

So, I did the same learning process with Unity: simple/advanced tutorials, plenty of time dedicated to picking up all the concepts over several months. I'd say Unity for a hobbyist is still the better route if you are planning on doing game dev part-time. It's just easier to use and breaks less.

This is the opinion of a hobbyist doing VR development part-time though, and I fully believe other comments from industry pros saying Unreal is the way to go. I can't comment on that but I will say Unity was best for me.

Both asset stores were pretty killer and I spent WAY too much money on assets and scripts. Prepare to have a checkbook handy if you get started with either ;)

Nice UX! I have a similar project I'm open sourcing (the data, too!).

On that note, does anyone have a feature or request they'd like to see in a remote job/content site? No matter how crazy.

Thank You HN 4 years ago

Hopping aboard the praise train.. my two interactions with @dang include:

1. I made my first submission to HN many years ago. I got an email helpfully suggesting edits to better present the content. It ended with a "Thanks for posting good things to Hacker News" - that part stuck with me, I thought it was nice.

2. I had a later submission that I thought would be an instant hit, but it didn't get traction. I emailed HN to see if it's okay to resubmit. @dang responded with tips on how to get traction, then ended the email with: "Good luck! It's hard to predict what HN will find interesting, and so few posts end up 'making it' with this audience that I hope you don't feel bad either way."

@dang is a good person that cares about HN content and the people that use it.

The Motley Fool | Senior PHP/WordPress Developer | REMOTE - SEE LISTING FOR STATE LIST | https://www.fool.com/

We are looking for a savvy, talented WordPress/PHP developer to join the Global Tech Team at The Motley Fool.

Our mission on the Global Tech Team: Helping people invest their hard-earned cash more effectively and profitably all around the world. We are the team that builds and maintains www.fool.com.au, www.fool.ca, www.fool.co.uk, and www.fool.de. We run our sites on WordPress Multisite and write a lot of custom code around customer acquisition, e-commerce, analytics, and user experience using modern PHP and Vue.js, often integrating with 3rd-party systems via APIs.

To apply please visit https://careers.fool.com/openings/?p=job%2Fov8Defwe

Disclaimer: I'm an engineer on the Global Tech Team and this posting is from my personal HN account. My views are my own :-)

These tips were centered around simplification, and they are good tips. For documentation and technical writing in particular, I picked up a few mannerisms that I now use every time I write.

The biggest impact has been to have a goal of limiting a paragraph to 2-3 sentences. From this goal my other writing traits came naturally.

When starting a paragraph, start off with a blunt statement that summarizes the paragraph. Following sentences can back up the summary sentence.

Use a short single-sentence paragraph to make an emphatic point.

Do word qualifiers add to your content? Many times not. Humans add qualifiers and adjectives more than what's necessary to understand a concept.

Readers get bored with monotony. If there's a wall of text, that's boring. If there's a wall of images, that's boring too. I try to break up a document into different types of formatting. Lists, headings, quotes, and image/content sections to make things visually appealing.

These are only goals! Sometimes a big honkin' paragraph is just what the doctor ordered.

Fun language or a well-timed joke keeps things interesting. They can give the reader a well-deserved break. Like the big honkin' paragraph usage above.

Lastly, the presentation of the content is important. Medium got their content width, font size, and colors down well. GitHub did a great job, too.

I learned to do this when a publisher took red ink to a tutorial I wrote. They gave me the goal of shortening all paragraphs to 2-3 sentences. It was tough at first but now I'm a fan. It's a fun writing exercise :-)

This kind of politics makes my heart hurt. Parson wants to control the situation and is doing everything he can to do that, no matter the cost to the tax payers of my home state, or lives he impacts. I'm genuinely sad people like this are in power.

The disclosure by the reporter was fair. The reporter waited to disclose the story until the department of education reviewed the matter. I don't see a court convicting from that fact, this is all for show on reelection.

What I'd like to see is Parson respond to community questions in a townhall and be held accountable for his words. Namely, can we see the line item breakdown of how we got to $50 million? That is _five_ times the cost it took to build Missouri's great Arch..

Which query are you using where you see missing data?

I checked ten in the most popular and all resolved correctly. When sorting by date, I see a ton of Show HNs posted recently.

I was surprised to see so many Show HNs posted recently, I personally don't see them hardly ever on the front page anymore. Are they no longer shown as much?

I got started because I lived in a town of 400 people and there was nothing to do. My family weren't farmers, yet all my friends were. One day Dad brought a computer home with a 300mhz processor and it was either learn to be entertained by that, or twiddle my thumbs.

The first burst of inspiration that I wanted to do software was neopets.com. The idea of neopoints somehow magically being stored in this thing called a database and shared through a virtual economy created a deep curiosity in me. Enough that the early days of apache, php4, and mysql were enough to slog through as a kid (truly painful back then!).

I didn't get a degree. I went to a day of university and dropped out because they wanted six figures for things I already knew. Financially it was worth it to do that, but I am sad I wasn't able to live the 'college life' my friends did, and didn't make the same connections they did. Freelance life can be lonely unless you put the effort in to network.

My first paid work was SEO and content writing, then when WordPress 1 launched I found gigs making websites with it. I found clients through online forums and then asking those clients if they knew anyone I could do work for. The best gigs came from those referrals. Honestly I'm not sure I could do that in today's atmosphere! Back then there were no freelance websites (like Upwork) or video call systems to verify you weren't a 17 year old kid. Today it's much harder to find gigs among strangers, especially if you're young. My best months I was 19 and making $10k/m without my clients knowing I was so young :)

I'm an engineer today but have dabbled in other roles like UX, design, PM, bizdev. I love the flexibility and the compensation the right engineer role provides. I wouldn't say there is anything I hate about it, life is good!