Ad

Saturday, January 23, 2016

Useful Chromebook Command Line Shortcut Dev Console Hot Key for Web Developers Learn to Code Chrome OS

During my travel, I purchased an used Chromebook online because it was the cheapest computer that I can trust. Soon I started to regret my decision as it was the toughest computer to set up while traveling with limited wifi connectivity.

Here's a list of useful commands, dev console utilities, tricks, tips and hot keys I found that may be useful for web developers who got a coveted Chromebook outside the US.

Afterall, it's a device designed for the Internet and wifi connectivity of level California. It's quite painful to use it outside the tech heaven. 

First of all it's possible to install Linux using a google app script (can work with limited internet VPN and curl) or using Cruchon, the later requires a download (not going to work in offline mode unless you download it into an USB drive before hand).

In Chrome browser command line utility can be launched with hot key Ctrl + Alt + T. This is called crosh.

Use Ctrl +Alt + Forward key to launch  a full bash and the dev console. Dev mode must be enabled.

It's useful to have US wireless network and another USB drive, and a working computer. This way you can log in as a google user become the owner of your device, use the Chrome OS Recovery Utility (has to be downloaded onto a Mac or a computer and then the USB) , use the USB to reboot or recover a damaged Chrome OS.

A common error I got was webpage blocked or error enrollment checking pending. Basically all related to the First Run or the setup not complete and also Chrome OS doesn't connect properly to owner networks and wifi routers. I had problems using it with TP link routers.

A VPN build-in or VPN enabled router might work better. 

In the end, there were several forced reboot, forced recovery (couldn't fully because the OS was damaged and I couldn't access a USB reboot), and finally a reboot upon post partitioning reboot and local data erase (thanks to a failed Ubuntu install), I can finally use my Chromebook as a guest and browse the Internet without any first run didn't complete nor enrollment error.

My plan is still to partition and install a full on Linux so that I can use the computer offline and online without having to go through google services which are not accessible in some countries or with limited connectivity. 

esc + refresh
Refresh + power both can be used to access special screens and enable dev mode or recover. Ctrl + d to launch dev mode. Ctrl + l to launch successful Linux installation. 

You can use VPN on Chromebook in Settings > Network > Add a connection > Add a private network. WLAN WAP (possibly more useful for android devices), mobile network (SIM card), proxy are also available. 

Online IDEs are useful if you are logged in as a guest with no ability to save files locally. 

In bash, the dev console on Chromebook, you can log in as chronos the super user or root with no password (until you set one). Being google and humorous. The user used to be facepunch, a geek speak. 

Internet forums say Linux is the way to go if you use Chromebooks offline more than online. Chromebook also supports some online features upon successful completion of initial setup. 

The first setup or first run experience was quite tough if not impossible outside the US.

Basic Internet browsing is possible without completing the initial run, but one cannot install google apps, extensions or 3rd party plugins without the initial signin.

All chrome in browser developer tools are accessible. Edits and tests of html css and JavaScript can be done. 



Friday, January 22, 2016

Linux Command Line interface learn to code essential skills

Console command line and Linux server setup are definitely two essential learn to code skills. While it's hard for beginners to master these skills, an engineer wanna be must harness these skills in order to be a senior or advanced full stack developer. 

For example, Rails and Heroku both utilize a command line interface, also Github. There are lots of developer tools also requires command line interface including Karma JavaScript test runner. 

Setting up a server from scratch is hard. Running and securing servers can really use Linux skills. But you don't have to know all about Linux is get started. Understanding basic commands, how the file storage and permission systems work, read, write, execute ... Every detail helps. The basic skills are relatively transferrable. 

Developers also like command line interfaces because they are fast. They are like hot keys and shortcuts. Once you know what you are doing, utilizing these productivity boosts can really make you look and feel like a pro. 

You can get started by learning Rails development using Michael Hartl's free book, or use Codecademy's new command line course. You can also trust up a LAMP development environment learn Linux while learning PHP. You can also learn how to use Vagrant virtual box and its SSH login. Every bit helps. You can try setting up your own Linux operated server and run an instance of Ubuntu. 

Saturday, January 16, 2016

Google wants to hire me! A recruiting email from Google

It's interesting that we hear the rumor often Google knows everything about us. You bet that Google knows what you are searching for, reading, learning and writing about. Here's a new year message for me from Google. It's pretty awesome to be honest. Was hard not to be excited.

All fun talks aside this could mean a shift of Google's recruiting strategy : see my new Medium post on how did this happen. Can you growth hack google's recruiting process? How does google recruit now? What about the brain teasers? https://medium.com/p/f99672bc3846


Sunday, January 10, 2016

AngularJS controllers for dummies and beginners learning to code

We use the angular controller to interact with a View and a Model. Mark the html code with Ng-controller allows the correct instance of a controller and its scope to be bind, and its data and methods to be made available in the DOM.

The controller must have a name and can have a callback function - it's a fancy way to say the developer can specify what kind of data and methods the controller instance can have.

Todd Motto, a famous Angular developer and author wrote "a controller's purpose in an application lifecycle is to interpret business logic from the model and turn it into a presentational format." He also points out that the controller is main role is to talk to the Service and pass the corresponding data to the View via the $scope.

On the "return trip", the Controller can also pass any presentation view layer change back to the server via the Service.

(Not covered in this blog post - the controllerAs concept)

AngularJS Services for dummies and beginners learning to code

Angular Services hold application data, the Model. An Angular Service can also talk to APIs and handle HTTP requests to get data from a 3rd party application. 

All Services are singletons. There should only be one copy of such service. 

Tod Motto a famous Angular developer and author points out that a Service's code cannot be run until the object is instant instantiated.

(what's not covered in this blog post is the service constructor and its usage with the new keyword)

Saturday, January 9, 2016

How to get the sold out Ng-con 2016 angular developer conference

The official newsletter announced that angular developer conference Ng-Conf 2016 is completely sold out but there are ways to get tickets.

Random free tickets will be awarded to contributors of the angular repo or repository and the doc repo! Quickly. Contribute now!

All speakers can attend for free. 

If you company sponsors the event your entire team can go. Quickly convince your boss to write a check! 

Other methods with high chances of succeeding include Scholarship Program and corporate sponsorship (as mentioned above)


AngularJS scope $scope object for dummies and beginners

AngularJS scope or $scope is a special angular object. The top level parent scope is called $rootscope, and is created when Angular renders the application page for the first time. All other scopes are children of the rootscope. Though not frequently used, we can use $rootscope to communicate data between scopes.

Every time a new controller and its corresponding data-binding is created a scope is created.

In Angular, we use Services to get data from the server then use $scope to pass the data to the view, the presentation layer.

Tod Motto a famous Angular developer suggests that we think of the $scope as a bridge between the JavaScript and the DOM as a glorified ViewModel.

The essential concept of scope exists in other programming languages and frameworks including vanilla JavaScript. Angualr's $scope comes with its own flavor : it's only used in controllers binds data from the controller to the view

React UI, UI UX, Reactstrap React Bootstrap

React UI MATERIAL  Install yarn add @material-ui/icons Reactstrap FORMS. Controlled Forms. Uncontrolled Forms.  Columns, grid