Microsoft’s New Operating System – Midori

Microsoft is incubating a componentized non-Windows operating system known as Midori, which is being architected from the ground up to tackle challenges that Redmond has determined cannot be met by simply evolving its existing technology.

Midori is an offshoot of Microsoft Research’s Singularity operating system, the tools and libraries of which are completely managed code. Midori is designed to run directly on native hardware (x86, x64 and ARM), be hosted on the Windows Hyper-V hypervisor, or even be hosted by a Windows process.
According to published reports, Eric Rudder, senior vice president for technical strategy at Microsoft and an alumnus of Bill Gates’ technical staff, is heading up the effort. Rudder served as senior vice president of Microsoft’s Servers and Tools group until 2005.

“That sounds possible—I’ve heard rumors to the effect that he [Rudder] had an OS project in place,” said Rob Helm, director of research at Directions on Microsoft. He noted that it is quite possible that the project is just exploratory, but conceivably a step above what Microsoft Research does.
One of Microsoft’s goals is to provide options for Midori applications to co-exist with and interoperate with existing Windows applications, as well as to provide a migration path.
Building Midori from the ground up to be connected underscores how much computing has changed since Microsoft’s engineers first designed Windows; there was no Internet as we understand it today, the PC was the user’s sole device and concurrency was a research topic.
Today, users move across multiple devices, consume and share resources remotely, and the applications that they use are a composite of local and remote components and services. To that end, Midori will focus on concurrency, both for distributed applications and local ones.
According to the documentation, Midori will be built with an asynchronous-only architecture that is built for task concurrency and parallel use of local and distributed resources, with a distributed component-based and data-driven application model, and dynamic management of power and other resources.
Midori’s design treats concurrency as a core principle, beyond what even the Microsoft Robotics Group is trying to accomplish, said Tandy Trower, general manager of the Microsoft Robotics Group.
The Midori documents foresee applications running across a multitude of topologies, ranging from client-server and multi-tier deployments to peer-to-peer at the edge, and in the cloud data center. Those topologies form a heterogeneous mesh where capabilities can exist at separate places.
In order to efficiently distribute applications across nodes, Midori will introduce a higher-level application model that abstracts the details of physical machines and processors. The model will be consistent for both the distributed and local concurrency layers, and it is internally known as Asynchronous Promise Architecture.


Money Manager Ex – SQL Query

Money Manager Ex is a personal finance management software. It lets you manage your personal faineance. You can manage  your expenses, investments and stocks using Money Manager Ex. The most appealing feature of this software is custom reports. It lets you run custom queries against its Sqlite database.

In my previous post on Money Manager, I explained its different features. In this post, I will explain how you can get category wise report of your expenses. Money manager manages your accounts in categories and sub-categories. It has many pre-defined categories. Each category is further classified into subcategories. Usually these are sufficient for the general use.

However you can create new category or subcategory easily. One lacking feature of this software is that it does not provide category-wise report of your transactions. You can see transactions summed up by sub-categories however.

To overcome this shortcoming, I wrote a simple SQL statement that allowed me to see the amount I spent on different categories.

SQL to view category-wise report:
The SQL statement to see categori-wise report is written below.

select a.categid, categname, round(sum(transamount),0) amount from checkingaccount_v1 a inner join category_v1 b on a.categid = b.categid group by a.categid having transdate >= ‘2008-06-01’ and transdate < ‘2008-07-01’

The above statement displays amount spent on different categories for the month of June 2008 i.e. between 1st June and 30th June (both inclusive).  You may need to replace the dates i.e. ‘2008-06-01’ and ‘2008-07-01’ as per your requirement.Custom SQL Report option of Money Manage Ex

To execute this statement, select ‘Custom SQL Report’ from the ‘Reports’ menu on the Money Manager. If you cannot see ‘Custom SQL Report’ option, you may need to expend the Reports section by clicking on the ‘+’ sign.

Selecting the ‘Custom SQL Report’ will open a ‘Custom SQL Dialog’ box that will ask you to type the query. Copy and paste above statement into the white box and click on the Run Query. It will show your desired report.

Custom SQL Dialog of Money Manager Ex

If you have any problem running the query, please let me know through comments of this post.

If you need any specific query for your requirement, please put your requirement in the comments and I will be happy to help you out.

Note: In future, I will be writing more SQL queries for MME. If you are interested in these queries, please subscribe the RSS.

Related Post:
Money Manager Ex – Described