Tag Archives: spool data

Spool closed – stay tuned for more update

For over a year, you have enjoyed the services offered by spool. After launching our offline application, customers were very impressed on how creative we were given that it was our first offline application. But as things would dictate, we would move to greater height just after the first year of our greatest launch. Who doesn’t know of Facebook? It is the largest social site in the world. We have now partnered with Facebook to make things better for you. We will no longer offer our services as spool but rather team up with Facebook to advance you experience in your Facebook account and pages.

We would like to take the earliest opportunity to thank our esteem users for their continued support over the period that we have been operating as Spool. We apologize for any inconveniences made but is better to note that it is for your own good. With Facebook as our partners, we will make things be way much better.

Thank you for using Spool and providing feedback during our beta period. It’s been a pleasure to build Spool for you and we’ve been flattered with the overwhelmingly positive feedback we’ve received. However, after careful consideration, we’ve decided to pursue our vision in a new way. If you were a Spool user, we’ve provided instructions on how to use your bookmarks in another service.

We have new and amazing features that will definitely improve your experience. Our website is still open if you want to check out on the new features. Our knowledge on the latest technologies is being shared by experts who are enthusiastic about improving the technological world. Before buying any of the latest gadgets, we recommend that you visit our blog to get the reviews of the phones. This way you will get the best deal you can get from us.

If you want to know more about our current features then you should check homepage. We are currently working as team of expert who love to share our knowledge about latest technology, i.e Windows, Android, iOS and gadget reviews. If you want to buy latest handsets or want to first see the detailed reviews based on customers then you should first checkout our blog.

If you have any kind of queries for your Windows PC for backup, restore, registry or any kind of internet queries then you can post that here. I will try to help you to resolve that. Please allow us few days to get back to you with most satisfactory answer. You can checkout our competitors website to use offline bookmarking for your future work. For import or export of the data, you can check our dedicated page named “instruction”. Please follow the steps given over there.

We’ll let you know of our post-Spool plans as soon as we have something to announce. Stay tuned!

If you still want to use Spool kind of features then I would suggest you to check our competitors website or any other alternative online tool which will help you to cache web version of any website within a fraction of minutes for FREE.

Spool is partnering with Facebook

Spool is no longer there as an independent company. This came as a shocker to many of its users. The blog page was blank except for an update that stated the reasons why spool was not there. Here below is the complete update.

Update : We are currently working as new tech team for Facebook and try our best to implement unique features like Save for a Later. Yes! Using that you will able to save any kind of facebook content like post, video, images for your later use. It would be helpful when you are busy and get some FB message from your friend, but due to limited internet connectivity you can’t check that. And when you get full connection will able to save that message on your local system and then you can read that without having internet access. It will save your time, money and will give you more power to handle your Facebook account.

The Spool team will no longer be functioning alone. We have joined hands with the biggest social media company- Facebook- to bring you new and exciting features. We will be working as a tech team for Facebook from now henceforth. There are new features that we want to introduce in Facebook. One of the most amazing features is Save for a Later. This is a unique feature that will allow you to save posts, images, videos for your later use. This has been driven by the desire of people to save their Facebook posts, videos, images for their later use. Not only will you be able to save your posts, but also save incoming FB messages that you cannot view due to lack of internet connectivity. This feature will save for you that message in that even when the connection is available, you will just read the message without having to use internet connection. This is because the message would have been stored in your local system. This will save you money, time and power.

We started Spool to make content easy to consume on a mobile device. To accomplish this, we built some very sophisticated technology and developed a deep expertise in mobile software development. We firmly believe that solving these problems will be increasingly important as the world accesses the Internet primarily through mobile devices.

We are proud to announce that today we will be pursuing our vision as a part of Facebook. If you were a Spool user, please read the instructions on retaining your bookmarks.

Our main objective for starting spool was to make access to mobile content very easy. We build sophisticated technologies that enabled us to achieve this without experiencing any problems. We considered that solving these problems will help the world in accessing internet since a majority of internet users primarily use mobile. Therefore, many people benefited from our unending efforts.

As we start on a partnership with Facebook, we would like that spool users read on the instructions available in our blog on how to retain their bookmarks so that they continue enjoying the services.

For those who still want to use spool, we have our stack that can be used. It uses the same application that will give you more of the same features as spool.

We are excited about this new partnership with Facebook and we hope that we will help millions of Facebook user to easily connect with people around the world. We pass our sincere gratitude to the entire Spool Community for their continued support.

This was the update by the Spool team after joining Facebook.

Sincerely,
The Spool team

Fake S3 – Save money, time, and develop offline

Saving Time and Money with Fake S3

Online storage has become a necessity to many people. This is because of the security associated with online storage. One of the most common online storage is the Simple Storage Service, popularly known as S3, offered by Amazon Web Services. In as much as it is a good service, we at spool believe that the Amazon guys are exploiting people.

Amazon S3 is a extremely powerful service at the core of Amazon Web Services. However, outside of a production environment, S3 can be challenging to work with. It involves passing keys around, provisioning user accounts, and a reliable network connection — not to mention it costs money.

At Spool, we built Fake S3 to make working with S3 in development and testing environments much easier. Our goal was to make a self contained executable that can mimic the majority of S3 Rest API with few external dependencies.

For that reason, we have developed our own fake S3 that will work to help online users get value for their money. What we have developed is similar to S3 just that it will be offered by different people. There are greater benefits of using our services than seeking them from Amazon Webs services.

First, we are known for charging less compared to our competitors, the Amazon counterparts. We see no need in overcharging a service that does not require much technicality. Therefore, based on saving money, we should have more clients to serve.

For development, each engineer runs her own instance of Fake S3 where she can put gigabytes of images and video to develop and test against, and her setup will work offline because it is all local. We also have a continuous integration setup that is running tests 24/7 (often against large video files). Fake S3 saves us $1000 a month in bandwidth alone for our tests. In both development and testing, the time saved in not waiting for assets to go back and forth into AWS, especially our larger media files, makes Fake S3 very useful.

We’re releasing Fake S3 as a gem on github. It’s an early release and we’ll keep improving it. If you have ideas or issues, please contribute to the project!

Installation

gem install fakes3

Running

fakes3 -r ~/fakes3_root -p 10001

Example Client Code

require 'rubygems'
require 'aws/s3'

include AWS::S3
AWS::S3::Base.establish_connection!(:access_key_id => "123",
                                    :secret_access_key => "abc",
                                    :server => "localhost",
                                    :port => "10001")

Bucket.create('mystuff')

('a'..'z').each do |filename|
  S3Object.store(filename, 'Hello World', 'mystuff')
end

bucket = Bucket.find('mystuff')
bucket.objects.each do |s3_obj|
  puts "#{s3_obj.key}:#{s3_obj.value}"
end

Bucket.delete("mystuff",:force => true) # Delete your bucket and all its keys

In general clients can work if you can specify a host and port to connect them, as well as forcing path style requests (instead of subdomains.) Subdomain style S3 requests can work, but it involves adding your bucket names into /etc/hosts (ie. s3.localhost or mybucket.localhost) or using dnsmasq if you have a large number of buckets.

Simulating Network Conditions

Another useful feature is the support for simulating network conditions. You can run fakes3 with bandwidth limiting enabled like so:

fakes3 -r ~/fakes3_root -p 10001 --limit=50K

This will limit your GET request bandwidth to 50K/s per request instead of instantly off of your local machine. This is very convenient, for example, to simulate how mobile devices would behave in the real world.

Related Tools

Fake S3 is great for development and testing due to its simplicity, but is not intended to replace S3 in production. If you want to replace S3, there are other tools such as Ceph, ParkPlace (supports bitorrent), Boardwalk (S3 interface in front of MongoDB), and RiakCS that you can check out.

Spool team has always been accredited for offering quality services since we began our online work. Therefore expect nothing short of quality work from us. We will work to improve the service in a better way than it is being done by the original S3. We have delivered before and this one will not be a hard for us.

Our work at spool team does not require for clients to enter into a contract with us. Such legal formalities are not part of our S3. We just develop a fake S3 for your use and you start using immediately you signup. We are determined to deliver without having to subject our clients into lengthy processes that our competitors engage in.

All our engineers are using this fake S3 service to ascertain that it is working properly. We do not sell to you a service that we cannot even afford to use ourselves. Therefore, when you use this service, you should know that you are part of a big community, full of qualified technical engineers.

Getting the service up and running is just a click away. For further information, you should contact our customer care service who will update you on how the fake S3 service works.

Given our experience and past reviews of our services, you should sign up for our fake S3 and get to enjoy the above stated benefits of using a fake S3 developed by Spools.

Spool gets USD $1 million in funding

Spool the company was a different company than the one hosting this blog, but in case you are wondering what happened to that other company, this was the blog post.

Dear Spool Users,

We’re very proud to announce that we’ve raised $1 million in outside financing for Spool. Our complete list of investors is below.

Spool has been considered to be the best company during their period of operation. Only three months after running our beta services, we have received overwhelming support and positive reviews from our users. This made us to approach outside investors to improve our services. We are glad to announce that we have raised $1 million in financing from these outside investors. This money will be used to improve the services offered such us improving SpoolBot, polishing our mobile applications, browser applications. When this is done, we will be able to make things easier for new users to use our services and share content all over the world.

Up to date, we have about half a million users who are fond of our services and use them on their day-to-day life. This is a great achievement to us. We predict that in a couple of months, we will have reached million users of Spool services. Many investors are knocking our doors for us to consider them into partnership but we have to be a bit picky on whom to choose. We would have loved to welcome all the investors but we want those who have deep knowledge on what we are dealing with. This will make our work much easier and exciting.

We are getting so many request about availability of investors and finances but we are bit picky for that. We would love to work with you all but at the same time we wont to have investors who have good knowledge about our kind of company.

Our desire is to deal with investors who have impacted the technological world. We have picked investors who are controlling various technological fields. Companies such as Google, facebook, Twitter, Pinterest and such like companies have featured in our list due to their prowess in changing people’s lives. Other investors include Youtube, LinkedIn and Palantir have shown great dedication in the entrepreneurial aspect in the technological world. These are some of the companies we want to associate with to improve our business.

With the a million dollars in bank for our use, be sure that there is so much in store for you. Any suggestions or ideas on how we can make your lives better is highly welcomed. Do not hesitate to contact our team to improve services provided. Otherwise, we guarantee you improved services in the coming days.

We have some big things in store for Spool and are looking forward to sharing them with you. As always, we’d love to hear your thoughts and feedback — please don’t hesitate to email us at [email protected].

-The Spool Team

Our Investors

  • SVAngel
  • Felicis Ventures
  • Start Fund
  • Charles River Ventures
  • Vivi Nevo
  • Steve Chen
  • Elad Gil
  • Deep Nishar
  • Kevin Donahue
  • Joe Lonsdale
  • Bill Lohse
  • David King
  • Nils Johnson
  • Matt Ocko
  • Raymond Tonsing

SpoolBot now accepts attachments and emails

Spool the bookmarking company was a different organization than the one hosting this blog, but in case you are wondering what happened to that older company, this was the blog post created for you.

If you are using Spool for your regular bookmarking task and want more and more extra feature then this is the post for you. Do you know that we have added some advance feature using which you can accept attachments, images, video and emails. So, now we are multimedia supported company where you can accepts everything from your friend without any limits. Please check below post for more details regarding same.

You can now send an email with a URL or an attachment to your personal SpoolBot email address. SpoolBot will put the contents of up to 5 URLs or any number of attachments into your Spool account!

You need to first add your spool data to your contacts on your Smartphone.

Add your Spool to the contacts on your phone/tablet

Once you install the spool extension for your browser you will able to see below kind of screen. Now you need to click on Add Spool to My contacts button and you will see the message saying “Spool added to your Contacts”. It works for almost any carrier and you need to use our latest application version in order to take benefit of this feature.

Find your personalized email address in settings

Below is the overview of the email address setting for your Spool account. Under the account and profile setting you can make changes to your email address and customize your delivery time, limits and tweaks with other fields too. In case of any queries, you can contact us by commenting here. Please allow as few days to get back to you with proper solution.

If you want to know more about GetSpool, please check our latest articles and post.

Redis bitmaps – Fast, easy, realtime metrics

At Spool, we calculate our key metrics in real time. Traditionally, metrics are performed by a batch job (running hourly, daily, etc.). Redis backed bitmaps allow us to perform such calculations in realtime and are extremely space efficient. In a simulation of 128 million users, a typical metric such as “daily unique users” takes less than 50 ms on a MacBook Pro and only takes 16 MB of memory. Spool doesn’t have 128 million users yet but it’s nice to know our approach will scale. We thought we’d share how we do it, in case other startups find our approach useful.

Crash Course on Bitmap and Redis Bitmaps

Bitmap (aka Bitset)

A Bitmap or bitset is an array of zeros and ones. A bit in a bitset can be set to either 0 or 1, and each position in the array is referred to as an offset. Operations such as logical AND, OR, XOR, etc. and other bitwise operations are fair game for Bitmaps.

Population Count

The population count of a Bitmap is the number of bits set to 1. There are efficient algorithms for calculating population count. For instance, the population count of a 90% filled bitset containing 1 billion bits took 21.1 ms on a MacBook Pro. There is even a hardware instruction in SSE4 for the population count of an integer.

Bitmaps in Redis

Redis allows binary keys and binary values. Bitmaps are nothing but binary values. The setbit(key, offset, value) operation, which takes O(1) time, sets the value of a bit to 0 or 1 at the specified offset for a given key.

A simple example: Daily Active Users

To count unique users that logged in today, we set up a bitmap where each user is identified by an offset value. When a user visits a page or performs an action, which warrants it to be counted, set the bit to 1 at the offset representing user id. The key for the bitmap is a function of the name of the action user performed and the timestamp.

In this simple example, every time a user logs in we perform a redis.setbit(daily_active_users, user_id, 1). This flips the appropriate offset in the daily_active_users bitmap to 1. This is an O(1) operation. Doing a population count on this results in 9 unique users that logged in today. The key is daily_active_users and the value is 1011110100100101.

Of course, since the daily active users will change every day we need a way to create a new bitmap every day. We do this by simply appending the date to the bitmap key. For example, if we want to calculate the daily unique users who have played at least 1 song in a music app for a given day, we can set the key name to be play:yyyy-mm-dd. If we want to calculate the number of unique users playing a song each hour, we can name the key name will be play:yyyy-mm-dd-hh. For the rest of the discussion, we will stick with daily unique users that played a song. To collect daily metrics, we will simple set the user’s bit to 1 in the play:yyyy-mm-dd key whenever a user plays a song. This is an O(1) operation.

redis.setbit(play:yyyy-mm-dd, user_id, 1)

The unique users that played a song today is the population count of the bitmap stored as the value for the play:yyyy-mm-dd key.To calculate weekly or monthly metrics, we can simply compute the union of all the daily Bitmaps over the week or the month, and then calculate the population count of the resulting bitmap.

You can also extract more complex metrics very easily. For example, the premium account holders who played a song in November would be:
(play:2011-11-01 ∪ play:2011-11-02 ∪...∪play:2011-11-30) ∩ premium:2011-11

Performance comparison using 128 million users

The table below shows a comparison of daily unique action calculations calculated over 1 day, 7 days and 30 days for 128 million users. The 7 and 30 metrics are calculated by combining daily bitmaps.

Period Time (ms)
Daily 50.2
Weekly 392.0
Monthly 1624.8

Optimizations

In the above example, we can optimize the weekly and monthly computations by caching the calculated daily, weekly, monthly counts in Redis.

This is a very flexible approach. An added bonus of caching is that it allows fast cohort analysis, such as weekly unique users who are also mobile users — the intersection of a mobile users bitmap with a weekly active users bitmap. Or, if we want to compute rolling unique users over the last n days, having cached daily unique counts makes this easy — simply grab the previous n-1 days from your cache and union it with the real time daily count, which only takes 50ms.

Sample Code

A Java code snippet below computes unique users for a given user action and date.

import redis.clients.jedis.Jedis;
import java.util.BitSet;
...
  Jedis redis = new Jedis("localhost");
...
  public int uniqueCount(String action, String date) {
    String key = action + ":" + date;
    BitSet users = BitSet.valueOf(redis.get(key.getBytes()));
    return users.cardinality();
  }

The code snippet below computes the unique users for a given given user action and a list of dates.

import redis.clients.jedis.Jedis;
import java.util.BitSet;
...
  Jedis redis = new Jedis("localhost");
...
  public int uniqueCount(String action, String... dates) {
    BitSet all = new BitSet();
    for (String date : dates) {
      String key = action + ":" + date;
      BitSet users = BitSet.valueOf(redis.get(key.getBytes()));
      all.or(users);
    }
    return all.cardinality();
  }

Spool Javascript stack – Pros and Cons

Javascript Stack

Spool technology stack is one of the inventions that the spool team has made. It has created a lively platform that allows users to enjoy in a cross platform communication. Before we get to understand how spool technology works, it is important to note that we run an unconventional technology stack- which is JavaScript- at spool.

Javascript stack with Node.js, Redis, and only JSON

How the Spool technology stack works

There are complicated processes involved in how the spool technology stack works. It is only complicated to our technical team since the final user will never experience any difficulty in using it. Here below is the process of how it works.

  • When a user interacts with one of our clients (Android, iOS, browser add-ons, HTML5 webapp), data requests are sent to our servers.
  • On the server, Node.js (javascript webserver built on v8) receives this request and if it needs to read data from our datastore, it sends that request to Redis.
  • In Redis, we save key-value pairs. The values are all JSON strings. So Redis just returns JSON to Node.js
  • Node.js receives this JSON and passes it down to the client that requested it.
  • The HTML5 web client uses backbone.js so we keep the JSON data structures we passed down and quickly & easily generate views from these models.

Advantage:

  • The stack is extremely fast. The users will enjoy the fast speed because there is no difference between data and object.
  • Jumping between frontend and backend is easy because we only deal with JSON.
  • Flexible APIs. This is due to the use of JSON

Disadvantage:

  • Analyzing data is a bit tiring since it requires writing scripts. To extract and manipulate JSON, writing scripts are necessary therefore making the process tiring.
  • Redis data model is still a big problem to most engineers. They are not well versed with its application and it requires extra skill to successfully run it.
  • There is a possibility of running into bugs because of the nascent nature of the ecosystem.

That is a full review of Spool’s full JavaScript stack.