Cover photo
41 followers|230,612 views



Shared publicly  - 
3 JavaScript libraries to keep an eye on in 2017

Phew, 2016 is over! It was a crazy year for both the world and JavaScript land. Countless new impressive libraries and frameworks popped up, You Might Not Need JavaScript showed some patterns that made many question their use of JavaScript (a little) and one tweet of a slide from Nolan Lawson’s talk on Fronteers caused some commotion and responses from great names like Jeremy Keith and Christian Heilmann, all summarized in a post by Nolan. I’m starting to think “crazy” is an understatement. 2016 was insane.

This year also included JavaScript fatigue. In case you missed it, many developers are experiencing fatigue over JavaScript’s ecosystem, as a lot of tooling and configuring is required to set up a “modern” JavaScript project. At one point, so many developers had shared their thoughts that a few more articles surfaced on “JavaScript fatigue fatigue”!

To help both you and me sleep at night, I have a compiled a list of 3 promising generic libraries/frameworks for front-end development.

If you weren’t keeping an eye on Vue.js already, you definitely should. Vue.js is a tiny JavaScript framework.

No, don’t run away!

Vue.js seems to primarily focus on views and give you only a handful of tools to regulate data for those views. Instead of a framework stuffed with programming design patterns and limitations, Vue.js’ minimal approach doesn’t get in the way, which is nice for a change.

Vue.js comes in two flavors: a stand-alone version that includes the template compiler and the runtime version that doesn’t. In pretty much all cases, you will want to precompile the templates using Webpack or Browserify, and only load the runtime package client-side. See Vue.js’ installation page for more info.

To demonstrate its simplicity, below is an example of a component that shows a message and adds interactivity to a button to reverse the message.

<div id="app">
<p>{{ message }}</p>
<button v-on:click="reverseMessage">Reverse Message</button>

import Vue from 'vue'

new Vue({
el: '#app',
data: {
message: 'Hello World!',
methods: {
reverseMessage: function () {
const reversedMessage = this.message

this.message = reversedMessage;

Do you miss features you really enjoyed from other libraries? Many plugins for Vue.js are available, and several guides are available to use and write a Vue.js plugin.

You should definitely try this framework if you want to get productive fast. It scales well as the project grows. It is worth mentioning this library is maintained by one person with the help of generous contributors and sponsors.

Regardless whether you choose the stand-alone or runtime flavor, Vue.js supports ES5-compliant browsers by default. Although not documented, I am sure you can increase support by manually adding an ES5 shim.

For more information, check out Vue.js website or its GitHub repository. If you’re interested, be sure to check out Nilson Jacques’ editorial on Vue.js and Jack Franklin’s introduction to Vue.js 2.0.

Having only been released in mid-November 2016, Svelte is really new. It is a JavaScript framework similar to Vue.js but leaves a smaller footprint. “Traditional” frameworks need runtime code to define and execute modules, keeps state, update the views and do whatever frameworks do. Svelte dissolves into clean JavaScript code as if you didn’t use a framework at all. The major benefit of this is file size.

The framework is actually a tool that compiles your source code to plain JavaScript that doesn’t have dependencies. Svelte has plugins so you can compile the source code using Webpack, Browserify, Rollup or Gulp. Check out the compiler’s repository for all available tools.

For comparison, I’ve recreated the Vue.js example with Svelte:

<p>{{ message }}</p>
<button on:click="reverseMessage()">Reverse Message</button>

export default {
data () {
return {
message: 'Hello World!',
methods: {
reverseMessage () {
const reversedMessage = this.get('message')

message: reversedMessage,

The very same module created with Vue.js produces a 7kb bundle. Svelte produces a 2kb file.

If you’re considering using this in production, I advise you to wait a little longer. The framework is really new and no future plans are announced, except for the TODO’s in the documentation which seem to refer the documentation itself and plugins. Despite being super new and not battle-tested, I expect this to gain some traction next year and might influence libraries and/or frameworks yet to come.

At the time of writing, Svelte either doesn’t have its plugin system documented, or doesn’t have one at all. The TODO indicates that Svelte will support plugins and might have an API to hook into the framework.

The compatibility of the compiled code depends on your build workflow stack, so it’s hard to say what its default compatibility is. Technically you should be able to achieve pre-ES5 support by including ES5 shims.

For more information, check out Svelte’s website or its GitHub repository.

Last but not least, Conditioner.js. With Conditioner.js, you can conditionally load and invoke modules. The difference from other module loaders is that Conditioner.js allows you define conditions under which to load and/or show a module. This allows you to reduce loading time and save bandwidth.

Built with Progressive Enhancement in mind, Conditioner.js suggests you should already have functional components in place that are enhanced with a given JavaScript module. How those modules are defined is entirely up to you. You could even make it load modules from your favorite framework.

The library doesn’t expose a global variable and recommends using an AMD loader such as RequireJS. It is compatible with Browserify, Webpack, Rollup and other AMD bundlers, but you will want to create tiny bundles so Conditioner.js can only load the modules the page needs.

This demo is unlike previous ones to better illustrate Conditioner.js’ features. Imagine we wish to show the time remaining to an event. A module for that could look like this:

import moment from 'moment';

export default class RelativeTime {
* Enhance given element to show relative time.
*@param{HTMLElement} element - The element to enhance.
constructor(element) {
this.startTime = moment(element.datetime);

// Update every second
setInterval(() => this.update(), 1000);

* Update displayed relative time.
update() {
element.innerHTML = this.startDate.toNow();

Initializing this module is as simple as:

<time datetime="2017-01-01" data-module="ui/RelativeTime">2017</time>

Conditioner will then load the ui/RelativeTime module at this location in the DOM. Note the content is already present and in an acceptable format and the module only enhances that.

If you want a module to initialize only when it’s visible to a user, you can do so with conditions:

<!-- Show RelativeTime only if it is visible to the user -->
<time datetime="2017-01-01" data-module="ui/RelativeTime" data-conditions="element:{visible}">2017</time>
<!-- Keep showing RelativeTime after it was visible to the user -->
<time datetime="2017-01-01" data-module="ui/RelativeTime" data-conditions="element:{was visible}">2017</time>

Conditioner.js has quite an extensive list of monitors, which you use to define conditions. Don’t fret! You only have to include those you need, preventing the inclusion of unnecessary code.

You can also pass along options as a JSON string or a slightly more readable JSON variant.

<!-- JSON variant -->
<div data-module="ui/RelativeTime" data-options='unit:"seconds"'>...</div>
<!-- Or good old JSON -->
<div data-module="ui/RelativeTime" data-options='{"unit":"seconds"}'>...</div>

The reasons to use or avoid Conditioner.js are similar to Svelte: if you care about your application’s footprint, you should definitely consider using this library. On the other hand, the future of the library is unclear as no future plans have been announced. Conditioner.js lets you define custom monitors, allowing you to make it work for all complex module loading.

By default, Conditioner.js is compatible with browsers that support ES5. Much like Vue.js and Svelte, better compatibility can be achieved using specific ES5 shims.

For more information, check out Conditioner.js’ website or its GitHub repository.
Add a comment...


Shared publicly  - 
Funny photo: When I have to explain the different jobs in IT
Add a comment...


Shared publicly  - 
Check out our Latest jobs from 17/01/2016

- PHP Developer (Web Service)
- 2 Senior .NET Developers
- PHP Developer
- Senior Front-End Developer (CSS, HTML, JavaScript)
- 10 PHP Developers (URGENT)
- Back End Developer (Java, J2EE)
- Frontend Engineering (ReactJS, CSS, JavaScript)
- Android Developer
- Ruby Web Developer
- Backend Engineering (Python, NodeJS, SQL)

And 1.848 other IT Jobs at
Add a comment...


Shared publicly  - 
Adobe wants you to use voice commands to edit photos

Adobe just released a concept video depicting an iPad user making simple edits to his photos by issuing voice commands. Hit the play button above to check it out.

The tech shown in the clip isn’t particularly exciting, as it seems like you could probably achieve the same result much faster using the touchscreen.

Plus, the voice-based system would either have to be sophisticated enough to understand a wide range of commands and synonymous ones, or you’d have to learn the exact terms to use for each function. It’s simpler to just pick tools and settings by looking at buttons that have icons showing what they do.

Adobe noted that this is merely “a first step towards a robust multimodal voice-based interface which allows our creative customers to search and edit images in an easy and engaging way” on mobile – but it hasn’t confirmed whether it actually plans to build this out in 2017.

Perhaps this would work for the most basic editing tasks, but beyond that, it doesn’t seem very useful for any sort of fine-grained control over your images. I can’t imagine adjusting tones and levels, applying effects like grain and cropping out unwanted elements accurately without getting my hands dirty.

Would you care to use voice commands for photo editing if Adobe enabled such a feature? Let us know in the comments.
Add a comment...


Shared publicly  - 
Vietnam’s demands for senior, mid-level managers skyrocket in 2016: report

There was a sharp increase in the recruitment demands for senior and mid-level managers in Vietnam in 2016 while new industries have been forecast to emerge in 2017, according to a recent report.

The demands for such managerial positions rose by 54 percent in 2016 compared to that in the previous year, Navigos Search cited the findings of its study in a press release on Monday.

Despite a slight decrease (5 percent) in the recruitment demands for senior and mid-level managers in Quarter 4 in comparison with the third quarter, the overall rise still reflects a strong growth rate recorded over the last two years.

Manufacturing, consumer goods, and finance-banking topped the list in terms of recruitment demands for the group of personnel in the fourth quarter, accounting for 37 percent, 18 percent, and 11 percent, respectively.

They are also the three sectors which consistently contributed the highest recruitment demands in the entire year.

Regarding the manufacturing industry, the electricity-electronics segment saw the highest recruitment demands, while beverages were ranked first among the consumer goods segment.

For the finance-banking industry, personal consumer finance and corporate banking services saw the highest demands for senior and mid-level managers.

Several changes were also recorded last year, one of which was the suspended expansion of some large projects in the manufacturing industry, which affected the recruitment plans of several businesses.

According to Nguyen Phuong Mai, managing director of Navigos Search, the suspension may have stemmed from the impacts of the post-election of the U.S., with reports that the country will withdraw from the TPP (Trans-Pacific Partnership) agreement.

‘Brain drain’ became increasingly serious in the 2nd half of 2016, as more and more local talents in IT, accounting, and auditing went abroad to work.

In 2017, new industries including advertising and communication are forecast to develop fast after a series of merger and acquisition deals were finalized in 2016.

Non-life insurance is also predicted to grow as many companies are introducing many new products to the market, including some products never offered before in Vietnam.

Recruitment in this segment will face new challenges as not many Vietnamese candidates have sufficient experience required by employers.

Navigos Search is the leading provider of executive search services in Vietnam with experienced and qualified consultants as well as a comprehensive database.
Add a comment...


Shared publicly  - 
PHP 7: 10 things you need to know (Part 2)

6. New Spaceship and Null Coalescing Operators

The Spaceship operator runs under the official name of Combined Comparison Operator. The notation of the new operator looks like this: <=> (kind of like a simplified spaceship, if you imagine it right).

The spacehip operator returns 0 if both operands are equal, 1 if the left is greater, and -1 if the right is greater. It’s also called a three-way comparison operator, and it already exists in other popular programming languages like Perl and Ruby

The Null Coalescing operator is denoted with two question marks ( ?? ). You can use it when you want to check if something exists and return a default value, in case it doesn’t. The coalesce operator returns the result of its first operand if it exists and is not null, and the second operand in any other cases.

Here’s how the new operator reduces the time spent with basic declarations:

7. Enables Accurate Type Declarations

Have you ever wanted to prevent unintended return values by declaring the return type of a function? Well, the new PHP 7 enables developers to enhance the quality of their code with the help of return type declarations.

The image below depicts a very simple use case where the foo() function is supposed to return an array. Check out more complicated examples here.

To enhance the feature even more, PHP 7 introduces 4 new type declarations for scalar types: int, float, string and bool. The new scalar types allow developers to denote that they are expecting integers, floats, strings, or booleans to be returned. The new scalar types introduced by PHP 7 will also be supported by argument Type Hints that enables developers to force the type of parameters since the PHP 5.X series.

8. Adds Anonymous Classes

PHP 7 enables you to use anonymous classes, already a well-established practice in other object-oriented languages like C# and Java. An anonymous class is a class without a name. The object it instantiates has the same functionality as an object of a named class.

The syntax is the same as what we are used to in traditional PHP classes, only the name is missing. If anonymous classes are used well, they can speed up coding as well execution time. Anonymous classes are excellent when a class is used only once during execution and in cases when a class doesn’t need to be documented.

9. Facilitates Imports From the Same Namespace

The new Group Use Declarations feature will be godsent to those of you who want to import many classes from the same namespace. The new syntax cuts verbosity, makes your code tidier and easier on the eyes, and saves you a lot of typing time.

It will also be easier to read through and debug codes, as group use declarations help you identify the imports that belong to the same module.

10. Cleans Up The Room

The goal of PHP 7 was to free up the space to enable improvement, so it was necessary to get rid of many deprecated functionalities and old and unsupported Server APIs and extensions. If you want to check which are these in detail, click here and here.

All the removed items have been deprecated for a while in PHP 5 so most likely you haven’t used them for a long time. However please note if you have a legacy app running on older PHP versions the new PHP 7 can potentially break the code.
Add a comment...


Shared publicly  - 
Check out our Latest jobs from 20/01/2016

- System Architect (Technical Architect)
- Java Developers
- [HN] 10 Senior .NET Developers
- Senior Developer Super Star
- [HN] 5 Middle Senior Java Developers
- [ Attractive Salary: $600 - $1,200] Linux Software Engineer - Working After Tet!
- Automation Tester
- [ Attractive Salary: $800 - $2000] Senior Mobile Developer (Ios/ Android ) - Working After Tet!
- Senior Server Operations Engineer (DevOps)
- Director, Server Technology

And 2.010 other IT Jobs at
Add a comment...


Shared publicly  - 
How much do experienced IT employees earn?

VietNamNet Bridge - Reports show that the Vietnamese brain drain is affecting employers and businesses.

A Vietnamworks report on wages and allowances for workers in the information technology (IT) sector shows that workers with two years of experience can receive up to $1,160 a month, or VND26 million.

Meanwhile, managerial officers and directors in the field in Vietnam can receive up to $1,840 and $2,929 a month, respectively (VND41 million and VND66 million).

New school graduates receive less, about $800, or VND18 million. The salary is much lower than experienced workers in the field, but is much higher than new school graduates in other business fields.

The report pointed out that Vietnam is one of the ideal countries for software outsourcing. Fifteen years ago, the IT industry was dominated by big outsourcing enterprises. However, more and more product software development firms have opened.

The highest demand is for the workers with two years of experience or more in software development.

When asked about current salaries, more than 50 percent of polled workers said the salaries are acceptable, while 12 percent were satisfied and 32 percent unsatisfied.

However, the good news is that 81 percent of IT firms said they plan to increase salaries for workers in 2017 by 6-20 percent. This is because businesses can see positive business performance for the year, and plan to set higher requirements for their staff.

The number of jobs in IT industry is now higher than ever and it is going to increase in upcoming years. The number of jobs has increased by two folds in the last three years. Vietnam now has 250,000 IT engineers, but it will need 400,000 engineers by the end of 2018., a website that supports recruitment of software programmers, said a bridge engineer, trained domestically to work for overseas projects in 2016, could receive VND100 million on average, while a chief technology officer could get VND120 million.

The report showed that 30 percent of programmers are in Hanoi and 65 percent in HCMC, while only 5 percent are in Da Nang and other localities. Most programmers are 25-29 years old.

In 2015, FPT Software, the largest Vietnamese software firm, paid VND60 million a month to hundreds of bridge engineers working on site in Japan.

Meanwhile, Navigos Search, in its report, warned about a brain drain in the fields of IT and accountancy in the context of the ASEAN Economic Community which has created job opportunities in Southeast Asia.

Many IT engineers with good professional knowledge, fluent English and management skills have left for Singapore and Malaysia.

Nguyen Phuong Mai, managing director of Navigos Search, said she sometimes cannot find suitable candidates for clients because potential candidates wanted by clients had left for Singapore.
Add a comment...


Shared publicly  - 
Flappy Bird, Politaire show Vietnam doesn’t lack talent

VietNamNet Bridge - After Nguyen Ha Dong’s Flappy Bird emerged in early 2014, marking Vietnam’s position in the world market, Vietnam’s game industry developed rapidly with numerous game studios, big and small.

A game named Politaire developed by Pine Entertainment is listed among the 10 most interesting games on Apple Store.

Thai Thanh Liem, the founder of Pine Entertainment, said he began thinking of developing the game when he saw a young man at a café playing Solitaire, a familiar game on Microsoft’s Windows on computer.

Liem believed that there is no game of this kind reserved for mobile phones. Solitaire could not be displayed on mobile devices which have small screens.

Just within two weeks, the programmers of Pine Entertainment could complete the game. This is the combination between classic Solitaire with Poker, while the image design is not too complicated, the play creative and the rules are simple.

The game was officially put on AppStore in mid-July 2016, and later on Google Play.

Established in 2012, Pine Entertainment is a success story of technology startups. With about 30 members, the studio has created many interesting games available in the international market such as Pocket Army and Century City which was recognized by Apple as one of 10 most game clickers in 2015, and 99 Challenges (top 1 in the US market), Mine Blitz (top 10 games in North America. It is about to be distributed on Google Play).

Liem said though Politaire has had big success, he still was surprised when Apple recognized it as one of the 10 most outstanding games of the year, because he admitted there are still some problems to be fixed.

Even though the game has not reached 1 million downloads, Liem said that Apple always sets very high requirements on the design and friendliness to users. The products must also be original and creative.

Politaire is specifically designed for mobile device users, from gameplay to the use of thumbs. In graphics. The game looks simple, but Pine Entertainment had to spend more time to create Politaire which follows the trend of beauty in simplicity.

When asked about revenue, Liem saiid his main desire was to see the popularity of games in the community of mobile device users increase, so that gamers know more about Vietnamese games.

Dong, who gained great success and big money with Flappy Bird, has announced will provide funds of up to VND200 million each to student projects in Robotics, AI, Social, Community and Education.
Add a comment...


Shared publicly  - 
MoMo awarded VN’s best mobile payment app

The MoMo One Touch Payment mobile application had been recognised by Singapore’s The Asian Banker Journal as Viet Nam’s best e-payment platform.

Developed and managed by the Online Mobile Service Jsc (M_Service), the MoMo app is the first financial technology invention in Viet Nam to be awarded the “Best Mobile Payments Product” by The Asian Banker.

According to a representative from the journal, specialised committee committed a series of direct interviews, research and independent grading. Ultimately, they gave MoMo’s activities in the Vietnamese financial field a high rating for its variety of payment utilities and its multi-tier security system.

The Asian Banker Journal has also asserted that besides their advanced technology, MoMo has also taken the initiative in mobile based payment through the variety of financial services they deliver to their customers without the need for a bank account.

Though a latecomer from June, 2014, the IOS and Android based app has accumulated a total of 2 millions users, around 80 per cent of total market share for electronic payment service in Việt Nam.

MoMo offers a one touch payment service through an application on smartphones, through which users can conduct purchases, transactions and online payments for more than 100 services and more than 4,000 transaction points over 45 provinces in the country.

Another forte for MoMo is be their multi tier security system, which includes the Payment Card Industry Data Security Standard (PCI DSS) for mobile based payment with global standards. The double protection mechanism uses OTP code and a 6 digit password and ensures MoMo’s users top notch security, as the app will not store any information relating to the users’ password.

The application of Security Sockets Layer numbers create an encrypted link between the host computer and the end user’s device. MoMo integrated the security process frequently used by large technology companies such as Apple, Google, Amazon or Microsoft.

Altogether, these advantages have helped MoMo to become the financial technology application with the most investment in Viet Nam in 2016, with a USD28 million from Standard Chartered and Goldman Sachs for product development alone.

MoMo developer, M_Service, received the award within the framework of for leaders in the Vietnamese financial sector on January 12, 2017.

The Asian Banker is an information provider for the financial services industry in the form of publications, online materials with consultancy and analysis from experts and researchers for businesses, financial organisations and banks. — VNS
Add a comment...


Shared publicly  - 
Check out our Latest jobs from 13/01/2016

- Front end Developers
- PHP Developers (Laravel, Zend or Symfony)
- Java / Senior Java Developer - Urgent (HCM & Ha Noi)
- 4 Project Managers - Chance To Onsite Japan
- Java Developer
- Mobile Developer (Android, iOS)
- QA Automation Engineer
- Senior IT Business Analyst
- Senior Database Administrator
- .Net Engineer ( Salesforce Developer ) ( Vnd10 Million Sign-on Bonus! )

And 1.763 other IT Jobs at
Add a comment...


Shared publicly  - 
Google claims the hottest programming language of 2016

Google's Go was 2016's programming language of the year, says the TIOBE Index, a highly-regarded resource for ranking the popularity of programming languages.

While the TIOBE Index only catalogues the relative popularity of programming languages via search engines, not how often they're actually used in real life, it's a handy tool for figuring out what skills to learn if you're chasing a career in technology.

Every year, this award goes to "the programming language that has gained the most popularity in a year." And "without hardly any competition Go has won the award for 2016," TIOBE writes. Plus, TIOBE says that among its paying customers, it's seeing more interest in Go in industrial settings.

Since 2009, Google has been overseeing the community-led development of Go — a programming language aimed at helping web developers build apps at Google's scale and Google's speed, with a focus on rock-solid performance and ease of use, rather than chasing after the latest fads in programming.

Go has won its fair share of fans in programmer-land, not least because it provides a viable alternative to Oracle's Java, which has ruled the world of computer programming for the last two decades. Google's been using Go internally to power things like its download servers, where you grab stuff like the Chrome install files.

Languages to watch in 2017

The runner-ups for programming language of the year, per TIOBE, were Dart (another Google-led programming language, incidentally) and Perl, a NASA-created language renowned for its reliability, if not its elegance.

Other movers and shakers on the list include Facebook's Hack, which shot up to 51st place on the list from 67 in 2015, and Julia, a language that shot up from 73rd to 52nd place.

The TIOBE Index expects that in 2017, the favored candidates for programming language of the year will include Apple's Swift, Julia, the Microsoft'created TypeScript, and the ever-popular C++.

Incidentally, back in August 2016, the C programming language —the legendary programming language invented in 1972 and still widely used — recorded its lowest-ever score on the TIOBE Index since its creation in 2001. It looks like C finished 2016 with a lower score still, showing signs of fading even as its offshoot C++ gains on it quickly.
Add a comment...
Recruitment services for IT professionals
Recruitment services for IT professionals
Contact Information
Contact info
+84 (0) 8 6296 8161