Why I Don’t Write Native Apps

Xcode sucks. That’s why.


This evening I thought, “Hmm, maybe for my next project I’ll see about writing an iOS client for my turn based game server.” So I started looking at a Swift tutorial (the language irritates me so far, but that’s just because so far all the syntactic sugar is solving problems I don’t actually have) and it didn’t seem too difficult. So then I went looking for a PGP library that would work with Swift, and I found one.

So then I cloned the project to my Mac and tried to build it. Build failed. Why? Well, it turns out that I needed to install a utility called xcpretty. No idea why, but that was easily solved. Then the build failed again. Why? Because some $@%! Ruby script wouldn’t execute. (Ruby? WTF? I thought this was an Objective C or maybe Swift compiler!) So then I had to get all comfortable looking for what Ruby wanted. Three scenes of Thor: Ragnarok later, I figured out to gem install xcodeproj and now the build goes a bit farther, but now I’ve got another cryptic error message about how the link failed because the linker couldn’t find the OpenPGP ObjectivePGP framework. The framework that the project is supposed to build.

You know what happens if I have a project open in IDEA and it’s missing a dependency? The missing dependency is underlined in red and the IDE will pop open a window where I could locate the missing thing. You know what happens in Eclipse, with the same situation? Same thing. MPW? Xcode? Nah. Apple’s developer tools reckon that it’s enough just to say, “Nah, that didn’t work.” User-hostile and user-abusive interface.


Xcode sucks.

Sweet, It Works!

Last post I wrote about wanting to write a text-only Twitter client. So, now I’ve done that. It’s not 100% functional and there are still aspects of JavaFX UI that I’m wrestling with (getting buttons to line up the way I want seems to be way harder than it ought to be), but I reckon the application’s ready for people to try out. Currently I’m only building a MacOS installer, but if you’re interested and you want to give it a whirl, you can grab it at https://keybase.pub/sbeitzel/. I’m calling it “TwitterCrank”, since it’s sort of a Twitter client for cranky people (me). Things it does: read your feed, posts tweets, reply to tweets, retweet tweets. Things it doesn’t do (yet): handle direct messages. Things it doesn’t do (and won’t): display inline images, autoplay video, insert promoted tweets in your feed.

OAuth, twitter4j, and JavaFX

I’ve started developing a text-only client for Twitter. The impulse came from getting fed up with all the auto-playing promoted tweets that were clogging my timeline. I looked around and found a library to handle all the Twitter API calls and started coding. The example code was all a bit bare-bones, but mostly it was straightforward. The one thing so far that I think could use a bit more explanation is the login process, and that’s the point of this post. Continue reading

Once Again, Most Documentation Sucks

I have been having fun, recently, programming a couple of services that run in Google’s App Engine. One thing they do is maintain some data in that cloud’s version of a database, so one of the important aspects of the services is controlling just who, exactly, is allowed to see or modify the data. I’ve actually got a solution in place that means it all works just fine for me.

Continue reading

Buncha Thoughts at Evening

  1. I’m a jerk.
  2. Dogs are awesome, and also jerks.
  3. Siri is useless for my life.

It’s creature dinner time, so I’m getting out the dishes and the food and starting to portion out everybody’s share. Some of the creatures are old and sedentary, some are young and boisterous, and not all are of the same species. Thus, portions are specifically assigned. And what am I thinking as I do this? That’s right: “Okay, who’s ready for dinner? Are all of my dogs who are good dogs going to get a dinner? Yes, yes they are!”

Continue reading

Credit Where Credit Is Due

It seems to me that I’ve been seeing lots and lots of social media posts which assert that [artist | intellectual] predicted [dystopian future that looks just like one aspect of today’s world] and did it [years ago]. I have to wonder what that’s in aid of. I mean, the second half of the 20th century was all about living with the constant threat of nuclear annihilation or environmental collapse, to say nothing of national existential threats (as the US and the USSR engaged in worldwide political destabilization and regime change) and obvious corporate misandry. The stories of my youth in the 70s and 80s were all dystopian nightmares of one kind or another, each one based on the reductio ad absurdum of some then-current phenomenon.

Continue reading

Why Crypto?

I know a few people who are concerned about their online privacy, but who don’t have a good handle on what to do about it. There is always some story about some company leaking private data, or some government spying on people, or some “hackers” stealing information for nefarious purposes. So people are worried, but the defensive measures they might take aren’t always clear or easy to understand, let alone implement. I thought I’d write some easier to understand instructions and analysis for my less technically inclined friends. Continue reading