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 Amazon.com’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.

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.

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.

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, sling.tv, 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?

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!

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.

E-commerce Considerations

Things to consider [when developing for an e-commerce site]

  • Know when your site proper assets are served as well.
  • Always use ssl
  • kind of cart system
  • kind of user/customer management
  • kind of user/admin management
  • kind of fulfillment
  • kind of subscription
  • kind of checkout
  • includes discounting/coupon management
  • supports transactional email
  • has inventory and product detail management
  • includes or directly processes types of payment processors

Secure Chrome Profile

I finally decided to use Chrome as a usual browser about a year ago today. One of Chrome’s short-comings is security, not from websites or remote intrusions, but from local users. If you want to have the convenience of syncing bookmarks and history and chrome app shortcuts between devices and computers, you have virtually no security. You must either always sign out of Chrome or chose not to sign on in the first place. It’s easy for a local user, guest, or friend to simply switch to your profile (or open Chrome if you only have a default profile) and view all your history, bookmarks, saved passwords, etc. Currently the only method for protecting your setup is to install, IMHO, insecure, unstable, and unreliable extensions like “secure chrome profile,” claims to password protect your chrome profile. I’ve since seen it fail to block loading the chrome profiles on more than one occasion.

My solution is Mac/Linux-specific and involves creating a default basic profile without signing in, and then create a second profile that is a symbolic link to an encrypted disk image. In Mac this is quite easy and seems to work flawlessly. This method works in conjunction with Chrome’s multiple profiles as well as using an encrypted virtual disk.

Open Chrome and navigate to the settings page.

Screen Shot 2014-01-03 at 12.22.43 AM

You will see that I have two user profiles setup. The first is a vanilla (default) chrome profile. The second is the profile I intend to use for myself. You can customize the icons and names of these profiles however you wish. Do not log in to either of these accounts with your google account information. Now that the profiles are setup, we will create a virtual encrypted disk image for the corresponding profile directory.

In Mac, your could follow directions from here to create the encrypted disk image, but that image is fixed in size and would not allow the profile directory to expand as needed when new bookmarks and chrome apps are added. Instead use a dynamic-sized virtual encrypted disk, which will ensure the profile directory never runs out of space. I actually created a dynamic disk by following the directions outlined here. There must be a way to create a sparse disk image of a target directory in one go, but I created an encrypted sparse disk image. Ubuntu users can create a dynamic virtual disk using TrueCrypt. The target directory to encrypt will be the second user profile, or the one you intend to password protect. In Mac the path to my actual second profile is:

~/Library/Application\ Support/Google/Chrome/Profile\ 2/

When naming the disk image, be sure to give it a name that matches its directory. In this case, my disk image and directory are named “Profile 2.” This should now mount to:

/Volumes/Profile\ 2/

If the image does not for some reason mount to that path, you will need to manually mount it to that path as we will create a symbolic link using that path. Now that you have your disk image, simply mount the encrypted image and copy all the files from the actual directory to the mounted image. You can do this by just dragging all the files in the actual second profile directory to the root of the disk image. Once the disk has fully copied the actual profile contents, you can begin the linking process.

Make sure Chrome is closed. Delete the actual profile second profile directory. Be sure to empty the trash. Also make sure the encrypted disk image is mounted at the approprate location. Now you need to create a symbolic link to the disk image in terminal:

ln -s /Volumes/Profile\ 2/ ~/Library/Application\ Support/Google/Chrome/Profile\ 2

Notice the syntax of running this command. You are creating a symbolic link to the encrypted volume and placing that link in the Chrome directory so that Chrome finds the second profile in the mounted directory. If you have problems with running the command make sure your paths are correct and make sure you have permissions (or sudo for permissions). If you now open chrome, you can switch to your encrypted profile. If you close chrome and eject the encrypted disk, your profile is secure. You can try opening chrome again and switching to your profile, but chrome will not switch because the path to the profile directory is not mounted; it will instead use the default profile that isn’t logged into chrome. You will also experience issues with switching to your profile if the profile is not mounted in the same place you put in the symbolic link.

There you have it folks, secure chrome.