Where to host free online persistent Jupyter notebooks?

The best place in my experience is:

https://colab.research.google.com

Pros

  • Stable
  • Fast
  • Reliable
  • Almost markdown

Cons

  • Can export only to Python and Jupyter notebook

The other option is with Microsoft, but they have done a shoddy job managing notebooks. Many a times, the notebook won’t open. Overall a bad experience.

Written with StackEdit.

Advertisements

Google App Engine: Data store with async calls

  • Google Data Store provides single core CPU  (F class) for applications.
  • Hence heavily multi-threaded applications can’t scale enough
  • DataStoreprovidesasync calls for DB access. It has:
    • Async queries
    • Async transactions
    • Async read/writes
  • Documentation is good but lacks clarity on usage and benefits on async calls. It says that async queries can run in parallel after immediately returning a temporary result object. But how?
  • I think Data Store can time share multiple requests, hence improving responsiveness and fairness.
  • How to convert sync calls to async:
  • Please refer Source: Google Developer website
    • I got confused at async queries. It uses run() menthod on a query to make it async. A get() method is a sync call.
    • Difference between run() and get() is that:
      • run() returns an iterator over results
      • run() pre-fetches results with a batch read, so access to elements in results is faster
      • get() is a sync call and returns the first result from result set
      • run(limit=1) == get()

 

q1 = Salesperson.all().filter('date_of_hire <', one_month_ago)
# Returns instantly, query is executing in the background.
recent_hires = q1.run()

# q1 and recent_hires are both iterable objects. Your application should iterate over 'recent_hires' to enjoy benefits of pre-fetched reads.
##### for h in recent_hires:
# instead of
##### for h in q1:

Android OS: Google DVM and Virtual machines

Published in LinuxForYou, Jun 2011

Abstract

With the outburst of heterogeneous systems, the need for a scalable software system is very much required without compromising the cost of development and maintenance of the software. Virtual machine (VM) provides abstraction from the heterogeneity and presents a low cost and scalable software development environment. VM based modern programming languages like Java is the speaking example of this.

 In this article, we will try to understand the fundamental concepts of a VM by taking the example of Dalvik VM – one of the critical components of Google’s Android Operating System software stack.

The complete article is available here