Categories
Tech

Top 10 coolest/most innovative mobile computers

Here are my top 10 most innovative/coolest mobile computers. Note: I define mobile computers as anything that is portable or can fit in a luggage bag – and runs on a desktop OS. No iPads or mobile phones here.

10. Dell Adamo XPS (2010)

Dell came up with the thinnest laptop on the market in 2010 and one of the thinnest all time – only 10mm thin. They accomplished this by having the keyboard recess into the lid, the lid acting as a kind of ‘storage’ for the keyboard. And also a heat strip where the laptop opens with the swipe of a finger. pretty cool.

9. Dell XPS M2010 (2006)

The father of the desktop replacement, this massive 20 incher weighed 20lbs! but folded into a briefcase so technically it was ‘portable’ and thus qualifies for this list. Still the fact that Dell thought up such a beastly machine over 13 years ago, is why it belongs on this list.

8. Asus ROG Mothership (2019)

One of the coolest laptops unveiled at this year’s CES, the Asus ROG mothership is basically a battery powered all-in-one PC with high end specs. Core i9, 144hz display, RTX 2080, its all there – and the keyboard is detachable so that gamers can use their own keyboard/mouse without the built in one taking up space like in most gaming laptops.

7. Porsche Design Book One (2017)

Yes its similar to the Microsoft SurfaceBook – but it has one key difference which is a 360 degree Yoga hinge. This means the Book One combines the Lenovo Yoga’s convertible form factor with the Surface Book’s detachable hinge. It’s the only computer with this design.

6. Acer Aspire R7 (2013)

A laptop that looks like the Starship Enterprise – this laptop has a screen that can be lifted upwards and moved closer much like an easel – this is geared towards artists and creators, but the screen can also flip backwards as well – and the touchpad above the keyboard. Very unique.

5. Acer Iconia 6120 (2010)

A dual touchscreen notebook where you can use pretty much anything on the bottom screen, including a custom keyboard. This predates the Lenovo YogaBook by several years and is still an interesting design today.

4. Sony Vaio UX (2006)

The ultimate UMPC, the Vaio UX is still a marvel of design and engineering. It ran Windows XP (can be upgraded all the way to Windows 10) and can fit in your pocket! It was the first computer to have an SSD and had a fingerprint scanner over a decade before it was commonplace on notebooks. Truly an amazing piece of tech.

3. Razer Edge Pro (2013)

Razer Edge Pro was a gaming tablet that ran a Core i7 with a GTX 640LE and paired it with a console grade gaming controller. This idea was very unique and allowed users to play Windows games on the go in a form factor much smaller than gaming laptops – and way before the Nintendo Switch as well.

2. Asus Zenbook Pro Duo (2019)

Just announced at this Computex 2019, the Zenbook Pro Duo packs a 15″ 4K OLED display along with a secondary 14″ 4K display AND a third numpad/trackpad display AND a RTX 2060 graphics card. This thing is the coolest computer I’ve seen in quite a while, and I’m excited!

  1. Onkyo DX (2010)

Technically this would belong to Razer’s Project Valerie if they ever made that laptop, but since they didn’t – this netbook gets it. It has a dual display – one display slides out from under the other – and its also a convertible display on top of that! I have no idea why this design idea was not adopted by other makers but out of all PC makers – Onkyo – an audio equipment maker was the one to come up with this. Surprising.

Note the lack of any Macbooks in my answer.

Categories
Tech

Javascript Framework/Library Reference

Base libraries (animation, dom manipulation, event handling, ajax, utility)
jQuery (this library is the most popular base library)
Zepto
Dojo
Prototype
MooTools

Utility Libraries
Underscore
Lodash
Sizzle
Modernizr (feature detection)
Yepnope (conditional loader)

MVC Frameworks
Angular
Ember
Backbone
SproutCore
ExtJS
Batman
Spine
Meteor
Exoskeleton
ActiveJS
StapesJS
JS MVC

View/Data binding frameworks
Knockout
CanJS
React
Rivets

Backbone Libraries
Thorax
Epoxy
Chaplin
Marionette
Quilt
Backpack
Rendr
Backbone Boilerplate

Templating Libraries
Handlebars
Mustache

Widget libraries (animation, ui)
jQueryUI
YUI
Bootstrap
Scriptaculous
Google Closure
ShadowboxJS
Lightbox

Mobile libraries
jQuery Mobile
Dojo Mobile
Sencha Touch

Testing Libraries
Chai
Jasmine
QUnit
Mocha
Sinon
PhantomJS
CasperJS
Istanbul
Karma

Build development Libraries
Grunt (task runner)
Bower (package manager)
RequireJS (module loader)
Yeoman (scaffolding)

Special use libraries (data-driven, graphics, maps, etc)
D3 (document manipulation)
Raphael (vector graphics)
MediaElementJS (HTML5 video/audio)
JPlayer (HTML5 video/audio)
Leaflet (maps)
ChartJS (charts)

NodeJS Libraries
Express
MongooseJS
BookshelfJS
SocketIO
Sequelize
Sails
Prerender

Categories
Programming

Proliferation of Javascript libraries and bad start to the year

Ah, good old O'Reilly Rhino
Ah, good old O’Reilly Rhino

As a front-end developer, I can’t help but notice all the innovation going on. Especially compared to the backend, I feel that front end technologies these days are developing at quite a rapid pace. In particular, the areas of HTML, CSS and JavaScript.

HTML5
HTML5 has of course been the hot technology as of late, which I regret not using more HTML5, because my company has to support legacy browsers like IE6/7 (which of course cannot support HTML5).
“But Tong, why don’t you use Modernizr or another shim to take advantage of graceful degradation?”
Well, the fact is that we are lazy, so we don’t want to rewrite a lot of our code for graceful degradation / progressive enhancement. And I’ve also noticed new templating technologies such as HAML, Jinja, JST, Mustache, and Handlebars, which uses JS to compile Handlebars templates, which itself is built on top of Mustache.

CSS3
Another area is CSS. Of course my company can’t use CSS3 for much of the same reason as HTML5; support for legacy browsers. Take note that like HTML5, CSS3 is continually expanding and browser support is very inconsistent (so just look to W3C for guidance for now). However, there is also much innovation in the realm of styling as well. There’s LESS, which extends CSS with variables, mixins, operations and functions, much like a scripting language, and SASS, which adds much of the same things. Then we have frameworks that build on top of LESS/SASS, like Compass.
Notice how alot of new technologies are themselves improved or extended by even newer technologies, and so forth.

jQuery
Nowhere is this more evident than in JavaScript. A little bit of history: Netscape originally developed JavaScript to be a lightweight interpreted language for amateurs (ie. users of VB). They named it JavaScript to take advantage of Java’s popularity, not that the two languages share anything in common. It was very popular, and because Microsoft had their own standards of the language, it wasn’t standardized until the late 90s into ECMAScript. In the late 90s/early 2000s, JS was mainly used for light scripting events such as submitting forms, animating icons, etc. It wasn’t until DHTML and AJAX came about that JS really started to take off, especially with professional programmers.

Hence, where we are at now. Ajax took off, and JS libraries (some may say polyfills) came out that significantly expanded JS’s use in everyday browser scripting. My company uses Prototype.js and Scriptaculous for UI. And certainly there were other popular libraries at the time like MooTools, and widget libraries like Dojo and YUI.

But the most popular JS library that came out in 2006 that really started web 2.0 computing was jQuery. Every web developer knows it, and 91% of websites probably use it. Jquery made ajax applications and dynamic application scripting as easy as cake. Hence my point now is that 90% of libraries today is built on top of, using, or extending jquery. It’s so ubiquitous. Want some boilerplate for your code? Bootstrap uses it. Want to add some structure to your single page app? Backbone.js uses it. How about mobile? Well jQuery mobile has got you covered. And jQueryUI has most of your UI needs down. jQuery has become a foundation of modern JS frameworks and libraries.

And now you can pretty much build your entire app, full stack, using only JavaScript. Rails developers can be more productive using CoffeeScript and Batman.js. BackboneJS, AngularJS and EmberJS have got you covered on your client side MVC needs. Need a utility library without Prototype.js’s namespace interference and object pollution? UnderscoreJS is there (while also being a dependency for Backbone). Modular JS components? RequireJS is there. Making vector graphics? Sure, RaphaelJS is there. UI widgets? How about Google Closure, jQueryUI, ExtJS, or the aforementioned YUI? Maps? Yup, LeafletJS handles that. Need just CSS selectors? SizzleJS does that. What about media overlays? Yes we have both ShadowboxJS and LightboxJS on each side of the force. In fact you can even build server side JS using NodeJS and SocketIO, as well as frameworks building on top of those, like ExpressJS. Mobile browsers? How about ZeptoJS, Dojo Mobile, or the aforementioned jQuery mobile? Or how about giving me a full stack framework like Meteor? And yes, JS can even compile templates on the client side without being horrible slow using Handlebars and JST. Unit testing frameworks similar to server side programming languages have appeared for JS, such as Qunit and Jasmine, themselves written in JS. And yes, there’s even JS Dependency Injection.

All this to show that, there are way too many JS libraries out there. Not that its a bad thing, but it seems to have exploded recently. Backbone.js wasn’t released that long ago, and there’s already extensions like Backpack.js and MarionetteJS built on top of Backbone, which itself is built on top of jQuery, which itself is written in native JS. My concern is that modern front end devs are forgetting the important foundations of JavaScript and the native JS API, when they are using all these libraries which seem too magical and obfuscate how JS works. We used to DOM-script, now we have two way data bindings, which do updating and ajax calls for you. Soon, front end devs won’t even know what an ActiveX object is, or how to handle IE specific bugs, because its all done in the background. And its all happening a bit fast… what might be the hot library of today might be the legacy library of tomorrow… my company experienced this first hand using prototype.js… which at the time was as popular as jquery but now is used by less and less websites. This makes it all difficult for front-end devs to absorb, which libraries are considered the front-runners and will be viable in the future. Who knows? It’s a concern I have…

HTML validation
Thanks to my friend Chris (the Polish juggernaut) for this tip:
[Unix commands] use xmllint –html *.html to check if your html document is well formed, but use tidy *.html for full on HTML validation. Little known unix commands, but useful.

Other news
And in other news, I’ve been having a terrible year so far, compared to last year. So far, in just January alone, I had:

-At the very start of the year, the power on my Mac went out and all the pictures I took in San Diego on the Mac guest account were deleted and cannot be recovered (this is a “feature” of unix guest accounts and works differently than windows guest accounts).
-alot of my good Korean friends went back to Korea.
-lost 6k in stock market options (each time the market went the other direction – go figure)
-pay $1340 in parking fines and traffic fines (because I had high beams on? geez)
-had to come in late for work or missing from work many times due to the stress of my new apartment, mortgage loans, escrow, new bank, etc.
-Didn’t get internet for two weeks due to no cable wiring
-Didn’t have electricity in the living room for two weeks due to faulty circuit breaker.
-Toilet cannot flush – now have to use the lobby restroom until a repairman fixes it.
-washer and dryer doesn’t work – all my clothes come out smelly and unwashed
-After doing tax returns, found out I owe the government $2600 in taxes.. ugh…

So yeah. In one month, I had more bad news that all of last year. Happy year of the snake.