Apple #$&(*

Building up to a master list of things that I hate and things that I don’t I wanted to take a moment out to talk about my second generation Ipad and my experiences with it in 2015.  Yes, it’s an old tablet.  I got the thing used when it was the current model.  At the time, I also had an Iphone (4 or 4s maybe) and was still open to the idea of adding even more apple products to my life.  Remember the logo at the top of this page?  This was the apple I grew up with.  I got my start on an Apple IIe with a 1mhz processor 64k of ram and a floppy drive.  This was before hard drives, multi-core cpus and multi-tasking.  The machine ran would run 1 program at a time which was limited to what could be stored in the 64k or accessed from the 5 1/4″ floppy.  While a lot of kids were playing with logo, i started with applesoft basic, a fairly capable (for the time) interpreted language which sufficed for most typical programming tasks.  From this I graduated to assembly language and macro(lumping several commands together in to one call) assembler.  The big rivalry at the time was between the Apple II and the IBM pc.  Up against the monolithic IBM, Apple was anything but the choice of the conformist.  For the time, the II was a great machine; the perfect way to explore computing at home.  It was a high end solution for sure with  a price tag many times that of it’s less capable competition.  However, you did get what you paid for.  I was blessed to have gotten such an introduction to the field as provided by this (for my parents, oddly extravagant) purchase.  My how times have changed.  Well, eventually I got tired of my Iphone.  It had a terrible habit of hanging up on people when it touched my face, had a screen so small that most of it’s “smart” capabilities were difficult to use and, as with most apple products, had a price tag much higher than competing products.  When it was time for a new phone, it just did not make sense to pay 600-800$ for something I could get for under $200 running android.  In the meantime I also had a chance to try out a macbook air for a few months while on a contract job.  The hardware was great and the build quality unmatched.  It was amazingly portable and felt very durable due to it’s forged aluminium frame.  Unfortunately, I was never able to get used to it’s shoddy, pieced together OS.  I can’t understand how osx is viewed as “easier” by so many people.  Most standard tasks (installing a program for example) seemed to take several more steps than in windows or linux.  These additional steps were never that intuitive to me either.  While I don’t use windows that often and spend most of my time in linux, when I do boot up to windows, most everything makes sense.  When I don’t know something, I can usually click around and figure it out.  Not so in osx.  It feels like things have been made simpler by removing important options.  When you still want to control options that have been deemed superfluous by Apple and thus removed or hidden, you usually have to do a lot of digging.  It is like having a stereo for which the manufacturer has simplified the front panel by deciding what volume you should listen at and removing the knob.  Other people hit the power button and all listen at volume 7.  They rejoice in the simplicity of no longer having to decide what volume is best for them and having to adjust it with an antiquated knob.  I, on the other hand, break out my screwdriver and sort through schematics until I finally find the tiny rheostat hidden behind the transformer, change the volume to 8 and then put things back together, leaving the screws out so that I can with less trouble go in and modify the configuration again.  In fact, even on a day when volume 7 would have been my choice, I still cannot accept it.  I will still disassemble my Apple stereo so as not to have to listen at a volume that has been imposed upon me.  Meanwhile, the confused folks at Microsoft, as baffled as I am that the market is embracing the Steve Jobs’ edict of less options for more money, are scrambling to duplicate Apple’s success by removing options themselves.  They are having a tough time as they, like me, really just don’t get it.  The results can be seen in clicking the mail icon in windows 10.  It is a mail client, at least it is part of a mail client.  It has a very clean interface whether you are looking at your inbox or its sparse configuration panel.  How have they achieved this?  They have removed options.  In fact, they have removed almost all of them.  It sends and receives mail and that’s about it.  Gone is all the confusing flexibility of a typical modern email client, the panels of configuration options that only a few people might need to do their job, and the pages of help necessary to describe all of this annoying functionality.  There is a frightening paradigm emerging here.  A product that does less and offers less choice is now somehow better.  Is this the future?  God I hope not.  For Apple though, it appears to be working.  People will stand in line at the release of each shiny new brick, rejoicing over it’s simplicity of design and embracing the revelation that we are all pretty much the same.  It’s kindof like high school fashion.  If you all choose to not conform in the same way what do you have?  This pretty much sums it up.  And it is working really well for them.  They definitely seem to understand the consumer better than they understand themselves.  Otherwise selling $200 pieces of hardware for $400 simply by removing most of the buttons and painting an apple on them would be impossible.  The one thing I do appreciate about Apple products is the quality of this overpriced hardware.  And this brings me to my final issue.  The macbook air was a great machine from a hardware perspective.  So is my Ipad 2.  They are both lighter and more durable than the competition.  The one thing you do get for your money when buying a high priced Apple product is excellent build quality and design.  After years of abuse, my Ipad still turns on and the battery still lasts quite a long time.  This has created an issue for Apple and they are working to resolve it.  For me, as long as my tablet serves my needs, I see little need to replace it.  It still works great so why get a new one.  Apple hasn’t come up with any new ideas that would compel me to upgrade so how will they get me, and the millions of others happy with their Ipad 2, to consider making another $800 purchase in the near future.  Apparently, the retina display wasn’t quite a big enough change to elicit the buying response they were looking for.  One thing they could have done would have been to not continue to upgrade the operating system on older models.  They could have abandoned the Ipad II as being too old, end of life.  For me, this would have been fine.  I still would have been able to web surf for a few more years and the major pieces of software I use (like kindle) would have been upgraded regularly for the older OS regardless.  Instead, Apple does continue to send new operating system updates.  And here in lies my final problem with an Apple product.  With each of these updates, my Ipad gets slower and slower.  This is not unheard of in the computer industry.  Typically, this has been an acceptable way of encouraging people to upgrade their hardware.  It is simple.  People don’t replace things unless they have to.  With a product that has moving parts, like a car for example, these parts are engineered to wear out at a certain time which eventually leads to a new car purchase.  It would seem though that Apple Ipad customers were not responding to the slowing down of their tablet by replacing it at an interval that fit with revenue projections.  They were just dealing with it.  Waiting longer for something they clicked to do something, setting it down and going to get a cup of coffee while it started up, etc.  Basically, the company needed for something to break, for example, wifi.  And this gets to why the only Apple product that worked for me, no longer does and has been replaced by a non Apple product.  If you have an Ipad 2 and innocently upgraded to OS 8 or 8.1 or something about a year ago, you may have noticed that your wifi performance has become unacceptable.  Whatever was done to the code that previously worked since you bought the thing has made it perform terribly.  Mine drops the connection if i am farther than 20 feet from the router.  Even in the same room it can have trouble holding a connection.  I am not sure what specific decision was made in regards to compatibility with certain routers and certain wifi technologies.  That is, I don’t know what the specific excuse was for no longer allowing the wifi hardware of the Ipad 2 to communicate with certain routers effectively.  However, apparently something has changed and as of my upgrade to OS 9.1 last night, it still hasn’t been repaired.  Whether or not this bug was inadvertent at first or not, from the online chatter it is clear that a lot of people are experiencing it and that nothing has been done to resolve it.  My complaint is not that Apple should still be supporting my old Ipad with bug fixes but that they should not introduce a bug that was not there when new that effectively cripples the device and then not revert to the working code or supply a patch.  If you are having this problem, don’t bother with the answers you find online.  Short of a solution that involves jailbreaking the tablet and hacking the drivers, nothing works.  I’ve wasted time turning it on and off, airplane mode, reseting wifi, resetting the whole OS, etc etc.  There is nothing you can do within the confines of the standard operating system to resolve this bug that has for whatever reason been deployed to your machine and maintained through several updates spanning over a year.  I really wanted to like Apple.  Hell, I started on one.  Even though most of their products simply do not work for me, the one that did, my tablet, worked great for me.  I even tried to overlook some of their questionable business decisions such as their requirement of mac ownership to deploy ios apps or their attempt to crush adobe by not implementing flash on their mobile products.  However, this recent move to eol of my otherwise perfectly functional Ipad is unacceptable.  I can only think of one motivation for installing a crippling bug on your customer’s tablets and not bothering to repair it and I refuse to play along.  I bought a kindle.

 

My Impending VR Headset Purchase

The wait is almost over. Most of the vr headset companies out there plan to have a commercial product released in the last few months of 2015 or first quarter 2016. I have been so tempted to grab a dev kit in the past year but have held off as I don’t believe I will be doing anything with vr commercially and the consumer editions are likely to be different. That being said, I still am not sure which consumer edition(s) I will end up with when they do come out.

Samsung VR Gear:

I tried this just a few days after the innovator edition became available.  A new 99$ consumer edition is on its way this november 2015.  It is definitely amazing (as I expect all the vr products to be) but likely not nearly as capable as dedicated hardware. I was using it with the galaxy note. At the time there was not a lot of content available but the demos that were really showed the potential of the product. The main weakness that I could see was the phone. With prolonged use, the galaxy note was just not up to the task and would over heat. It made for a fun demonstration but probably not sufficient for anyone looking to view lots of vr content (like an entire movie). It definitely worked though. Since its release, google put out a design for a phone holder made of cardboard that does much the same thing. No-name chinese factories are churning out thousands of headsets already based on this design. At the end of the day, this route will never be anything but sub-par because of the phone. If producing vr content cooked a note 2, i can only imagine what it would do to my lg volt. I don’t think i will be using my phone for vr any more than i use it as a gaming device. However, some people will.

Oculus Rift:

This is the one that got the ball rolling. It looks to offer both proprietary content as well as compatibility with open source options. How much compatibility is the question. The company has recently partnered with microsoft as the xbox needed a vr option to compete with the one coming from the ps4 folks. While it may be nice to have for the pc, I have a playstation not an xbox. I am not counting on the open source capability being any more than a hack as it is now as they might find themselves in the market position of being able to stay proprietary. This xbox partnership makes this more likely.

Here are the oculus rift system requirements recently released.  Looks like even with my 770 gtx I am a bit behind.  I’m sure this is not just the oculus.  Basically this is saying, if you want to do vr right, you probably need a nasty graphics card.  I guess I will sli in another 770 and hope that does the trick

NVIDIA GTX 970 / AMD 290 equivalent or greater
Intel i5-4590 equivalent or greater
8GB+ RAM
Compatible HDMI 1.3 video output
2x USB 3.0 ports
Windows 7 SP1 or newer

SteamVR, HTC Hive:

This one looks interesting. I expect it to be released before the oculus and sony options. The steam market should make it a solid choice. Controllers are available and I can imagine there will be a lot of game support early on. Their api is open source but not sure how this relates to the osvr project. Technology wise, it includes positional tracking which I am not sure is the case with the other products. This is accomplished with “base stations” that allow tracking to the millimetre. It looks like it will have some very impressive technical specs over all.

Sony Morpheus, Playstation VR:

Project morpheus but now going as Playstation VR. This is likely to be just a solution for the gaming console at first. I would expect hacks allowing use with the pc to come out but Sony has historically worked hard to thwart hacking efforts. This is likely to be a great product like most stuff sony does. I just don’t know if it makes sense to spend 300-500 bucks on something that only works with the playstation.

Razer OSVR:

My favorite mouse and keyboard company is working hard on osvr which should develop in to the vr open source standard. You can now order something they call a hacker dev kit and it looks great. The company insists that they are just interested in making vr a reality and that their ultimate focus will be controllers.  Consistent with this statment, the headsets will be sold as kits and no consumer version has been announced or is planned. Different features such as infra-red tracking are modularized and optional. Ultimately, the design should be produced by a lot of different companies which will be great from a pricing standpoint. If the model works, it should offer quite an amazing alternative to closed source efforts like the Oculus.

Microsoft HoloLens:

This is a different type of product all together. Kindof a mix between vr and google glass. It looks like a neat idea, however, the winner here will be determined by the availability of content. Microsoft is big enough to force the issue but as seen with the windows phone, its not always enough.  Sometime by the end of this year you should be able to get a developer edition for around 3k… really $3000 bucks.  I’m out haha but i guess some companies will spring for it.  Don’t expect to see a consumer level product before july of 2016 though.

Apple?

So far they seem to be staying out of this. Is the whole idea of vr beneath those that frequent the apple ecosystem? Who knows? What is certain is that if they do come up with a product, it will possess a feature or re-brand a feature in a way to make it seem unique. Consider the apple time machine which is a 2-3tb usb hard drive costing between 3-4 hundred bucks. Need I say more? Whatever they build will be completely proprietary no matter how late to market they are. Oh, and it will probably be white, cost over $600 and will become annoyingly prevalent at coffee shops in no time.

While I can’t say I will never toss my phone into a $20 holder and see how it does, I am definitely going to grab a dedicated headset some time soon. The only real options at the moment are the oculus, the htc/steam, morpheus(playstationvr) and razer’s osvr. Whether or not I at some time get the sony product depends totally on the content that is released. This will most definitely not be my first headset. Even if it is eventually capable of working with my pc and osvr or the hive stuff, this is likely months away and I won’t be able to wait. For xbox one owners, the oculus is probably a no brainer. If I did not have a game system already I might even be persuaded to go xbox given the fact the oculus should work with both it and the pc.  The xbox is without much argument technically inferior to the playstation and I am kindof glad I didn’t know when i was making that decision. Whether or not I consider the oculus then now depends on how proprietary it ends up being. I am fully expecting them to feel that their microsoft partnership is going to allow them to corner the market. It’s only fair, after all, wasn’t this whole thing their idea in the first place? I am already preparing myself to be irritated by this company and that’s not good 🙂 So, it looks like my first headset is coming from razer or htc. With these two, I will just have to wait and see. The steam marketplace is quite an advantage, however, both vendors are pursuing an open source route and there will likely be a lot of interoperability. Another thing consideration for me is that I primarily use linux. It will be interesting to see which of these products has the best initial linux support. This will not be important to most people of course but could really narrow things down for me. Price is not likely to be an issue as I expect both of these products to come in at around $300. Actually, the osvr stuff could end up much cheaper than this when produced by no-name factories later on in the year. It could even come down to a comparison of hardware specs or just which one becomes available first.

Sleep

Finally after going to bed really early all week I woke up this morning at a decent hour without the alarm.  For the past 6 days I’ve laid down by 9 each night.  For the first few, I woke up a lot, only getting back to sleep with the help of a few programming books.  Regardless of how early I crashed, I could not get myself up until around 9 each day. This night however, I slept through solidly until 7 am and awoke feeling ready to go.  While not all of it was sleep, I seem to have wasted at least 12 hours a day all week trying.  I am sure that I need more sleep than I used to but am hoping it will be no more than 6-7 hours a day as who wants to spend their life in bed?  I shutter to think that I may have become one of those people who simply don’t function right without 10 hours unconscious a day.  What a waste of time right?  Regardless of what my personal, optimal sleep amount is I plan to shorten it with the help of naps.  Tim Ferris discussed this in his book “the four hour body” where he had managed to reduce his required sleep to just 2 hours a day broken up into 6 evenly placed 20 minute naps spaced evenly 4 hours apart.  Everything about this was critical, the amount and the spacing.  While I do not have his flexibility or discipline, I believe I can still benefit from his research.  I plan to take 2 naps a day ongoing.   I estimate Tim was able to reduce his total required sleep approximately 75% with his new schedule.  As you cannot go without sleep, I am assuming some sort of diminishing returns curve which crosses at a total sleep time line at some minimally optimal point, in his case 2 hours.  Making a lot of assumptions about the shape of these curves, and assuming the worst about my required sleep (10 hours a night) I conservatively am planning to reduce my required sleep by 4 house total with 2 evenly spaced 1 hour naps a day.  My schedule will be roughly as follows.

  • Wake at 6am
  • Nap from 1pm to 2pm
  • Nap from 6pm to 7pm
  • Sleep at 2am
  • Repeat

I figure that lunch time will be probably my best shot at a nap during the work week and the evening nap is early enough to not interfere with band practice.  As afternoons are my least productive time of day, the 1pm nap should get me back on track.  I normally waste this time anyway so might as well be asleep.  The 6pm nap should allow me to stay up till 2am so as to get in a productive evening push at the end of every day.  As a sleep aid, I will continue to use programming textbooks.   I am leaving an hour for each nap rather than the 20 minutes Tim slept as I just do not see myself falling asleep as quickly.  If I do, I will try and shorten these as well.  I will stick to the schedule and deprive myself of sleep if necessary until I adapt.  In the end, I expect to be much more productive in the afternoon and evening than I am currently and will gain 4-6 hours of total time awake each day.  With the increased productivity I expect a net gain of at least 10 hours of productivity a day as compared with my current, horribly inefficient schedule.   I will have 3 “mornings” a day and morning has clearly become my best time for getting things done.  Detailing it out roughly, this 10 hours will come from having an additional 3 hours of morning time, 4 hours regained in the afternoon that are normally wasted and 4 house in the evening programming before I go to bed which I’ve not been good about in the last year.  I will still be spending 6 hours in bed total which for many people is standard.  Realistically, this would be impossible for me if lumped in to say the 12-6am range every day.  Broken in to 3 sections, however, it just may be enough.  I am cautiously optimistic regarding both the sleep time and the productivity gains.  The whole plan is open to adjustment of course.  I may even find it possible to try 3 naps a day depending upon my schedule.  Regardless, if this works even in part, it will be nothing short of life changing.  For more information on Tim’s self experimentation and findings check these out:

Relax Like A Pro: 5 Steps to Hacking Your Sleep
The Secrets of a Fantastic Night’s Rest

Books by self help author Hung Pham

pham2pham1pham3

I just finished reading these 3 books by self help author Hung Pham.  I found each to be well worth the time and money (3-4$ kindle).  His bio states “Life is short, do stuff that matters.”  This is something most people agree with and yet still find themselves at a loss as to how to move forward in their own lives.  Pham’s advice is short, to the point, and easy to follow.  His focus is on “actionable steps” rather than broad philosophical change.  I would imagine most anyone could find something useful in each of these easy reads and really encourage you to check them out.  I left a review on Amazon and rather than write it all over, I will post a copy of it here.

“A search for self help in books on Amazon yields over 400k results. There are millions of people searching for answers and thousands upon thousands responding to and profiting from this demand. I myself, among those millions, have read more than my share of approaches to self help. Through this, over time, I have graduated from envy of those so blessed as to be so in touch with the answers to life’s biggest questions as to be able to coach others, to an almost bitter scepticism of the whole concept of self improvement. I believe my disdain for the whole industry peaked a few weeks ago when I was finally talked into reading and watching “The Secret”. These people had helped themselves to millions from the pockets of lost, despairing individuals who had reached such a point of hopelessness as to buy in to a solution that could perhaps best be described as magic? Rather than simply give up at this point, I doubled down deciding to once and for all figure things out with or without the help of the self helpers. It was at this time I stumbled across Hung’s books. I immediately identified with his journey not because it was crafted so as to be easily identified with but because, in it’s simple transparency and honest personal approach, it truly mirrors the life experience of so many of us in today’s age. Just pages into this book I realized this was not going to be another collection of life stories in which belief in magic or some type of quantum theory that could only have been developed in complete isolation from actual science and math had transformed others into shiny happy folk. His refreshingly pragmatic approach is hopeful and inspiring while being simultaneously logically undeniable. You just know what he is saying will work because it makes so much sense. in fact, much of what he addresses, I already knew and believed. My problem, as with most people still searching, is, for whatever reason, a lack of action. Faced with such truths its no wonder so many people turn to quackery and figure the lottery into their retirement. Hung recognizes all of this. He has been through it himself, solving his own problems in a logical, proactive manner. Rather than the hundreds of pages of repetitive fluff that mark the style of most self help writers, every line seems to have a purpose, to be necessary. In direct, efficient prose he details actionable steps which, if followed, could only lead to the promised land. Where I had a question, he was there with a clear, specific answer. Where I felt doubt, he responded with reassurance couched in logic. His approach is not exhaustively exhaustive but definitely sufficient and complete. One cannot help but be convinced that the author sincerely desires to help others achieve success and meaning in their own lives. Read his books, and before moving on to another writer, read them a few more times.”

 

Distributed Processing Test Server

My SUN server is back up.  It is an x4600 m2 with 8 – 4 core opterons and 64 gig of ram.  Just 2 146 gig 10k SAS drives so will be adding more local storage soon.  Last week I played around with doing a bare metal install of openstack.  After running into a few annoying problems with the UAR i have finally decided to just use virtualbox on top of Solaris 11.3 for distributed processing tests.  Probably not near the performance of a bare metal install but should be plenty adequate to test systems before deploying into production elsewhere.  These machines are an incredible bargain nowadays.  You can grab one off ebay for under 500$ all day long.  The SUN software repository is gone now.  If you want to run linux native you will have to scam the appropriate drivers somewhere else or purchase an oracle support contract.  Seems kinda lame that they want to charge the new owner for this.  A paid support contract makes sense when you are buying hardware like this new at 50k+ a pop.  Not so much when grabbing off of ebay for the price of a crappy laptop.  Fortunately, this doesn’t force the thing into retirement as Solaris installs just fine.  I will typically set up 6 virtualboxes running Ubuntu 14.04 lts each with 8 gigs to play with.  This is perfect for testing clustered projects (Galera, SPARK, Scattersphere).  While it won’t keep up with my i-7 desktop for single core, it is amazingly quick even running virtuals for problems distributed correctly across it’s resources.  Its awesome having something like this to work with at home.  Would have made a hell of a game server back in the day.  Additionally I might add some NAS and host me some opensim.  The little server on top running FreeNAS will do the trick.

IMG_20151016_120107

IMG_20151016_120704

 

autonomae

autonomae

 

In 1945, Isaac Asimov wrote Escape!, a short story featuring a character known as “The Brain”, a self-aware supercomputer.  Such machines have played a prominent role in science fiction ever since.  At the same time, real computer technology has advanced at an astounding pace, often surpassing even the wildest speculation of anterior futurists.   While some areas of artificial intelligence technology have shown great progress,  others, including many critical to the development of sentient silicon, have lagged.  Even today, whether or not a machine will ever possess the sense of self-awareness shown by an average house cat is a matter of serious debate.  It may never happen, or, it may one day be man’s greatest accomplishment.

Really it has been kinda disappointing watching the progress of this technology.  Only now do things really seem to be taking off.  As a little kid, i created an Applesoft basic game of pick-up sticks using lo-res graphics and a simple AI.  In college philosophy as an undergrad I wrote papers on theories about free-will and their implications for the development of artificial personalities.  Fresh out of school I started looking into chatterbots and the turing test.  I was fond of checking out every bot I could find, spending lots of time on the Simon Laven page and pondering the problem of context.  After another 15 years of programming, java, big data, medical software, etc. I have come back to the problem with a few ideas at a point where available hardware and software might finally be up to the task.  Or at least some of the task.  Most significantly, concepts such as horizontal scaling, neural networks, contextual thesauruses, etc may finally allow computers to replace humans in many decision making roles and create the appearance of self awareness, consciousness or even fondness.  Will  this consciousness be real or just appear so?  Does it matter?  After all, are we not as people judged entirely by what can be perceived through observation?  Is the unobservable quality we are looking for really the soul/magic?

MySQL Performance and Scalability Notes Introduction

The MySQL category of this blog consists of a collection of my notes on MySQL Administration for Performance and Scalability.
I am starting with information related to single node systems. Some of the things I intend to address include:
1. Basic scaling concepts
2. Various MySQL forks and engines
3. How to use logs and tools to understand your database’s performance
4. The configuration of your single node MySQL database for optimal performance
5. Raw and logical backups
6. Disaster recovery procedures and considerations
7. The generation of sample data and the de-identification of data for testing and demo purposes.
My goal here is to present effective MySQL based solutions to the problems that arise when working with extremely large data sets. I will discuss how to eliminate bottlenecks and tune for maximum performance and scalability in single node environments. In addition, I intend to cover preparing for and dealing with failures including high performance methods of moving and recovering very big databases.  I will note that I’m not much of a web developer but hopefully this information, while not very artfully delivered, will be of use to someone.  If you are new to MySQL or databases in general, stop reading now!  There are much better ways to spend your weekends.  Oh, and keep in mind that these are basically just notes.  I was not writing a book but just compiling a big list of helpful stuff for myself and am now sharing it.  As such, I have plagiarized liberally using copy/paste and done very little in the way of proofreading.  If something is technically wrong or debatable, please point it out and I will fix or qualify it.  If something needs credits or even removal please let me know that too.