Responses to my LinkedIn post on #banking clearly shows that I am not the only one feeling this. Let me add the next chapter to the banking saga. Retail banks are in the business of accepting deposits and lending money. Due to historical reasons, such as redeployment of, operational costs and others, when you want to exit a long term commitment with the bank there is a penalty applied. Whether it is to break a fixed deposit or prepay a loan.
git clone git:… git add path/to/new_file git commit -a git pull git push # Showing branches. git branch -a gitk –all # Checking out branches. git checkout some_branch # Creating and pushing a new branch. git checkout -b new_branch_name git push -u origin new_branch_name # Checking out an existing branch. git checkout -b some_branch origin/some_branch # Merging a branch into your current branch. git pull origin some_branch
This post was first published on my corporate blog https://www.yash.com/blog/volcker-2-0-open-new-doors-for-banks/ The implementation of the new Volcker Rule has proven to be one of the most controversial and complex regulatory regimes to be introduced in the financial services industry in a long time. Now that the Volcker Rule 2.0 overhaul has received the final approval from the Federal Reserve and other regulatory agencies, financial firms will need to make necessary investments in technology infrastructure to comply with exhaustive reporting and monitoring requirements.
The combination of an evolving regulatory roadmap for the financial sector and the effects of modern technological developments have altered the way customers interact with banks and the services that they expect. Overall, this is a positive trend for the development of financial institutions in the digital age. However, consumers can find banking disputes to be a cause of frustration and inconvenience. As card transaction volume increases, so have the number of dispute-led transactions (as well as incidents of fraud), putting enormous stress on the operating backend systems and millions in cost.
This post was first published on my corporate blog https://www.yash.com/blog/mortgage-lending-with-urla-and-ai/ Financial institutions have a wealth of information available to them from consumers. Due to manual and antiquated models, residential lending processes so far have had several negative experiences for both the lender and the borrower. Banks are plagued with application limitations, transaction complexities and data collection and processing challenges. The ‘one-size-fits-all’ loan application simply does not work anymore. The newly implemented and redesigned URLA (Uniform Residential Loan Application), aims to simplify, organize and streamline the entire consumer journey – from loan request, to the underwriting and approval process.
This post was first published on my corporate blog https://www.yash.com/blog/iso20022-for-digital-payments/ The timeline for the migration to ISO 20022 has been decided, and the step could prove to be a quantum leap into the future of payment processing. Adoptions will need to begin in all financial institutions by November 2021 and completed by 2025. Ever since the launch of the Single Euro Payments Area (SEPA) almost 10 years ago, ISO 20022 is the opportunity for organizations to be able to meet the ever-increasing demand for service speed, efficient automation, and a richer quality of data.
This post was first published on my corporate blog https://www.yash.com/blog/differences-between-gdpr-and-other-data-protection/ The EU adopted a newly harmonized data protection law called the General Data Protection Regulation (GDPR) during May 2016. As of May 25, 2018, the GDPR will be a directly applicable law in all member states within the EU and the European Economic Area (EEA). While the GDPR does not introduce many substantially new concepts, it increases the compliance requirements of data controllers and personal data processors.
This post was first published on my corporate blog https://www.yash.com/blog/everything-you-need-to-know-about-gdpr/ With the help of advanced business analytics and AI, companies are using the power of data to its best use. But what is this data? It comprises of personal details of citizens of the European Union (EU). Therefore, it is imperative to act according to a set standard of consumer rights in order to protect the data from being misused.
Proof of what exactly? For any technology adoption, a proof of concept is the usual approach to evaluate the usefulness and effectiveness of the technology. Howeve, RPA is a different animal altogether. The usual proof of concept does not work because it’s not even clear what is being proven. The unknowns in any RPA roll-out Ease of use of the RPA tool? Does it work with the applications that need to be automated?
Look at any sales or marketing pitch around Robotic Process Automation and you’ll see these statements repeated in some form or other. 50-80% reduction in cost. It’s easy to get started. No special skills needed. Even the process executive can ‘train’ the bot By extension, this is not coding and doesn’t need formal processes/change management RPA can automate (almost) any manual process However the truth is not as rosy as projected.
At my last company, while optimizing the business processes, I had a ringside view of robotic process automation (RPA) in action. We used to work closely with the RPA team and identify process steps that are good RPA candidates and help build a business case for the automation. In my current role, I’ve jumped into the ring and now delivering RPA solutions to our customers. I’ve started this blog to document and share my experiences around robotic process automation.
TCS’s Santhanam brushes aside the fears of robots taking over jobs, dubbing them an “exaggeration.” It is merely the next level after the past few decades of digitisation. I agree with him. Read more at https://qz.com/1000424/tcs-is-quietly-transforming-itself-to-take-on-indias-emerging-it-scene/
Admin + Vendor Management + Accounts + Sys Admin + Customer Support + HR + Trainer + Product Manager + Project Manager + Architect + Full Stack Developer = Full Stack CTO
INSORCE is built on a combination of technologies that are considered safe by bank’s for their data center, yet cutting edge to deliver performance that is superior to a desktop application. We are building on Microsoft stack for 2 reasons Banks find it easy to deploy and manage Availability of competent professionals The key parts of INSORCE are: ASP.Net MVC, where the views are mostly returning JSON results.
It’s a log of my experiences being a technical co-founder at INSORCE. Its here that I realized that being a CTO at a start-up is much more than either the traditional role of a CTO or that of a full stack developer or lead programmer. Therefore I coined the term Full Stack CTO to describe what the role entails. A traditional CTO will focus on the defining, communicating and managing the execution of the technical strategy of the organisation.
Get started… Those were my thoughts when I took up the challenge of building Maven (then known as Project Andromeda). There were so many reasons not to do it, unfinished and continuously evolving specs, unknown complexity, several dependencies, no development team in place, no clear target user, unproven market, extremely aggressive deadlines, fear of running out of money etc. But there was one important reason to do it: it hasn’t been done before.
It is the process of observing people to discover their needs, goals, and values. Although the course if about “Human Computer Interaction”, the process of need finding is relevant to developing new products or even new businesses. A good starting point for any new product is to clearly identify an existing problem or need. That’s because finding a big problem and need often yields important untapped opportunities. Observing people also helps build empathy and think from their point of view.
I started Sangeet Planner based on bottle.py micro framework, which allowed for rapid prototyping. Soon I hit some problems with the plug-ins (lack of them) as well as issue supporting multiple plugins. Hence I decided to move over to Flask, which has a much bigger ecosystem. Below are the steps I took to convert most of the application to Flask. Fix the imports Use these imports: from flask import Flask, render_template as template, request, make_response, jsonify, abort from flask.
I needed a library which could stem Hindi words written in roman script (transliterated), but could not find one. My search took me to Lucene’s HindiStemmer, which in turn led me to the paper by Ananthakrishnan Ramanathan and Durgesh D Rao: A Lightweight Stemmer for Hindi [PDF]. It was a good initiation to how some simple rules could stem most Hindi words. The problem was, it was for words written in Devanagari script not Roman.
Logistic regression is used to classify things into positive case or negative case. It is a special case of linear regression which outputs value between 0 and 1, which denote the probability or the likelihood of the given sample being positive. For e.g. what is the probability of the given email being a spam? We can then predict a positive case if the hypothesis outputs a value above a certain threshold, which normally is 0.
Linear regression is a fancy name to a simple technique. This algorithm (model) predicts the most likely result (y) given the input features (x). To be able to predict, the model needs (lots of) historical data with the correct output (thus it is supervised learning). This model finds weights (θ) to be assigned to each feature, such that sum of the weighted features is closest to the given answer y.
I recently finished the machine learning class offered online by Stanford. It was a great experience. Since I would not be using ML any time soon, I plan to make a few blog posts to capture my learning while they are still current. This should help me recollect the concepts on a later date. If someone finds these notes useful, that is an added benefit. Machine learning Arthur Samuel (1959): Field of study that gives computers the ability to learn without being explicitly programmed.
In-house frameworks The very mention of this word brings out different memories and emotions for different people. More so if is a framework for be used within a large company, by a completely different team than the one writing it. To make sure that the next time you hear this word, you have positive memories; use the evaluation sheet below, before adopting the framework. If you are the one writing the framework, make sure you have good answers to these.
I wrote the Stack Monthly site on the one file Bottle framework, since my needs were really bare bones. But when I tried to get it running on Dreamhost, I had to struggle quite a lot, because there was no documentation to show how to do it. Only past midnight, did it dawn on me that there is no documentation, because it is so darn simple! So as a note to self, and to save someone an hour or two, here’s how to run a Bottle app on Dreamhost.
where dead technologies go Some photos taken at the Technology Museum in Munich. The ENIGMA One of the first crypto machine. An Enigma machine is any of a family of related electro-mechanical rotor machines used for the encryption and decryption of secret messages. The first Enigma was invented by German engineer Arthur Scherbius at the end of World War I. This model and its variants were used commercially from the early 1920s, and adopted by military and government services of several countries - most notably by Nazi Germany before and during World War II.
Multi-threaded Java practitioners know about the indispensible ways to taking thread dumps to see a snapshot of what’s happening in the JVM, and resolve ‘hang’ issues. There are plethora of options, ranging from simple command line tools and utilities to nice GUI applications to writing some code in your application. A sampling of such options: Stack trace in Java Command Line If the application is running as a console application, you can try one of these:
Why Clone In this world of concurrent, multi-threaded programming, functional style of programming makes more sense. And one of the key tenets of functional programming is immutability. Even in OO languages, a few benefits of FP can be derived if the objects are made immutable. Clone gone wrong We follow a similar approach in our application. But this is not always possible, especially the mutable by default approach of Java. To overcome this, we pass around clones of instances, instead of the instance itself.
Quick note to self, to save some searching next time. Microsoft LifeCam VX-1000 does not quite work on Ubuntu and even worse with Skype. To get video working on Skype, start it as : env LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype And to get the microphone working, run this in a terminal sudo rmmod gspca_sonixj sudo modprobe gspca_sonixj
Recently I had a good discussion on twitter about the different methodology out there and their relevance. Although I agree with @ravi_mohan in a broader sense of not following blindly and not being a process fanatic or slave, I do not think he was quite right in dismissing all methodologies as fraud meant for idiots. Since I found twitter a very limiting medium to discuss the nuances, I would rather blog about it.
The last two weeks, I have been researching options for processing free text. I think I have explored the entire spectrum of possibilities. Below are some notes that I can revisit in a few months and not spend the same effort again. Background I was looking at a way to process auto-generated tweets, like the ones on http://twitter.com/moneyvidya_com. Some sample tweets: #moneyvidya arunthestocksguru (5 Star rated) says Buy Vijay Shanthi Builders - 6m (Monday 29 March 2010 @ 09:55 … http://bit.
and pencil for jotting ideas [caption id="" align=“alignnone” width=“500” caption=“Try that electronically!"][/caption] A quick list of advantages of the good old way of taking notes: When ideas flow, only pencil can keep up with their speed. Doodling actually helps with the idea flow. Ideas are random, typing is linear. You can get away with drawing something on paper to depict a long sentence. Doing the same on a computer will mean sidetracking into finding a clipart.
One thing that is clear from the feedback on my previous article on hidden Windows 7 features: we love our keyboard shortcuts. So here are a few more selected shortcuts. Press this key To do this Desktop Shortcuts Open or close the Start menu. + R Open the Run dialog box. + D Display the desktop.
[caption id="" align=“alignright” width=“316” caption=“joysaphine @ flickr”][/caption] If you have ever worked on a multi-threaded application or even any application of significant scope, one of the unwritten requirement is a log file that helps in supporting the application. The challenge is to be able to piece together all the scattered log entries that belong together, may be as a single transaction, or a user’s session. So the goal is to have a unique identifier in each log entry that will aid greping.
It’s been over 6 months, and Windows 7 still surprises me, pleasantly. The last time I felt the same about Windows was in 1995. Let me share a few things I found, which are generally not discussed. Note: I never used Vista, so if some of these were present in Vista, I wouldn’t know. The Windows Explorer I think the explorer has seen the most refinement, there are nice things in all corners.
Based on my current understanding of Django, this is how a user request is responded to. User requests a page Request reaches Request Middlewares, which could manipulate or answer the request The _URLConf_finds the related View using urls.py View Middlewares are called, which could manipulate or answer the request The view function is invoked The view could optionally access data through models
Spent the last week picking up Python and Django. Notes to self and anyone else who wants a quick start on Python/Django on Windows. Most Linux flavours already come with most tools needed for python development. Requirements: Installed ActivePython 2.6 Installed Komodo Edit Installed Python Win32 Extensions (not sure why, but was recommended in some blog post and the project itself does not say much of what it does. Stuff like this gives me the heebie-jeebies.
Quick tip on installing flash plugin on firefox portable without administrator privileges. Go to %windir%\System32\Macromed\Flash on a system having flash. Copy these 3 files Flashplayer.xpt, NPSWF32.dll & NPSWF32_FlashUtil.exe and paste them in FirefoxPortable\Data\plugins directory
While analysing my visitor logs, I noticed several people come here looking for a way to install Skype on an EeePC running Ubuntu Netbook Remix. So here it is. Step 1. Download the skype installer. The package for Ubuntu 8.10 works well on 9.10 as well. Step 2. When download completes, double click to run the deb file. This will launch the package installer. Step 3. Click the “Install package” button.
Yesterday, I spent a few hours optimizing the home page of one of the most sought after colleges in India (most of my readers are alumni of that college). The initial home page size was north of 900 kB. When I was done, it was much lighter at ~300 kB. What did I do? I used one of the techniques that are not even talked these days, because it is considered obvious.
This is an experimental post. If it doesn’t render correctly, leave a comment. I was brainstorming on the skills a software developer does not learn at school, which are essential for work and some which are needed for career growth. Below is an embedded mind map, followed by an embedded public wave. Please feel free to contribute to the wave. If you do not have a wave account, here is the static version.
If you have come here looking for a way to install Skype, visit this post instead. By sheer coincidence, I got my hands on an Asus EeePC just in time for the Ubuntu 9.10 release. Given the state of Windows XP on it, I was left with no option but to do a clean install of UNR. Before The netbook was virus infected and was crashing as soon as it booted.
Update: Paul reached out and clarified the problem. So the rest of the post is not relevant any more. Did not want to post a rant, especially when I haven’t yet crystallized my thoughts. Background: My previous post was about a project I came across - hornget. I wanted to help because I liked their ideas. I offered to manage the SupportedPackages page for them by automating the process. Or to share the script for the same.
I recently stumbled across Hornget, which plans to be the maven of .NET world. I found their design philosophy interesting, but haven’t yet got a chance to evaluate the project itself. But what I liked is they have cherry picked very good .NET software building blocks. Here is a list of projects supported by hornget. Even if you do not end up using hornget, this can still act as a good reference.
I am reposting this from my, now dead, blog. Hopefully this time I will be able to finish the series. Note: This is not targeted at seasoned professionals who would find most of the stuff mentioned here very basic. Instead this is for beginners who unfortunately do not have good mentors. Know your tools To start of there is nothing more important than knowing all the capabilities of your tools, be it an IDE, a report generator, database, text editor or the operating system itself.
Unlike what I mentioned in my previous post, I ended up trying Boo first. I will delve on the reason in another post. The objective of this post is to document the problems I had getting used to Boo syntax. None of the problems were big, just some missing punctuations :) And I did not face any issues with the significant space. Empty array vs. Empty list An empty list is
It is becoming more and more obvious that there are just two runtimes left to execute code, the Java Virtual Machine (JVM) and the Common Language Infrastructure (CLI). So, I decided to see how they stack up. Looks like both environments have something for everyone. Here is a list of programming languages available on these runtimes. Can run on CLI using IKVM.NET Can run on JVM using Mainsoft solution Not yet usable Can run on CLR, but is behind the JVM implementation The main reason for the research was to identify a new language I should pick-up.
Trying the new P2 theme for Wordpress Update: rolling back to Hybrid. P2 looks too bland for my tastes. If I want a twitter like system, I will use Twitter :)
Well, I don’t need to beat the dead horse about why one needs to backup data. But with the explosion of digital assets, it is all the more important. What are my digital assets? The largest, of course, are photographs. Apart from these, I have a fair smattering of music, code, documents and others. How do I back them up? Currently, photos are backed up on DVD and in the cloud (picasaweb).
[caption id="" align=“alignright” width=“297” caption=“Software Developement is not a game of Janga”][/caption] I spent last two weeks deep diving into code written by our contractors and writing some test against the same. This was a pleasant break from my regular duties of an architect. As an architect I am always trying to ensure the code follows pragmatic design principle and I really dig SOLID and TDD. S.O.L.I.D. (a.k.a. S.O.L.D.I.) The charm of Uncle Bob is, he can give a concrete shape to abstract ideas.
These are some of the better podcasts on the craft of programming. Hansel minutes - pixel8 - What makes great user experiences? - .NET Rocks! - Herding Code - Pragmatic Podcasts - The Thirsty Developer Podcast - Deep Fried Bytes - Elegant Code » CodeCast - The Java Posse - Software Engineering Radio -
Recently, while interviewing a person, I came up with an interesting question. That led to a series of discoveries about the interviewee. So I thought I would share it here. How does xUnit work? ** This one question offered insight into various aspects that I cared about. I steered the discussion until I got the answers to these question, without asking them explicitly. Do you know what unit testing is?
Yesterday I stumbled upon SmallBasic, while looking for something else. It is an interesting little project by Microsoft to create an entry level language to teach programming. It is a mix of toned down BASIC and Logo. Since the language (or is it an application) is still in infancy, version 0.5 released recently, I will try not to be too harsh on it. Sample program with obligatory screenshot Showing Flickr Image 1: url = Flickr.
In my first post, I talked about analysing my interests based on delicious bookmarks. This post is to announce that I have cleaned up the script a bit and posted it on this blog. Try it out. What is delicious trends? It is a simple visualisation of your online taste. All your bookmarks will be plotted on a time line, helping you to see how your interests evolved over time.
Spent the last couple of days looking at Javafx, Sun’s response to Silverlight and Flex. It is an interesting mix of ideas. Clearly inspired by dynamic languages as well as Silverlight. Maybe Flex as well, but I couldn’t tell as I have not tried Flex. Things I liked: Type inference: Could have been better, but I will take this any day over the verbose Java alternate Binding: In fact this is a great thing.
Did my very first podcast with a group of friends. You can read more and comment about it at the techno-cast site. [ Download podcast MP3 ] Quote from techno-cast site: Is it a brave new step to boldly go where no web giant has gone before, or merely a mashup of pre-existing tools? An attempt to capture some enterprise market share or to fundamentally change the way the Internet works?
Hi, this is Hitesh. I am here to talk about stuff I like. How do I know what I like? Well I asked myself the same question and like any true geek looked at the data at hand to decide. So I analysed my bookmarks at delicious and the three areas that interest me way beyond others are programming, education and entrepreneurship. Thus the focus of this blog will remain these three areas of my interest.