Chrome

Opera Mini to nurse Microsoft’s feature phones through their dying days

Great news for the mobile web.
As Opera jump on Blink few months ago, it will be great to have this powerful engine on Microsoft phones as well.

David Meyer's avatarGigaom

Opera has inked another deal with Microsoft – after Opera’s full-fat mobile product became the default browser on the Nokia X2 Android handset, Opera Mini will now be the default on Microsoft’s feature phones on the Asha, Series 30+ and Series 40 platforms.

The eagle-eyed among you will have spotted a slightly limiting factor in all this: [company]Microsoft[/company] is killing off almost all of these devices — extremely low-end Series 30+ devices like the newly-launched Nokia 130 may survive a while longer — in a push to take Windows Phone towards the bottom of the market.

But it will be a slow death, over the next year and a half or so, and Opera will be there for their twilight, gently shoving the currently-default Xpress Browser to the side.

“Users will begin to receive notifications on their phone starting October 2014, providing them with information on how to upgrade from…

View original post 97 more words

Standard
cloud

Install A VPN Server On Google Compute Engine

photo_openswanIn this tutorial, we will go over the simple steps to install an IPSec/L2TP VPN server on google compute engine.
Why?
There are many cases that we need to use a secure channel between a local machine (it might be the firewall of our office or just your development laptop) and our cloud infrastructure. The answer (in most cases) is to have a VPN server in our cloud that will be the entry point. Here we are going to look at a client-server solution. If you are looking at a solution that will give you server to server configuration please go to this post: greenido.wordpress.com/2014/04/10/how-to-set-a-vpn-on-google-compute-engine/

First, I’m going to assume you have an account with Google cloud and you already know how to launch an instance on Google Compute Engine. If not, this post could help you do it in less then 5 min.

Continue reading →

Standard
JavaScript, webdev

YouTube Analytics Dashboard With Apps Script

player_apisThere are cases where you wish to collect statistics on your youtube videos or channel. There are few options to do it with YouTube API. As the YouTube’s API supports many languages you can choose the one that will work for your environment. In many of these options, you will need to develop a server side that will fetch the data and a front-end to present it and give the users option to query it. If you wish to dive deeper (e.g. specific metric on channel performance and videos statistics), you will need to work with YouTube Analytics API.

In this post, we will see a simple example to create a dashboard that will be updated on a daily basis. Since we wish to save ourselves from building (and maintaining!) a server side and a web app to access it, we will use the power of Google Apps Script (GAS) and Google sheets.

The Dashboard

Here you can find the “Dashboard example sheet”.
Feel free to copy it and work on your own version that is not in ‘read-only’ mode. Continue reading →

Standard
webdev

Git 101- Part 2 (A bit More Advance)

git-local-remoteAfter the first post on Git 101, here is a set of commands you will use after the first 15-20 minutes of working with it. Some are very useful (e.g. stash your work before you can commit it in order to go for a quick coffee when your code is not done) and some are a quite rare (e.g. setting up a git on a remote server). Good luck.

Update & Merge

Creating a branch (and switching to the new branch) in one line

git checkout -b "The new branch name"

  • git pull – to update your local repository to the newest commit. It will fetch and merge remote changes.
  • git merge – to merge another branch into your active branch (e.g. master).
    Remember that in both cases, git tries to auto-merge changes. IF you have conflicts, You are responsible to merge those conflicts manually by editing the files shown by git. After changing, you need to mark them as merged with
    git add
  • Preview changes before merging them
    git diff

Stash

Creating a stash (think of it as a temporary place, like a clipboard to save changes without marking them deep in history) of changes to allow you to switch branches without committing.

Continue reading →

Standard
cloud

Upload Data To BigQuery With A Smile

Big QueryWhat is BigQuery?

In our world of ‘Big Data’ it can be time consuming and expensive to query massive datasets without the right infrastructure. Google BigQuery solves this problem by enabling super-fast, SQL-like queries against append-only tables, using the processing power of Google’s infrastructure.

What You need to do?

  1. Move your data into BigQuery – This is what we will do in this post.
  2. Let Google BigQuery handle the hard work.
  3. Query your big data with a smile in this cost/effective way.

How to upload data to Big Query?

There are two main approaches: stream you data or upload it directly from Google cloud storage. Let’s have a look at the steps to leverage Google cloud storage in order to upload data into BigQuery.

The main steps you need to follow:

  1. You will need to prepare your data. In this stage, you need to analyze and think what will be the best format (both JSON and CSV are supported).
  2. In our example, we will show you how to work with CSV files and even better, we will upload them to Google Cloud Storage and later with a BigQuery job we will make sure our data is being pulled automatically into BigQuery.
  3. Run a ‘sanity’ check to see that the new data is in good shape (optional step).

Tips

  • Upload your the data to a project with a good name (The default project names are not too clear in most cases).
  • Consider breaking your data (e.g monthly tables instead of a unique big one) because it will make life easier in the future to update, query and maintain the data source.
  • Have an example dataset with data that reflect the popular cases. This could be great to give developer an option to ‘play’ with the data and see its value.
  • Think on some good and bold example. A few sample queries are crucial to get people started on a dataset.

Continue reading →

Standard
Chrome, HTML5, JavaScript, mobile, webdev

Israel’s Alerts – Mobile Web App Example

Alerts IL - mobile web app

If you wish to have a window on the side of your screen and/or leave your mobile device on a page that will show you an updated list of all the alerts (Tzeva Adom and others) – Here is a web app for you. It is based on Foundation CSS framework as it’s ‘mobile first ‘ and got a very powerful grid system.

Code

Check out the Alerts-IL GitHub repo or the Google App Engine version.

If you wish to see the Android app code github.com/greenido/Alerts-IL-Android which is a simple native app that wrap the mobile web app.

Continue reading →

Standard
Chrome, JavaScript, webdev

(Try To) Predict The World Cup With Monte Carlo Simulation

brazil 2014 world cupWho will win this world cup? Brazil without Neymar? Lionel Messi? Or are we going to see the Nederland making a big surprise?

If you like coding, statistics and problems that are not trivial… You found the right place. In this post, I will try to show an example to a way for solving this type of questions. For the readers that don’t remember what is Monte Carlo simulation (don’t be shy) – You might want to check a previous post that I wrote last summer and give you an intro to the world of Monte Carlo on Apps script and Google compute engine.

Monte Carlo experiments (simulations) are a broad class of computational algorithms that rely on repeated random sampling to obtain numerical results. In most cases, we will run our simulations many times over in order to obtain the distribution of an unknown probabilistic entity.  This tool is often used in physical and mathematical problems and are most useful when it is difficult or impossible to obtain a closed-form expression, or infeasible to apply a deterministic algorithm.
In the real world, we see it being mainly used in three distinct problem classes:
* Optimization.
* Numerical integration.
* Generation of draws from a probability distribution.

 

OK, there is no time. The game starts in two days.

The Idea

Monte Carlo simulations tend to follow a particular pattern. Here is how we will use this tool: Continue reading →

Standard
Chrome, HTML5, JavaScript, mobile, webdev

Polymer And Web Components At I/O 2014

This talk cover three main subjects:

  • State of the union – What has change in the past 3 years
  • Problems solved by web components – When it comes to build complex web applications, there are many ways we can do things better. In this section we will see how/why.
  • Thinking in components – What are the implications when you coming to design and build web apps.

== Psst… It’s in raw format – I will polish it after I/O is over ==

State of the union

Once many years ago… We had HTML4 with all its problems. Later, well few years back, HTML5 was the answer for everything. It specifically, tried to show developers what can be done on the web modern platform and moreover APIs browser vendors could add to help developers boost their productivity. In the past 18 months we saw a lot of things like: templates, shadow dom, data binding etc’. It’s been a long journey. Now, we have Polymer. Continue reading →

Standard
cloud

Google I/O 2014 – What’s interesting in the cloud?

google-io-logo 2014-06-24 14.30.42This year there are many interesting sessions on Google Cloud. Here are some that I think you might enjoy watching the live stream (or jump into the room if you are at Moscone center). There are many more great sessions, so the best advice is to check the schedule and plan in advance which one you wish to follow live. You can always catch the other sessions later on developers.google.com channel. Continue reading →

Standard
Chrome, HTML5, JavaScript, mobile, webdev

HTML5 In Mobile (Hebrew)

The goal of this talk is to harness front-end developers with relevant knowledge and tools they can use  in their current jobs.

The main points in the TL;DR

Continue reading →

Standard