They Beat Me To It

I usually will add a note when a really cool idea pops into my head. Maybe it’s been done before but maybe not. Perhaps I’ll create it someday, perhaps I won’t. Apparently I was really feeling the whole connected devices, or Internet of Things, movement back in 2013. But now, it’s 2016, and there’s Amazon Echo, which I’ve enjoyed over the last year. It does pretty much what my “Commander” app would have done. In fact, another app, Anymote, that I use to connect with Echo in order to control my television can pretty much do everything; it has so many integrations. The only thing missing is that I was hoping for visual gesture commands too. (I’m looking at you Kinect). For now, my bespoke connected home does what it can, but I’m still hoping for more. 

Checkout My New App, Nearest

A little over a year ago I started off down a path to learn more about mobile app development. For this journey, I asked one of my Barrel coworkers at the time to help me ideate on what kind of app to build. We started meeting and planning weekly to talk about what to do, and eventually we came up with a couple of different ideas. After a few weeks in, we already had the guts of what the app would do, some wireframes, and some working names. More meetings revealed the user interface, and more meetings would help us simplify the app’s purpose. We eventually settled on a simple premise for the app—it gets the nearest trains and tells you when they will come. After finishing most of the planning, we hit a wall. We couldn’t really do anything more unless we started to prototype or actually start development.

I had hoped to learn Objective-C and get better with Java, learning both iPhone and Android APIs, respectively. Creating a mobile app for two platforms is a challenge since developing cross-platform applications would essentially require duplicate code and planning efforts. As a web developer, I naturally gravitated towards building platforms that used technologies with which I was already familiar. PhoneGap, now Apache Cordova, uses Javascript, the premiere frontend language of the web, so that was one of the first cross-platform technologies with which I experimented. The last time that I tried PhoneGap, I was extremely disappointed. Apps built with frameworks like PhoneGap and others like it are usually are a bit slower since Javascript runs client-side and must be run in realtime whereas native code would be compiled and run directly on the systems they were intended to run on. One of my biggest issues with those frameworks is the user interfaces, which were always a bit slow, laggy, and not as polished as the traditional apps being released on the Google Play and Apple App stores. In any case, since I had already built an Android app with PhoneGap for a client a year or so before, I was able to quickly create an app prototype. After some research, I found another cross-platform mobile development platform that seemed to better fit the bill for a long-term development solution.

Xamarin, now acquired and owned by Microsoft, takes a different approach to cross-platform mobile development. There are essentially two tracks for developing with Xamarin: the one where you use their framework (Xamarin.Forms) to create a common user interfaces and application logic for both Android and iOS, and the other (PCL or Shared) that allows you to write application using each platform’s native and specific APIs. Here’s the kicker: it’s all written in the C# programming language, which is not Java nor is it Objective-C at all! I chose the PCL, or Portable Class Library, approach because it allows me to learn the APIs of both Android and iOS while learning a single new language with C sharp. Of course, the user interfaces and application-specific implementation must be written individually in XML and CS for both platforms, but learning the APIs for both was a huge bonus. Since I know how to write Java, this means I could write an Android app natively if I wanted to do so.

nearestLearning C# was fun. I have no strong opinions about what makes a programming language good or bad, so it was easy enough to learn without any objections. So I began development in September, continued through with the basic implementation by December, took a break, resumed in July, and recently finished the Android version this October. Now I have to work on the iOS version’s basic application and user interface code. Hopefully this means I have saved time on creating the same application on two different systems. If I did it correctly, and if Xamarin’s claims of sharing an average of 75% of app code can be trusted, then I only have another 25% of code to write in order to create the iOS app, research time notwithstanding. Xamarin was a big part in the fun of learning C# as well. The Xamarin forums are a bit sparse at times, but combined with the power of stackoverflow, google, and .NET/Microsoft documentation, it’s been a fun challenge to create an app that I would want to use every day as part of my commute and general travel in the city. The only thing that really holds me back is my laptop.

Unfortunately, my aging Macbook Core 2 Duo from 2009 is slowly dying, and I need an upgrade. I cannot decide whether I want a shiny new Apple Macbook or Microsoft Surface Book. No, I have no allegiances there. In fact, I really want to try out that fancy new Ubuntu linux subsystem on Windows 10. With an older system, running emulators and simulators on my laptop is much more of an inconvenience and a time-suck. It slows me down when trying to test builds. Not only does the project need to be built and compiled, but it also must run on either a real device or an emulator. Most often I would just end up running it on my phone, but this is limiting in that I cannot easily test on other types of devices without having the actual physical device. Loyalties aside, I’ve published Nearest to the Android Store with the iOS version in tow.

For now, it’s a 99 cent app, but I’m looking into creating a free ad-supported version. I would also like to try other pricing models like introducing either an in-app purchase for pro features or an in-app subscription. In addition, I’ve open-sourced the application, which can be found on GitHub. I’ve done this partly because this is an experiment. It’s not proprietary in any way, so if anyone wants to contribute or even learn how an app is built with Xamarin, then they can build it on their own for free, and submit merge requests in GitHub.

There’s still many questions to be answered, an entire iOS app to build, loads more learning. I hope you will try my Android app, and I do invite you to post your feedback and suggestions in GitHub.

Goodbye, Flash.

This marks an end of an era. In a time when nearly all websites are either entirely written in JavaScript or are JavaScript enhanced, it’s no surprise that the “modern browsers” are disabling flash, the web product from Adobe, coming from the likes of Safari 10 in Apple’s next OS release and now Firefox. Chrome for its part has maintained a prepackaged version specifically patched for chrome, but that might all be changing. The days of tween animation with flash is coming to an end. While we’re still on good terms, let’s end this amicably. 

Prime Day 2016 Lackluster Performance

Today is’s self-proclaimed “Prime Day” holiday, in which the e-tailer (and soon to be retailer) discounts vast amounts of products from a wide range of categories exclusively for Amazon Prime members. Prime membership includes free two-day shipping on many products across the catalog, among other perks like Prime Video, Prime Music, et al. The clock started today, presumably at 12 am. For me, I only began around 6 am, but experience has been less than optimal.

While shopping, I would often add deals to my cart only to find no deal was applied. Returning to the page verified there was a deal, and the area indicating the deal showed a loading icon spinning, “Adding to cart failed. Retrying…”, it read. Even removing the item from my cart didn’t change anything. The message eventually said I had already received the deal, but I never actually bought anything. In addition to these issues, Amazon’s servers were sluggish, taking about 30 seconds to first load images, then activate the buy button; that is, the button to buy was not enabled and could not be clicked until after the additional images loaded. It seems strange that the barrier to buy is time. All this while you’re fighting against that time since deals often expire after being sent to your cart. If you’re like me, you like to casually browse throughout an hour or so, maybe a day or week, and then buy in aggregate. Granted, this is a single day event, but the issues with cart displaying deals and the long load times make hitting those deadlines impossible.

Your network mileage may vary. So far, I have tried my home WiFi network and my Sprint LTE network, but these experienced the same issues. Next I’ll give it a shot at my office WiFi, but if it happens there, I can pretty much assume that it’s Amazon’s on servers handling the massive load of millions of customers (worldwide?).

The current deal offerings are also relatively bland. Many products lack reviews, which is why they’re probably on the clearance rack. I managed to snag a deal using my Amazon Echo, but that was it. I already had some items in my cart from earlier in the week, so I went ahead and checked out. I’m hoping for additional releases throughout the day, but it’s unclear if today is anything more than just one super light deal day for prime members only. 

Uber Leads the Way to Autonomous Driving

Evolution of Driving

Driving of the four-wheeled variety has only been around for just over two centuries (my, is it really that young?!). In that time, the world has seen various iterations on the method of propulsion, which is still being considered to this day. Even more, cars are increasingly being mechanized, slowly merging with computers, the internet, and AI, or artificial intelligence. While I dream of a time when traffic jams are a thing of the past, we still have a long way to go to achieve the ideal–autonomous vehicles that can intelligently navigate roads (especially if roads change), pickup cargo or passengers, and are also good for the environment. We are not there yet, but we’re working on it!

As we make our way between cities, and soon other countries, it’s clear that transportation services are evolving. Uber for its part is not an autonomous service, for it requires humans to be the intermediary between algorithm and pickup. Uber carpool for instance lets users specify a number of passengers, origin, and destination. Uber now offers a number of vehicles for commuting, other offerings like food delivery, and messenger services in various cities around the world. While the service varies depending on location and availability, it has taken off along with other ride sharing, car hailing, and economy sharing startups such as Lyft, et al. Uber has effectively disrupted the stale taxi and limousine market, trading high rates and inefficiencies to better accessibility and more affordability.

Safety of Passengers, Pedestrians, and Drivers

Who’s life is more valuable, the driver, the guy in the back seat, or the kids crossing the street? Oh no, computer conundrum! We still need to teach computers the answer to questions that we cannot answer ourselves, but there have been more than just law suits when ride sharing has been involved. With Lyft and Uber, there have been deaths, assaults, sexual assaults, kidnappings, hit and runs, and driver DUIs. There’s nothing new here, but there’s now more of a chance it could happen to you. 

Fear and Legislation

Many cities are struggling to make room, instituting bans, special rules, additional taxes, or downright making it illegal. Economy sharing companies face critical response from unions and lawmakers since there are no current rules or regulations for these new types of companies. Putting the keys so to speak in any normally licensed driver’s hands, everything from licensure, oversight, and security is either lacking or not defined within the current confines of cabby culture. Even law suits from disenfranchised workers have surfaced in an attempt to force Uber to condemn the loosely employed status of contract workers and give them more benefits and rights as full time employees. Whether these things are ethical or legal is a matter of opinion at the moment, but the technology and data gathered by these “experiments” is another thing entirely.

So How Is This Autonomy?

Glad you asked. A trove of data is collected by its navigation app, used by both driver and passenger. While it’s fairly seamless to the end users, the backend is doing quite a bit. The map displays supposed real-time locations of both passengers and drivers depending on your role. When matched with a passenger, the maps show only the respective location of pickup and the route of destination, updating the car or passenger markers in real-time. What’s cool about this as a user is having the concrete knowledge that a driver is en route and a course is plotted or that a passenger is nearby and fare will be paid. Since all of the drivers (and passengers) are equipped with these data collecting machines, they will know where traffic accumulates, how many people are requesting rides, and common routes or ones that are less congested. With carpool, the feature that allows you to receive cheaper rides if you don’t mind company with a fellow traveler, they use algorithms which are continually improved to determine the perfect match of driver and stranger passengers, plotting the route, and alerting all parties. The system will get smarter. Perhaps Google or Tesla will end up acquiring Uber (the loser gets Lyft). These small steps, in conjunction with the ongoing development and research of autonomous driving, will allow more efficient AI and truly autonomous driving systems, but only time will tell.

Ode to Cold Brew

Is it bad that I fiend for cold brew day
When regular coffee does not the same?
Each day I look upon the fridge
But no dark liquid is on the ridge.
I try it hot or with some milk
And even with sugary soy by silk.
Alas to nolita the Mart I run
And steal a cup for jolly good fun.
Now I’m ready for the daily grind.
What’s this jittery feeling I find?
Too much caffeine for a daily boost!
Next day I’ll halve it and save the roost.
So what to do in your next event?
Try that brew for your daily ascent.

I hate myself because I just wrote an article about saving programming television

What do we all hate about cable tv? It’s stagnant, kind of like getting cell phone service. Sure, you get hundreds of stations, but it’s not curated. It feels wasteful. I realize cable and the various networks of its industry are stuck in this pattern because it feels good to get fat on the dollars of Americans. But I say they could get fatter. Like all good Americans, we all have cell phones, we all want that big screen tv, we probably have access to a Netflix account, we probably aren’t too strict about that no torrent thing, and the list goes on. There’s huge segments of consumers they’re missing out on. I’m not saying this is an easy solution, but there’s certainly a nice roadmap.

The cable operator

Fact check how cable world

From my understanding a cable provider based on agreements with various networks, local affiliates, advertisers, etc bundles all channels with the expectation that certain segments are potentially filled by a certain percentage of watchers. This invariably becomes a non issue. Continue retaining agreements and contacts, but get different kinds of agreements that offers more value to advertisers and networks alike. With streaming, mobile, and web based technologies, the amount of tracking capabilities is insurmountable, which allows a much more granular idea of viewership. Based on profile data, you can see direct details of a user’s viewing habits. You know what they’re watching, how often, and when. With cable, the only metric I can imagine are polls with a limited set of users or high bandwidth usage. I assume Netflix has some crazy user statistics, which remains this mythical unicorn, shrouded in fantasy, rooted in reality. To the matter, recall the radical startup, aereo, whose demise was at the behest of several law suits and legal proceedings, created a beautiful thing–this mashup of Netflix meets live tv where you could literally watch tv anywhere. This is something most non tech people will probably not mind, but I love being able to watch tv anywhere whenever I want, whether it’s saved on my DVR, thru my SlingBox, on Netflix, Amazon, or hulu, or whatever. The problem with streaming tv with SlingBox is the issue where a stream must first be recorded, converted to digital distribution modes, buffered and pushed into a stream. There are too many steps. Both aereo and sling have similar ideas. Perhaps Sling’s issue is solved by its sister offering of sling tv, similar to Sony’s recently announced a la carte tv lineup. The networks have missed the mark and are slow to transition into scalable, flexible, modern, and fully catered entertainment packages. It also can inspire those networks with the boldest ideas and exciting new television, where such networks will receive premium shares based on its demand. Since viewer statistics are readily available and advertising dollars can more accurately be mapped, the cost of cable television for the internet streamers goes down while the rate of return on value leads higher returns. There’s also a certain amount of interactivity that can be done with mobile users that wouldn’t ordinarily be done by normal tv watchers. These interactions can be done with the standard remote controls of whatever platform gets hosted, be it Roku,, Sony tv, Apple tv, Google tv, Amazon fire, chromecast, but hopefully not the defunct “smart tvs” that mostly get tv wrong from a user experience. (I’ve made better websites). I must rectify my previous parenthetical because LG now has WebOS, which powers their very intuitive interface. I’m fond of it for nostalgic purposes, but it’s also really slick, and I would cherish the opportunity to operate one on a regular basis. In any case this new cable provider now needs those existing contracts to support delivery of the content over network/web based channels dedicated for such purposes. Advertising dollars can be acquired and targeted for all respective audiences, times, and frequencies. It’s a smarter move. No wonder aereo got killed like the electric car died its first death. The stagnant, old providers of entertainment and news will be a thing no more as focus can be placed on building out faster networks and streaming technology. What do you say, punk?

I used to heart Mac

I used to be a firm Mac supporter when they were the underdog. This was a time when Microsoft and its Windows dominated the PC marketplace. And yet I still found myself using Windows powered machines for work, school, or personal reasons, that is, until I bought my first Mac. The iBook G4, the last of its kind, was an Apple-made laptop running Motorola’s G4 computer processor. I cobbled together enough money to get one from eBay, second-hand of course. When she arrived, it was like a bright new world had opened me up. What better way to acclimate myself with the underdog? About ten years have passed, and now I have a MacMini, MacBook, my beloved iBook, and my work iMac. Things really have changed. Did I have anything to do with that? Probably not. What I did to support the underdog–got new hardware, spoke to a new user interface–wasn’t a fad, it wasn’t cool or posh, but it was quaint or perhaps neonerd.

Now it seems time to try something new again, to cheer for the underdog again, to get excited for, and learn new things. So what are my options? I could revert to Windows, using its latest iteration Windows 10. It certainly has seen improvements over the years, some forward thinking, and changes in business models. However, we are not trying to go back to anything tried and true. That might also mean that ubuntu, my favorite Linux flavor, is out of the running. What about a new Linux distribution? I regularly use the command-line for centos, mint, arch, debian, raspian, et al. Just does not feel right, assuming that I want something fresh.

There are hosts of legacy and forgotten operating systems and computers, but while it will be new to me, it won’t be relevant to the world nor anyone on my level. Chromebooks? Quantum computing? Bio-computing? I wonder what are some new players…

I just searched via Google, and I had trouble finding new operating systems in the wild. Maybe I’ll try Bing and Yahoo later. The closest thing to an underdog at this point might be a mobile operating system like SailfishOS or Tizen, but why would I force myself to things already dominated by android and iOS? Me confunde.

Apple Pay Is New to You

Google wallet and other NFC-based payment services have been around for quite some time. Apple pay is only new if you’ve never tapped a card or phone to a pay terminal. In those rare cases where one can tap-n-pay, it’s often baffling to the cashiers or cabbies accepting the payments. Why is everyone so averse to the absence of a physical swipe—that swoosh across the slot and the subsequent bleep to confirm? NFC, or near field communication, is a technology that can receive and transmit small amounts of data, and it can do so between two devices such as your phone and a payment terminal. There is a gap between availability and adoption, and Apple just might have the fanbase to make that gap smaller.

For over a few years, I have been tapping my Chase Debit card—the one where it has that wifi-looking logo called “blink” on the back—to these vendors that also have a terminal featuring the same logo. Many who have actually used this service in some fashion or another were very displeased when CVS and Rite-Aid disabled NFC payments in the wake of the “new” Apple Pay. It hasn’t been a year, and the contract that kept Rite-Aid bound to disabling all NFC payments has ended. In any case, it has been annoying that after Apple Pay was released that so many vendors have been scrambling to either block or join the NFC party. Hopefully this also means that general NFC payments whether via a smartphone or credit card or other verified NFC-toting device will soon become more standard. Only now, you know that Apple didn’t invent it, but they just might have reinvigorated it!

Why I’m not buying an Apple watch

The question should really be: why is *anyone* buying an Apple watch? The first wrist watches to have computerized and connectivity features have been around since the late 90s. The missing link was an intermediary device such as a smart phone, which only recently reached ubiquity after 2007. By my count, Apple is at the very least two to three years late to the game since the Kickstarter-funded smart watch, the Pebble, came to market in 2013. Along with it came a slew of other devices for health monitoring, activity tracking, and a slew of other functionality.

Traditionally, first adopters of any tech will always suffer beta software glitches, comfort issues, and sometimes unplanned obsolescence, but purveyors of all things Apple don’t really worry about those headaches. The first few iPhones were minuscule, clunky, slow, hard to type using the on-screen keyboard, and lacked general connectivity features that many of its competitors offered, namely Bluetooth and NFC. In my opinion, Apple finally got the iPhone right with version six, five years after the original. People have their own reasons for purchasing products, but mostly the products that succeed are well hyped and maybe actually work at the intended purpose. That is the success that is Apple. The Apple watch does not succeed at being an excellent device, nor does it particularly do well at acting as an intermediary, relating messages and notifications. Why then are millions of people flocking to buy one, further filling Apple’s bottom line with dollar signs? Who would spend premium on an untested, entrant to the wearables market?

Those are very good questions that I do not have the answers to give. What I can tell you is that there are several other players in the game with products that have already come to market. I mentioned Pebble—they have been actually making these watches for a few years. The first generation of smartwatches they produced, I was an early adopter A couple of years later they funded a new campaign on kickstarter, breaking even more records for funds raised in a short time period on the crowd-funding website. This is just one. There are others like Motorola’s 360, Samsung Galaxy Gear, and many more, but none of these just work like my Apple stuff.

There we have it! Many people don’t care whether it’s better or not, but they care how it works with everything else. If you’ve bought into the whole Apple ecosystem, you want your itunes working with your ipod or iphone or ipad or imac. The fear is real, but I’m here to tell you that other things work fine there too. I own a macbook, a pebble watch, a Nexus (Android) phone, a roku, and a slew of other devices. They all work with each other just fine regardless of not being Apple products save for the macbook.

Why I might switch back to Windows

For those using a modern desktop computer, you would usually fall under one of two camps, the Mac user or the Windows user. For those using one or the other, you likely started with one, either upgrading to the latest version or not, or you are a convert having switched your allegiance at some point. If you’re someone in tech, you likely use not one, not two, but possibly three to four operating systems daily depending on your tasks. If you haven’t guessed by now, I’m one of those tech guys that use them all.

I’ve been using Windows since version 3.1 when it was just a clunky user interface layer of the “windows” boxes with mouse clicks interpreting commands via MSDOS (simplified). Since then, I’ve used all consumer and server versions of Windows right up to the launch of Windows 10. Windows has been plagued by stagnant, antiquated code. If you ever used internet explorer, you may or may not know what I mean. Enter Windows 10, a new era for the flying color squares. Between Vista and 8.1, it suffered an identity crisis, wanting to be new and young and hip but offering the same old same old. It confused many people, myself included. The confusing elements are gone, and they somehow managed to unify the several disparate versions into a vibrant, intuitive experience for the next generation.

Just so you know that I’m not just a card-carrying Windows-only user, I’ve also been using Macs since before there were fanboys–you know, the folks that worship Apple as if everything they produce is pure gold? I remember the color Macintosh computers and playing Oregon Trail and Number Crunchers. Not long after high school, I got my first laptop, the iBook g4. To catch you up, that’s two operating systems at least, OS 9 and OS X (10).

Now that you know I’ve been around the block, here’s why the new Windows is gold: it caught up with and possibly might surpass the Mac operating system with intuitive controls. You can now control many things without having to install some random application as you would have in the Windows of yore. We got a taste of the full screen and touch-based Windows of 8 and 8.1. They’ve been nicely melded with the classic Windows start button that we’re all familiar with. The new desktop browser, Edge, is fast, modern, and web developer friendly. Although a firm sever with internet explorer would have been preferred, it certainly is a welcome new entrant. Microsoft has also reportedly enabled automatic updates for all users. Whether you’re against getting regular updates due to the impending robot-pocalypse, or of yore just paranoid, it’s always a good idea to update your software’s systems. Just know that most systems can be hacked, regardless of the operating system.

I was expecting some user interface changes to the control panel, but I’m also grateful it’s all still exactly where I left it. Still, the interface could use an update there. Under the hood, Microsoft has opened Windows up so to speak to software engineers, allowing third party integrations, and making the development process more friendly altogether. Still there are things that make me wary of ditching my Mac or Linux box completely, so I probably never will. For most tool chains, you will need some interpreting software in order to compile source code in the Windows environment. This has always been my issue–that and a lack of native ssh due to the lack of a Unix like shell. I guess DOS will still do. Despite its shortcomings, the fresh and invigorating ideas for the new OS is inspiring, and I believe that Windows will be a regular driver for ny daily routine.