Sunday, August 24, 2014

David & Goliath. Bargain Bin Budget Laptops Acer 11.6 in and Toshiba 17.3 in Windows 8.1

My kid is entering the first grade so I decided to upgrade his computer. His first computer was an Acer C710 Chromebook. It served him well for Preschool and Kindergarten. I think Chromebooks satisfies most needs but the one thing I hated about the C710 Chromebook was the battery life. Thus, I sought out his replacement. I heard great things about the 710 replacement, the C720 but the allure of cheap Windows laptops tempted me. Low and behold, a few of the brick-n-mortart stores are selling ultra cheap Windows 8.1 celeron budget laptops. First, I got him a 17.3" Toshiba laptop. Yes, 17.3" 1600x900 6lb behemoth. It was $250 so why not. Then, Best Buy flashed an 11.6 Acer for $130 so I couldn't resist. I decided to let hime choose what he wanted to keep.

Thus, today's post are about two compelling, cheap, low-end Windows PCs in our household.

Thursday, August 21, 2014

Amazon FireTV

I got myself an Amazon TV last week when they were available for $60. $84 plus 20% off coupon. I figure why not. I ended up getting the game controller as well. I don't have much to write about it but I gotta say it is cool.

I have NetFlix, Plex, Amazon Prime video, and some light games. The Amazon FireTV appstore is very lacking. There is probably only three good games on it - RipTide, Asphalt 8, and Amazon Studio's in-house Sev Zero. The other games are pretty much boring. The App library is very limited so you can't install something like ES Explorer or MX video player without going the sideloading route. You can root it and get the Google Play store on it. However, I don't have the time for those shenanigans. I would not buy this in the hopes of having a convenient Android TV gaming console. It isn't quit yet there.

I had a Logitech Google TV that we used primarily as PLEX and NetFlix Client. It was handy because of the keyboard and the keyboard itself is a universal TV remote.
With the FireTV, we don't have that so we have to make do with TV remote, FireTV remote, and external keyboard.

I have a USB wireless K400 keyboard so it makes it very usable to search for PLEX and Netflix titles. It is also good to have Amazon Video right there without the need for Airplay or Chromecasting. Plex is a $4 app. I already have it on my Amazon App Store and Google Play but I guess there is a separate one for the Fire TV. Again, I don't have the time or inclination to side load Plex from another source just to save $4.

The voice control is real simple that even my 6 year old kid can use. Speaking of kids, you'll definitely want to enable Parental controls. Otherwise, anyone can just buy apps and media. Parental control forces a numeric PIN for purchases.

Overall, I like it. Most retailers are now selling it for $84. I don't know if that is a permanent price drop but it is a good value. Is it better than the Apple TV. In some ways yes, it has more options and gaming. However, AppleTV has iTunes ecosystem and AirPlay. With the Apple TV, I don''t need to make a cohesive effort to upload my content to Amazon's cloud. Everything works in the background on Apple's ecosystem. Then again, I don't think I'll be sharing family photos on Amazon's photo cloud system nor would I upload all my music to Amazon's music. I'm glad I have both.

Wednesday, August 20, 2014

Upgrading the G-Drive G-Connect hard drive

A few weeks ago, I wrote about the G-Tech G-Connect iOS NAS drive. It is a 500GB 2.5" NAS that allows you to stream videos to iOS as well as act as a micro AFP file share / TimeMachine server. It has onboard ethernet as well as Wi-Fi built in. They routinely go on sale for $39.99 at Frys and I actually like them very, very much.  I am able to store files off my PLEX server that my kids can't view. AKA "Daddy files."

The issue with them is they only store 500GB.This device is discontinued and I wouldn't pay more than the $40 street price for these. However, they are pretty easy to crack open and you can easily replace the built in drive with a larger capacity drive.

I did just that with a 1TB Western Digital 2.5" blue drive.

The drive I replaced it with appears to be thicker. Possibly 9.5 mm height and the built in one may be 7.5 mm tall. With some work, I was able to manage the swap. I was concerned that Hitachi (who now owns G-Tech) may have added some special firmware that locks their devices to their own drives but that was not the case. I just attached the drive and formatted it as normal. Once booted, I was able to see it in the network.

Voila. 1TB available. These make good TimeMachine remote backups. $40 for the G-Connect and $60 for a 1TB 2.5" drive.

Tuesday, August 19, 2014

Crazy Cheap Acer 11" Netbook / Laptop on Sale

I just ordered an 11.6" laptop for $129. Yep, $129. That is crazy.
Sure, it isn't a speed demon but $129. This would make a low power NAS, linux ultralight.

I saw my newsfeed flash a sale for an 11.6" notebook at $179. I went online to Best Buy and refreshed the page and it dropped to $129.99. This was around midnight on 2014-08-19. It sold out quick. It is an Acer Aspire 11.6" E3-111. The RAM is upgrade-able so I'll throw in an 8GB stick I have lying around.

It has a N2830 Celeron which isn't particularly fast but it has the same specs as the ASUS C200 Chromebook. It is completely fanless, so this should be very interesting.

I will update with a review once I get it.

Edit: This was legit. If it was a price mistake, Best Buy did honor the price and I picked it up.

Sunday, August 17, 2014

Microsoft All-in-One Media Keyboard vs Logitech k400

Microsoft released an All-in-One multimedia keyboard with a built-in Windows 8 friendly multi gesture  trackpad. It appears to be a good, alternative to the ever popular Logitechg K400. In fact, some have speculated that the Microsoft keyboard may actually be a rebranded Logitech or possibly built by Microsoft. I don't know if Logitech has any involvement but I can clearly say it is not a re-skinned K400. The K400s are often on sale for $20 -24 and the Microsoft often dips under $30 (the retail is $40).

I use the K400 because it is a very practical and useful keyboard to have when you are working in a server room or building out computers. Often, you are testing or computing in unusual and often cramp spaces. They can be use for HTPC and media uses. Thus, these tend to be real popular keyboards and they come in different colors. I happen to own multiple black and white K400s.

So how does the Microsoft keyboard stack up?

The Microsoft All-in-One is definitely a more stylish, contemporary looking gadget. The profile is slimmer and the design is more modern. Keyboard travel on both are iffy and I don't recommend neither keyboards for full time usage. The trackpad on the Microsoft appears to be bigger because it is a button-less design.

In terms of use, I think the Logitech feels better. The trackpad, in terms of movement, is very iffy on the Microsoft version. However, multi-gesture works better with the Microsoft. Range appears to be the same as I tested from 10 and 15 feet away with no problems.

Both use dedicated USB dongles that can be stowed away when not in use. I like how the Microsoft has a magnet that holds their dongle in place. However, the Logitech has an ace in the fact that it uses a Unifying dongle. This means you can pare multiple Logitech keyboards and mouse to one dongle. I really like that feature as I often have a dedicated mouse I want to use in addition to the keyboard. It still isn't Bluetooth but I like the fact I can plug in a dongle into a Tablet or various Android sticks and NUC micro computers and be ready to go with a mouse.

They both come in handy when I want to prop up my Dell Venue 8" Tablet and use it as a Windows desktop computer on-the-spot. The Microsoft trackpad does a fair job at scrolling and pulling up the Charms bar. Due to the slightly wider pad, the Microsoft has a slight edge. Zoom and pinch is still wonky on both and that is due to Windows OS itself. I still can't get that smooth of a pinch on any Windows trackpad. You still can't do 4-5 finger alternating swipes like you can on other operating systems.

When it comes down to it, I will stick with the Logitech. The Microsoft keyboard lacks a dedicated HOME, END, and INSERT button. Those are deal breakers as I often use these keyboards in a text-only console environment; rebuilding or emergency boot fixing a Linux server. I also prefer the keyboard tactile feel of the Logitech over the Microsoft version. However, in my opinion, I think the Microsoft looks more handsome in terms of the styling. Lastly, the Logitech uses AA vs tripe A (AAA) batteries on the Microsoft.

Saturday, August 16, 2014

Install TOR Proxy on a $8 - $10 PogoPlug.

I was able to set up a TOR proxy on a cheap PogoPlug V4 in a few minutes. I was motivated to do this after reading a bunch of news about some hackers building a firmware for cheap, portable TP-Link pocket routers. Those pocket routers go for $35 and up and I figure I could do it with a cheaper alternative, the PogoPlug V4. Yep, nothing beats a cheap $10 ARM based computing device and I have a few of these lying around. The v4s are often on sale anywhere from $8 to $10 bucks. Here is a link to Adorama.

What is TOR? It is an acronym for THE ONION ROUTER. It is an open network designed to disguise and make normal network analysis hard to pin-point your activities on-line. In short, help you browse anonymously. It does so by randomly moving and encrypting your internet traffic across various, different random TOR nodes. This makes it hard to pin-point you. This is the tool that Eric Snowden used to evade the NSA.

If you have ArchLinux ARM installed on your PogoPlug, the steps are really easy.

All you need to do is install tor and make some simple configuration changes.

First, install:
pacman -S tor

Then create a directory for the tor files:
mkdir /var/tor

Then, all you need to do is add this to your config which is usually at /etc/tor/torrc.

RunAsDaemon 1
SocksPort 9050
Nickname PogoPlugRelay
ORPort 9143
BandwidthRate 20 KB # Throttle traffic to 20KB/s
BandwidthBurst 50 KB # But allow bursts up to 50KB/s
ExitPolicy reject *:*
DataDirectory /var/tor

I bolded some of the things you need to be aware of. You will need the IP address of your PogoPlug. In my case it was And you can adjust the Bandwidth rates to your liking.

Thats it. All you need to do is then run TOR.

For your clients, you need to point to the TOR router and adjust your SOCKS proxy. Here is an example in OS X. I ran iftop in the background and you can definitely see the network randomization. Pretty cool.

I tested this on a Yosemite build of Mac OS X and everything works. Now, for TOR, I simply made another Network configuration I can easily toggle when I want some privacy.

This is a SOCKS proxy set-up. I'll probably look into the transparent proxy configuration and write back if I want to go that route. A quick Toggle in OSX Network Location is actually quick and more preferable for me.

This was my first exposure to TOR so things were a bit weird. I'm used to using private OpenVPN and I normally expect Google to localize my search engine to whatever language I am remotely connected to but TOR was a different beast altogether. Every few seconds, every few web access, my IP address would randomize to a different IP. That was cool but some things were off. For example, having multiple tabs caused some weird issues that Google thought I was doing something malevolent.

Does TOR ensure complete privacy? No, as there are many gotchas and things you need to account for. However, in the right hands, it works pretty good. I wouldn't use TOR to download large files or media. It is definitely slower than using a VPN service but I like how this is a single, portable product that any of my computers can use with little configuration to their network (or browser settings).

Tuesday, August 12, 2014

Web Application Database Design: Audit Trail . Tracking changes to column data value changes.

A departure from my typical gadget, general computing posts. Today, I'm going to discuss database auditing trail. Or, if you are searching from the web, "How to keep track of database column value changes."

So what is an Audit Trail (also commonly called an Audit Log)? It is basically a record keeping of changes in a database. For example, if a user updates a record, an audit log should record who made the changes and what the changes were. For some industries, this is an absolute requirement. There are many different ways to implement it and in this blog, I am going to share a technique I use for web applications.

Here is an example of why you need to have an audit trail or a history table of your database changes. I developed a B2B web app that sends materials to various retail stores. Often, the address changes and shipments are often lost. Usually, the client like to blame the developers for the missed shipments which could be very costly. However, with an an audit trail, the developer can proved that the wrong address was the result of bad input on behalf of the client.

A common method to audit changes in a database is to create a trigger that monitors INSERTS, UPDATE, DELETES. Here is an good example fro this website,simple-talk.

Unfortunately, most web applications usually only have a single user login for the app itself. Users are often stored in a user table. If your users are managed by a web front end with a user table, triggers won't work for this type of scenario.

Another common mistake is to make a duplicate history table which mimics the table you want to log. If you have multiple tables, you end making multiple history tables. To me, this is bad design.

My method is to make a singular history table of all the changes. Yes, there is overhead as there are often two transactions. One for the actual UPDATE/INSERT and one for the actual logging. However,  I think the overhead is well worth it in most circumstances. This can be done as a trigger or a concurrent action for your application.

Here is an example schema of an audit trail log table in MySQL. It is a single table that can account for any database table you plan to use. It is an "Amorphous" table; meaning it is consolidated and links by reference to whatever you need to log. In my example,the Audit Log is a table called "AuditLog" for this discussion.

Let me explain some of the entity columns.
ParentID is the key the record you are logging.
ParentObject is the table you are referencing.
CreatedById is the user ID of the user and CreatedDate should be obvious to when the log was created.
FieldName refers to the table column.
DataType refers to the TYPE of the column: VARCHAR, DECIMAL, INT, etc.
OldValue refers to the original data and NewValue is the new data.
If your data is a larger, you can use OldText/NewText for large changes like TEXT.
Notes are internal notes you can flag such as deletes, inserts,etc.

Here is an example of a record that was updated. The id of that original record was 4420 and we know it is the Stores table that was updated based on the ParentObject.
The Field was the Address. As you can see, the old address was 15426 Emerald.. and it was updated by userid 52. You can simply do a JOIN to get more info on the user.

This works well for my needs. To restore a record, you can do an UPDATE with a JOIN.

UPDATE $ParentObject s SET s.`$FieldName` = A.OldValue JOIN AuditLog A ON s.Id = A.ParentId WHERE = 179;

Here is another example. If you wanted to see the name changes of a particular user "124" from a "user" table, you can do a simple select like this: SELECT * FROM AuditLog WHERE ParentId = 124 AND ParentObject ='user'

1241username1242005-03-011J SmithJon Smith
1654username1242009-08-252Jon SmithJonah Smith
2547username1242010-01-101Jonah SmithJonathan Smith
3645username1242010-07-214Jonathan SmithJonathan Smith Sr.

So if you are using something like PHP and MySQL, you can log database changes and restore updates easily. This is a simple way to keep track of database changes.

Monday, August 11, 2014

HTC ONE (M8) . The little details that piss me off. Scratch lens.

The picture above is the back of my HTC ONE M8.The camera lens is fairly scratched up. Taking pictures with is unbearable and it is driving me nuts. I'm not an isolated incident and a simple Google search of "HTC ONE M8 scratch lens" reports this has effected a large number of users.

This is comically unacceptable. First, KitKat locks the SD card from 3rd party writes and now this. I'm reading about the so called "toothpaste" fix which is also unacceptable. I've done this on my watches and it tells me one thing, the lens is acrylic plastic if he it can be buffed out with a mild abrasive like toothpaste. It is these simple little things that is drawing me away to another phone. This is an absolute perfect example of why sapphire lenses should be used on cell phones like the iPhone 5S.

Friday, August 8, 2014

Windows 9 to ditch Charms Bar and introduce Virtual Desktop

Looks likes Windows 9 will ditch that ghastly Charms bar and introduce Virtual Desktop. Finally, it has taken Microsoft over 25 years to introduce Virtual Desktops. Sure, I have multiple 27 and 30" displays but it would be awesome to have Virtual Desktops in "addition to multi-monitors." My Window colleagues always brag about not having the need for Virtual Desktops when multi-monitors are available. Trust me, it is necessary when you are on the field with a single 15" laptop screen.

I'm reading the comments on Gizmodo and it is a good laugh when someone doesn't know what Virtual Desktops are. Some Windows user are confusing it with Virtual Machines. No Silly. See the screenshot below from Mac OS X. A Virtual Desktop or "space" is an isolated desktop where you can run unique apps or windows in their own isolated views. You can have a mail client and browser in space #1, space #2 can have your music player, space #3 can have you file manager. This can be done with multiple windows which each app occupying their own monitors but with Virtual Desktops, you can have multiple spaces. With a three monitor set-up, I can have 27 Virtual Desktops. Yes, 27 unique spaces; each with their own wallpapers and unique apps on a three monitor rig.

How is this useful? Well if you are developing a Client-Server App, imagine this scenario:
In Virtual Space #1: IDE on Monitor 1, console on monitor 2, database query tool on monitor 3. Then in Virtual Space #2, you have debuggers for HTTP on monitor #1, tailing server logs on monitorr 2, and SSH session on monitor 3. Then in Virtual Space #3, you have web browser in monitor 1, javascript firebug debug console in monitor 2, email client on monitor 3. Yes, 9 virtual spaces even on a three monitor set-up. An absolute requirement for power users.

Other operating systems have had this for decades. I personally think OSX has the sweetest implementation as you can multitouch swipe with gestures to navigate as well as visually pin apps to specific desktops. In Linux, you right click on a menu to send an existing app to certain spaces and navigate with keyboard shortcuts. It will be interesting to see how Microsoft implements this.

About time. Here is an interesting article over at dailytech and a quote from a Microsoft Metro UI designer, Jacob Miller.
A great example is multiple desktops. This has been something that power users have been asking for for over a decade now. OSX has it, Linux has it, even OS/2 Warp has it. But Windows doesn't. The reason for this is because every time we try and add it to the desktop, we run user tests; and every time we find that the casual users - a much larger part of our demographic than Apple's or Linux's - get confused by it. So the proposal gets cut and power users suffer.
Moving forward, we aren't going to worry about whether or not features on the desktop are too complicated for casual users.  In the future, the desktop may very well be complicated to use, but more powerful as well. 
In the short term you'll see less resources devoted to [Desktop mode] until we get Metro figured out, but once that happens the desktop is very much a first world citizen. It will be equal with metro. The desktop is not going away, we can't develop Windows in Metro.
Once [Metro is] purring along smoothly, we'll start making the desktop more advanced. We'll add things that we couldn't before. Things will be faster, more advanced, and craftier than they have in the past - and that's why Metro is good for power users. - See more at:

PS: I'm well aware you could have Virtual Desktops as a third party app solutions as way back as Windows NT 4.0. However, it is nice to have it built-in the OS.


Wednesday, August 6, 2014

iPhone is still an awesome SysAdmin tool. Literally fighting and warding off hackers with an iPhone.

As many of my readers know, I carry two phones. An iOS and an Android phone. However, when it comes to any real work, I use my iPhone. It has been very reliable and I've been using different versions of the iPhone to avert disaster in the last 7 years. Sure, many of these things you can do with Android. However, I have had problems mostly with VPN connectivity. As many already know, Android did not support IPSEC group cisco-vpn for many, many years. Thus, I've been using iOS as my go-to device. The largest screen in the world can't help you if you don't have connectivity access.
I also prefer some of the iOS equivalent apps. For example, Connectbot and JuiceSSH are no equivalent to iSSH.

Well, here is an example I would share with some of my readers why the iPhone still rocks!
Typical crisis scenario: Waiting in line for the latest movie, Guardian of the Galaxy, and the phone is ringing off the hook with NAGIOS notifications. NAGIOS is telling you that some servers are degraded or offline. You can either rush to the car or back to the office or.... Server meltdown and crisis  needs to be fixed ASAP. What do you do?  Well, that has happen to me on many, many occasions.  When it does happen, I rely on my iPhone. It also happend over the past weekend.

I use NAGIOS which is an enterprise grade network and intrusion monitoring. And boy, I constantly get text and email messages for down servers or degraded services. You know, the kind where Russian and Chinese hackers are chomping away. It is good to SSH in and apply a firewall rule just like that. I can restart services or launch redundant failovers.

Besides sysadmin duties, there are plenty of other scenarios where it comes in handy. Often times, I may be at lunch and a client wants me to export a MySQL report into an Excel spreadsheet. Easy. MysqlDump the query to a CSV delineated file then convert into Excel .XLS on the iPhone. And yes, I do this on a small 4" screen. iSSH has really good multi-touch gestures that makes up for a smaller screen. I actually prefer using iSSH over JuiceSSH on my HTC ONE M8. Thus, you can see why I a still a dedicated iOS user.

The other day, a client's email server was getting hammered with a brute dictionary attack. Within 15 minutes, I installed Fail2Ban and scp (Secure shell copied) a working configuration that monitors SASL intrusion with my iPhone. The attack was a coordinated brute force password "guessing" on the SMTP mail server.  They hit the servers hundreds of times per second so that the server can't handle regular requests. With my iPhone, I logged in via SSH and scp  a working /etc/ config (from another server) and bam, Fail2Ban was monitoring the mail logs and blocking African, Russian, and Chinese hackers in real-time. All of this was done in real time. And it was done using an iPhone.

Fail2Ban is actually very cool but that can be a different subject on a different blog post. Basically, it is a POSIX daemon that monitors log files and can be configured to block malicious intruders.  You can configure it to monitor different services and if there are so many attempts (say 3-4), you can deny them via deny-host of through a firewall IPFW rule. If this sounds all alien to you, lets just say, all you need is console access to install, configure and set-up.

If I can get root and shell access, I can handle crisis like this with my 4" wonder gadget. Another crisis averted. So the point is, devices are tools and you make it is what you want it to be. Thus, I still get a laugh when people say you can't do real work on a mobile device.

Tuesday, August 5, 2014

ReTUNES. The Android iTunes remote control review.

I like my new HTC ONE M8 but I really don't have any music on it. I know it has an awesome audio processor and it probably sounds good but it doesn't carry my large iTunes library. More importantly, it doesn't stream music to my 12 speaker set-up like my iPhone. For me, Google's Music is not a suitable substitute for iTunes. You can't Chromecast to multiple audio receivers simultaneously or have multiple clients play your library at the same time (through Match or Network sharing). Thus, iTunes is still relevant. At home, I still rely on my multi-room, multi-speaker iTunes Airplay set-up. I like to listen to music across my three floor house in various rooms and I use my iPhone or iPad to control the music. Now, there is an option for Android and it works pretty good with the HTC ONE. That app is called ReTunes.

ReTunes is basically a smartphone remote control for iTunes. Meaning, it will allow you to control a computer running iTunes. It is the Android equivalent of the iOS Remote Control app that Apple provides for i-devices.If you have a centralize iTunes server with multiple AirPlay set-up, this app is pretty much it for Android users. The user experience is comparable to Apple remote app.

I think it is best to go over screenshots to discuss some of the functionalities.

First of all, you need to enable the iTunes remote control via a numeric key pairing. Simple set-up. You also have to be on the same Wi-Fi subnet.

You then select the paired iTunes machine/server. You can pair multiple computers and I've paired it to three. I don't know what the maximum number is but I doubt most people will have more than three iTunes servers running in their household.

Playback, track, searching, selection is the same as you would use on your desktop but in a smartphone UI. You can even enable visualization, shuffle,etc. 

It does an excellent job as a remote control. What else would you want? Well, for  me, the primary reason to use this is to control my Airplay speakers. I love how I am listening to music in my living room and select the basement to simultaneously play in the basement. As  I walk down the stairs, I can shut off the living room while the song is still playing. Once I free up the living room, my wife or anyone else can initiate control over the living room.

Lastly, one surprising feature is how ReTunes picks up my iTunes Radio station.

There you have it. One really good iTunes remote app for the Android ecosystem. If you are Android user stuck on iTunes, this is the app you should have on your primary homescreen. It is that good.


Friday, August 1, 2014

AirBNB squatters revealed. Maksym Pashanin and Denys Pashanin

Those two brothers, Maksym Pashanin and Denys Pashanin, who were squatting in a AirBNB Palm Springs condo are also trying to scam Kickstarter backers according to various reports.
I don't know what to say. I don't want to be too inflammatory considering their past litigious inclinations.

These guys have balls and nerves. At least the media have done their job to reveal the identity of these two guys. One of them had the guts to say if given the chance, they'd squat again.

Kickstarter took wind and have pulled the plug on them. I hope that Palm Spring landlord is able to fight this.

They also have a history of squatting and making legal run-ins with previous landlords. However, as they say, "innoccent until proven guilty." The evidence is pretty much stacked against them here.

You can read all about them here: