Showing posts with label out. Show all posts
Showing posts with label out. Show all posts

Thursday, February 12, 2015

Google is investing buying out small companies


Edward Berridge

THE PURVEYORS of 3D desktop computer software, Bump Technologies has told the world plus dog that it has been bought by the search outfit Google.

The Canadian startup was created by a University of Toronto student as a masters thesis project. Its software works on both Windows and Macs to make screens appear more similar to real desktops where boxes can be moved or stacked using gestures or a stylus.

Bump said that more than three years ago, "we set out to completely change the way people use their desktops." Well, it does not seem to be doing that. The software will no longer be available for sale, and users wont be able to download updates.

In short its technology might one day see the light of day in a Google product, but it is certainly not going to be changing the way people use the desktop any time soon.

It is not clear how much Google paid for the company, however it seems to have been opening its cheque book lately after pulling back on acquisitions during the recession.

It has announced nine acquisitions this year, mostly of small companies, including Labpixies, an Israeli developer of mini applications such as games and calendars that Internet users can post on their personal pages.

Meanwhile Goolge has also invested in a "utility-scale renewable energy project that generate 169.5 megawatts of power, enough to power more than 55,000 homes."

The wind farms, run by Nextera Energy Resources, were part of a larger $190 million capital raising.

http://www.theinquirer.net/inquirer/news/1604045/google-buys-3d-software-company
Read more »

5 Remarkably Useful WordPress Features You Might Have Missed out on

The herd of CMSes out there is either impressive or interestingly mediocre, but it surely is quite a big and an ever expanding herd that keeps getting crowded by the hour. And Wordpress has remain unscathed till know by purely riding on the consistent self-reinventions and an approach that is unswervingly innovation-driven.

If Wordpress continues on its present trajectory, it is going to be nearly impossible to displace it from its Numero Uno place in the realm of content management systems.

5 Remarkably Useful WordPress Features You Might Have Missed out on

Now, as someone who has been using Wordpress for his/her website from quite a while now, you are probably aware of a truckload of in-built features and the whole ensemble of plugins that Wordpress tosses at you for your consideration. But be it as it may, there is still no dearth of features which still go relatively unnoticed and unheard. And we arent talking about the puny plugins and functionalities that hardly serve a purpose, but certain set of capabilities that Wordpress can vest you up with when you wish to make it seriously count as a web publisher. Here is a bunch of them:

Also Read: How to Find the Websites or Blogs that are Copying your Content?

1. Private Social Circle (To Let the Like-Minded Individuals Within Your Audience Come Under One Roof)

You might pin it on the digitalization of the world, but we, as social animals, manage to make more interpersonal connections over the web than we do in the real, physical world. Its easier to met like-minded people over the Internet and thats what the Private Social Circle feature of Wordpress is aimed to make use of fir boosting the user engagement on your website.

Wordpress offers us the P2 theme that gives your visitors some control over how they engage with your portal. It embeds a feature that facilitates creating user-generated networks wherein every user can stay connected to a bunch of people that share the same interests and tastes.

Lets say, you are running a blog on leisure, entertainment, humor and poetry. Now, you have a huge audience for people who relish the poetry on your site. Imagine how awesome it would be when instead of just commenting (a practise they wont follow repeatedly), your website offers them a platform over which they interact with each other.

Now, they may not be reciting homilies only about your poems and instead they are sharing their own works. What eventually matters is the fact that they are doing so while they are on your website. Every activity happening in that social circle is happening on your domain and this is boosting some metrics like “Total number of visits”, and “Avg. time spent per visit”. Apparently, there are the two stats which matter the most to any webmaster and when P2 makes achieving so effortlessly, there is no reason why you should not grab it right away.

2. SupportDynamo by Plugin Dynamo

This one is the ideal plugin for businesses that are looking to create a Help Desk on their Wordpress websites. Support Dynamo is a high performance plugin that works in perfect unison with most Wordpress themes. It facilitates email piping (a feature much in demand off-late), helps you create  a knowledge base on the site for your audience to refer,  integrates the method of signing up for membership, helps save comments and replies, simplifies the process of creating user ticket notes, etc.

Also Read: Pros and Cons of Interviewing Bloggers on your Blog

3. Wordpress Wiki

User generated content has always been a trump card for smart publishers. For bloggers who scramble to update the content on their blog frequently, the Wordpress Wiki is a gift. Facilitating an interface that is user-friendly and lets your visitors update the posts on your website (aka Wikipedia) and also submit their own, Wordpress Wiki makes sure you are never short of content and that your visitors have one more reason to stay around: they have a better interface than  an unnoticeable comment box below the posts to voice their opinions about a certain post. Of course, the challenge for you is to audit the content comprehensively and with a lot of care to ensure that no inappropriate language or controversial phrases make their way to the live posts.

4. Comment Redirect

When increasing the average time spent per visit and boosting the overall engagement is on your agenda, Comment Redirect is among the very best things you can get your hands on. When a visitor on your website is commenting on a post, most likely, they have found that piece of content engaging enough (even if they dont particularly like it), so it wont be a bad idea to engage them a little more. Comment Redirect lets you redirect your sites visitors on a page of your choice as soon as they hit the Submit button under the comments section. Now that page may just just be another post or it can be the page suggesting the comment to sign up as a subscriber to your site or any of the zillion other things you want them to do.

5. WP Mingle Plugin

Close on the heels of the Private Social Circle, but one with the scope of creating more unexclusive circles. The WP Mingle plugin transforms your website into a social media portal that gives your visitors the wherewithal to facilitate social media activities like tagging friends to the posts, uploading personalized avatars, private messaging within the websites circle, posting their own content and much more. This plugin thus gives your websites traffic a major push in the terms of quantity and the quality visits.

The adaptability of Wordpress to the rapidly changing digital environment is what serves as its differentiator, and also the fact that it has not just remained glued to trends, but has also been the sole proprieter of certain trends that have altered the whole landscape of Internet.

Author Bio
Maria is an expert in web technologies and loves to dole out sermon around the same. She works for Wordprax, a HTML to Wordpress Service company. If you plan to hire services for Convert Magento to Wordpress , you can count on Wordprax.
Read more »

Tuesday, February 3, 2015

Maxing out at 50 concurrent connections with Play or Netty on OS X Heres a fix

I recently ran across a strange problem with the Play Framework and Netty: on Linux, my Play app could easily handle thousands of concurrent connections; on OS X, the same app maxed out at around 50 concurrent connections. It took a while to figure out the problem, so in this post, Im documenting the solution in case other folks run into the same issue in the future. Note: if youre using raw Netty, the fix is very straightforward; if youre using Play, its much trickier, and I hope it will be fixed in Play itself in the near future.

tldr: set the backlog option on Nettys Bootstrap object to a higher value (example).

Symptoms

On OS X, your Play or Netty app cannot handle more than ~50 concurrent connections. A simple way to test this is to use Apache Bench:


As soon as you set the concurrency level (the -c parameter) above 50, youll get the error "apr_socket_recv: Connection reset by peer (54)". Moreover, your Play or Netty app will never actually see the request and nothing will show up in the logs.

However, if you run the same experiment against the same app running on Linux, even with the concurrency level set to several hundred or several thousand, all requests will complete successfully, without errors. Therefore, there must be something OS specific causing this problem.

To be fair, its rare to use OS X in any production or high traffic capacity - for example, at LinkedIn, we use OS X in dev, but Linux in prod - so the concurrency limitation is rarely a problem. However, we had a few use cases where, even in dev mode, we had to make many concurrent calls to the same app, so we had to find a solution.

The Cause

It turns out that "50" is the default size for the "backlog" parameter in Javas ServerSocket. It is even explained in the JavaDoc:
The maximum queue length for incoming connection indications (a request to connect) is set to 50. If a connection indication arrives when the queue is full, the connection is refused.
Therefore, whatever code manages sockets in Netty must use different configurations for the backlog parameter on Linux and OS X. This code is likely tied to the selector implementation for the OS: Im guessing the Linux version uses epoll, while OS X uses kqueue. The former probably sets backlog to some reasonable value (perhaps from OS settings) while the latter just uses the default (which is 50).

The Solution (pure Netty)

After some more digging, this StackOverflow thread reveals that the Netty ServerBootstrap class lets you set an option to override the backlog:

If youre using pure netty, just use the code above and the 50 concurrent connections limit will vanish immediately!

Also worth noting: this issue exists in Netty 3.x, but apparently Netty 4.x sets a better default than 50 on all OSs, so upgrading Netty versions may be another solution.

The Solution (Play)

Play instantiates the ServerBootstrap class inside of NettyServer.scala. Unfortunately, neither the class nor the boostrap instance inside of it are accessible to app code. This should be easy to fix via a pull request, but until that happens, and until a new version is available, here is a two part workaround to get moving.

Note: this is an ugly hack with lots of copy/paste from the original Play source code and is only meant as a temporary workaround. It has been tested with Play 2.2.1; figure out which version of Play youre on and be sure to use code from that release!

Step 1: make a local copy of NettyServer.scala called TempNettyServer.scala

Youll want to put TempNettyServer.scala in a different SBT project than your normal app code - that is, dont just put it in the app folder.  See SBT Multi-Project Builds for more info.

The folder structure looks something like this: my-app is my original Play app and monkey-patch is a new SBT project for TempNettyServer.scala:

Copy the contents of the original NettyServer.scala into TempNettyServer.scala, with two changes:
  1. Replace all NettyServer references to TempNettyServer
  2. In the newBootstrap method, make the change below to allow configuring the backlog option

Now, configure this new SBT project in project/Build.scala:


Step 2: override the run and start commands to use TempNettyServer

Ready for more copy/paste?

Grab PlayRun.scala and copy it into the project folder under some other name, such as TempPlayRun.scala and make two changes:
  1. Replace all PlayRun references with TempPlayRun: there should only be one, which is the class name.
  2. Replace all NettyServer references with TempNettyServer: there should two, both in String literals, used in the "run" and "start" commands to fire up the app.
Now, update the settings in project/Build.scala to use your versions of the "run" and "start" commands:


A note on OS limits

After making the changes above, you should be able to handle more than 50 concurrent connections. However, depending on how your OS is configured, you might still hit a limit at 128 or so. This is probably due to the kernel config kern.ipc.somaxconn, which controls "the size of the listen queue for accepting new TCP connections" and has a default of 128.

To tweak this limit, you can run the following command:

Your Netty or Play app should now be able to handle over 1000 concurrent connections (or more, depending on what limits you set above).

Read more »