Posts Tagged ‘Internet’

Distribution Release: Webconverger 11.0

Kai Hendry has announced the release of Webconverger 11.0, a web browser-only specialist distribution for Internet kiosks. The new version comes with updated Linux kernel version 3.1.8, Firefox 9.0.1, and several minor security-related tweaks. From the release notes: “I’m very proud to announce Webconverger 11, with the following….

The Day The LOLcats Died, A Song Against SOPA

Today  people take to the streets  and black out the web to protest unfair piracy legislation. To the tune of Don McLean’s ‘American Pie’ they’ll be singing:  ”Why, why are laws a thing you can buy? / They got paid off, should be laid off, re-election denied / Our web means more than lawyers, lobbies and lies / So speak up before the internet dies / Speak up before the internet dies”. Created by comedy team LaughPong , the video is silly enough to go viral but simple enough to make a difference. It urges viewers to fight back against SOPA/PIPA by f inding their senators’ phone number at Cheezburger’s http://bit.ly/lifeaftersopa  and telling them how they feel. Do it now, save the precious LOLcats. – For more serious TechCrunch coverage of SOPA / PIPA : Reddit’s Alexis Ohanian On SOPA: “The Fight Isn’t Over” Yes, Google Will Protest SOPA On Its Homepage Wikipedia Will Go Dark On January 18 To Protest SOPA And PIPA SOPA Supporters On The Run and Reddit’s excellent primer on what SOPA and PIPA are and why they must be stopped.

Calling The World: Vox.io Just Might Be The Next Euro Startup Sensation

A European company by the name of Skype taught the world that enabling people to make free voice and video calls over the Internet would be an enticing offer to hundreds of millions of users, and make for a great business at the same time. Now, a Euro startup called Vox.io plans to challenge them by envisioning how digital telephony should work in 2012 and beyond. They provide a simple tool that lets people make free calls to other vox.io users from their desktop browser, or their iPhone ( app link ). But vox.io is not your traditional VoIP service, and on the Web requires no downloads or installations of any kind. The startup, which hails from Slovenia , stands out because it has built its service to fit nicely into the current Web ecosystem, moving away from plugins, desktop apps and the like, with modern real-time and mobile communication trends squarely in the back of founder Tomaž Štolfa’s mind. Notably, the software is also designed from the ground up to play nicely with other Web services, and even allow in-stream access to third-party content (think Flickr photos or YouTube videso) in the future, too. This differs from the path chosen by the likes of Skype, Viber, fring, JAJAH and Rebtel, mind you. The company also focuses on simplicity and great design, and doesn’t shy away from experimenting when it comes to the business model, which is always a tricky thing for a telephony startup. When you sign up for its service, you’ll get a profile URL like vox.io/name, which will serve as the central point of contact with the ability to replace your one or more telephone number(s). You can use the online tool to place voice and video calls to other users, or call regular local and international regular lines for a fee. I tested it, and the call quality was outstanding. Vox.io also supports group calls of up to 5 people, and lets you easily import and sync your existing contacts. The company plans to generate revenue from calls to traditional telephony and the delivery of SMS messages. Calls from one vox.io user to another will always remain free, but the company says it is exploring different ways to move away from charging users for minutes – one of its ideas is charging for ‘disposable call links’ that could last for, say, 14 days rather than a single conversation. Basically, such disposable links could be shared with people you’re not necessarily close with but need to speak to all the same, and they would stop working after the call. No more deciding between giving out your phone number or not, in other words. On top of that, a vox.io/name profile also fits nicely on business cards, email signatures and on social network bios, and can rapidly be shared over SMS, IM, calendar events and whatnot. It’s like Skype for the Web generation! I realize I’m raving, but I’m excited about this startup for a good reason – you’ll see what I mean when you use vox.io yourself. There are obvious things missing (support for other mobile platforms, instant messaging, more payment options to purchase call credits and more) but it’s already a stunning product for such a young Slovenian company operating on fairly limited resources. Vox.io is backed by angel investors and renowned European startup accelerator Seedcamp ; the startup won the Mini Seedcamp London event in January 2011 and was justifiably selected as one of the top startups at Seedcamp Week 2011. If what I’ve been hearing through the grapevine is accurate, the company will soon be announcing a significant additional financing round, though. Give the vox.io beta service a solid whirl and let us know what you think.

Scalable Memory Pools: community preview feature

In TBB 4.0, we introduced new community preview feature ( CPF ) – the scalable memory pools. See the TBB Reference Manual (D.4) for formal and detailed description. In this blog, we will present them less formally and discuss what changes can be made. Motivation We had vague requests from customers to implement a memory pool (Wikipedia calls it region ) or some of its properties in the TBB scalable memory allocator. We summarized these requests and general information on memory pools from the Internet and got the following compilation of major properties and abilities: Memory pools basically do the same job as standard memory allocators but additionally group memory objects under umbrella of a specific pool instance which enables: fast deallocation of all the memory at once on pool destruction or for sake of further reuse less memory fragmentation and related synchronization between independent groups Memory pools allow more control over acquisition and release of memory resources, and may have user-specific sources of memory: memory chunk/buffer of a fixed size redirection to a specific memory provider, e.g. standard or custom implementation of malloc, big memory pages, memory tied to specific NUMA node, IPC shmem regions. To squeeze more performance and to fight memory fragmentation, some specific implementations allocate objects of fixed size only (so called object pools, e.g. boost::pool , Wikipedia calls it memory pool ) or are unable to deallocate individual object (“arena allocator”). In our implementation, we tried to provide more general functionality in thread-safe and scalable way. For that purpose, the implementation of the memory pools is based on TBB scalable memory allocator and so has similar speed and memory consumption properties. Later we may address more specific use cases, based on the feedback. Usage Our memory pools API consists of two classes for thread-safe memory management: tbb::fixed_pool and tbb::memory_pool . The first one is for the simple case when an already allocated memory block and is used for allocation of smaller objects. And the second one utilizes a user-specified memory provider to obtain big chunks of memory where smaller objects reside. As opposed to fixed_pool, memory_pool is able to grow on demand and relinquish unused chunks back to the provider. Both classes provide familiar methods for allocation and deallocation: void *ptr = my_pool.malloc( (size_t) 10 ); // allocate 10 bytes ptr = my_pool.realloc( ptr, (size_t) 12 ); // extend the allocation to 12 bytes my_pool.free( ptr ); // deallocate it Additionally, there is a method which deallocates all the memory at once, i.e. it is a faster equivalent to a series of calls to my_pool.free() for each pointer obtained in this pool by previous calls to my_pool.malloc(): my_pool.recycle(); // Frees all the memory in the pool for reuse Please note, that it is not thread-safe to call it concurrently to other methods on the same instance (similarly to clear() method in containers). We also provide an (almost, except absence of default constructor) STL-compliant allocator class to enable pools inside STL containers: typedef tbb::memory_pool_allocator pool_allocator_t; std::list my_list( (pool_allocator_t( my_pool )) ); Now, the only thing that holds us back from the first experiment with this new feature of TBB is the question – how to create the ‘my_pool’.  First, we need to enable this feature and include the header: #define TBB_PREVIEW_MEMORY_POOL 1 #include “tbb/memory_pool.h” If you want to create a memory pool on top of your memory block, let’s specify its address and size in bytes to the constructor of tbb::fixed_pool class, as in following excerpt: char buffer[1024*1024]; // The casts below are just to show the types of arguments. tbb::fixed_pool my_pool( (void*)buffer, (size_t)1024*1024*sizeof(char) ); The maximal amount of memory which can be allocated from the pool declared above is limited by size of the buffer minus some space for control structures. And if you want to avoid this limitation, let’s use tbb::memory_pool template class specifying memory provider (which will be discussed later) as its template argument: tbb::memory_pool< std::allocator > my_pool(/*optionally: allocator instance*/); You can specify any STL-compatible allocator as the memory provider (though this is a subject to change). It will provide (big) memory chunks for  my_pool when necessary. The destructor of the memory_pool class implies release of all the memory chunks back to the memory provider. Let’s consolidate our knowledge in one artificial example: // Link this with tbbmalloc library #define TBB_PREVIEW_MEMORY_POOL 1 #include “tbb/memory_pool.h” #include #include void main() { static char buf[1024*1024*4]; // buffer for interim data tbb::fixed_pool interim_pool(buf, sizeof(buf)); // pool for temporary objects tbb::memory_pool< std::allocator > result_pool; // pool to store the results typedef tbb::memory_pool_allocator result_allocator_t; // interface to STL containers std::list result_list( (result_allocator_t( result_pool )) ); for(int result = 0, i = 0; i < 100; i++, result = 0) { for(int j = 0; j < 1000000; j++) { int *p = (int*)interim_pool.malloc(4); if( p ) result++; // really dummy :) } // in real application, here can be some processing of allocated objects result_list.push_back(result); // no memory fragmentation here - separate pool interim_pool.recycle(); // free all the interim objects printf("%dn", result); // should be the same number on each iteration } } // all the memory is released back implicitly The simple part is done, and I hope that you are interested enough to proceed with more complex questions, and tell us what you think about it. Someone may want to know whether it is possible to construct a pool in a memory allocated form another pool. It is possible, but one should take care to destroy the inner pool prior to destruction of the outer pool or a call to recycle(). Do you know a good reason to enable such a nesting? Memory provider interface From an API designer perspective, the memory provider is the most questionable part of the scalable pools API. And since it is yet a community preview feature, you are welcome to influence its design. Curious readers might want to ask questions like the following: what are the requirements for the template argument? why is std::allocator used as a memory provider? why the type used with std::allocator in examples above is “char”? The template argument of tbb::memory_pool accepts a memory provider class which satisfies minimal requirements of STL compatible allocator according to the last C++11 standard: allocate and deallocate methods, and a value_type definition. Using std::allocator and compatible classes is perhaps the most straight-forward way to enable memory_pool anywhere. However from efficiency standpoint, it makes probably not much sense because such allocators are intended for rather small objects by design while memory provider should operate with megabytes. For users who don’t care what the memory provider is, we could better provide a default one instead which would map to system-default way for memory mapping. And finally, TBB memory pools don’t really need the type of allocation (i.e.  char in the declaration of tbb::memory_pool ), but rather need to know the granularity of requests to the memory provider. And this is not only specification for type of arguments for allocate and deallocate, this information is used in our implementation to determine size of memory requests to memory provider. For example, consider big pages which can be mapped only by chunks of megabytes: // A custom memory provider for memory_pool class big_pages { public: typedef char[2*1024*1024] value_type; void *allocate(size_t pages) { return mmap(0x0UL, pages*2*1024*1024, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB, 0, 0); } // the pointer type requirement is also actually relaxed void deallocate(void *ptr, size_t pages) { munmap(ptr, pages*2*1024*1024); } }; // usage: tbb::memory_pool my_pool; Some food for thoughts The way granularity is specified in the line 4 in the above example is not straight-forward and can be viewed as confusing. This is the price of STL-compliant interface of the memory provider and we are not sure if it has more pros than cons: STL compatibility is supposed to reuse widely implemented memory allocators. On the other hand, these allocators are usually purposed for small sizes of allocations but a pool will need memory chunks of at least hundreds of kilobytes. In theory, it allows easy nesting of memory pools using our memory_pool_allocator class. But we studied that nesting of the pool in some other implementations does not mean reusing the memory allocated by parent pool but rather a hierarchy of pool objects. And such a nesting is not yet supported anyway It is easier to remember the requirements based on well-known standard interface Granularity is a property of the memory provider and must be passed along with it As an alternative interface, we consider to make the granularity explicitly specified but in a separate trait class which should be specialized only for the memory providers with granularity of allocations > 1. It is even possible to keep STL-compatibility using metaprogramming magic, e.g. define the granularity to sizeof(value_type) if value_type defined. Another question is how to introduce alignment in the interface of memory pools. Basically, it can be either aligned_malloc() and aligned_realloc(), or an optional argument for malloc() and realloc() methods. Also, are the suggested class names good, or do we need to find better names (for instance, “fixed_region” and “dynamic_region” to align with terms of Wikipedia)? Feedback is very welcome We are very eager to hear from you what do you think about above and how can it be used in your projects.

JavaScript Gaming Framework Webinar – January 24, 2012

Interested in developing games or have an existing game you want to monetize?

A Christmas Miracle! Facebook Chat (Kind Of) Supports Extended Rage Faces

First, if you want to get right down to it, here are the codes you type into Facebook chat to get various faces: Poker face [[129627277060203]] Forever Alone [[227644903931785]] OK guy [[100002752520227]] Me Gusta [[164413893600463]] Lol guy [[189637151067601]] Fuck Yeah [[105387672833401]] Problem? [[171108522930776]] [[218595638164996]] [[100002727365206]] Huzzah! We are truly living in an age of wonder! Second, why does this work? There are various ways to bring Facebook content into chats. For example, you use Facebook Pages like a little TC by typing [[techcrunch]]. The numbers above are actually the IDs for pages that someone, for some terrible reason, made featuring all of those rage faces ( https://www.facebook.com/pages/Poker-Face/129627277060203 , for example). There are more to be found here thanks to Reddit so I’ll leave further discovery as an exercise for the reader. All I can say is I’m glad there’s an Internet because the long minutes between sips of whiskey on Christmas Eve, spent staring malevolently at the fire, fingering my ratty smoking jacket, drawing from an unlit cheroot that had gone out hours before, and plotting the destruction of my many enemies would be a lot darker without the MeGusta face keeping me going. Happy holidays! via Reddit [upvote Sky_Prodigy ]

Why Hasn’t Safari Skyrocketed Like Chrome Has?

The past few days, there’s been a lot of talk about web browsers. The report that Google will be paying Mozilla close to one billion dollars over the next three years to ensure that their search engine remains the default for Firefox is fascinating for a few reasons . The biggest is that Google now makes a Firefox competitor, Chrome. And it got me thinking about Safari. Remember Safari? While Chrome has skyrocketed from 0 percent market share in August 2008 to over 25 percent last month, Apple’s web browser lingers

Need A Last Minute Gift? There’s A Subscription For That

Brit Morin is the Founder and CEO of Brit , a new company focused on providing people with innovative ideas, software, and products for creative living. Subscription services have been around for more than a century. Generations before us were the first to enjoy subscriptions to magazines, newspapers, and more. As a kid, I even remember being forced to go door-to-door to sell subscriptions for wrapping paper. (Side note: Who really needs a monthly subscription to wrapping paper?) Only in the past several years has our friend, the Internet, disrupted the traditional subscription model of the media monoliths, forcing them to think about new ways to offer online subscriptions as well as free versions of their content. In doing so, more and more new companies began to see the opportunity to apply the subscription model in unique ways to Internet businesses. But, it wasn’t until 2011 that light bulbs went off across the industry – today, there are subscription service options for everything from monthly beauty supplies to dog toys. And so far, the economics of these new models still seem quite lucrative. Subscription service companies are able to strike deals with manufacturers, distributors, or wholesalers and then spend a small amount on packaging and distribution for the [fill-in-the-blank] box of goods. In exchange, their customers offer to pay a recurring fee, typically starting at $10/month and up. It’s a powerful model, which is why we’re seeing so many companies doing it. As a personal subscriber to at least a handful of these types of services, I can also testify that I feel like I’m getting my money’s worth as a customer. Even better, I’ve found that gifting a subscription is one of the easiest and longest-lasting gifts I could give to a friend. In fact, I’ve already purchased nearly a dozen subscriptions for friends and family this Christmas. There’s no wrapping involved, and you can buy at the very last-minute – that’s my kind of gift. So, if you are searching for your very own last-minute holiday gift, why not try a subscription? Below is a round-up of my personal favorites, along with some of the most interesting options out there. FOOD & DRINK Craft Coffee – $20/month – Three 5-cup samples of coffee from various artisan roasters around the country. Steepster Select – $17/month – The Craft Coffee of the tea world, get three samples of hand-selected teas each month. Foodzie – $30/month – A quality tasting box full of small batch, artisanal food products. Healthy Surprise – $49/month – An assortment of 18+ healthy treats – a package big enough to last as your “snack cabinet” for the entire month. Lollihop – $68/3-month – Similar to Healthy Surprise, Lollihop offers at least 8 healthy, organic snacks delivered each month. CSA (Community Supported Aggriculture) – $ Varies – Just plug in your zip code to see which nearby farms offer monthly or weekly food subscriptions. A popular way to get fresh food while also giving back to your local farmers. Culture Kitchen – $98/3-month – All of the hard-to-find ingredients and instructions for preparing a different authentic ethnic cuisine each month. Bacon of the Month Club – $99/6-month – As featured in one of our Brit Gift Guides , the title says it all on this one. BEAUTY & FASHION Birchbox – $10/month – A collection of 4-6 monthly beauty samples, with options to buy full-sized versions on the site. BeautyFix – $50/season – Full-sized beauty products selected to match your personal beauty profile, delivered every 3-months. Joliebox – €13/month – The Birchbox of Europe. Panty by Post – $55/3-month – Marketed as “a pretty panty, mailed monthly,” this is one that all dads should NOT think to get their daughters. Manpacks – $ Varies – A subscription to all the things that men often seem to forget to buy themselves, including undershirts, boxers, and socks. UmbaBox – $26/month – A monthly variety of accessories, jewelry and homegoods. Put This On – $45/bi-monthly- A subscription to hand-selected pocket squares for the bespoke gentlemen. TrunkClub – $ Varies – Your own virtual personal stylist will shop and send you men’s apparel. Try it all on and send back whatever you don’t want to purchase. Sorry gals, this one is for the boys only. ENTERTAINMENT & ONLINE Netflix – $8/month – Give them the gift of unlimited streaming video (especially great if they own devices like Google TV or Roku). Spotify Premium – $10/month – No ads, higher bit rates, and offline services are just a few of the pro features of Spotify’s premium subscription service. Pandora – $36/year – The world’s most popular Internet radio service; with their innovative Music Genome technology, Pandora helps you discover new music you will love by creating personalized radio streams for you from the artists and songs you already love. Hulu Plus – $10/month – A much more affordable TV solution, Hulu Plus gives you monthly access to some of the most popular TV and movies, watchable online or via many other streaming devices, with limited advertising. MoviePass – $50/month – Unlimited movies in theaters nationwide. The service was banned earlier this year but re-launched a few months ago, much to consumer delight. Amazon Prime – $79/year – This service has changed my life. With free 2-day shipping or $4 overnight delivery on most items, I hardly ever have to go shopping in real life anymore. Dropbox – $10/month – Dropbox is by far the easiest and best way to back-up and store all of your data in the cloud. This invite link will get you 250MB for free (and, full disclosure, will also up my own storage). Digital News – $15+/month – Gift subscriptions to digital access for the New York Times or Wall Street Journal . Or, if you read other news sites, I’m sure you can Google yourself the subscription link to their own purchase page. OTHERS Kiwi Crate – $20/month – A monthly craft kit for kids 3-6 years old. The Quarterly – $25/quarter – Curated gifts from influencers you care about, every 3-months. TaskRabbit – $ Varies – Give the gift of a helping hand. Your giftee can set up their own recurring subscription to the service. I personally use TaskRabbit for bi-weekly grocery delivery services. Flowers of the Month – $ Varies – Not nearly as innovative as some of the others, but an obvious choice for any woman in your life. Tattly – $60/6-months – Great for kids (or those who will always be kids at heart), Tattly’s subscription service offers eight high quality, non-permanent tattoos each month. Barkbox – $25/month – As a new puppy owner, this is the one service I’m most excited about. Each month, my dog, Pixel , will receive his own box of treats and goodies to play with, making for much less boredom (and therefore, less furniture destruction) around the house. Whether you get them a beauty fix, news fix, or puppy fix – know that you’re getting them a gift that (literally) keeps on giving. Am I missing any subscription services that you think should be on the list? Tweet me or leave a comment below and I’ll be sure to check it out. Image:   Ariwasabi  via Shutterstock

KidZui Raises $2.4M, Launches Zui Studios To Create More Videos For Kids

Exclusive – KidZui, maker of family-friendly Internet products like a safe browser and a video destination for kids, has scored another $2.4 million in funding from existing investors, led by Mission Ventures and Costella Kirsch. The capital will be used for the development of a new video production division dubbed Zui Studios . Part of the funding will also be used for the promotion of the first show (Zui Buzz, see below) and the further development of Zui.com , which the company bills as the safest one-stop content aggregator and search engine for kids. KidZui has recruited Adam Jacobs, who will oversee all content creation for the division, as Executive Producer for Zui Studios. Jacobs, who was nominated for two Emmy awards for direction, headed On-Air promotions for Time Warner Cable, and wrote for the HBO series Tales From the Dark Side. Zui Buzz, the first Zui Studios production, is a daily update for kids about what is trending on the Web, including the best videos, sites and games, which will air on the Zui.com homepage. The company will also be on the lookout for kids with a sizeable audience and remarkable passion and/or talents on YouTube to promote them to ‘Zui Stars’ , aiming to give kids “the viral video stardom they seek without the exposure parents fear”. All comments and video replies are screened by KidZui content curation team, which includes parents and teachers. KidZui founder and CEO Cliff Boro tells me KidZui properties received about 1.8 million unique visitors in November 2011, and keeps on growing across the board. Founded in 2006, Kidzui is based in San Diego, California.

Code For America Receives $1.5M Grant From Google To Help The Government Harness Technology

Code for America, a non-profit which tries to bring the people and the power of the internet into government, has received a $1.5 million grant from Google. Code for America launched this year to help governments become more transparent, connected, and efficient by connecting web developers with people who deliver city services. Earlier this year, Code for America debuted its inaugural fellowship program, which pairs technologists with leading cities to help them innovate. In 2011, 19 fellows worked with 3 cities to develop over 21 applications, which are now being reused across the country and around the world. And the non-profit has also brought on Greylock Partner and former Mozilla CEO John Lilly and Tumblr VP and former White House and Google staffer Andrew McLaughlin to its Board of Directors. Other backers include the John S and James L Knight Foundation, the Ford Foundation, and the Open Society Foundation. With the new funding, the organization is also launching two new programs (a Civic Startup Incubator and a Volunteer Engagement Platform). The seed accelerator, which has raised initial funding from Kauffman Foundation, will launch in the Spring of 2012 to help foster sustainable businesses that can become the next generation of government vendors. In 2012, Code for America will also roll out an online platform to connect civic hackers and others with each other locally, and to reuse and remix civic apps in their cities.