Skip to main content


Showing posts from November, 2016

Cross-border e-commerce?

The Internet allows consumers to shop online globally, purchasing products and services that may be unavailable or prohibitively expensive in their home countries from websites in other countries and from marketplaces such as Alibaba Group's that host multinational merchants. This phenomenon, known ascross-border e-commerce or international e-commerce, is growing as advancing technologies help reduce problems associated with international payments, long shipping times and language barriers – making it possible to shop online anywhere and everywhere by laptop and smartphone.

JD Worldwide is the cross-border offering of (Jing Dong).

It has two cross-border models. Through the 'market place' offering, brands set up a store and sell directly to Chinese consumers, but can still take advantage of's sophisticated warehousing and logistics infrastructure.The other option is 'direct sales'. buys inventory from the overseas seller and then sells it to Chinese consumers through the cross-border platform – taking care of all logistics, warehousing and marketing.

Make an address your default sending and receiving address

To make your address the default for sending and receiving email from iCloud, follow the steps below for each of your devices.iPhone, iPad, or iPod touchGo to Settings > iCloud. In iOS 7 or earlier, tap Settings > iCloud > Account. Tap Mail under Advanced.Under iCloud Account Information, tap your email address. Tap the email address that you want to use as the default for sending mail from iCloud Mail.MacGo to Mail > Preferences, then click Composing.Click "Send new messages from" and select the email address that you want to use.iCloud.comIn iCloud Mail, click  in the sidebar and choose Preferences. Click Composing.Select "Set a default address" and choose the address that you want to use.OutlookOutlook 2007: Choose Tools > Account Settings. Select the Email tab, then select your email address from the list. Click "Set as default."Outlook 2010 and Outlook 2013: Choose File > I…

App Maker, the new offering that Google is rolling out as part of G Suite for Business

App Maker is a browser-based platform for building browser-based corporate apps. 
Although it has an emphasis on approachable features such as drag-and-drop widgets you can use to rapidly assemble features without writing code, Google has also aimed to give it enough power to tackle fairly meaty development challenges as well as basic ones.

Google Fusion Tables is a web application used for sharing, visualizing, and publishing tabular data.

You can upload your own CSV, KML, ODS, XLS, or Google Spreadsheet data to a Fusion Tables table. 
Once your data is in Fusion Tables, you can collaborate on it with others in real time, publish it for Google Search, create map and chart visualizations for private use or for embedding on websites, filter it according to specific criteria, and update the data behind your visualizations or filters at any time.

How to Authenticate Google Search Console API with OACurl

Download oacurl-1.3.0.jar

Authenticate with OACurl using the unique Client ID and Client Secret you created in the "Enable the Search Console API" step. Replace YOUR_CLIENT_ID with your Client ID and YOUR_CLIENT_SECRET with your Client Secret then run the following command line to authenticate. $ java -cp oacurl-1.3.0.jar\--scope --oauth2 \--consumer-key=YOUR_CLIENT_ID --consumer-secret=YOUR_CLIENT_SECRET This opens a browser window with the authentication request. After granting access, the OAuth 2.0 token is stored locally in ~/ Now you can explore Google Search Console API using oacurl.

Text file sitemaps

If your sitemap includes only web page URLs, you can provide Google with a simple text file that contains one URL per line.  For example: Guidelines for text file sitemaps: Encode your file using UTF-8 encoding.Your text file should contain nothing but the list of URLs.You can name the text file anything you wish, provided it has a .txt extension (for instance, sitemap.txt).

RSS or Atom feed as a sitemap

If you have a blog with an RSS or Atom feed, you can submit the feed's URL as a sitemap.  Most blog software is able to create a feed for you, but recognize that this feed only provides information on recent URLs.

Canonical URLs

In the world of content management and online shopping systems, it's common for the same content to be accessed through multiple URLs. With content syndication, it's also easy for content to be distributed to different URLs and domains entirely.

Google sitemap limitation

All sitemap formats limit a single sitemap to 10MB (uncompressed) and 50,000 URLs. 
If you have a larger file or more URLs, you will have to break your list into multiple sitemaps. You can optionally create a sitemap index file (a file that points to a list of sitemaps) and submit that single index file to Google. You can submit multiple sitemaps and/or sitemap index files to Google.

Your site will benefit from having a sitemap

Using a sitemap doesn't guarantee that all the items in your sitemap will be crawled and indexed, as Google processes rely on complex algorithms to schedule crawling. However, in most cases, your site will benefit from having a sitemap, and you'll never be penalized for having one.

How to fix - javax.ejb.AccessLocalException: Client not authorized for this invocation

One possible fix is that cache of application server because you make some modification in the existing EJB class.

To solve this problem you just need to clear the cache and restart the app server.

For example, for Glassfish/Paraya Java EE application server, go to folder/directory "generated" in domain folder, and restart your server to refresh.

Quantum theory needs your help

Those who are interested can go to or to contribute. The game takes about 10 minutes and is to run from 10 pm on Tuesday to 2:59 pm on Thursday Beijing time. How to get involved 1 The test runs from 10 pm on Tuesday to 2:59 pm on Thursday, Beijing time; 2 You can play anywhere there is an internet connection-at home, on the bus, on the train, in the park; 3 To begin, go to or; 4 Click on "Contribute"; 5 Click on "BIG Bell Quest"; 6 Register/Sign up. If you register, on Nov 30 you will be notified about which laboratory used your sequences for their experiment; 7 Fill in the "+ Profile" in your user profile zone in the upper-right corner; 8 Try to pass all six levels of the BIG Bell Quest. Contribute for at least 10 minutes. Difficulty increases with each level. To create groups, go into your user profile in the "Account" section. You may create up to three groups. Pass the n…

Cyber security threats up 10 times

The average number of information security incidents detected by Chinese companies has increased over 900 percent since 2014, according to a survey conducted by international accounting firm PricewaterhouseCoopers (PwC). The survey showed that the internet of things (IoT) has become a leading target of cyber attacks, though just 57 percent of Chinese respondents are investing in a related security strategy.

Email and CRM integrations

BCC emails to CRMSync contacts statuses with CRMSalesforce,, Pipedrive native integrationsMark as read Out of Office and Bounced replies in your inboxAutomatic pulling leads from CRM based on filter criteriaIntegration with other apps via Zapier etcGmail plugin to add contacts to auto-follow-up campaigns from your inbox

Email Campaign Safety Requirements

Duplicates detectionPrevent adding same contacts to different campaignsForbid sending emails to the same prospect too oftenPrevent sending emails with missing template variablesLimit the number of emails for a single contact per day or week

Does Google G suite encrypt users' data?

Data is encrypted at several levels in Google. 
Google forces HTTPS (Hypertext Transfer Protocol Secure) for all transmissions between users and G Suite services and uses Perfect Forward Secrecy (PFS) for all its services. Google also encrypts message transmissions with other mail servers using 256-bit Transport Layer Security (TLS) and utilizes 2048 RSA encryption keys for the validation and key exchange phases. This protects message communications when client users send and receive emails with external parties also using TLS.

PFS requires that the private keys for a connection are not kept in persistent storage. Anyone who breaks a single key can no longer decrypt months’ worth of connections; in fact, not even the server operator is able to retroactively decrypt HTTPS sessions.

Google is constantly working to extend and strengthen encryption across more services and links.
G Suite includes mobile device management (MDM) for Android and iOS®, which supports features, such as device …

Black Friday 2016 Flyers for Best Buy

$125.00 off all Apple iPad Air 2 and 9.7" iPad Pro modelsApple 27” 5K iMac with Intel Core i5 Processor, 8GB RAM and 1TB Hard Drive - $1599.99 (regularly $1799.99)Dyson V6 Animal Cordless Stick Vacuum - $299.99 (regularly $499.99)iRobot Roomba 655 Robot Vacuum - $279.99 (regularly $429.99)LG 43” 4K Smart TV - $299.99 (regularly $499.99)PlayStation 4 500GB Slim Console with Uncharted 4 and Two FREE Games - $249.99 (regularly $299.99)Samsung 50” 4K Smart TV - $397.99 (regularly $649.99)Sharp 55” 1080p Smart TV - $249.99 (regularly $499.99)Toshiba 55” 4K Smart TV with PlayStation 4 Pro - $749.98 (regularly $949.98)Xbox One S 500GB Minecraft Bundle - $249.99 (regularly $299.99)

Black Friday 2016 Flyers for Costco

$40.00 off UE Boom Bluetooth Portable Speaker$50.00 off Xbox One S 500GB Minecraft Bundle$50.00 off PlayStation 4 500GB Slim Console with Uncharted 4 and Two DualShock 4 Controllers$60.00 off VIZIO SmartCast Sound Bar with Wireless Subwoofer$70.00 off Netgear AC3000 WiFi Router$105.00 off Dyson V6 Motorhead+ Cordless Rechargeable Stick Vacuum$150.00 off HP Pavilion 23.8” 1080p Touchscreen All-in-One Desktop with Intel Core i5 Processor$160.00 off Dyson Ball Complete Upright Vacuum$250.00 off Microsoft Surface Pro 4 Bundle with Intel Core i5 Processor, Surface Pen and Surface Pro Type Cover$300.00 off Dell XPS 13.3” QHD Laptop with Intel Core i7 Processor

Black Friday 2016 Flyers for Target

Apple iPad Air 2 - From $274.00 (regularly from $399.99)Apple iPad Pro, 9.7” - From $449.00 (regularly from $599.99)Beats PowerBeats Wireless Earphones - $89.99 (regularly $199.99)Beats Solo2 Wireless Headphones - $119.99 (regularly $299.99)Dyson Ball Origin Upright Vacuum - $199.99 (regularly $349.99)Hisense 50” 4K TV - $249.99Hoover Quest 700 Robotic Vacuum - $199.99 (regularly $349.99)PlayStation 4 500GB Slim Console with Uncharted 4 - $249.99 (regularly $299.99)Samsung 55” 4K Curved Smart TV - $697.99 with FREE $70.00 Target Gift Card (regularly $1099.99)Xbox One S 500GB Battlefield 1 or Minecraft Bundle - $249.99 with FREE $40.00 Target Gift Card (regularly $299.99)

List of headless browsers

Headless browser has 3 common usage:Webpage test automation. Nowadays the website is heavily relies on JavaScript, many UI component was rendered on the fly by JavaScript. by integrate headless browser into customized application, automatic test is possible and more efficient than spawn a normal browser process.Parse html, fetch web content, especially the JavaScript rendered one with or without ajax.SEO optimization, the server detects the user agent, if it is a search engine bot such as Google bot), the server returns the rendered content (all the dom content) instead of the original JavaScript etc. Here are a list of headless browsers: HtmlUnit - Java. Custom browser engine. JavaScript support/DOM emulated. Open source.Ghost - Python only. WebKit-based. Full JavaScript support. Open source.Twill - Python/command line. Custom browser engine. No JavaScript. Open source.PhantomJS - Command line/all platforms. WebKit-based. Full JavaScript support. Open source.Awesomium - C++/.Net/all …

JAX-RS 2.0 includes a brand new API for asynchronous processing

It includes server as well as client side counterparts.

Being asynchronous inherently implies request processing on a different thread than that of the thread which initiated the request.

• From a client perspective, it prevents blocking the request thread since no time is spent waiting
for a response from the server.
• Similarly, asynchronous processing on the server side involves suspension of the original
request thread and initiation of request processing on a different thread, thereby freeing up
the original server side thread to accept other incoming requests.

Caching in JAX-RS

• From a JAX-RS perspective, caching does not imply a server side cache
• It just provides hints to the client in terms of the durability/validity of the resource data
• It does not define how the client will use this hint. It ensures that it sticks to the HTTP
semantics and assumes that the client (e.g. a browser, programmatic API based client etc.)
understands the HTTP protocol

JAX-RS Interceptors vs filters

Interceptors are similar to filters in the sense that they are also used to mutate HTTP requests and
responses, but the major difference lies in the fact that Interceptors are primarily used to manipulate
HTTP message payloads.

They are divided into two categories -
and for HTTP requests and responses respectively.

Server side Response filter

A server side Response filter is invoked by the runtime after a response (or an exception) is generated by the JAX-RS resource method (before dispatching the same to the caller/client).  Response filters are similar to their counterparts (Request filters) in terms of their utility (read/mutate aspects of the response e.g. HTTP headers) and programming model (executed as a chain in a user
defined or default order)

Setting up a server side response filter is as simple as providing an implementation for the interface. The injection of
ContainerResponseContext into the filter method of the ContainerResponseFilter interface is taken
care of by the JAX-RS runtime.

Response filters also need to be annotated with the annotation in order for the JAX-RS runtime to recognize it automatically.

Server side Request filter

Server side request filters act on incoming HTTP requests from the clients and provide an opportunity to act on/make decisions based on certain characteristics of the HTTP request.

In order to implement a server side request filter, one needs to implement the interface (which is an extension provided by JAX-RS).

An instance of the interface is seamlessly injected by the container into the filter method of ContainerRequestFilter. It is a mutable object (on purpose) and exposes methods to access and modify HTTP request components.

A JAX-RS request processing pipeline involves dispatching a HTTP request to the appropriate Java
method in the resource classes based on matching algorithm implemented by the JAX-RS provider.
Filters take this into account and are divided into pre and post matching filters.

JAX-RS Provider Filters

Filters provide AOP (Aspect Oriented Programming) like capabilities within JAX-RS applications Filters allow developers to implement cross cutting application specific concerns which ideally should not be sprinkled all over the business logic e.g. authentication, authorization, request/response
validation etc.

The AOP-based programming model involves interposing on methods of JAX-RS resource classes and dealing with (or mutating) components of HTTP request/response - headers, request URIs, the invoked HTTP method (GET, POST etc)

Benefits of using JWT

• Useful for implementing Stateless authentication
• Compact: less verbose compared to other counterparts like SAML)
• Flexible: Although its backed by a standard, you are free to choose your signature, claim
attributes etc.

JAX-RS specification does not define dedicated security related features

Except for a few API constructs (which act as high level abstractions).

For server side JAX-RS users (Java EE) it’s critical to understand that the JAX-RS framework leverages the security capabilities of the container itself.

To be specific, since JAX-RS is built on top the Servlet API, it has access to all the security features
defined by the specification.

JAX-RS @BeanParam

JAX-RS allows you to encapsulate the information injected via the annotations (@PathParam, @QueryParam, @MatrixParam, @FormParam, @HeaderParam and @CookieParam) within simple POJOs.

@BeanParam is applicable to method, parameter or field.

public class DateRange {
private int start;
private int end;

Spring Data’s mission is to provide a familiar and consistent, Spring-based programming model for data access

while still retaining the special traits of the underlying data store.

It makes it easy to use data access technologies, relational and non-relational databases, map-reduce frameworks, and cloud-based data services. This is an umbrella project which contains many subprojects that are specific to a given database. The projects are developed by working together with many of the companies and developers that are behind these exciting technologies.

Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems

Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems (e.g. configuration management, service discovery, circuit breakers, intelligent routing, micro-proxy, control bus, one-time tokens, global locks, leadership election, distributed sessions, cluster state). Coordination of distributed systems leads to boiler plate patterns, and using Spring Cloud developers can quickly stand up services and applications that implement those patterns. They will work well in any distributed environment, including the developer's own laptop, bare metal data centres, and managed platforms such as Cloud Foundry.

Python is an extremely elegant and simple language with one of the core design’s tenets being readability.

Python can be written in an object-oriented, procedural, or even functional way, and it is an interpreted language, meaning that it is not compiled.
In comparison to C++, Java, and C#, Python code is often much more terse since more can be expressed in fewer lines of code.

Python is extremely popular today and is growing in popularity

Java is object-oriented and largely based off of C and C++

Java is very simplified, not allowing direct memory manipulation and other low-level constructs that can get you into trouble.

Today, Java is owned by Oracle and still continues to grow and thrive—although it’s now managed by a committee, whose members tend to slow down advancement.

Google has joined non-profit Internet2.

Google has joined non-profit Internet2. Combined with the expansion of GCP's Education Grants, the move will make big data and machine learning more accessible to the over 300 higher ed institutions served by Internet2

AI-first is what’s next in computing.

The shift from mobile-first to AI-first is happening.
From new, hyper-speed GPUs powering neural networks to integration with cloud storage, compute, and security, artificial intelligence is pushing the envelope on Google Cloud.

Windows 10 Creators Update

Windows 10 Creators Update — this free update, coming in early 2017, will enable anyone to do amazing things in 3D and virtual reality, quickly connect and share with your key people and enjoy epic gaming with 4K fidelity and game broadcasting

Surface Studio — a new class of device

Surface Studio — a new class of device that transforms from a workstation into a powerful digital canvas, featuring the thinnest display ever built (with an amazing 63% more pixels than a state-of-the-art 4K TV).*

Jetpack 4.4.1 is a small update to yesterday's 4.4 release. It fixes two issues that were effecting a small number of our users:

Jetpack 4.4.1 fixes an issue where some users with slower servers would get an error on the Jetpack dashboard when WP_DEBUG was enabled.
Jetpack 4.4.1 fixes an issue where users on a Jetpack Professional plan who were paying monthly (as opposed to annually) wouldn't be able to enable SEO Tools.

Mail Transfer Agent (MTA)

A Mail Transfer Agent (MTA), which handles Simple Mail Transfer Protocol (SMTP) traffic, has two responsibilities:
To send mail from your users to an external MTA (another mail server)To receive mail from an external MTA
Examples of MTA software: Postfix, Exim, and Sendmail.

Mail-in-a-Box is an open source software bundle that makes it easy to turn your Ubuntu server into a full-stack email solution for multiple domains.

Mail-in-a-Box is designed to handle SMTP, IMAP/POP, spam filtering, webmail, and even DNS as part of its all-in-one solution. 
Since the server itself is handling your DNS, you'll get an off-the-shelf DNS solution optimized for mail. Basically, this means you'll get sophisticated DNS records for your email (including SPF and DKIM records) without having to research and set them up manually. You can tweak your DNS settings afterwards as needed, but the defaults should work very well for most users hosting their own mail.

For securing the server, Mail-in-a-Box makes use of Fail2ban and an SSL certificate (self-signed by default). It auto-configures a UFW firewall with all the required ports open. Its anti-spam and other security features include graylisting, SPF, DKIM, DMARC, opportunistic TLS, strong ciphers, HSTS, and DNSSEC (with DANE TLSA).

How to Update the Certificate Bundle On Ubuntu server

The update-ca-certificates command can be used to update the local CA certificates on Ubuntu Server. 
First, we need to download the Amazon RDS combined CA bundle, then we need to put it in a place where update-ca-certificates knows to pick it up:

$ wget
$ sudo mv rds-combined-ca-bundle.pem \
$ sudo update-ca-certificates
Note: The file extension for rds-combined-ca-bundle changes from .pem to .crt.

JSSE provides debugging

JSSE provides debugging (to stdout) when you set the following system property: This will tell you what keystores and truststores are being used, as well as what is going on during the SSL handshake and certificate exchange. It will be helpful when trying to determine what is not working when trying to get an SSL connection to happen.

MariaDB Connector/J

MariaDB Connector/J is a Type 4 JDBC driver. It was developed specifically as a lightweight JDBC connector for use with MariaDB and MySQL database servers. It was originally based on the Drizzle JDBC code with numerous additions and bug fixes.

Purchase Protection program from PayPal

If an eligible item that you’ve purchased doesn’t arrive or doesn’t match the seller’s description,  Purchase Protection program from PayPal will reimburse you for the full purchase price of the item plus original shipping costs.