Experimental Nuclear Physics, M.S.
Sr. Mobile Developer at Troop ID & TroopSwap
I'm a former nuclear physicist turned mobile application developer. I specialize in iOS (iPhone/iPad) the development of apps for both the App Store and Apple Enterprise business accounts.
I've written software for Firefox, Porsche, Ducati, Thrillist/JackThreads, Bulova, Fantasy Interactive, EVE Online, and many others. My open-source projects can be found on Github at: http://github.com/ArtSabintsev
My software has been published in Mashable, TechCrunch, PC World, Read Write Web, The Atlantic, New York Times, The Washington Post, Life Hacker, CNet, Switched and a few European physical publications.
On a few occasions, I've been asked to give quotes on mobile-development-related topics in TheNextWeb and Mashable.
Leading mobile development of SDKs, Enterprise apps, and App Store apps for the Troop ID ecosystem.
= Libraries =
• Troop ID iOS SDK (https://github.com/troopswap/Troop-ID-iOS-SDK/)
= iOS Apps (Developed) =
• PhotoJacker (http://bit.ly/photojacker-ios)
• ISKm3 (http://bit.ly/iskm3)
= iOS Apps (Consulted) =
• Photo and Sound (http://bit.ly/photo-and-sound)
= Libraries =
• Harpy (https://github.com/ArtSabintsev/Harpy)
• Asynchronous Freeloader (https://github.com/ArtSabintsev/Asynchronous-Freeloader)
• ASPullToRefresh (https://github.com/ArtSabintsev/ASPullToRefresh)
• Panhandler (https://github.com/ArtSabintsev/Panhandler)
Created and new iOS video playback and caching technologies. Also, worked on creating and maintaining various iOS video apps.
= iOS Apps (Developed) =
• Shelby Genius
• Shelby.tv
Developed and maintained many applications for over a dozen startups and fortune 500 companies.
= iOS Apps (Developed) =
• Bulova Time (http://bit.ly/bulova-time)
• Drive+: Connect with the world of Porsche (http://bit.ly/drivePlus)
• Ducati Community (http://bit.ly/ducati-ios)
• Kontain
• JackThreads (http://bit.ly/jackthreads-ios)
• Nomad Editions
• Not It (http://bit.ly/not-it)
• Picsee
• Porsche MotorSport (http://bit.ly/porsche-motorsport)
= iOS Apps (Consulted) =
• Audio Xciter DSP Enhanced (http://bit.ly/audioxciterdsp)
• Audio Xciter Studio (http://bit.ly/audioxciter)
• Gayot (http://bit.ly/gayot-ios)
• Wendr (http://bit.ly/wendr-ios)
Multiple calibrations of the CLAS6 Time-of-Flight Detectors, and extraction of linear polarization information for photoproduction reactions.
=Conferences, Workshops, Talks, & Presentations=
-2011
• Attendee - PWA 2011 - GWU
• Attendee - Parallelism 2011 - Christopher Newport University
-2010
• Attendee - Hadron Physics Summer School - Physikzentrum, Bad Honnof, Germany
• Poster Presentation - MENU 2010 - College of William and Mary
• Poster Presentation - CUGA 2010 - Jefferson Lab, Newport News, VA
• Talk - APS April Meeting - Washington, DC
-2009
• Talk - DNP09 - Kona, Hawaii
• Poster Presentation - Hadron Spectroscopy 2009, Jefferson Lab, Newport News, VA
• Poster - Narrow Nucleon 2009 - Edinburgh, Scotland, UK
Experimental Nuclear Physics, Quantum Computing, and Physics Education research.
Taught Introduction to Astronomy, Introduction to Physics, and Intermediate Physics Lab courses.
Wrote a software-suite that was used to extract never before seen linear polarization data between hadronic interactions at the 0.7 - 2.4 GeV energy level. The results from my contribution are being used in Baryon Spectroscopy research at Jefferson Lab.
Wrote software in C++/MatLab that was used to extract four-dimensional lung-tumor data from inoperable patients. This data was used by medical physicists at UMMC to determine if there existed space-time points that would allow an increase in dosage distribution to improve the probability of tumor eradication during irradiation without hitting a vital organ. The data I extracted proved that most patients lung-tumors were too close to the heart during all phases of breathing. The machinery available at the time would not be able to increase the dosage for the minute time-window available without having, on average, a 29% chance of hitting the heart. My research advisors were looking for figures closer to 5%.
I came across a situation today where I needed to decode a string that was encoded using base32hex (RFC2938 standard) on an iOS device. I couldn’t find a library that did it, so I took MightyKan’s Base32 library (MIT License) and modified the encoding/decoding map from Crockford’s base32 to base32hex. The library is now available as Github repo on TroopSwap’s github page: https://github.com/troopswap/Base32hex-RFC2938-Standard
One week ago, I joined the TroopID/TroopSwap team out in Washington, DC. Yesterday, I catapulted the company into the mobile space! I’m happy to announce that Troop ID’s Single-Sign-On can now be performed on mobile devices using the the official Troop ID iOS SDK. This is the first step in a large effort to get the company in the mobile arena, and I’m quite excited for what’s in store!
Two quick updates. I just finished an epic year of working for Shelby.tv, most of which was spent working remotely. I’ve decided to try my hand developing for a B2B-startup, closer to home, in Washington, DC. Today, I started as the Senior Mobile Developer at TroopID/TroopSwap. There’s a lot of work on my plate and I’m excited to start building new apps and SDKs for the business world!
Also, I’M GOING TO WWDC THIS YEAR!!!
Harpy, my client-side version checking and updating tool for iOS just got better, thanks to an awesome pull request from David Keegan (@iamkgn).
Version 2.3.0 adds:
- Localization/Internationalization for 10 languages
- Optional delegate and delegate methods for adding custom actions and user tracking after a Harpy-related action is performed.
v2.3.0 is up on Github - grab it here!
A few weeks back, my iOS version-checking utility, Harpy, received a bit of publicity. Thanks to this attention, people started sending me pull requests and ideas for potential features and modifications. I’m proud to say that after 3 weeks of changes, Harpy, is now running smoother than ever before.
Last week, David Verwer of Shiny Development linked to my Harpy github repo in his iOS Dev Weekly newsletter. Thanks to this publicity, I received over a 120 new watchers for the repo, and with that came a few pull requests. I went through the pull requests, accepted most of them, and then performed a bit of refactoring.
I now present to you, v2.0.0 of Harpy.
For those who don’t already know, Harpy is a small iOS utility that checks the a user’s current installed version of your app against the one in the AppStore. If a newer version is available, the end-user is presented with a notification with a button linking to the App Store.app’s page for your application.
If you’re interested, grab it here!
In the spirit of Getting Shit Done, the unofficial Shelby.tv company motto, I updated a couple of my Open Source projects last night on Github, and added one new one.
NSDate+DateFromBSONObjectID
Convert MongoDB’s BSON ObjectID to NSDate
Initial Release (v1.0.0)
Every December, for the last three to five years, I’ve purged portions of my virtual (digital and online) life. This is my form of spring cleaning. I do it at the end of the year, since it fits with my mental model of renewal and new beginnings with the onset of the new calendar year. I continue to do it year after year, since a large chunk of what I do is stored and reflected on my computer and on the web. This year, I started in mid-November, and I’ve already reaped the benefits of having a more minimalistic virtual footprint. This will make future ‘purges’ simpler, if not completely unnecessary. Below, you’ll find a breakdown of what I’m doing and why I’m doing it.
Twitter
I’ve cleared all of my tweets for the second time, since joining Twitter in 2007. I’m excited for the fresh (re)start! V3 as of Dec. 3, 2012
— Arthur A. Sabintsev (@ArtSabintsev) December 3, 2012
I’ve been using Twitter in different capacities since joining in 2007, but one thing has remained consistent, it is my de-facto news source, since I mostly follow news organizations. I have been a great consumer of tweets, but a horrible curator. Since joining, I’ve twice-purged thousands of my tweets in hopes of refining my digital voice. The first time was in 2008, and the second time was last night. Here’s what I am doing to assist with my new mental model on Twitter, and how I plan on becoming a better consumer:
In my opinion, these changes will result in more quality tweets, and better personal experience and immersion in the platform.
In 2008, I invented a Firefox extension that let people backup any album (personal, friends, group, event, etc..) on their computer. In 2011, Facebook shut me down, and in retaliation, I decided to deactivate my account for a few months. I learned that I could live without Facebook, and that there weren’t any real downsides, On the contrary, I had a few realizations in regards to who I actually cared about. Anyway, I reactivated my account 5 months after shutting it down, since I began working for a mobile design and development agency that leveraged the Facebook platform, and because all of my true friends used the platform. I’m still not a fan of the platform for various reasons, but I’ve already taken action to make the experience less annoying:
Read Later Queue (Instapaper/Pocket)
I like to read a lot. Sadly, a lot of it ends up being garbage sci-tech news that I don’t retain for too long. I am used to having ~400 items in my Instapaper queue, and this has been the case for the last 2.5 years. No matter how much I would read, I always ended up with ~400 items in my list. Therefore, I’ve changed my mental model on what I want to read and how/when I want to read it:
This has allowed me to keep my read-it-later-queue down to a few dozen articles at any given point in time, which in turn, has ‘freed’ up a lot of time, allowing me to read more pleasure books and programming books.
Music Collection
I started my evolving music collection in 1999. I had ~8000 tracks around 2009, which meant I added ~70 tracks a month to my library. Many of these tracks never received playtime. I knew that because any track I listened to automatically got rated (3-5 stars). Anything I deemed to be below 3 stars was deleted right away to free up precious hard-drive space. Over the last four years, I’ve pruned my collection down to 2600 tracks - I still added new tracks into my library, but at a rate of 10 per month. This month, I plan on making it smaller, since a rather large percentage of that collection hasn’t gotten any real playtime in a while, and I’ve grown to detest some of the music in the library - the perks of getting older. Some points to take home:
Summary
My fiancée is a doctoral candidate in psychology, and based on my virtual and real-life behavior, she’s informed me that I am stuck in the anal phase of life, since I like every aspect of my life to be organized and under my control. There are definitely upsides and downsides to this mentality, but it’s gotten me this far, so I think I’ll stick with it!
TL;DR: Harpy notifies users that a new version of your app is available and prompts them to download the app when your application launches.
—
I’ve noticed that many people ignore the red badge on the AppStore app on their iPhone home screen that signifies that there are new app updates. This causes users to get frustrated when their apps stop working.
Now, being someone who’s an iOS developer and an early adopter when it comes to software, I tend to have alphas, betas, or the latest version of software as soon as I hear about them. I don’t want to force this mentality on others, but if I’m updating an application of mine, there’s a damn good reason why I’m doing it, so I would like to see my users update their app as soon as its available.
Since I couldn’t find a tool that did this, and most of my apps don’t use push notifications, I decided to make my own little utility that solves this problem. It’s called Harpy, and it’s available for free on Github.
Here’s how it works: When a user launches an app loaded with Harpy, an asynchronous request is sent to the iTunes store to check for the latest available version of your app. If that version doesn’t match the installed version, Harpy pushes an instance of UIAlertView to notify the user. When a user clicks on the Update button in the UIAlertView, it automatically takes them to the AppStore page for your app. That’s it!
If you’re interested in Harpy, download it on Github.
Last week, I re-released my Facebook album backup solution as an iPhone app. There are many more planned updates. Below is a list of the expected update cycle.
v1.0 (November 8, 2011)
v1.0.1 (Expected Release: November 18, 2012)
v1.1
v1.2
v1.3 and beyond
Other Platforms
I am very interested in developing for the Android platform. I already have books and tutorials in my reading queue. When the time presents itself, I will port this application.
It’s been a long time coming, but PhotoJacker, the once-popular Firefox extension that was shutdown by Facebook in 2011, is now available for your iPhone. Download it here!
Here’s the feature breakdown:
✔ Back up tagged photos
✔ Back up personal albums
✔ Simultaneously back up multiple albums
✔ Back up over WiFi, 3G, and 4G
✔ High-Quality/High-Definition photos backed up (highest available quality Facebook photos are sent to Dropbox)
★ Instagram album back up coming soon (there’s an issue with Facebook’s API)
And some more information:
Developed by Arthur Sabintsev (www.sabintsev.com)
Designed by Marina Linderman: (www.marinalinderman.com)
Proudly made in Washington, DC.
FAQ: http://faq.photojacker.com/
Privacy Policy: http://privacy.photojacker.com/
Since exiting high school eight years ago, I’ve had very little time to play games of any sort. My friends know that I dabble in various RPGs from time to time, but due to their inherent time-sink nature, and my innate workaholic mentality, I could never give them their appropriate due diligence. Well, this isn’t completely true. There is one game that I’ve enjoyed thoroughly, even though it’s received negative press over the last 6 months. This post isn’t about dungeon crawlers though, so I’ll quickly segue into a genre of gaming I haven’t touched since the 1997-1998 academic year (when I was 12 years old).
The title of this post clearly eludes to theracing genre. Specifically, I’d like to quickly chat about automobile and motorcycle racing games. Growing up, I had a Sega Genesis and an N64. The latter was the platform on which I played the most games. Two of the many games that I loved came out during the ‘97 winter holiday season. They were Automobili Lamborghini and Extreme-G. I fell in love with both games because they had futuristic looking vehicles and loud electronic music, a genre of music that I was only starting to get into (it was quite hard to hear EDM in the states in the 90s at the age of 12). Combined, I must of logged hundreds upon hundreds of hours on both games. I’m not 100% sure why I stopped, but a small inkling in the back of my head tells me it must have been due to my growing interest in the internet and programming (all of which started in the summer of ‘98).
I digress. The point I’d like to make is the following - until recently (e.g., the last few days), I hadn’t really touched a racing game since the ‘98. What happed over the last seven days? I came across a very cool Kickstarter campaign - Distance, a futuristic racer that brought me back to my teenage years racing vehicles on the N64. Distance absolutely blows my mind. It combines the sexiness of modern Italian cars, the atmosphere of Tron, and the four-to-the-floor beats that can truly be found and enjoyed in the EDM genre. The development team, Refract Studios, released a phenomenal pre-alpha video that speaks for itself. After spending a few days contemplating the decision of becoming a backer, I came to the decision that I was definitely interested, but only after I made the decision to try out a completely different racing game. Asphalt 7, a game made by Gameloft is a mobile-only racing game. I spent a few hours this weekend playing this game, and in doing so, I realized that even as an adult, I still love racers, even though I haven’t played them for half-of-my-life. In my opinion, Asphalt 7 is the perfect incarnation of classic racing games. It has everything one has come to expect from a racing game (e.g., plethora of cars, circuits, competition-styles, second-screen gameplay, global multiplayer, LAN multiplayer, etc…). With that being said, there is nothing more that can be done with this classic style of racing games. This is why I think Distance is the future of racing games. It takes everything from this genre, and brings it to the 21st century. Again, watch this pre-alpha video if you haven’t already. It speaks for itself.
Anyway, all I wanted to do in this post, besides publicly reminisce, was to bring people’s attention to two great games:
Now, back to work.
Greetings,
v1.1 of Shelby Genius is now in the App Store- Download it here!
Hi everyone,
I’ve been jamming away on multiple projects since joining Shelby.tv in April. One of these projects, Shelby Genius, was just released.
In a nutshell, Genius can be thought of as a ‘Pandora for Video’. You type in a query, and Genius returns videos that are popular right now and related to your query (we have tons of data and algorithms that determine these pieces of information).
Notable features in Genius:
An iPad and iPhone 5 version will be out real soon! Also, checkout some more awesome posts about Shelby Genius.
MGSplitViewController is a UISplitViewController replacement class built by Matt Gemmell. I’ve never really had much use for it until today. When i downloaded it, I saw that the demo (and the actual class) were not compatible with iOS 6. After reading through the issues, and playing around with the class to try to get it working for my own needs, I was able to address the issues that prevented this app from working in iOS 6. I’ve pushed my changes into my own fork of the project, which can be found on here, on Github. I’ve sent Mark a pull-request, so that he can merge it onto the project’s main master branch.
Download an iOS 6 compatible version of MGSplitViewController from Github
Kudos to Matt Gemmell for creating the original class.
A new version of Apple’s mobile operating system, iOS, comes out today. Please make sure to update your devices to iOS 6.
This can be done in two ways:
Developers around the world will love you for taking action in such an expeditious manner.
Features
Why should I use ASPullToRefresh?
While this code is compatible with every type of project, it may look unnecessarily complicated for most users. This class was made for users who like to create a single custom TableViewController class that has Pull-to-Refresh functionality, but reuse it multiple times with multiple UITableViewDataSources and UITableViewDelegates, which I, and other developers have come to call TableViewManagers.
For the past couple of years, I’ve exclusively used Twitter as my news source. I mostly follow science and technology news agencies, magazines, and bloggers. I have everything organized into lists. I know what I like to read, and when I’m itching for something new in a certain category, I have no problem finding it. If I don’t have time to read it now, I just queue it in Instapaper, and tweet/share it out later if I liked the article.
As of late, this style of news reading has begun to bore me - all the articles I’ve been coming across are rehashes of the same 10-15 top stories. Flipboard makes reading my Twitter feeds more enjoyable, since it shows me a lot of stories I may miss, but it doesn’t fill the void I found myself in.
Over the last six weeks, the following three (and free) news sources have made finding and reading news more enjoyable for me:
I’ve noticed that when I read articles on Digg, I usually do it on my phone. The articles are short and to the point. They’re presented in a cleanly format, such that I almost never save these articles to Instapaper. TThor comes out a few times a month, and has about two dozen programming articles from sources that I wouldn’t have ever come across, and they’re all very interesting for those of us who live and love computers. Launch Ticker summarizes hot stories, and sends out a nice email with comments and opinions from movers and shakers in the tech industry. This is great for days where I’ve had little time or interest in following my Twitter stream.
WIth that being said, I leave you with an interesting article I found via Digg and missed in my highly tweaked and organized twitter feed: Artificial Intelligence fights notorious crop pest.
A short, but well-written article by iOS developer, Sam Soffes, on how one should approach learning a new skill set, and how to maintain said skill set without driving yourself crazy!
There are many iOS apps that require tons of images to be simultaneously downloaded, stored, and presented to the end-user without negatively impacting a user’s experience. Shelby.tv is one of these apps.
A couple months ago I put together a solution to this problem in the form of an asynchronous image downloader, with optional cache-storage, that also utilizes Apple’s Grand Central Dispatch technology to swiftly obtain, store, and present these images to the end user. I call it Asynchronous Freeloader.
My implementation is/does the following:
The best part, all of this functionality is yours with one line of code:
+ (void)loadImageFromLink:(NSString *)webLinkToImage
forImageView:(UIImageView *)imageView
withPlaceholderView:(UIView*)placeholderView;
The code and README can be found on the project’s Github page.
Enjoy!