Monday, April 2, 2018

The impractical and impossible dream of Hyperloop

Here is the video about such a nice promise of hyperloop transportation system. 

Here is an explanation 

Let’s take an example travel between Pune and Mumbai distance of 160kms, there are 30 trains each train takes around 800 passengers. Number of buses are 300 per day so and each bus taking 30 passengers now if you calculate the total one-way traffic it comes to around 33,000 passengers.

Consider these passengers now want to travel in Hyperloop transport system. As you see even if let’s say half the travellers decide to travel in hyperloop the system it will need to board one passenger every 5 seconds. Considering the safety aspects and am guessing there is some distance between two hyperloop pods it’s not going enough with one track and thus increase the investments or less number of travelers can travel. 

More feasibility study in terms of capacity planning and its affordability is needed. 

Saturday, March 10, 2018

AI and Machine Learning

Reducing costs and improvement in efficiency is always an agenda for most businesses and particularly so for online ordering and shopping. Customers see these efficiency by means of using the online product and of course is reflected in the cost savings of the shipments. Ease of doing business and can be achieved by deep-learning, machine and other efficiency algorithms. Research has provided many great algorithms and can be applied to transactions and applying to its variables such as sales, searches, patterns to predict what customers will buy.

AI system development today is lot easier and proved to be reliable—it predicts with accuracy and need less human intervention. It would be impossible in some cases to go through the volumes of data by a person to scrutinise the variety of products and hence machine processing Is the way to the future. Online retailing is an obvious are to apply  machine-learning technology and seek returns.

Overall the supply chain will improve in efficiency and also customers get items sooner, which improves customer retention and the technology is also benefiting the environment, because fewer transactions due to efficiency improvement.

AI will still need more work and hence the people but the touch points are taken care by AI. Product uniqueness need more research continuously tweaking algorithms and also efforts to be able to be competitive with giants such as Amazon and Google. It’s always going to be catch up game with race to new features.

Tuesday, June 10, 2014

Business Plan to Transform the Kirana Store to Retail Industry

The real question is How to upgrade the technology of a 'Kirana' Store?

In general Retail Industry offers:
  • Organized distribution of retail products
  • More profitability for retail outlets
  • Making available the products the customer actually wants.
  • Listening to customer requirements
  • The store layout for more freedom of choice

What can Kirana Store provide to the Supplier:
  • Area details and customer buying behavior
  • Low cost preference and options – based on the purchasing power of the customer
  • Actual purchasing trends

The Solution - 
* Kirana Retailer and Supplier Online Network (KRSON) Software *
A Platform is made available for online transactions between Supplier and Kirana Store that provides:
  • Online Ordering Service
  • Kirana Store Inventory Management

Provides a Online Portal for Kirana Supplier for -
  • Adding of products to catalog
  • Inventory availability and costs
  • New products and availability
  • Receiving order and payment as per terms

Portal for Kirana Retailer -
  • Ordering service
  • Value add in Store Inventory Management
  • Payment gateway - optional

Cost structure - 
  • Tablet Device + Software costing approx. Rs. 10,000 is purchased by Kirana Store owner and Supplier  
  • Each transaction costs is paid by a flat rate. The rate is variable and dependent on the number of suppliers and retail store owners that are using the service.

The Software architecture is based on advanced collaboration platform and does not need a specific software although it is possible to provide all features in one software that can enable the solution.

A solution is openerp – an open source solution. Check for details.

The solution is designed in such a way that there could be potentially any software enabling the features that already have the capabilities mentioned in the architecture.

The Service will require a industry association endorsement to be acceptable and changeable for future enhancements and benefits. This is typical B2B application though the discussion is for its applicability to the Kirana Store and transform it to Global Stature.

Friday, January 17, 2014

Industrial internet - An Opportunity for more analytics sensible apps

The term Industrial Internet term is already not new. The primary idea being there are industrial devices that are on local network sending data to a controller - that's also on the internet. The challenge is to bring this data accessible and make sense of it. Hence the manufacturing industry has huge potential where many devices connected to the internet.

Additional reading material with a detailed study is can be found here.

To take an example as per the paper there is a 1% savings possible for Oil and gas industry. What does it really mean?
We can apply techniques such as web applications to the devices on internet (not just mobile devices but anything that can capture data) and provide its analytics as a web applications. – Think home appliance connected to your home wifi or work network.

Many apps are on the app store similar for IOS and other platforms.  Some of the use cases are data collection, device management, automation, control, analytics, predictive behaviors, as a computing power in the form of distributed information network. Many standards are already in place such as NMS and OPC that can enabled standardized access.

The analytics enables solutions for improving productivity. Details would depend on the actual device and what data is made available.

Further it is possible to provide private/public cloud with these devices connected to the internet for select set of users. These applications can enable to optimize and provide analytics and visualization for decision making. In nut shell each connected device in the industrial internet can support users from internet. The support could be reduced overhead, report ability, and grid computing capabilities. The more data collected and made available from these devices can make suggestions for further improvement in design and recommend trials. By adding these devices remote control is also possible.

There are benefits if these devices are online e.g. energy efficiency for a longer period of time.  The target platform can also enable the unified vision that many strive for.

Monday, September 30, 2013

Running Windows applications on Unix

There is a need to reduce the cost of expensive Windows Server and licensing costs. How to find a solution that is cost effective and executes code of already pre-built windows applications on UNIX environment.

Solution Approach

Install Ubuntu (or other supported Unix) and wine.Run the specified windows application with Wine on command prompt. Wine converts all windows API calls into its native equivalent function calls and performs action as per the defined API. Hence application is able to perform action as per the desired functionality.

Scenario: Windows application source is available

If access to source code of windows application is provided then an alternate solution of using winlib is used where the source is recompiled thus also improving the performance of the system.

Scenario: Windows application source is not available

To ensure wine can run the application and certain tests need to be run and then wine is ready to use with the application. This is done using a test suite. Once the testing is passed the application is ready for use.

Wine internals

WINE (originally an acronym for "Wine Is Not an Emulator") is a compatibility layer capable of running Windows applications on several POSIX-compliant operating systems, such as Linux, Mac OSX, & BSD. Instead of simulating internal Windows logic like a virtual machine or emulator, Wine translates Windows API calls into POSIX calls on-the-fly, eliminating the performance and memory penalties of other methods and allowing you to cleanly integrate Windows applications into your desktop. And Windows API calls and services also are not emulated, but rather substituted with Linux equivalents that are compiled for x86 and run at full, native speed.
Supported Windows Versions
Windows 3.1 is supported
Most applications executions can be done in the 32bit or 64bit backward compatibility mode.
64bit or 32bit applications
32bit applications are supported although wine can also run 64bit machines
.NET applications
In the recent wine update .net applications are supported

How to run wine

How to run Wine
Usage: wine PROGRAM [ARGUMENTS...] Run the specified program
wine --help Display this help and exit
wine --version Output version information and exit
The first argument should be the name of the file you want wine to execute. If the executable is in the Path
environment variable, you can simply give the executable file name. However, if the executable is not in Path, you
must give the full path to the executable. For example, given a Path of the following:
You could run the file c:\windows\system\foo.exe with:
$ wine foo.exe

Issues that need to be resolved

  • Missing dll’s
  • Windows Registry
  • Windows Drivers


Some of the other benefits Wine can provide over Windows:
•Possible to take advantage of Unix strong points such as stability, flexibility, remote administration while still using the Windows applications you depend on.
•Unix has always made it possible to write powerful scripts. Wine makes it possible to call Windows applications from scripts that can also leverage the Unix environment to its full extent.
•Wine makes it possible to access Windows applications remotely, even if they are a few thousand miles away.
•Wine makes it economical to use thin clients: simply install Wine on a Linux server, and you can access these Windows applications from any X terminal.
•Wine can also be used to make existing Windows applications available on the Web by using VNC and its Java client.
•Wine is Open Source Software, so can be extended it to suit your needs. The code can be fixed after issues are found that prevent the use of windows application.

Open Issues

 The Windows Genuine Advantage system checks for existence of Wine registry keys. Hence executing Microsoft product may not be possible. Custom built software and compiled products that are not commercial product but applications should be possible to run under the wine environment.
2.       Windows update is not supported. Hence updates to packages , bug fixes and security update are not supported.



Hence its possible to reduce cost for applications to be run on Unix with certain restrictions refer to link here

Saturday, July 28, 2012

Why Translate?

What is the language translation market?
On Internet and desktop PC's and mobile devices English is the primary language used worldwide and hence majority content and software is developed in that language. Supporting multiple languages is essentially a costly activity with rewards only as per demand. It is done for most global software otherwise its "English only".

To add, to an interesting insight is made available by Internet World Stats's pages: Up-to-Date Internet World Stats  Specifically checkout the "Internet Penetration" a benchmark ratio between the sum of Internet users speaking a language and the total population estimate that speaks that specific language.

Check the page here: Worldwide its at 30 percent. What this means is 70% are non english users using the internet who do not speak that language. To take an example of India - although majority of education is in English the spoken language is different. Infact in India, Hindi is official language so most of the users may be of that category (in 70%).  

Language Easiness
For most users who know English, even though they do not speak english language would be "comfortable" with using the english language internet. But some rural population (less education) could have "difficulty" in "understanding" because the basic education is not in English. Particularly in non-metro cities (tier 2, 3) getting on the internet for information/knowledge and sharing may not be that productive.

What should be done?
Well its imperative that these users "learn" English so they can understand. That is definately good and the general trend. Having said that globally there are users who would'nt want to "use" English for own reasons and these could be "sensitive" in nature too. Let's discuss what are the solutions available for these users.

What are the tools?
For all small text translation needs its Bing and Google. Some other tools are here. 

Websites, Applications and Data
When there is a need and demand for global users Software Developers take "Globalization and Localization of Applications" methodology and though its time consuming and complicated its obviously the better route. 

Methods for types-of-applications are mainly two main routes:
Java Applications  - Uses resource strings for each language supported
Database Applications - Uses a database column for each language for each of the application text.

Websites - Automatic language translators that translate all content to any language are now available.

A detailed set of activities are documented here.

Data Input
The Unicode Consortium enables data to be represented as a number so all alphabets from all languages can be represented as computer data and also easier translatable display. "Input Keyboard" - this is solved by installing appropriate language Font and keyboard layout. An example can be found here.

Depending on the user need and application today its possible to provide an appropriate solution so as to get benefitted from desired language and the "translation" is solved!

Disclaimer:Opinons expressed in this article are my own. Website links are not owned by me and are owned by respective owners.

Sunday, September 4, 2011

My takeaway from Cloudcamp

I had a chance to attend a cloud conference recently and have some updates to share. Not that cloud computing is any new term though I wanted to attend from the cloud testing point-of-view and renewing my knowledge.

- The best definition of cloud computing can be found on the NIST website here.
- Attended the conference as an - Unconference sessions - its really an informal way and gives you the idea about what’s missing and what has to be learned as a developer.
- I attended the conference to understand about what skills I should have to be able to successfully test the cloud app, soon realized I am better at the development side due to my technical nature and understanding of tools.
- Cloud apps are highly connected type of apps or “connectedness" is primary characteristics.
- No versioning required for cloud apps since can be updated anytime.
- IT department is gone though system admin has now new set of tasks to perform.
- Amazon cloud service is most widely used though there are other available service.
- Everything is Service-Oriented. There is a service for each task and your application should start using/implementing these services to be able to deploy on cloud. Integration service will be an important service. A typical type of app consists of Marketing, Sales and Service integration is thus critical.
- All conference speakers were very confident of future quoting that its a $70b market by 2015.
- Application characteristics for which cloud apps are suitable are primarily defined by traffic. There are many other parameters to consider.
- Load and performance testing tools are required to gauge the performance and whether website application meets performance expectation. Mobile application on popular platforms is also usually developed simultaneously.
- Cloud apps are more suitable for social apps but there is no such rule as to what application can be developed. There is evaluation criteria.
- To consider if an app can be considered for deployment as a cloud app here are the following needs:
o Company infrastructure
o Application requirements
o Storage requirements
o Application options
o Vender slection
o Third party integration
o Usage requirements
o Security requirements
- Once you have a web app design ready answer the question whether:
o A SAAS solution
o Public or private cloud
o Cloud storage
o No cloud
on the checklist based on nature of application to decide for cloud application.
- Apps can be tested using Winrunner and jmeter scripts are supported.
- Cloud apps are required to be scalable, measurable, on – demand and self-service based.
- The type of tools available are for development community, Cloud management, Dataprocessing pre-packaged apps, plug-ins to fascilitate development as per the requirements.
- Popular tools are: StreamBase for event processing, Cloud Management:Cloudkick, Rightscale, Kaavo, enStratus. Data processing and BI: Cloudera, Greenplum, Good data, Zoho Reports, Hadoop, ScaleDB etc.. Reason for this discussion is once a tool is selected there is a lock-in, unless a abstraction layer in the code takes care of these issues.
Definitively wikipedia page is exhaustive source for Cloud Computing and lot more to learn in particular hands-on lab.