Welcome to Unmesh Ballal's Blog
Views expressed on this blog are my own and for informational purposes only. No representations as to accuracy, completeness, currentness, suitability, or validity of any information and will not be liable for any errors or use.
Monday, April 2, 2018
The impractical and impossible dream of Hyperloop
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
- 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
- Area details and customer buying behavior
- Low cost preference and options – based on the purchasing power of the customer
- Actual purchasing trends
* 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
- Adding of products to catalog
- Inventory availability and costs
- New products and availability
- Receiving order and payment as per terms
- Ordering service
- Value add in Store Inventory Management
- Payment gateway - optional
- 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.
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.
The analytics enables solutions for improving productivity. Details would depend on the actual device and what data is made available.
Monday, September 30, 2013
Running Windows applications on Unix
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
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
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 WineIssues that need to be resolved
- Missing dll’s
- Windows Registry
- Windows Drivers
Benefits
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.References
www.winehq.orgConclusion
Saturday, July 28, 2012
Why Translate?
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.
Conclusion
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
- 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 salesforce.com 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.