Blog - David Helkowski

Controlling iPhones

I've spent over 5 years of my life researching and making software and systems to control iOS devices.

I sell a product that does this well: ControlFloor

Almost no one has bought a license for my product in the last 8 months. I can't survive from it despite it consuming the last 5 years of my life.

It wouldn't be much of an exaggeration to say that outside of Apple employees I am probably one of the top 10 people on planet in regard to knowing how it all works.

I say much of an exaggeration, because it's entirely possible there are a few hundred people hiding around the planet secretly know and are hoarding their knowledge. I'm mostly not. I go around blabbering about this crap all the time. I'm pretty sure people in the iOS automation scene are sick of seeing David comments appear on every single related thread about it.

I'd like to list out some of the things I have and things I have done:

Essentially, when it comes to internal Apple bullshit, I've studied the crap out of it and spent years using that research to build reliable business software that can be used by others to build iOS Device Farms that function smoothly while powerfully automating iOS devices. It was no small feat to do this and it continues to require maintenance and further research to keep it working well.

At this point you may be thinking "Yeah yeah ok whatever you think you are a genius and mr all knowing expert on Apple shit. We get it already. Could you get on with the point of your stupid post? Is there one?"

Which brings me to the point of this post. I'm fucking sick and tired of well meaning clueless dipshits asking on open source projects "Hey I have an idea! Maybe we can automate clicks and swipes on phones by blah blah bs bs bs. Isn't this exciting! Get motivated! I want to do this because it would be cool. :D"

Omg every fucking time I encounter these people I want to make them lay down on a pile of broken iPhones because it just gets on my nerves. I do actually try to educate them without chopping there heads off. I just slap them in the face a few times while educating them. Nobody really appreciates it. I can't really help it at this point though.

You see, I know all of the various ways to do what they want. I tell them how. Over, and over, and over, and fucking over again everywhere ad nauseum. The response I get back "But David I have an idea you should look into it." No shithead, your idea is crap. AND I already fucking did look into that idea, years ago. AND I fucking persistently look into it again and fucking again and again and again and a few more fucking thousand times all the damned time in case something changed. Your crap-ass "I have an idea!" comment is ONLY and completely annoying and useless trash.

But no. I can't fucking lose it like I'm a lunatic. I have to try to keep it together. Because these people aren't actually assholes or dipshits. They appear to me to be clueless morons, but they are well meaning clueless morons in some sense. Maybe even they are actually smart. I don't know. I can't tell. Their posts don't indicate they are smart. Anyway I'm getting side tracked. It's irrelevant whether they are intelligent or not.

The people asking this shit basically mean well. And then they encounter David. And David's reaction is nearly equivalent to a giant "FUCK YOU". I don't really mean to come off this way. It's bad for my reputation. It doesn't win me friends. I am actually attempting to explain what there is to know about this shit every time.

But, well, it's tiring. If I was making good money off all of my hard work in this regard, I wouldn't be so bitter. I might respond with a friendly "Sure good ideas. Here are the related things, go use them. Thanks for your question." But, well, that's not the reality in which I exist.

In the reality I exist, the field of iOS automation is fucking cutthroat. My research? My ideas? Fucking stolen from me by companies with $100m+ in capital. I have... 0 millions. I struggle to have money to pay my taxes and food.

Why should you care? Because I'm the person most likely to continue pushing forward advancement of iOS automation. If everyone involved would stop fighting me and enable me to survive instead of trying to funnel everyone to expensive solutions by greedy companies who won't share their knowledge.

You see, I may be a bitter grouch who tells you to fuck off to your face, but in the middle of telling you to fuck off I'll still point you at my research and share extensive knowledge with you. I'm just not going to sit there and pat your head and tell you that you are a good boy for reiterating clueless shitty ideas that I had 7 years ago and I know won't work out.

Let us return to the topic of the post though, which is Controlling iOS Devices, not "get indoctrinated into the sympathize with David cult by listening to his sob story."

I talked about this in a presentation I gave for the Appium Conference. In 2021. 5 fucking years ago.

The information I give there hasn't really changed much in the last 5 years. I still wear the same shirt I'm wearing in that video regularly.

I go through a lot of information rapidly in that video. I'm not going to dive into ALL the details of everything in this post and instead will focus on one aspect, which is causing taps to occur on iOS devices.

There are a number of ways to do this:

My main ire is from people saying "I had the most brilliant idea! Synthetic bluetooth HID devices! OMG OMG this will be great." STFU you fucking morons. The number of times people have tried to convince me this is the best and optimal solution is infuriating. I just can't take it. Stop stop stop.

Why?

Because there are piles of software projects on GitHub that do this. It's well understood if you'd spend any reasonable amount of time looking into it. You can literally fucking ask AI to create software to do this for you and it will within minutes.

So what's the issue? If it's so well understood and easy to do, how is it not the best solution?

Because it doesn't provide absolute coordinate tapping. It only provides relative movement of an accessibility mouse cursor. This means that if you want to do automation such as automated testing with it making synthetic taps, you basically can't.

I say basically because you -can- actually calibrate relative movement and combine it with mousekeys for precise small movements to do it, but it is very hacky. Still a valid solution. But hacky and fragile and painful.

I've not seen any open source programs that do this optimal way. There are companies that do this with private code. They haven't shared it. It's not that hard to do though. You could have AI create you the code to do it these days easily.

So what's my beef? If it can work, why do I still shit on this idea?

Because there's almost no fucking point to it. I say almost because there are situations where it is the best method. I may get into that...

The reason there is almost no point to doing it this way is because there is an official Apple supported mechanism for making taps and swipes. And it supports absolute positioning. XCTest. Yes the Apple supported way, XCTest scripts and the official calls, sucks badly. But you don't have to use that. You can use the underlying private API to quickly and efficiently make the calls. WebDriverAgent does this for example. MANY MANY open source software systems for controlling iOS devices use these private API calls. I explained how they work at a high level 5 years ago in my Appium conferencce presentation.

Just go use those private API calls of XCTest. Done.

So why are people refusing to do this? Because to use XCTest you need to have a developer account with Apple and sign the code doing it. People just don't want to have to do that.

This is where I think people are dumbasses. Yes I know it's annoying and I dislike Apple for forcing you to do all that to call the API. But, well, tough shit. That's how it is. If you don't like that, just fucking jailbreak your phone then.

But NOOOOO, fucktards persistently show up on my projects and every single damn iOS automation project and say "But I don't want to need a developer account. I think I've figured out a way." No. They haven't. STFU you fucking annoying ass shitheads. STOP.

I'm cool with people investigating Apple shit and hacking it. Awesome. Go do it. I'm all in favor. Find a way to do what you want without Apple Developer accounts. Cool beans. But for the love of anything that is holy fucking stop acting like you've come up with a good idea while having done jack shit to try it.

Go hack the damned devices. Go decompile the code. Go ask AI to figure it out. Go do literally fucking anything to move the needle forward besides fucking wasting my and other developers time with your crapass GitHub comments on "Hey what if we make virtual bluetooth devices! Best idea ever!" AAAAARRRGH.

You've made it this far. Your next objection to my ranting crazy man talk? "Uhh David relax these people are just trying to learn. They don't know any better. Why are you so angry at them?"

Well I've explained why I'm pissed off pretty extensively already. But what you are asking is not really "why are you pissed off" it is "why are you pissed off at them specifically."

A bunch of reasons:

So you see, I'm stuck inside a flaming volcano. The inside of my head has reached 4000 degree and is melting. I'd like it if someone handed me some water, or rescued me from inside the volcano, but, well, that's unlikely.

Time for you to reiterate your "David. Life is rough. Cry me a river I don't care. What exactly do you want from us?"

I want you to understand. It would be nice if you sympathized with my pain, but I don't expect that. I'd like some support for my work. Send me $5. I have a donation page on my company site. Go to it. Send me $5 so that I can survive slightly longer before I burn alive inside the volcano.

Oh. Wait. You aren't going to send me $5. You won't send me $1. You aren't here for any of that. You are here to be entertained by the comical raving ranting David character. That's okay. I'm intentionally here for you buddy. I write this shit because it -is- actually entertaining to both laugh at and with David. That's okay. I don't hate you.

I just hate those fucking dipshits on GitHub proclaiming they have an idea on how to discover valuables. If only we could invent a metal detector! Think of it! A metal detector! Brilliant!

So I've reached a relatively cool spot in the volcano. I can see the interior from here.

There is room to improve even iOS tap automation. I know how. I'd like to work on it. I need someone to support my efforts though. I can't keep giving the world valuable software while I starve. That doesn't work for me.

No matter though. I'll keep losing weight. I'm still a little pudgy. Starving isn't killing me just yet.

So what I'll request from you is this: Please just stop treating me like I'm an insane lunatic. I'm not. I'm just a guy with high technical skills who works hard to make a living from my abilities and I tire of being treated like some troll. While I may appear to exhibit troll like qualities in my comments and ranting, I have cohesive well reasoned thinking and points to share.

I would like to improve the state of software, both for iOS automation and MANY other software arenas. I simply would appreciate a bit of understanding of how ridiculous the stuff is that I've had to deal with over many years of working on this stuff.

I hope you've been entertained. Now please go find a sturdy fireproof rope and throw it down to me so I can climb out of this fucking volcano.

University Prerequisites

Before I went to a 4-year university I took one semester of classes at a local community college to just see how it is and get a feeling for it all.

Of the classes I took that semester one was Calculus. I listened very attentively. I took detailed notes. I learned all the mate...

This invasive test is mandatory

I was homeschooled through all of middle-school and high-school. The result of this is that I'm a raging lunatic. No wait. I'm supposed to say the result is that I'm the bestest educated now. Urr. Nevermind.

The result of this is that I learned how to learn very well because after ...

Corporate Black Sludge

I've worked for MANY different companies as a software person. One thing all of these companies had was coffee machines. Some were better than others.

Here is the range of black sludge I've experienced at work:

Behavior not empathy

In my last post I spent a significant number of words pointing out the Amazon is severely lacking in empathy and care for humans.

I would like to argue a partial flipside to this, against empathy as the thing that matters.

You see, the issue is that empathy on the face of it...

Amazon Lunkhead Points

Full disclosure: I worked for the devil for a little under 2 years. So I'm gulty of associating with these horrible schmucks. That doesn't, though, mean that I approved of their crimes even while working for them. I needed money, what can I say?

That said, after having tainted...

In the Grey Sludge

Tags: movie

I watched the movie "In the Grey". It's basically "run around and pointlessly kill people" mixed random action movie tropes done badly. Action sludge.

As you are likely aware already, if stuff has glaring flaws I tend to point them out. This sludge was full of such flaws so I'...

Exit 8 - Make the game better please

Tags: movie game

In recent history one of the movies I watched was Exit 8. I waited a long time to watch this as it took a long time to arriving on English streaming.

I did not play the game before watching the movie but I knew about the game. It looked like a fun creepy concept so I was excit...

Iron Lung is a lukewarm blood bath

Tags: movie game

So apparently I write movie reviews now, so let's do another.

Iron Lung. It's a the second movie featuring Markiplier that I've seen. Well actually the first movie. The movie I was thinking of was a tv show, The Edge of Sleep. That show was weird, but I thought fairly decent. ...

The Boroughs show is stupid

Tags: tvshow

I'm on a roll with shitting on ArsTechnica articles. Here is another one.

Their review of The Boroughs

I watched the show. It was okay. That's the best I...

LLMs Believe

Tags: ai

ArsTechnica has become my latest favorite punching bag recently. They published this slop with the title "LLMs believe false statements even after ...

Malicious AI injection isn't cute

Tags: ai

Recently ArsTechnica reported on devs adding malicious injection crap into their code

Today I noticed a LinkedIn post from James Gosling. Here ...

Bill Gates big reveal

Or... not. You've likely seen and heard that Bill Gates is a giant scumbag who was buddies with Epstein and that's why his wife divorced them. Between the lines people seem to be implying Gates is a child abuser.

Only... where's the smoking gun? Everyone keeps saying there is all t...

Say no to Microsoft Office

The time has come to say no to Microsoft Office. If someone sends you an Office document, tell them no and demand they send an open format.

Why? Because Microsoft wasn't happy with being medium sized dicks. They decided to expand their dickishness to massive size. By effective...

Addressing AI Psychosis Constructively

Tags: ai

I spent the last post tearing down a worthless article claiming to be about AI Psychosis. ( which I'll refer to as AIP in this post ) Tearing down what someone says is relatively easy to do. It takes more effort to build a useful article that isn't worthless shit.

So I'm not g...

Misunderstanding AI Psychosis

Tags: ai

I recently stumbled upon the following TechCrunch article: Tech CEOs are apparently suffering from AI psychosis

I think this article is shit quality. And I'll explain why...

Bad Bambu. No.

Bambu Labs is a manufactorer of 3d printers. Those printers are popular.

They offer software to assist in turning 3d models into a format that can be printed. All 3d printers need such software and such software is called a "slicer".

The bambu labs slicer? It is based on AGP...

Email is nonsensical for decades

I've thought email is a horrible system for a very long time.

I'd like to point out some of the ways it is so and talk a little about why for some of them.

Predates widely available always online servers

Email was created before always online servers were widely a...

Reasons not to reject LLMs

Tags: ai

I just stumbled on this blog article: Why I object to and reject generative AI

To some degree I also object to LLMs, but I don't think all of the reasoning in this b...

Crypto Bros

I've been using computers since before the graphical internet existed. 2400 baud modems with green screens? Yep I was using those. Token ring networks? Also and they were painful. So I can tell you I've seen many cycles of technology and bullshit.

As a result I have a strong b...

Firmament game is slop

Tags: game

I've played through and completed all of the Myst series by Cyan Worlds except for URU. I've also played many similar games over the years. I enjoyed many of those games greatly. I have fond memories of playing them over the years. I can remember many details within the games even no...

Your diary is evidence

Some eons ago I remember thinking that my diary is my private information and I could rightly complain if it was made public against my will.

Well, my notion of that has now been shattered.

How? I noticed in the latest lawsuit against OpenAI that they are forcing diary entri...

Tsukuba Center Bicycle Parking

Before I begin fair warning. I'm angry about this and I'm venting, so if cursing and venting about stuff bothers you, you should bail now.

That said, fuck Tsukuba Center and their automated bicycle parking lots.

Why do I hate them so much? Well it's complicated and I will ex...

Attention is hard for everyone

I recently watched a YouTube video by Asa Park about MrBeast. The video is focused on being very critical of him. I'm not a fan of MrBeast and do think he is strange, but I don't particularly think he is any ultimate evil. So ...

Is the villain the enemy?

What if the villain is not the enemy but is just the label we hoist upon anyone who does not fit the standard roles society defines as acceptable?

People are not so trivial as to fit within the notions we scope them to. While many will choose to cooperate with ...

Personal Japan travel guide

Tags: japan

In light of the potential destruction of the IT industry by AI, or at least the reduction of it to the point that competition for jobs will drop salary of it, I have been been considering alternative ways to make a living recently.

A few weeks ago I came up wit...

Love Without Hypocrisy

I was sharing a story from when I was a teenager with a friend of mine and I thought perhaps I shall share it with all of you as well. To my memory I was 15 at the time this all happened.

I was attending a bible camp called Worldview Academy. They still exist today, and...

0player? Oh no

Tags: game

Recently I have been working on building a puzzle game. Well another one. I have actually been working on building a game called TentFires for some 5 years now. Well more to the point I have been playing TentFires and iterating on it for 4 years after I created a fully wo...

Is Japan Paradise?

Tags: japan

I recently watched a YouTube video titled I'm leaving Germany | Brutally Honest Review.

I found the detail of the video good and it made a lot of sense to me. What I found striking initially was tha...

GuliKit King Kong 3 Max

Tags: gaming

Some time ago I bought the GuliKit King Kong 3 Max controller. It looked awesome. The price is much more reasonable than Xbox Elite Series 2 controllers, and it has better tech according to the specs.

I got it; it feels awesome and I was able to use it well for a number...

Let's Reinvent the SD Card

About a month ago some a random LinkedFluencer posted some bullshit about how her SD card failed. She was raging that she should have been notified by her computer that it was reaching end of life and that if it just exposed wear leveling through to the system she would h...

Memovich: The Plot Dissolves

Tags: ai

Two days ago Milla Jovovich posted an extensive account of her side of the MemPalace story. It was pretty absurd in my view, to put it mildly. I began writing a new blog article titled: "Memovich: The Plot Thickens".

I started writing something sharp enough to ...

Memovich Continued

Tags: ai

My last blog article was about MemPalace, the supposedly incredible AI memory project vibe coded in part by Milla Jovovich.

In the last article I focused primarily on what I view as lack of qualifications of who I believe the real author of the project was/is, ...

Milla Jovovich and the Fine Art of Selling Cognitive Swill

Tags: ai

This just in. Milla Jovovich is slapping her name on the ugly bare bottom of a crypto bro trainwreck ai disasterpiece called MemPalace.

Beneath the choking snake oil you'll find... nothing of value.

Ok ok let's get into this practically, as I can only write s...

Regarding Garry Tan, YCombinator, and Corruption

A few weeks ago I saw an article on Hacker News new with an entire 2 upvotes that piqued my interest. It was a link to this website. It's a detailed article about how Naive ( usenaive ) is j...

Medial Axis Extraction in O(n)

Around three months ago, I solved a long-standing problem in computational geometry and computer vision:

Extracting the true medial axis from a binary image in linear time per pixel.

No thinning.
No iterative label propagation.
No graph recon...

On AI and the Death of Humanity

Tags: ai

I've been using "AI", as it is currently referred to, for several years now. Mostly I've been using ChatGPT, although at times I've run a variety of different local models, mainly to test what is possible and ascertain for myself whether these things are "dangerous" or not. For the m...

USA: Destination Hell

I am a US citizen. I don't, though, live in the US. I reside in Japan, and I intend to do so permanently. There are a few major reasons why:

The third poin...

Decoersion

Something I have believed strongly for many years is that all forms of coercion are unacceptable. Recently I have been thinking about it more, and realizing how pervasive coercion is throughout society.

So, without further ado, I present to you, decoersion ( intentionally spelled w...

Social Media Decline

Social Media: From Fertile Farms to Wastelands

Social media is in rapid decline. What was once a thriving space for innovation, meaningful discussion, and genuine human connection has become a hollow shell of its former self, plagued by corporate greed, algorithmic manipulation, ...

Toddler Investors

Introduction

The investment landscape is moving at an ever-increasing pace, with investors often making funding decisions in mere minutes. The rise of trend-driven investments, such as artificial intelligence, has led to a system that prioritizes popularity over true innovation. ...

Rethinking PCs: A practical approach

Tags: tech

The current trajectory of computer hardware development has increasingly diverged from the practical needs of everyday users. Manufacturers continue to push advancements in speed, power efficiency, and display resolutions—yet for most people, these improvements offer diminishing real-world ben...

Peak Mall Theory

Tags: japan

US mall death, Japan mall life

The decline of shopping malls in the United States is a well-documented phenomenon, while in Japan, malls remain thriving, bustling centers of commerce, entertainment, and community life. This contrast raises an interesting question: why have Japane...

Email is Outdated

Email seems ubiquitous and irreplaceable. Is it though? It was created for a useful purpose, and worked effectively for a number of years, but I would argue that it is outdated and needs to be replaced by something better as soon as possible.

I explore here why I believe email...

Identity System

Over my career in software I've repeatedly had to deal with issues of identity. Another way to refer to identity is usernames. The most pervasive identity system in use is email, although it is quickly being supplanted by cell phone number.

Almost every user of the internet ha...

LinkedIn is Buggy

The main social platform I use is LinkedIn. I've been using it for many years. Over my years of using it I've found it to be very buggy. I began posting the bugs I found as LinkedIn posts. That didn't seem to get much attention or have any meaningful affect, so I created a Github pro...

Hubspot Culture Code

What follows is a critical critique of the Hubspot Culture Code. This will be an analysis focused on logic. If you are looking for a warm fuzzy perspective on company culture, this isn't it.

A compa...

Pursuing relationships is inherently puerile

Intro

I've seen a disturbing trend online where expressing interest in others for the purpose of being in a relationship with them is thought to be inherently puerile. This view is relayed more simply as "men pursuing women is always sexual and disgusting".

The t...

My time is worth $x per hour

In the all too recent history I was feeling proud of my day job, and I thought to myself "I can made $x per hour." A bit more thinking I came to the conclusion "I shouldn't do anything that takes me an hour that I could pay someone else to do for less than $x per hour." I believed th...

Should gaming be a gradeschool subject/sport?

I recently read a post on LinkedIn broadly proclaiming "esports will overtake basketball". My immediate reaction to this was that that is entirely rubbish, and I responded jokingly making fun of the idea. As you might expect, there was a mixed reaction to that.

Some few people...

Job Descriptions

I am connected to quite a few recruiters and managers on LinkedIn. As a result of this, I often see posts about what candidate's resumes should look like, what information they should contain, how they should approach applying to jobs etc.

Changing the way you apply for roles ...

UMD Data Breach

A bit over 5 years ago I was involved in the events following a serious data breach at the University of Maryland. I was pulled into the FBI / Secret Service investigation due to my involvement. It may not be clear, but I did not start the data breach. Criminal elements of unknown so...

Blog

Welcome to my public blog. I haven't blogged publicly in quite a number of years. This is in part due to the overwhelming amount of random information available about me already, and I am unsure about adding to the pile.

I have decided that adding information of higher quality...