HNHacker News
TopNewBestAskShowJobs

allenu

3,466 karma · joined April 15, 2013

I'm an indie dev making apps for Mac and iOS: https://www.ussherpress.com

My latest app is Understory, a Mac app for students and writers to research, outline, and write – https://understory.ussherpress.com/

[ my public key: https://keybase.io/allenu; my proof: https://keybase.io/allenu/sigs/9lNtoSQ24I0rd8_9OIJb6D9k8F_jqdLfVvZfvN-N2R4 ]

meet.hn/city/us-Seattle

Interests: Entrepreneurship, Mobile Development, Programming, UI/UX Design

---

submissionscomments
allenu··on Did you lose your AirPods?
Yes, same thing happened to me. The hardware failed over time and now the noise-cancellation feature causes audio to be very scratchy, making them awful for listening to music. I think mine lasted a little over a year of occasional use.

I went to an Apple store to see if I could get them replaced since I knew there was a recall on one version. They refused since mine was the version that came out after the recalled version.

That soured me on AirPods. Luckily it was a work-issued pair, so they were free.

allenu··on Homebound: The Long-Term Rise in Time Spent at Home Among U.S. Adults
For me, staying at home during the pandemic did feel like a vacation, but it doesn't feel like that anymore. I've reasoned that the difference between spending lots of time at home now vs. the pandemic is that during the pandemic the standards for socializing and doing anything were so low, it was like a weight off. With things being closed and social distancing, it was not expected of you to really do anything. You could excuse poor social habits.

Now that things are back to normal, staying at home too much and not socializing as much as pre-pandemic, feels like wasted potential, and I can't chalk it up to everything being shut down and people not being able to get together.

allenu··on The real "Wolf of Wall Street" sales script
That's a great point. So much of advertising is just providing awareness, too. I may not be in the market for a particular product, but if I've heard their ads a million times, even if they're annoying, once I go to buy, I will probably give them more weight than some unknown brand, especially if it's a low stakes purchase.
allenu··on The real "Wolf of Wall Street" sales script
That was smart of them to take you up on your offer! It reminds me of something I read that said if you are trying to sell something to someone and they're budging, ask them what it would take to change their mind. It's kind of a trick question, because often, whatever they request can be provided (or at least an equivalent), and once the salesperson provides it to them, it's very hard for them to say no. Most people want to appear consistent in their behaviors.
allenu··on The real "Wolf of Wall Street" sales script
I can see how "we're in your neighborhood so we thought you might want to use our services while we're here" could work. When I first moved into my house a few years ago, I wasn't familiar with tactics used by door to door salespeople, so I legitimately thought they were in the neighborhood and to save them on a second trip, they were seeing if they could drum up some additional business.

It was only after just about every door-to-door salesman used that excuse that I clued in that he's probably just a sales guy going to random neighborhoods and not actually one of the workers on the ground doing the job. Anyway, my point is most people don't think about these things, and especially not new homeowners, and probably just take their word.

Regarding the $10/window guy: I've been meaning to get out the ladder and clean all my windows myself but have been lazy, so if somebody actually showed up at my door, quoted a price, and said they'd do it right then and there, I might take them up on the offer. It's really just a numbers game for them.

allenu··on The real "Wolf of Wall Street" sales script
I suspect the latter question works better because it's softer and doesn't give as much of an out as the former. We're all busy. It's much easier to answer in the affirmative and if anything, highlighting the busy nature of your day makes it easier to say "leave me alone", but the latter is harder to answer no to, at least socially. A second or two, surely you can spare that. He's not asking for much! (Obviously, it's figuratively "a second" and more like a few minutes, but at least there's some daylight for the caller to squeeze their foot in the door.)

A lot sales pitches really prey on people's general desire not to be rude to another human being, so choosing the right phrasing to make the mark feel bad for breaking a social convention if they say no is by design.

allenu··on How to build quickly
Generally, with this type of work (where I'm trying to go fast), I have to be flexible, so I will often just let nested tasks "die off" after I've found alternative ways of solving the problem or I've changed the idea a bit.

Sometimes I'll delete the nested entries outright, but usually I'll just keep them around until I get to a point where I'm close to completing the feature and then I'll re-visit them to see if they still apply or if I need to reincorporate them into the new design.

allenu··on How to build quickly
This is how I work on my projects as an indie dev. When I start working on something significant (a new feature, for instance), I'll create a markdown file that has a summary of what I'm trying to achieve and then a TODOs section which turns into this massive outline of all the tasks that I'll need to do to complete the work.

At first, the outline just has a few tasks that are fairly high-level, but as I dive into each one, I add more nested sub-tasks. The nesting keeps going until I end up with sort of leaf nodes that can be done without depending on other tasks. This gives me a nice visual of how complex some tasks are versus others.

I generally prototype and design the implementation at the same time, and having this outline gives me a place to "dump" tasks and other work I'll need to do later, and you do often encounter more work than you expect, so an outline makes it easier to find a good "parent" for the task. Having a big outline also lets me jump around from high-level design to low-level implementation easily as well, which you need if you're prototyping and trying to find the right shape for your solution.

It's great as a motivator too since I can see when I complete something big when I check off a parent task that has a lot of nested children.

I find a simple text file outline like this is so much more convenient than say an app or a web UI since I can just jump around the file and cut and paste outlined sections and indent or un-indent them to re-parent them. (Having to use something like JIRA to do this would be way too slow, especially when you're in a flow state.)

allenu··on Deluge of Fake Mac App Store Reviews
I follow the author of those apps on Mastodon and he posted recently that he's been flooded by fake 5-star reviews and has reported them to Apple, so it doesn't sound like he paid for them.
allenu··on Show HN: I made a Note-Taking app for people who keep texting themselves
This is really cool stuff, OP. Congrats on the launch! I like that you've taken an actual problem or use case you have and turned it into an app.

I love seeing how other people solve similar problems. I've seen this other project [1] that is similar in idea, but the author there has opted to go for something that looks literally like a texting app. Yours looks more Slack-like, just going by the Mac version.

Likewise, I also wanted to create an app for keeping track of short notes, but I thought it would be neat to give it the UI of something like Twitter or Tumblr, so I built Minders. [2] I have to admit that not all the design ideas in my particular app work quite well together yet (such as "hearting" and replying to your own posts), but I do end up using it regularly for journaling and keeping track of interesting links.

[1] https://zhenyi.gibber.blog/gibberish-is-now-available-on-tes... [2] https://minders.ussherpress.com/

allenu··on Don't DRY Your Code Prematurely
This is one of those things that's easier to respond to with more experience. When I was a more green developer just starting to work in a team, I'd probably have answered, "Yes, I could've tried making the code more open-ended and extensible for such a scenario."

Now, with decades of experience, I can answer, "No, because if we designed all of our code to be reusable for any potential use-case, we'd be adding in a ton of extra work that would often not pay out later. It's acceptable that if we go with a YAGNI principle that occasionally we'll have some code that seems to be duplicated work, but that's far better than constantly writing more code that we don't need as that will increase our design complexity, leading to longer development time and requiring additional testing."

allenu··on JSON Canvas – An open file format for infinite canvas data
I've always wanted to build an infinite canvas idea to try it out, but whenever I've used implementations of it (such as in the Muse app), it just feels wrong. It feels like a beautiful way to interact with essentially fractal information, but in practice it doesn't quite work to me.

I agree with you that I don't think it maps well to the mental model of the brain. Seeing the youtube video link in the sibling comment, when the user is completely zoomed out and can see everything, I just feel overwhelmed looking at it all. Maybe it's the nature of the boxes having different scales that you can't compare them as easily to each other compared to just a regular canvas where things just place in two dimensions. Each time you zoom into a canvas, the transition causes a lost sense of place and space, akin to walking into a doorway to a room and wondering why you walked there to begin with.

allenu··on Montage fallacy
I recently noticed the narrative power of montages and just how "movie magic" they are, as opposed to being based in reality, when I watched the BlackBerry movie. There's a really great montage near the beginning of the film where they're cobbling together a prototype device in one night for an important meeting the next day. Watching it, I couldn't help but get hyped up and excited.

As a dev, I love watching other technical people do the impossible and create something great. At the same time, the logical part of my brain kept thinking, "This is really cool, but obviously this is total fiction. No way anybody, no matter how smart they are, can put together a device like that in one night." But I went along with it because it was fun and got the narrative going. So even with my critical brain, I couldn't help but "believe" the fantasy a little bit.

On the whole, it made me reflect on how movies really do present a fictional view of reality and that's kind of the power they have. And what about all those times where I watched a movie and didn't have a background in what they were presenting and just ate it up wholesale?

allenu··on Building a USB SNES Controller
Well done and good job using what looks like a cheap controller and aluminum foil to keep costs down. :)
allenu··on Building a USB SNES Controller
Controllers are surprisingly super easy to work with and a good gateway to some basic electronics hacking.

I've actually gone the opposite direction from this post. I have a Neo Geo arcade board (JAMMA) and it has plugs for Neo Geo controllers (as in the controllers for the console version of the Neo Geo). I wanted to use the Neo Geo without plugging it into an arcade cabinet, so I got a "Supergun" board to play it on an RGB monitor. However, I didn't have a controller for it.

I noticed that there was an emulator-based "Neo Geo X" system out in the wild and you could purchase a controller accessory on its own, so I got one, not realizing it was purely a USB controller in the shape of the original Neo Geo ones, but no problem. I bought a Neo Geo controller cable and just desoldered the button to USB connections inside the controller and connected them directly to the Neo Geo controller cable. Worked like a charm!

allenu··on A concrete example of what goes wrong with Apple's docs
ChatGPT has been a godsend for helping me figure out how to use quite a few Mac and iOS APIs in the last year. There are APIs that would’ve taken me an hour or more to work out how to use by searching online, experimenting, digging up old WWDC videos (often the only place to really learn how to use a given API properly), but now it takes seconds of ChatGPT. It’s been a game-changer.
allenu··on 9 years of Apple text editor solo dev
As an indie dev, I feel like the greater risk is that you aren't able to release an MVP and find PMF at all, so I'd always err on getting something working on fewer platforms first so you can move quickly. Having the option to go multi-platform later is a good problem to have, but isn't guaranteed, so don't tackle it early on.

Trying to build for multiple platforms is a lot of overhead, not to mention UI paradigms don't always map one-to-one. Even building for both Mac and iOS (versus just iOS, for instance), for me, can be challenging since there are enough to differences between the two platforms in terms of UX that I have to take extra care to nail both experiences faithfully.

allenu··on 9 years of Apple text editor solo dev
If you’re an indie dev, that can be a good thing. I find it much simpler to ship for iOS and Mac as a solo dev.
allenu··on Clicks – Physical keyboard for iPhone
It’s fascinating that a fake podcast conversation is a potentially better way to communicate a sales pitch than someone talking directly at the audience. I’ll admit I was also wondering “Who is this guy talking to? Was this a clip from a podcast he was on?” Having never seen him before, my conclusion was he is a podcast guy, but then again maybe it’s a fake podcast environment purely for enhancing the marketing message?
allenu··on Ask HN: What 1980s/90s-era shareware did you purchase?
I remember TradeWars 2002. I was never into strategy games all that much, but did play a bit of Global War and later Falcon's Eye.

I was surprised to find that several BBS door games are still available for sale, such as Barren Realms Elite:

* https://www.johndaileysoftware.com/products/bbsdoors

Apparently, the above company acquired several BBS door game IPs and continues to make them available today for purchase!

I also stumbled upon one of my own games on archive.org, available to play in the browser (albeit single user only):

* https://archive.org/details/msdos_Enigma_of_Ashrella_The_199...

In my case, I still occasionally have people emailing me for registration codes, but I point them to free codes I published years ago.

allenu··on Ask HN: What 1980s/90s-era shareware did you purchase?
I was into BBSes in the early to mid-90s as a teen, but was still pretty cheap, so only purchased a small handful of shareware:

1) Telemate - Probably the best software to call BBSes and download files.

2) Blue Wave (mail reader) - I got hooked on FidoNet, so needed a good mail reader.

3) Legend of the Red Dragon - I ran a BBS too so I absolutely needed this door game. Interestingly enough, reading about how much money the author made got me to write my own BBS door games and I was able to sell a decent number of copies! I really cut my programming teeth on those games I made (in C and C++).

allenu··on Show HN: Rem: Remember Everything (open source)
I suspect it's Apple Silicon only because there are simple APIs that Apple has provided to take screenshots of the desktop and OCR text from images. I don't think OP necessarily built any low-level code from scratch here (not that their provided code isn't useful).

Someone else has previously looked into how Rewind.ai may be doing its thing under the hood and there are more details about it here: https://kevinchen.co/blog/rewind-ai-app-teardown/ OP may have used some of the info there.

allenu··on The teenager who lives like it's the 1940s
I think some of it is just the poor aesthetic combination of fedora with a t-shirt and jeans. The fedora feels like an attempt to be stylish without going the full effort to coordinate the look. It’s a lack of self-awareness that probably comes across as the wearer saying “I am now stylish because of this hat” where that clearly isn’t true to an observer.
allenu··on To be great, be good, repeatably (2019)
I agree. I would say that there’s a class of lessons you only gain by, for instance, shipping things, by completing projects —- and many of them. If you only ever start things and maybe slog at it for a while and give up, there’s a whole host of things you’re not learning. I sometimes think that it’s better to sloppily ship many things than to perfect shipping one, or fewer thing. By doing something over and over again from start to finish, you gain valuable perspective on the whole and can understand what really matters in the larger context than you could if you just focused on one small part of a project.
allenu··on Ask HN: Netflix doing mass layoffs today?
I wonder if more people are realizing this and tuning out of those shows, too. I noticed I was watching a bunch of true crime stuff and after a while realized I was really just wasting my time since I didn't really learn anything new and I was just introducing "bad people" into my life in some ways. There was no net gain for me, other than feeling smug that there are bad and dumb people out there doing bad, evil things and that I don't interact with them, thankfully.
allenu··on Ask HN: What apps have you created for your own use?
One of the first things I learned to write for myself when I was a teenager was a diary program, written for DOS. I think I wrote it in QuickBASIC. Then later, I wrote another one using Modula-2. I believe I wrote another one after that using C++. (I'm going to have to dig up a copy to read those entries I wrote years ago!)

Anyway, earlier this year I thought it would be neat to have a journaling app that had the UI of twitter, so built it and finally released it recently: https://minders.ussherpress.com/

allenu··on Grimoire: Open-Source bookmark manager with extra features
> Classic bookmarks failed for the same reason manually curated directories lost to search engines - because the mnemonic organization doesn't work well at the required scale.

That's exactly it for me. Once I get a few bookmarks in the list, I'll inevitably need to organize them, but then I'll find I don't want to take the time to do that, so I just don't bother saving the bookmark.

At the end of the day, I just want to dump all my links somewhere and be able to find them again. I don't want to think about where they should go.

I built a journaling app recently [1] (the UI is similar to twitter, but for your personal thoughts), and what I've ended up doing a lot is dumping links in there. What I've found that helps is writing a quick note and adding tags, but even more than that, having a link preview generated makes it easier to remember what the link was later. (Based on screenshots, it looks like Grimoire is also generating a link preview.)

The fact that the journal UI is a "feed" also means I can browse through my history and see when I saved the link, so it has a chronological aspect to it as well. I think having all these affordances for finding things (commentary text, tags, link preview, chronology) is way more useful than hierarchical management.

[1] https://minders.ussherpress.com/

allenu··on Loro: Reimagine state management with CRDTs
I don’t know about the link’s strategy but I’ve implemented something CRDT-like and for object deletion, I’ve had to use tombstones. (In my case I timestamp the tombstone state in case I want to bring the object back).
allenu··on What I learned getting acquired by Google
Yup, when I read the blog post, my immediate thought was, "Hey, this sounds just like Microsoft when I was there." There it was blue badge vs. non-blue badge.

All the other stuff, too –– wanting to innovate but finding everything so slow, lots of process, feeling very pampered, etc.

allenu··on Paste without formatting on macOS
I encountered this recently. I tried what was suggested in the link and it didn’t work when I pasted into my browser (pasting into Protonmail). The core ”issue” is the copy action puts the formatted version into the pasteboard (as well as the plain version) and the app can choose to retain the formatting if it likes and not all apps even offer two menu items to give you the choice.
← PreviousPage 7 of 32Next →