I. I once knew a wonderful man. He was kind, gentle, and beloved by many. He was so wise that when he graduated from college, Mahatma Gandhi himself handed him his diploma. He was a scholar and a gentleman, blessed with the unique gift of deeply knowing Sanskrit and Hindi. He spent much of his life translating scrolls filled with the wisdom of the ancients into modern language — in pursuit of preserving history. II. When Mongol troops raided the House of Wisdom and dumped so many manuscript...| fabisevi.ch
Colleen and I were binge-watching Gossip Girl last winter, and there are a few scenes where a stressed and irate Blair Waldorf wanders over to Central Park to feed the ducks. I told Colleen, "that sounds soothing — we should do that when the weather gets better". And then, as I’m wont to do, I promptly forgot. But Colleen takes note of moments like that, and a few months later she reminded me: we should actually go feed some ducks. That’s how I found myself in Central Park last weekend,...| fabisevi.ch
This blog post is documentation for a very specific problem I run into about once a year. That’s rare enough to forget how I solved it, but frequent enough to waste 15 minutes rediscovering the answer. And let’s be honest: it’s not the big problems that drive you mad — it’s the little ones that feel like their own Sisyphean hell. The Problem Some websites require you to log in using a magic link — a one-time link emailed to you that signs you in when clicked. It’s usually seamle...| fabisevi.ch
The iPhone 15 Pro launched with a marquee feature, the Action Button. The Action Button set out to replace the mute switch, which had existed since the first iPhone was released back in 2007. The Action Button is a software-powered button, replacing what previously was a hardware switch that would toggle your phone’s silent mode on or off. The appeal of the Action Button was that now you could decide what the side button should do for you. If you wanted it to be a mute switch, no problem, t...| fabisevi.ch
The post below was written by me, originally featured on the Plinky blog. To celebrate the launch of Plinky you can get 50% off of a yearly subscription by redeeming this offer: plinky.app/offer/REDPANDA There are few words I've ever said more excitedly than these: I want to tell you about my latest app, Plinky. Plinky makes it incredibly easy to do something we do every day, save links for later. You may already have a way to save links, I know I've tried every method under the sun, to the p...| fabisevi.ch
The Turing test is dead, and we killed it. The Turing test is a test of a machine's ability to exhibit intelligent behavior equivalent to, or indistinguishable from, that of a human. From the 1940s to the 2010s people programmed computers, and computers could only do what they were programmed to do in a rules-based deterministic manner. Sometimes a person would program the computer and it would do something unexpected, but 100 out of 100 times the computer was doing what it was programmed to ...| fabisevi.ch
When I wrote The Future Will Be Signed almost six years ago the latest in AI advancements was Google Duplex. If you're like me and have never used Google Duplex, it's a feature of Google Assistant that could make calls on behalf of a person and automatically perform a task, such as booking restaurant tables. While you may have never heard of Google Duplex there's a good chance you've used a generative AI tool like ChatGPT, Midjourney, or GitHub Copilot. Authenticity We’re going to need a wa...| fabisevi.ch
Sometimes I think about all of the societal issues I cared about 10 years ago: privacy, government overreach, and platform accountability. More and more as I look at the technological landscape it feels like none of that care seems to have mattered. When I worked on the Societal Health team at Twitter I had a voice and direct impact on these matters. If the feedback I received and still hear from my peers and higher ups holds true, that voice was not only well-received but considered thoughtf...| fabisevi.ch
To set expectations for you my dear reader, this blog post was written for me, not for you. It's very long (quite long), but I'm still proud of it enough to post for the world to read. The frigid days of December are often unbearable in New York City, but those same freezing temperatures combined with the slow down of work, life, and everyone's collective desire to rest up after a long year afford plenty of opportunity to sit and reflect. At the end of every year I start to think about what I...| fabisevi.ch
I've seen many versions of this question posed over the years, and to Matthew's credit it's a very good question. As you can see in the replies people translate their lived experience writing code and answer art or science based on however they conceptualize and practice programming. A few years ago MIT conducted a study that concluded "reading computer code is not the same as reading language", answering the question of whether coding is art or science with a rigorously documented "both". Wh...| fabisevi.ch
Hard to believe it's over. My time at Twitter wasn’t perfect but it was incredibly special and there's little I would change about it (though less crypto would be cool). I was able to provide constant feedback about products across the entire platform and the entire organization, work on some of the most pressing digital societal health issues of our time, including the 2020 US presidential election, and help launch numerous products to minimize abuse and harassment. I never once felt like ...| fabisevi.ch
Crafting a great interview process is difficult, especially for software development where a company is often trying to assess years of specialized knowledge and potential in only a few hours. The best interviews are said to feel like a discussion amongst peers, where each side is providing the other with signal about what it will be like to work together. Candidates share signals about their experience and thought process, while interviewers help provide signal and insight about a company’...| fabisevi.ch
Tell me who you are in 160 characters. I'll wait while you try and achieve the level of nuance necessary for the task. This constraint is why you end up with generic Twitter bios that don't tell you much about someone and all look like: Father, cyclist, biz-dev, and fighting every day for the Quebec sovereignty movement. Working on saving democracy @Meta, ex-Palantir, ex-Accenture, ex of my ex. Kinda hard to stand out, right? The inability to differentiate yourself on a platform built upon se...| fabisevi.ch
The work of writing maintainable code is an ongoing endeavor and some of my favorite problems to solve are ones that build maintainable systems. Maintainable systems are ones you can learn once, easily manipulate, and ideally take from project to project. My favorite part of building maintainable systems is that it minimizes the amount of work I need to do when starting a new project, and like it is for many programmers hitting ⌘ + ⇪ + N to start a new project is one of the most satisfyin...| fabisevi.ch
For a long time I've told people that I love technology and all it enables, yet dislike the technology industry and working in tech. People often find my statement hard to rectify, probably because they see the two as inextricably linked. Technology is an ever-changing process, one that pushes humanity forward through the application of science, and the industry has become (and arguably always has been) about capitalizing those mechanisms of change.| fabisevi.ch
GraphQL has been on my list of technologies to learn for a few months now, and last week I came across Majid Jabrayilov's post, feeling pretty excited to tackle the subject. The post was very good, but it didn't answer the one question I've had as I've gone through numerous exercises to understand GraphQL, how do I make GraphQL requests without a library?| fabisevi.ch
Apple's been in the news quite a bit lately over concerns that many apps on the App Store are little more than scams. Some of these apps aren't even functional, they don't provide anything more than a screen with no functionality, only a button to purchase an indefinite weekly subscription. Many developers and consumers are confused or surprised that Apple isn't catching these scams, given Apple has a process for App Review which every app must go through, and while I'm not surprised given th...| fabisevi.ch
I recorded an episode of the Empower Apps podcast, where Leo Dion and I discussed a wide range of topics. We spoke about everything from how we scale app development to thousands of people and millions of users at Twitter, communication, documentation, people working together, and a lot about and the complexity of holding moral frameworks at a global level.| fabisevi.ch
I've been thinking about privacy lately. No, not online privacy, but about how APIs can balance exposing the right amount of implementation details without revealing too much. I'll walk through a task I find myself doing often when building iOS apps, creating a view controller with header view, and four different ways to go about it.| fabisevi.ch
Maybe the real friends were the friends we made along the way. I quit using Facebook years ago, and only follow ~70 people on Twitter, which leads some to assume that I don’t find keeping in touch with people to be a top priority, but that couldn’t be further from the truth. My todo list is where I hold my priorities, and my friends and family are the biggest priorities in my life, so that’s where I turn to for making sure I’m staying close to them. At first blush you may think that a...| fabisevi.ch
Throughout history technology has aided humanity. Not the other way around. From the invention of fire, to the creation of the wheel, the printing press, and the personal computer, technology has acted as a multiplier for what humans can do. Technology doesn’t exist in a vacuum, and it won’t stand as an industry by itself. We — as software developers — should always keep this in mind when creating technology.| fabisevi.ch
When 2018 started I set out to read 10 books this year. Much to my surprise I ended up reading 25 books in 2018. The most important reason I was able to get through 15 more books than I'd expected was that when the year started I set a goal for myself to read at least 15 minutes every day. I ended up accomplishing that 328 times over 2018, meaning 9 out of every 10 days I made significant progress on a book. I was able to find time by replacing a couple of podcasts I'd listened to with time f...| fabisevi.ch
As a mentor, I give a lot of advice. I give a lot of advice that comes from a breadth of experience. But my experience is rooted in the present, to remember how I felt earlier is an exercise in empathizing with a past version of myself. And memories are a fickle thing. In fact, there are many biases that affect how you remember an event, so it’s possible that my memories aren’t even an accurate reflection of the reality that I lived. One piece of advice I give often to newer (and more exp...| fabisevi.ch
The people will not revolt. They will not look up from their screens long enough to notice what’s happening. George Orwell, 1984| fabisevi.ch
I recorded an episode of @learnswift_fm with Steven Sherry a couple weeks back. We had a great chat about contracting, computing history, philosophy, Smalltalk, and even a little bit about Swift. I think you’ll really like it, and recommend giving it a listen.| fabisevi.ch
How many times have you been called into a meeting only to realize five minutes into it that you’re likely going to speak for sixty seconds… if you’re lucky? You potentially hold one piece of valuable information, and the rest of the discussion doesn’t concern you much. There are probably four other people like that in the room as well.| fabisevi.ch
I was asked Is the code quality at an early stage startup higher or lower than the code quality at a bigger company? This is a really good question to ask if you're a developer looking to join an early stage company. To answer this question though, I'd like to take a step back.| fabisevi.ch
It has become quite common for companies interviewing engineers to give candidates take home tests. These consist of an interview problem (or problems) which they can work on in their free time. This gives the candidate the benefit of not being under pressure in a high leverage interview setting. This gives a company the benefit of seeing how a candidate works in a normal work environment. I had one of these recently, and to say it could have gone better would be an understatement.| fabisevi.ch
Cryptography is becoming more important in our every day lives and there’s no way around it. Whether it’s the calls from governments to ban encryption, come up with “responsible encryption”, or to violate norms and laws, cryptography is playing a role in shaping our society. I’d like to approach the role of cryptography from the other perspective though, from the side of helping us prove facts about the world around us. We are entering an era where technology empowers people to crea...| fabisevi.ch
Cryptocurrency is all the rage these days. From Bitcoin to Ethereum to Ripple, to some silly sounding thing someone will come up with tomorrow, it's something people want to know about. So you're looking to learn a little something about how these new technologies work? Well Benny (and anyone not named Benny), I don't have all the answers, but I do have two resources that people who are interested in the technical aspects should check out.| fabisevi.ch
As I was on hour six of debugging how to read an object from the database, my brain suddenly noticed the slight difference in two lines of code. The compiler error had been off, too vague to help me realize that I was never hinting the correct type to the function. Generics had struck again. I cursed in the general direction of my cat (unintentionally), and moved on. There was nothing I could do but accept that we've all been there, and move on.| fabisevi.ch
The personal website of the one and only Joe Fabisevich, and indie developer building Red Panda Club Inc. Formerly an iOS developer working on civic integrity, societal health, misinformation, and other wild things @Twitter.| fabisevi.ch
This is a blog post by Jasdev Singh, originally published on jasdev.me. I'm re-posting here since it's directly tied to me taking over his project, Public Extension.| fabisevi.ch
Every day at a startup is an exercise in getting to tomorrow. Some days it’s easier, some days it’s harder, but if you don’t make it until tomorrow, there won’t be a next week, month, or year. This is why building a long-term foundation is incredibly important.| fabisevi.ch
This is an interview that I did with Sam Jarman, originally posted on his blog.| fabisevi.ch
I recently re-discovered while listening to Caleb Davenport’s, podcast, Runtime. He’s also got a blog post which shows you exactly how simple it is to create shortcuts for your app. After reading that, I decided that it would be neat to implement them across my app, so I could also start navigating around my UI with lightning speed while I’m debugging in the simulator. I quickly realized that by using Swift extensions, I could automatically get these behaviors for free throughout our en...| fabisevi.ch
WWDC is right around the corner! This post isn’t intended to be a prediction, as much as what I hope unfolds. As Betrand Serlet, a former Apple engineer discussed in this 90 second video clip, Apple often ships features iteratively. Projects start off private, only to be used internally, often times for a year or two. When they feel stable enough, Apple opens them up to 3rd party developers, and makes it an official API. Features that are deemed noteworthy and successful continue to build o...| fabisevi.ch
At the original iPhone announcement, we saw Steve Jobs on stage with Google’s then CEO Eric Schmidt, showing off Google’s amazing Maps. Built for the iPhone, it was something we’d never seen before. Apple’s incredible phone and revolutionary software combined with Google’s terrific web services and data coming together for one amazing product. With regards to collaboration, it’s all been downhill from there. Since then, every tech company has focused on owning the whole experience...| fabisevi.ch
I pushed the magic button to get a Shyp person here to send out a couple packages I have been procrastinating sending for weeks. After that was settled, I dialed up Time Warner Cable, to get my modem swapped out, a process I’ve been actively trying to get done for weeks. After a combination of pushing buttons and yelling “tech support” into the phone for 10 minutes to get me to the right place, I finally got a real life human on.| fabisevi.ch
Just leaving this here for later, feel free to call me out on it if I’m wrong. The Watch isn’t about Apple selling luxury products, it’s about making something nice looking enough that you’ll actually wear it.| fabisevi.ch
The personal website of the one and only Joe Fabisevich, and indie developer building Red Panda Club Inc. Formerly an iOS developer working on civic integrity, societal health, misinformation, and other wild things @Twitter.| fabisevi.ch
I tweeted earlier, comparing DuckDuckGo to Google when searching for the term “Go 1.4 beta”, and how the first 50 results (I got bored scrolling and didn’t go further, no pun intended) on DuckDuckGo didn’t even have one mention of the language. Gabriel Weinberg being the good founder that he is (he seems very smart, and I highly respect what he’s doing) replied asking for more examples of things queries that he can investigate to improve, so I figured I’d use the opportunity to le...| fabisevi.ch
I’m starting to think that the ramp up in sapphire production from Apple isn’t about a screen, but TouchID sensors on every Apple product. Even their future wearable/payment/unicorn, whatever it may end up being.| fabisevi.ch
The internet decided last week, the iPad is dying. Too bad, I really enjoyed using mine. Well, not really for the first 4 years, but when Apple released the iPad Mini, it became my computing partner. Supposedly the Mac is sitting in the corner rapping “don’t call it a comeback.” It depends on what you want out of a computer, and yes, I’m calling the iPad a computer.| fabisevi.ch
With rumors swirling about a bigger iPhone 6, I figured I’d touch on them (haha, puns). A few years ago, I thought the idea of a larger iPhone would be something I disliked. With my small-ish hands, even the iPhone 5’s 4 inch screen is too large for me to reach the back button in the top left corner of the screen with one hand. But now, since iOS 7, I don’t fear a bigger phone, I would even welcome one.| fabisevi.ch
I’ve been doing Objective-C for almost 5 years (woo!), so at this point I think I have a better understanding than most of Apple’s motivations and intentions, with relation to building the language. That said, recently I’ve been loving working with Go, and there’s a few reasons for that.| fabisevi.ch
It's short notice, but I’m giving a talk Stony Brook University tonight about How Startups Fail. So if you find yourself in the middle of Suffolk County, come watch!| fabisevi.ch
There's one company I've got my eye on in this new year. I don't necessarily expect them to succeed or fail, but do think that this will be a pivotal year in their history.| fabisevi.ch
The Good 1. You can’t just get funding for any old idea. Being the financial capital world means that people are wary of giving money to stupid ideas. Ok, ok, less wary, but it still happens. But New York is very grounded with respect to technology, and that gives me [some] confidence in the ideas that are being funded here.| fabisevi.ch
Last year I spent a lot of time gathering pieces, and in 2014 I'd like to put them together.| fabisevi.ch
Eat as much as you can tonight so you can make your New Years resolution to lose weight easier!| fabisevi.ch
As I switched over from Gmail to Fastmail.fm, I was looking for a mail client to replace my beloved Mailbox on iOS. I would have loved to continued using it, but it only supports Gmail, and not regular IMAP, so I needed a new client. Since I now have come to rely on the snooze and reminder features that Mailbox offers, I wanted to find an app that best matched that experience. My reasons for switching from Gmail to Fastmail are similar to most, the whole privacy/advertisement debate that most...| fabisevi.ch
If you can’t pay people a reasonable wage and stay open, you should reassess your business.| fabisevi.ch
Sophomore year of college, my friend Mike has an idea to build new chairs. Not just any seats though, take the chairs out of a 1985 Pontiac Fiero, and make regular desk chairs out of them. Being sophomoric, I have no reasonable objection, so he starts scouring Craigslist. We find a guy in Jersey selling two Fiero seats and decided to drive out there.| fabisevi.ch
We’re not done, but the new Done Not Done, coded by yours truly, is up in the App Store. An app to keep track of the movies you’ve seen, music you’ve listened to, and books you’ve read, and for all the things you want to do. It’s getting some much needed performance love before we resubmit (the whole thing went from nothing to done in 6 weeks). More coming soon, but go and get it.| fabisevi.ch
Update: I quit using Facebook altogether about a year after this post was written. I really enjoyed using Facebook as described below, the product was actually quite pleasant, but it didn't provide me with enough value to overcome the moral issues associated with the company. I also wrote about how I stay in touch with friends, and how it's served me better than Facebook. My primary motivations for unfriending 360 Facebook friends was pretty simple; I just didn’t like to be on Facebook anym...| fabisevi.ch
Last night I pulled the first application that I ever wrote from the App Store. Craig Glaser and I (mostly Craig) came up with the idea of creating heat maps for players in MLB. We thought it would be a cool visualization, and were convinced we could sell thousands of copies and be App Store rich. I took to writing it. I took to rewriting it. I took to rewriting what I rewrote, only to discover, hm, I’m not a very good programmer. Objective-C being so foreign didn’t help… But in the end...| fabisevi.ch
Based on beta 1 of iOS 7 (so take it with a grain of salt): from skeumorphic to schizophrenic. Lack of visual distinction between a button and a label is confusing so far. So is how thin the fonts are, making it hard to read. I am surprised they didn’t go with Avenir as their system font.| fabisevi.ch
I’m only going to make one prediction for WWDC this year, and it’s one that probably won’t be verifiable for a bit of time. With that in mind, I’ll just leave this here.| fabisevi.ch
Apparently 4 years ago today I decided to try my hand at Objective-C.| fabisevi.ch
I spent a good amount of time over the weekend reading Aaron Swartz’s blog, shortly after his untimely passing. In short, I never new him, and so I don’t want to rehash everything that’s been said, but judging by what I’ve read, he was a brilliant person. So I leave you with a few blog entries that I found particularly insightful, interesting, and helpful. Some are longer, some are shorter, but I’d recommend giving them all a read.| fabisevi.ch
It’s not their fault. tldr; It sucks that iOS apps can’t update in the background, but I get why Apple does this. No biggie, it would just make a lot of apps better, but at the cost of thinking about battery consumption. P.S. You can’t read 200 words, really?| fabisevi.ch
I posed a question earlier today about Apple’s new iPad mini pricing. Is there anyone who would have bought the iPad at 329? My guess is no. There are reasons such as brand/price perception, the supposed $299 psychological barrier, and more that I don’t want to really cover, so I’ll pose it as a simple mathematical statement.| fabisevi.ch
Four years ago today, the Apple App Store launched, changing the face of software distribution. Anyone from a curious 13-year old to a grizzled developer who lived through learning Pascal can release an app and hope to strike gold. Even Apple’s own operating systems are distributed with this model now. I distinctly remember my first thoughts on the matter. I was standing in line for the iPhone 3G, not for myself, but for a coworker who I had convinced to upgrade (so I could get his original...| fabisevi.ch
iOS 6 ends up bringing a lot of interesting new features to the regular user, and looking over the API differences, not a lot on the developer side of things. iOS 5 was a gigantic leap for developers, starting with ARC, Storyboards, and a bajillion APIs opened up. I’m willing to bet that this is becoming Apple’s calling card. One on, one off, is now to be prevalent in designing both hardware and software. A pattern is emerging that makes it seem pretty likely: iPhone 3G, 3GS. iPhone 4, iP...| fabisevi.ch
When I was a kid, I used to try and make words and phrases out of my phone number, because before the internet we had nothing better to do. These days, if you want a custom phone number, there is a way to do it for only $3. So, here’s a quick little life hack for you. When you sign up for Google Voice, they offer you the ability to pick your own phone number, from the pool of numbers that they own. I used Google Voice for a couple of years, before ultimately deciding to port my number to my...| fabisevi.ch
I figure, might as well get these on the record, and afterwards we can all laugh at how wrong I am. The Mac It’s dead. Just kidding, it’s being revitalized.| fabisevi.ch
The idea of a continuous client is something that has sent nerds’ hearts a flutter for a long time. No matter what device you pick up, you’ll have an up to date conversation log. Now that Apple has released a beta of their Messages (formerly iChat) app, iMessage is more accessible than ever. (iMessage is the protocol, Messages is the app.) I’m toying with the idea of dropping AIM for straight iMessage. If you get an iMessage on your phone, it comes to your Mac, and vice versa. You can n...| fabisevi.ch
Go to your Chase account and enter your password. Now log out, and enter your password with a different pattern of capitalization. So if your password was , now try . I bet you it worked and Chase still let you into your account. I’ll preface the coming diatribe with a statement about my expertise. I am not a security researcher and would never call myself an expert in the field of cryptography. I’m just a software developer who likes to poke around in security matters in as amateur a way...| fabisevi.ch
Educators have a goal, to teach children. These days in America our goal seems to be concerned with how to trick, or worse, force a kid into learning. Instead what they really should be focusing on is how to relate the information to the child. That is how you get a child excited to learn.| fabisevi.ch
When you’re learning, it’s important to make mistakes, that’s how you learn. When you spend 10 hours looking for what is wrong, and it turns out you wrote when you meant , I can guarantee you the next time you look for why a piece of code is magically broken, that will be the first thing you’ll check. If you do this enough times, you’ll find yourself fixing stupid mistakes before you even make them. That’s how you get good.| fabisevi.ch
As Merlin Mann would say: if you have 27 priorities because then you don't have any priorities. With schoolwork and work-work catching up to me I have very little time for my own coding. It's important for me to make sure I get done what I need to get done. Midterms, homework, deadlines and life have been making it difficult of late for me to sit down and churn out a bunch of code for myself, even though the things I want to do are quick and simple. When I do have some spare time it hurts to ...| fabisevi.ch
Apple may not have formally said it, but they did have a “one more thing yesterday.” They pulled Siri from up their sleeves, which many technology pundits had predicted (kudos to 9to5mac.com on the original scoop). What is surprising to me is that a lot of people appear to be under the impression that Siri is a parlor trick that you can use to show off your phone. This is not voice control, this is not FaceTime, this isn’t even the Compass app. This is something you will use every day a...| fabisevi.ch
If you haven't checked out Part I, I recommend reading it because if you don't, none of writing below will make sense!| fabisevi.ch
As iOS developers, a lot of our work involves taking models from a server, and transforming them to be displayed on an iPhone or iPad. This sounds like a job for some declarative architecture. 🤔| fabisevi.ch