Soemarko Ridwan

iOS & Web Developer ⟡ Coffee Addict ⟡ Scuba Diver


iOS Package Manager: Carthage or CocoaPods
iOS Package Manager: Carthage or CocoaPods

Preamble: I have wrote a lot because I've been tinkering (read: breaking and fixing it back) my 3D printer. And I've just returned from my scuba diving trip to Komodo, which was out of this world. That and I'm also furiously looking into Swift UI without installing any of the beta OS. I never installed any of the beta software unless I have to.

The short answer is neither.

Package manager has been an interesting project in recent years for shippable products. In the beginning it was a brilliant way to get a tool or software installed on your preferred linux distro. For the shippable projects, I believe it was popularized by npm (Node Package Manager) for NodeJS, then others follow suit; Composer for PHP, Gradle for Java etc.

My love and hate for package manager begins and ends with npm. When I was learning NodeJS, I thought how brilliant is this npm thing?! And not too long afterwards, I realized how stupid it was to publish and rely on someone else's code without even looking into it. Glad I didn't have to learn it the hard way. I understand that the codes were open source. But I never personally check on them. And what happens if the dev decides to abandon, or literally pulled it under you? Can you make it yourself to just restore your app back to the original state?

Now back to the question I propose in the title, just so you guys understood the difference; Cocoapods builds the dependencies when you build your project. Including cocoapods means you have to use a workspace with all of your dependencies added as separate projects in the workspace, and anytime you make a clean build (or archive) you have to rebuild them all. Carthage checks out the source code and builds the frameworks independently of your project. You then add them to your project and include a script to copy them in properly. It's a much more desynchronized process.

If I have to pick, I'd pick Carthage, but again, seriously, neither. SPM (Swift Package Manager) is interesting, but very unlikely to be available for the framework or library you'd want to use. I once was offered to inherit an app that won't compile anymore, it had more than 30 "pods" in the project. Nope!


Disruptors
Disruptors

@businessbillions is missing the big picture here.

  • Netflix did not kill BlockBuster. Streaming did. IIRC, BlockBuster along with Redbox were doing just fine when Netflix were a mere mailed-DVD subscription service.
  • Uber did not kill the taxi business. Taxi is on a decline ever since Uber, but that's because Uber is suffocating themselves by staying in the red even after IPO. So, Uber did not kill the taxi business, Uber is killing themselves.
  • Apple did not kill the music industry. In fact, music industry was doing better than ever. Spotify on the other hand is on their way to kill the music industry by paying the artists pennies on the dollar.
  • Amazon did not kill other retailers. In fact retail business as a whole is growing, many jumping on Amazon bandwagon. Amazon only killed Borders along with other bookstores.
  • AirBNB isn't killing hotel industry. Again, hotel industry is growing along with AirBNB due to the growth of travel industry in general. The conclusion at the end there, "Not being customer-centric is the biggest threat to any businesses." Come on, name any other businesses that are more customer-centric than hotel industry. In fact, hotels are waaay more customer focus than AirBNB.


Best of WWDC 2019 for iOS Dev
Best of WWDC 2019 for iOS Dev

… well, for me. the “IMHO” implied.

  1. Sign-in with Apple

This is huge, yuuuuge. I friggin hate accounts. Managing user account is a necessary evil for a long time. On the server side I need to handle a lot of things, this was even before GDPR. Sign-in with Twitter / Facebook kinda alleviate this a tiny bit, but normal implementation still requires the “sign-in with your email”. Sign-in with Apple felt more complete, and definitely more than enough if your app is iOS only app that requires a little bit of server integration.

  1. Project Catalyst

a.k.a Marzipan, honestly, I prefer Marzipan as the name. I’ve posted my thoughts about this. It’ll be an exciting time for Mac Apps ecosystem soon enough.

  1. SwiftUI + Combine framework

I never was a fan of Storyboard, or even _xib_s. But this, this felt like a native RxSwift. There were issues when I was playing around with RxSwift, mainly I was hitting a wall that wasn’t clear whether the problem were coming from RxSwift or Xcode. So back then (about a couple years ago), I decided to just use plain Swift. Which served me well on many jobs / projects that coming my way. I get to mix it up with Obj-C. And many libraries were updated for Swift only implementation.

Those are my top 3. Bonus: WWDC 2019 Art Wallpaper.


Slimming the Web
Slimming the Web

Jeff Atwood, of StackOverflow, thoughts on Pi-hole;

We simultaneously have a very real web obesity crisis, and a looming crackdown on ad blockers, seemingly the only viable weight loss program for websites. What's a poor web citizen to do? Well, there is one thing you can do to escape the need for browser-based adblockers, at least on your home network. Install and configure Pi-Hole.

Basically the same post as mine. I still believe that dietpi is the simplest way to go. And it is headless by design. You can just tuck the Pi somewhere behind your router.


The Five Stages of Developing a New App

Source. This is so true.

  1. Curiosity
  2. Excitement
  3. Productivity
  4. Despair
  5. Polish
  6. Ship

Despair is the worst. I've abandon many apps during that stage.

Sidebar: I listen to many podcasts. I have a few that I have to actively listen to, like ATP, and Hello Internet. I use a different app on iPad for mostly NPR podcasts, these are just for getting me to sleep. Under the Radar is one of those that I subscribe to, but I don't really listen unless I have nothing else to listen to. But I'm glad that I listened to this one.


Playdate
Playdate

I want one. Sweet and short post :D

But really, I have been a huge fan of Panic ever since Coda 1, which I pirated way back when I was in uni, on my first ever MacBook. Immediately purchased Coda 2 from the very first Mac AppStore. It is still my go to app for web / (s)ftp needs.

If nothing else, for me, Panic represents quality. Their products imbued with everything that reminds me of Steve Jobs era Apple. Firewatch was a beautiful game. And I have no doubt Playdate will have games of similar quality.

That said, I can't afford one. Not yet. I've been hunting jobs for a few months now with zero luck. At $150, it's not breaking any banks, just that I without income, I can't justify a gaming device. As of today, there are 70,000+ people on the wait list. I hope that I got a chance to get one.


re: A Conspiracy To Kill IE6
re: A Conspiracy To Kill IE6

source

The plan was very simple. We would put a small banner above the video player that would only show up for IE6 users. It would read “We will be phasing out support for your browser soon. Please upgrade to one of these more modern browsers.” Next to the text would be links to the current versions of the major browsers, including Chrome, Firefox, IE8 and eventually, Opera.

Well technically, it’s just a conspiracy to deprecate IE6 within YouTube. Although, to be fair, back in 2009, when I was also a full time web developer, IE6 was the bane of my existence. No sane web programmers liked IE6.

The whole thing was a fun read though. It’s like a mini heist done by a bunch of programmers, to jump over a bunch of red tapes within their corporation. Ultimately they just lucked out that the narratives surrounding it was in support of dropping IE6. Otherwise, they’d just be told to kill the banner, one or more of them got fired, and continue supporting IE6.


Marzipan
Marzipan

I responded in a thread in Bludit’s forum where there’s someone planning on making an Android app for Bludit. In that I too have plan to make an app, but since I’m more of an iOS dev than Mac, and since marzipan just around the corner, I’d wait a bit. Also, one stone — three birds.

And then there’s Marzipanify. I think I’ve mentioned this in passing before. The screenshot above was done by Steve Troughton-Smith with Marzipanify, and more importantly, without access to source code. I’m now super excited for this WWDC.