Sunday, January 31, 2016

iOS Safari browser feature Request Desktop Site

Google's algorithm has pushed websites to deploy mobile friendly websites, but sometimes business owners and developers really need to access advanced features only available on the desktop sites. Now Safari has a forced Request for Desktop Site feature. It's a great news for business owners, developers and executives. Computer and cell phone lifehacks delivered to you by silicon vanity . Com

GOOGLE YouTube Creator Studio iOS app revenue generating productivity apps

Google YouTube separated its iOS app into several mini apps: YouTube, YouTube Kids, YouTube Capture and YouTube creator studio. Channel owners and video creators can now view their channel traffic, revenue and more. 

Free Learn to Code class and club activity by Google CSforAll initiative

Google CS First club activity materials can be used by middle schools throughout the US and it is completely free for educators and students. These fun learn to code activities are funded by Google and supported by google employees, interns as well as volunteers. You can engage in President Obama's new White House initiative #CSforall by starting a local club at your school!

Saturday, January 30, 2016

Codecademy Learn Java tutorial walkthrough 6 white space

Java can ignore whitespace in code but whitespace and comment helps make the code more readable. Code is for computers to read but humans need to maintain it. Readable code, clean concise well annotated code, is an important developer best practice. During job interviews, good candidates are usually distinguished by their ability to solve the problem in a concise and well structured manner. 

This exercise required students to move
to a new line, specifically line 5.

This is a real scenario where another developer refers to the code by line number and gives specific instructions. Codecademy mimics the professional world well.

Codecademy Learn Java Tutorial walkthrough 5 Variables

Like all other coding languages, Java uses variables to store values like 19, true , 'A', "Hello". Java variables are like storage boxes with a label. You must specify the type of the variable and only store values allowed by the type. It's a strict storage system, example you absolutely cannot put jackets in the shoe box. Java is very OCD. For example char myVar = 'Xyz'; will cause Java to error out because char type only allows one character! 

int myNumber = 42;
boolean isFun = true;
char movieRating = 'A';

Also note that the variable names are in camel case meaning that the first letter of  alternating word is capitalized, example justLikeThis! It's more readable than justlikethis. Though probably less readable than just_like_this. 

Why is it called camel case? It looks like the camel back "camelBack".

Weekly Digest Startup, Growthing Hacking, Learn to Code

- Marc Anderssen rumored to buy Twitter with Silver Lake
- Wedding startup, small business founding story from 0 to 1 million with sharktank as partner
- Facebook advertising revenue by active user by geographic region data (growth hacking, marketing news)
- Code School launches free Try Python course and Python path with Monty Python theme
- President Obama launches a White House initiative CS for all #csforall encouraging all K-12 to learn Computer Science. (Learn to code news)
- Fetchnote, mini notes organized with hashtags, is closing its service 
- paul Graham tweets startups shouldn't waste time getting on shark tank

It is rumored that Marc Anderssen may be partnering with Silver Lake to offer Twitter a deal and its stock price soared with speculation

Amex Open Forum How planning a honeymoon led to a million dollar business funded by Shark Tank. Story of a wedding small business traditional startup :

The Guardian How much are you worth to Facebook? Facebook quarterly advertising dollar value per user by geographic region.

White House President Obama initiative CS for all launching a government wide effort for computer science K-12 education.

The Fetchnotes Team is closing its service. They recommend using alternative tools such as Simplenote, Trello, Evernote, or Letterspace.

Codecademy Learn Java tutorial walkthrough 4 Data Type III char

Unlike string char is used to represent a single character, example 'S' not 'So', and it must be enclosed in single quotes. It's useful for storage for single letters and conserve memory! For example, there's so need to store 'A' in a string that can store any more letters when we can store it in char. If we are writing a mini all of multiple choice questions, we can store the question labels in four chars ('A', 'B', 'C', 'D') and the answers in strings (example "None of the above").


Codecademy Learn Java tutorial walkthrough 3 Data Type II Boolean

In this tutorial, Codecademy introduces another data type called Boolean, which can only take the value true or false. To the computer, true or false is really 1 or 0. The computer can use 1s and 0s to represent any texts and numbers.

Again, no quotes, no int whole number nor no floats, just true or false.


Codecademy Learn JAVA tutorial walkthrough 2 Data Types I: int

This Codecademy Java tutorial talks about a data type called int, short for integer, any negative or positive whole numbers and also zero. If you want to go deeper : any value between -2,147,483,648 and 2,147,483,648

In this exercise just type any whole number in .println() that is not a decimal number. And don't use any quotes this time. Quotes are for a different data type called strings aka texts in English. 


Codecademy Learn JAVA tutorial walkthrough What's Your Name

Codecademy walkthrough learn JAVA.
You can enter any string as your name to pass this exercise. The key is to surround your name in quotes. For example
System.out.println("your name");

.println() is a very useful Java method.
Codecademy uses it extensively much like console.log for the learning JavaScript path.

Codecademy AngularJS tutorial walk through 4 Filters currency filters

In this exercise, Codecademy asks the student to add a filter to {{product.price}}.

AngularJS filters look like a vertical line which is a special symbol called a pipe and it surely looks like one! After the pipe, we specify currency so that every time AngularJS sees the product.price property say 19, it will automatically add a dollar sign to it making it $19.

This feature is very handy displaying currencies. AngularJS has other cool filters too. 

The concept of filters is like Instagram filters: the underlining data or photo is the same, the filters change the look of the underlining data or photo making things look different. For example, the underlining date is Feb 22, 2015. Using a date filter can display it as 2015/2/22 a format used in Asian countries or it can display it as 2/22/2015 for the US. It's nice that we don't have to change the data or write a function to change the date for each country. We can use the readily available date filter.


{{product.price | currency }}

Angular sees the {{}} and be like oh I'd better look at this. These are for me. Then it reads data from the corresponding controller, find a property called product in the $scope of the controller, then find the price property of product. Then it filters the data and turn it into currency format by adding a dollar sign in front of the price.

Learn to code foundations : data type Boolean

learn to code foundations series covers learn to code and computer science basics supporting the #csforall initiative. Boolean is like a coin it can only be two values "head" or "tail" true or false. Remember Boolean is always either true or false. It's quite "extreme".

Boolean is also like a tuxedo cat. Its fur is either black or white.  Again boolean can only be true or false. It is also called bool in Java

In computer speak, true is also 1 and glade is 0. Computers can use a bunch of 0s and 1s to represent numbers and letters, and pretty much everything.

Code School launches new Try Python learn to code course

Code School, online interactive gamified learn-to-code provider, just launched a new Python language course called Try Python and a full Python path in the whimsical theme of Monty Python! Like other Try Ruby Try R courses in its Try series, Try Python is free. The other parts of the path requires monthly subscriptions.

Friday, January 29, 2016

Getting started with AngularJS Single Page Application (SPA) Search Engine Optimization SEO growth hacking tricks

How to utilize one of the most advanced front end frameworks like AngularJS and be able to rank high in Google search engine results? How to rank any Single Page Application (SPA) websites written with templating languages like Mustache and Handlebar.js or front end frameworks like Knockout.js, AngularJS Angular 2, React, Ploymer and or Backbone.js? 

How to create a snapshot for search engine callers
Some developers set up one website for the humans and another for the robots - the search engines. The downside of this workaround is having to maintain two websites. 

Google made efforts to index JavaScript applications but creating snapshots for search engines is still recommended. Other search engines like Bing Baidu and Yahoo only has limited support for SPAs.

Follow search engine guidelines. Render the website for crawlers so that the contents display properly <h1> hello John </h1> not just as <h1> </h1> because crawlers cannot make the correct request to display {{getMyNameFromServer(id)}} for example. Creating snapshots is developers doing work for the crawler.

It's also important to generate a clear site map for the website to help the crawler navigate.

SPA pages made with the likes of AngularJS are snappy and very interactive by nature. There are many entry and exit points and user flows. Developers should work with product owners and product managers to create relevant user flows and experiences when creating the snapshot. 

Automatically recreate or crawl website for search engine optimization
Have you heard about the popularity of PhantomJs? The headless "ghostly" browser? It's perfect for generating snapshot automatically, regularly for sophisticated SPA applications. Use PhantomJs with pretender (prepackaged with Phantom) and store and cache the result in Redis for crawlers to consume.

Route all crawlers by specifying head user agent. 

Get the SEO foundations right

It's still important to still clearly mark SEO metadata like meta description, title, image alt, and meta tags for every page.

Thursday, January 28, 2016

Codecademy Tutorials AngularJS Your First App Part 3 Workflow

Codecademy AngularJS tutorial solution Part 3 Workflow .1

Adding a new product to $scope

$scope helps the controller passes data to the view.  We are storing an object of key value pairs into the $scope.product variable. Single word keys like name and price don't need quotation marks, but regardless of the length and construct of the string, quotes are needed when storing values hence the book name is surrounded by quotes. However, we don't need quotes when storing numbers, hence 19 doesn't have quotes around.

Codecademy AngularJS tutorial solution Part 3 Workflow .2 .3

Displaying book title and price

If we just write nothing will happen. HTML will literally display things exactly how it is. Because when the words are surrounded by double curly braces {{ }} AngularJS is smart enough to know to take a look. Rather than display as it is, it will traverse upward in the HTML code to see where it should be looking for useful data. It found that somewhere upward, it is told to look at the MainController, so it checks if there's a product property or variable stored in the $scope object. Found! Then it checks if there's .name and .price property. Found! AngularJS is able to successfully display the data. If we change the data now to {name : "My book", price: 25}. We no longer have to change HTML code. It was a one time setup. This time when running the code, AngularJS will again look for $ and $scope.product.price but will find different values to display. 

React UI, UI UX, Reactstrap React Bootstrap

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