HN user

speedyapoc

386 karma
Posts14
Comments111
View on HN

Comment is a bit of an aside, but it's a shame what happened to JSONFormatter.org. The UI was preferable to alternatives for me, it ranked highly in Google so I could just search "JSON formatter" and access it, etc.

Now the site freezes 50% of the time when loading it on my Mac and when it doesn't freeze, there's a 5 second period of waiting before I can paste any input. Not to mention ads taking up 40% of the screen. The classic tech cycle of life.

Here's a few recent ones:

1. Xcode 15's "Replace Container" feature replaces the app container with incorrect permissions that results in the app not being able to write to its container (ex. the documents directory). This is an important feature for debugging and flat out doesn't work.

2. Apple's AVPlayer has an API called MTAudioProcessingTap which allows you to get access to low level audio data. Since iOS 17.1, it is not possible to have more than one MTAudioProcessingTap running at the same time.

3. AVPlayer's `addPeriodicTimeObserverForInterval` function will randomly stop calling back to its observer, and never recover, when connected to an Apple TV via AirPlay on iOS 17.

Issue 1 makes debugging more arduous. Issue 2 stops my app from being able to crossfade audio together or play more than one audio stream at once. Issue 3 requires me to build my own time observer which is further technical debt, versus being able to rely on Apple's API.

I've spent hours debugging each of these and trying to find a workaround before resigning myself that it's a platform issue and relegating myself to abandoning that specific API or feature.

Here's an excerpt from the reply that I get from filing a TSI for functionality that is ultimately a bug with iOS.

------------

Hello,

Thank you for contacting Apple Developer Technical Support (DTS).

We believe this issue is a bug. Please file a bug report via Feedback Assistant (https://feedbackassistant.apple.com). For more information on Feedback Assistant, visit https://developer.apple.com/bug-reporting.

------------

From here, typically the Feedback Assistant bug report will remain open. For years. With no acknowledgement.

I would happily pay Apple a developer rate to fix these bugs. Some of them are massive showstoppers in a large scale production application.

I estimate that around 10% of my Feedback Assistant reports ever receive a reply or acknowledgement.

These are for reproducible bugs in iOS, for which I've provided an isolated sample project with a 100% reproduction rate. It takes time to create a thoughtful and detailed bug report and the lack of replies are beyond frustrating. I'm glad to see this post and couldn't agree more.

The advent of sports betting has become so fatiguing. It's impossible to watch a football game without back to back to back betting commercials. Announcers pre-game talking about odds, over-unders, etc. I can't help but feel like the chickens are going to come home to roost.

I've had a bunch of friends that went from never gambling to spending a few hundred dollars per Sunday placing random bets. All destined to lose eventually due to the insane 10-15% vig (ie. a coin flip is priced at -110 or -115).

The few friends (sharps) that I had that were able to earn a profit over a large enough sample were all eventually backed off by the major sports betting sites. One site backed off a large long term winner in order to "protect the player against creating a compulsive habit or addiction". It's literally a racket. You can't win long term. You can only lose.

I push telemetry to Amazon CloudWatch (my infrastructure is on AWS) and then setup alarms accordingly. If I'm concerned about a service failing or becoming unresponsive, it's easy to create an alarm based on the existence or non-existence of data.

Hard to really say without having more details about your app and its user base. Personally speaking, having my content interrupted by some sort of audio ad, even by the content creator, is 100x worse than ad banners or other visual ad content.

Go Style 4 years ago

Right? I have never understood the frustration around named parameters like this. It helps reduce cognitive load quite a bit.

As ridiculous as it sounds, have you considered adding report functionality to the other (non-UGC) content in the app? It seems like the review team isn't budging with your current argument so it may be worthwhile to add report functionality (even if the actual reporting is basically a no-op) just to appease them.

Heck, even feature flag it and disable it once the app gets in. Probably won't be flagged again in subsequent reviews.

Thanks for linking these. What a fun read. The first few years of the App Store always seemed like the golden age. Users had no idea what these devices could do and were so eager to download and try new things, which fuelled some awesome indie creations.

I’ve rarely had my Radars receive any attention unless they were coupled with a TSI. Probably makes sense based on the volume of bug reports that Apple likely receives.

The ones that were accompanied with a TSI received attention in 1-3 weeks which seems pretty quick.

This past week I setup an e-ink display using a 32” screen from Visionect. It displays the front page of the New York Times (setup by following this guide [1]).

The compliments from friends/family have been insane. It looks like I cut out the page and put it on the wall. Unfortunately the Visionect solution is fairly cost prohibitive and seems like ArtFrame is in the similar price ballpark.

[1] https://alexanderklopping.medium.com/an-updated-daily-front-...

Conversely, I would think that a lot of imposter syndrome stems from feeling like they “beat the system”.

When I applied at Google, my screening interview consisted of a question I was already familiar with. Naturally I passed the interview with ease. Did I deserve to move on further or did I just beat the system? Feelings of imposter syndrome followed.

I work on a consumer facing mobile app and have found great success in including a short unique code along with any error messages. This has been helpful to diagnose errors where the same message can appear in a variety of different scenarios, and has significantly improved the user's ability to accurate report errors.

When looking at user complaints, I find that users often report error messages by paraphrasing them. An error message like "XYZ failed to initialize" often ends up being reported as "the app is not initializing" (which naturally could mean a number of things). By modifying this error message to include a code such as "XYZ failed to initialize (CODE-ABCD)", I've found that user behaviour shifts to including the code as opposed to the error message itself. Users instead say things like "I'm receiving CODE-ABCD" which is infinitely more helpful as a developer or consumer facing customer service personnel.

This reminds me of PHP's "T_PAAMAYIM_NEKUDOTAYIM" error which, despite being completely unintelligible, was very quick to resolve due to its uniqueness.

Training sites are probably going to be your best bet to improve quickly. I see Run it Once was mentioned. I've personally used Upswing Poker in the past and they had some great resources. Bart Hanson's Crush Live Poker videos are great too but I can't vouch for the training course.

With commercial air travel being so unreliable, this makes sense.

I've travelled quite a bit over the past few months and had to deal with an elevated level of delays, cancellations, etc. For those that need to be at a certain place at a certain time, and can afford it, private air travel makes sense.

Private also has its benefits. I remember last year that commercial air travellers into Canada were being put in quarantine hotels whereas private air travellers were not subjected to such measures.

Therapy is a deeply personal thing, and as such I can understand the hesitancy. I suppose that therapists can vary but mine was not one to give advice. Sessions consisted of me working through my feelings in a safe place, free of distractions, with the therapist effectively working as a guide to keep things on course. It was not a case of someone hearing my problems and suggesting solutions. My progress I had came from within, as a result of the sessions.

With respect to hobbies, I think that the inflection point was realizing that there were truly things still did excite me. From there, it was a matter of working up the courage to explore them. It wasn’t something that happened instantly, but generally being more in tune with my feelings, through therapy, allowed me to identify opportunities for hobbies and balancing activities.

It’s interesting that you mention Lego and DIY electronics. I had similar interests which, from what I would guess, stemmed from an interest in building things (which was the reason I got into software in the first place).

I'm also 25, started programming around the same time as you, and have recently felt a number of similar feelings as to what you have described.

What I found to be extremely helpful, over really everything else, was seeing a therapist and working through the feelings that I had. In my case, what I realized is that I did not actually despise my job nor was I actually burnt out. Instead, I just lacked balance and fulfillment in my life.

Throughout the course of these therapy sessions, I looked inward and ended up stumbling on a number of new hobbies. All of which were in the physical world and, at the time, were a lot more fulfilling than software development for me. Things like auto detailing, fixing and improving things around the house, BBQing, etc. At one point, I remember myself literally jumping for joy after hanging a bike rack in my garage because I was so excited about it. I found that after exploring these, my love and desire for programming and software development started to return and I felt hungry again.

Reading your post, I don't think that you're weak or unreliable. It sounds like you're changing as a person and haven't been able to put your finger on what makes you happy now that you're older. People with good jobs and good income aren't insulated from feeling this way, and by no means should you feel ashamed for it.

I recall this pattern being taught in my first year or two of my computer science degree. Emphasizing only one return statement per function, utilizing a shared return variable.

I much preferred (and still greatly prefer in industry) the pattern of exiting the function as soon as possible.