All posts by Neil Harwani

Interested in movies, music, history, computer science, software, engineering, management and technology

Security tips for Google Drive & Android

Google Drive:

  • Open Google Drive on web based browser like Chrome
  • On each of the folders if you see a person symbol it’s shared, if you don’t see the symbol its not shared
  • For each folder -> click SHARE -> Advanced -> Check which user has view rights and which user has edit rights -> Disable options to download, print, and copy for commenters and viewers -> Prevent editors from changing access and adding new people.
  • For each folder -> click SHARE -> Advanced -> SHARE SETTINGS -> Change -> Check settings there are 4 to 5 options
  • Note -> Even if your folder is not shared, files inside it can be in shared mode – This seems to be a big missing feature in Google Drive. There is no clear way to check this in one go for all files and we individually need to check each file. Workaround: Write Java code using Google Developers API to check this: https://developers.google.com/drive/

Android security settings to explore:

  • Emergency info – Settings -> Users -> Emergency info -> INFO & CONTACT – Note: Can be seen on locked screen
  • Settings -> Security -> Screen Lock
  • Encryption ON – at-least Android 6 required, by default it’s on from 6/7 onward – Settings -> Security
  • Settings -> Security -> Screen Lock -> Gear button -> Lock message
  • Security -> Install from unknown locations -> Should be OFF
  • Settings -> Users -> Guest user -> Turn on phone calls -> OFF
  • Settings -> Users -> Add users while screen is locked -> OFF
  • Settings -> Security -> Make password visible -> OFF
  • Settings -> Security -> Set up SIM card lock

How to build a lean startup in a Tier 2 or 3 city in India ? – Part 1

If you are exploring an option to start an IT / Digital startup in a Tier 2 or 3 city in India and are searching for some advice on how to do that in a lean, cost controlled way – here is some help:

  1. Register your company preferably in one of the three modes: Limited Liability Partnership, One Person Company OR Private Limited. There is a 4th option of proprietorship as well which is the easiest with less compliance requirements but with some other disadvantages. Select the one which suits your revenue, risks, appetite, customers and few other factors like in which line of business you are. You will need help of a CA and lawyer. Should include GST registration, Udyog Aadhaar, etc. Typical cost – Up to Rs. 20,000 plus invested amount for paid up capital – one time cost.
  2. You will need a business plan to chart out your path for at-least 1 to 2 years in the future. What will you offer: Products / Services / Or a mix of both? Where will you get the revenue from? Where will the funding come from? Who all will be your customers? What is the geography you will serve? Who will be your partners in management team? What partnerships in software / hardware with various companies do you need to have? How will you market & sell? What are the things you will outsource vs. do in-house? Where will the growth come from? Where are the future opportunities in the business space you want to serve? These are some basic questions that need to be answered in the business plan.
  3. Build your website preferably by investing time and taking help of another IT startup or SME. If you have the skills you can build it on your own. Typical cost for hosting & website, emails, some tools, cloud applications like project / requirement / salary management, storage, collaboration, CRM, etc. – up to Rs. 50,000 to 70,000 per year depending on what options, products, etc. you select.
  4. Register your Trade Mark. Typical cost – Rs. 10,000 to Rs. 50,000 depending on what all classes you file in and what are the further steps / objections. Once in 10 years.
  5. You will incur expense on office like properly lease, electricity & salaries along with maintenance of current account, debit cards, internet banking, etc. – Depends on the city and location along with employee strength – Typically Rs. 75,000 to 200,000 per month for 3 to 5 employee company in Tier 2 & 3 cities.
  6. You will need to meet legal & compliance requirements for filing taxes, annual meetings, audit, lawyer, etc. via a Chartered Accountant – Rs. 40,000 per year.
  7. Digital marketing & sales activities will be required to be done regularly. Here are some major ones: Advertisements on Google AdWords, Promotions on Facebook, Twitter, LinkedIn, etc. – Typically Rs. 50,000 to 75,000 per year.
  8. You will need to maintain Internet, computers and other associated administrative activities. Expenses – Rs. 20,000 per month.
  9. Setup and regular filing / maintenance for EPF / EPS, Employee medical / life / accident / professional liability insurance will need to be done. Related expenses – Depends on the size of your firm and revenue. But a reasonable amount for a small company of 10 employees is about Rs. 15,000 to 25,000 per month. Some of these are optional depending on the size of your company.

My suggestion is to go with a Tier 2 or 3 city as your base and use digital medium to offer your services along with usage of online products on taxation, legal, compliance, audit, salaries, collaboration, sales, marketing, etc. to manage your company as much as possible with as small a footprint as possible in physical world to start your venture.

You can save a lot on office lease, physical sales & meetings, fuel, meeting customers, collaboration and managing data if you go digital.

Reach out to me for any discussions, help, suggestions on building a lean and low cost startup. Good luck ! !

Skills required for working as a Solution Architect

  • High level Architecture understanding about Clustering of Databases / Applications Servers / Operating Systems, Enterprise Architecture, Non Functional Requirements, Integrations, Various Enterprise Software Products & Frameworks
  • Concepts of Virtualization and Cloud platforms like AWS, Azure & Google Cloud
  • Integration – Tools, Frameworks & Products that can be used like ESB, Web-Services, etc.
  • Latest trends around Big Data, NoSQL, React, Mobility, Portals, ERP, Cloud, Search, Scanning, Analytics, Networking, etc.
  • Reading list of websites for updating oneself on various domains, trends & technologies
  • Documents, spreadsheets & presentations – Skills with MS-Word, MS-Excel, MS-PPT, Google Docs, HTML, Visio, Free / Open Source / Cloud based Enterprise Architecture & Digital Marketing Tools & MS Paint, etc.
  • Programming skills in at-least one front line full application programming language like Java, VB.Net, C#, etc. as a minimum & concepts of digital electronics & microprocessors
  • Database, Encryption & Computer Networking skills including SQL, PL/SQL, Indexing, Triggers, Procedures, TCP/IP, UDP, IPv6/4, SSL/HTTPS, Types of encryption, etc.
  • Basics of how to create requirement documents, proposals, estimations & statement of works
  • Soft skills for working & collaborating with various stakeholders from Top Management, HR, Finance, Legal, Operations to developer level and customers
  • Reporting skills around creation of document, status updates, etc.
  • Project Management & Testing overview, Tools, Processes & Products used for the same
  • Overview of Quality Frameworks like CMMi, ISO, etc.
  • Ability to learn things quickly, present them in concise, customer friendly ways & networking skills to support Sales & Project Managers
  • Basic understanding of RFP / RFI / RFQ & Consulting process

Part 1 for this here: What do Presales Consultants / Solution Architects do ?

General Data Protection Regulation (GDPR) – Layman’s Introduction

  • Data of any EU citizen / entity cannot be shared without explicit consent. Terms & Conditions / Privacy checkbox doesn’t suitably give consent as per this law. Explicit consent is required
  • Records of when consent was given, how, what time, when revoked, etc. must be stored
  • Any breach of data or hacking must be informed to the stakeholders within 72 hours
  • It applies to whole of EU
  • Consent can be withdrawn anytime & when they want, and data processor / controller must comply
  • There is an option for right to be forgotten. If someone says to a data processor / controller that “FORGET ME” they must remove all data on them. It applies to all places which store & process / control the relevant data
  • GDPR applies to Production environment of Digital Systems which have data on EU citizens or entities. If Test / Pre-Production environment has unmasked data of EU citizens / entities again this law applies
  • https://www.zdnet.com/article/gdpr-an-executive-guide-to-what-you-need-to-know/ 

What should managers be doing in IT industry – Part 1

There are many things that senior engineers and managers do well in IT industry among which few are listed below:

  • Architecture
  • Presales
  • Solutioning
  • Debugging and solving problems
  • Exploring new technologies around the areas they have learned in the past
  • Analysis of scenarios
  • Product Management
  • Project Management
  • Setting up processes
  • Team Management
  • Digital Marketing & Sales

Some things that they don’t do well:

  • Put in long hours in support & maintenance
  • Explore completely new areas in which they have not worked before
  • Testing
  • Programming
  • Learning new trends and technologies

If you are born in 1980s or before, you would have become a manager in IT industry by now. In this case, at times many stop updating themselves.

Below are some pointers on how to update oneself and rebuild your career:

  • Instead of only reading about domains and technologies, experiment with software practically
  • Setup a small consulting / teaching / area specific business where you have passion, create a website, host some parts on traditional shared servers and some on AWS / Azure / etc.
  • Do some freelancing on the sides
  • Meet startups, founders, discuss their problems and offer free consulting hours to solve their issues
  • Network with local young IT professionals and see the latest apps and trends
  • Attend various MeetUps in your area
  • Pick up a new programming language and product
  • Try out Linux and other open source projects from SourceForge, GitHub, Apache Foundation, etc.
  • Take up courses from Coursera, edX, Udemy and similar portals
  • Go for further education in part time, online or distance mode – courses like MBA, MCA, Executive MBA, MSc, MS online from Universities across the world, MTech, PhD, etc. which can be done with your job
  • Follow industry professionals in upcoming technologies and domains on LinkedIn, Twitter and Facebook or other social media platforms to get updates

Unless one keeps up with the times they risk becoming obsolete !!

Advantages & Disadvantages of Crypto-Currencies

List of some of the major Crypto-Currencies as of now:

  • Bitcoin
  • Ripple
  • Ethereum
  • Litecoin
  • Zcash
  • Dash
  • Monero
  • More are on the way

Advantages of Crypto-Currencies:

  • Decentralized
  • Digital
  • Easy access
  • Traded on exchanges
  • Block-chain or similar modern database & protocol based non modifiable ledger of transactions
  • Immediate settlement and difficult to reverse / refuse payment
  • Lower fees
  • Difficult to do identity theft for conducting fraudulent transactions

Disadvantages of Crypto-Currencies:

  • Less or no regulation
  • No or less audits of exchanges where they trade
  • Price discovery does not follow standard financial rules
  • Mining is ad-hoc and affects money supply
  • Difficulty in reversal of payments in case of mistakes
  • Price volatility
  • Less clarity on taxation in some countries
  • Anonymity
  • Cutting edge technology which is yet to stabilize
  • Functionally features are complex for layman to understand

Information security tips while working with digital sources and internet

  • Setup OTP and recovery emails for all your accounts
  • Check permissions that various apps have on your phone
  • When you get an option – TRUST THIS DEVICE in Gmail or similar accounts, only select this option on your personal devices not public devices
  • Keep your desktop, laptop & mobiles password protected & encrypted if possible
  • Use standard Anti-Virus like McAfee, Windows Defender, Symantec, Norton, etc. Note: Android phones also have anti-virus
  • Explore and use a good VPN service
  • Go to your ACCOUNT settings regularly in Linkedin, Facebook, Gmail, etc. and see the logged in sessions (Who is using your account) and check which apps are integrated with your account, what information they are taking out – typically they take your friend’s list / relatives, age, email, phone number, etc.
  • Learn to backup your data in Cloud or external Hard Disk or both
  • Setup locate your phone, remote wipe, virus scan, link check, capture pic on wrong password attempts, etc. especially on Android via Anti-Virus or other means.
  • Update your devices across laptop, desktop and mobiles regularly using the official update process
  • Do not root your mobile devices
  • In Android don’t switch on the feature to TRUST UNKNOWN APPS to install APKs. Always install APPs from Android Play Store and Apple App Store only
  • Keep Bluetooth, WIFI, NFC off when not in use
  • When you leave your home switch off your WIFI
  • Change your passwords of WIFI, emails, accounts once in 6 months at-least. Your WIFI at home via router should be on encrypted network not non-encrypted, check the ADMIN page. Change the ADMIN password of your router at home, mostly many don’t change the username/password from admin/admin which is an easy entry point for wrong use. Update your router software also regularly via the official update option
  • For storing your passwords either use a diary / notebook OR there are encrypted software like password managers / wallets which store your passwords safely as an APP in your mobile – use them. See their ratings in PLAY STORE / APP STORE and then install or use. Don’t store passwords in plain text on computer or mobile.
  • Don’t keep same passwords across all your accounts – if you do so and one gets compromised all others get compromised

What do Presales Consultants / Solution Architects do ? – Part 1

All software projects and software product development goes through a cycle whether in AGILE / WATERFALL / ITERATIVE / HYBRID AGILE / DEVOPS / etc. where requirements are discussed, finalized or atleast finalized at a high level with prospects / customers – internal or external, post which project Statement of Work is created / signed or product backlog is created, agreed and work on software / product development starts.

Presales Consultants OR Solution Architects typically work on below items:

  • Responding to Request for Proposals / Request for Information / Request for Quote by building proposals which cater to various sections like compliance, terms and conditions, pricing, milestones, requirements, architecture, etc.
  • Finding the fitment of the prospect’s work in terms of organizational / technology / domain / process / quality / etc. with company and providing input for continuing the work of the prospect or not
  • Finalize or participate in high level solution and architecture design
  • Take decisions or participate in the same for areas like open source vs. proprietary or mixed
  • Conduct demos of earlier projects done / products built / solutions
  • Build pricing models for the project and milestones
  • Estimate or participate in estimation discussions
  • Conduct user / customer interviews as a business analyst or tester
  • Build proof of concepts / technology or functional demostrators
  • Participate in consulting assignments as a facilitator for architects and / or build the high level direction of the assignment or solution
  • Participate in or present the solutions / products to clients
  • Stay updated with trends in technology / domain, news, happenings in IT industry and overall in the organization which they represent so as to right fit the solution to the customer’s needs based on what’s available and possible
  • Build case studies, proposal and estimation repository, create white papers / presentations, processes for responding to client requests, list of standard questionnaires and their answers, etc.
  • Understand and study competitors, document the same
  • Build or participate in building best practices across technology, domain, process and quality
  • Create statement of work, proposals, quotes, approach documents, presentations, minutes of meetings and other artifacts that act as base documents for a sales discussion from back-end sales support side
  • Provide inputs to sales, marketing, delivery, testing, finance, HR, etc. and others as required based on the trends and customer knowledge that they acquire from industry / customer interactions
  • Hand over signed contracts and statement of works to the software delivery team via a hand over to start development or activities required before that and transfer understanding of customer expectations
  • Monitor the project along with project manager at high level for cost, architecture, technology, domain and duration, then participate in testing to ensure that product or project is on right track

Above was Part – 1 on details of what a Presales Consultant or a Solution Architect does. Moving forward I will post more details on the whole Presales and Solutioning life cycle

BPM (Business Process Management) and trends

Business process management from 1990s / 2000s in simplest terms is a set of activities (automated or manual) with breaks for events and interactions with external systems / human beings along with notifications / rules / filters / etc. Traditional BPM / Workflows included manual and automated tasks, integrations (mainly offline or asynchronous), notifications, auto-escalations, interactions with human beings.

Come to 2017 and we have plethora of new technologies / products in the ecosystem which we can use along with BPM – some are already in use and some will evolve with time.

  1. Real time analytics integration with social media and other areas
  2. IoT integration
  3. Automation, Machine Learning & Artificial intelligence
  4. Collaboration
  5. Omni channel
  6. Cloud
  7. Entity modelling and Decision model & Notation instead of BPMN
  8. Chatbots as entry points
  9. Low code business process management platform
  • Real time analytics – With all of the social media APIs in the market like Twitter / Facebook and so on we can integrate them with BPM as an entry point based on for example for many of the tasks or in other activities in integration. A positive or negative review with specific keywords can for instance trigger a specific part of or the start of workflow. Something similar was done by a bank in India recently where they had twitter based banking
  • Internet of Things has a lot of intelligence built into them from beacons, electronics kits, sensors, biometrics and so on. They could act as augmentation to the normal input provided by other systems and BPM users / admins. For instance based on a specific temperature threshold emergency systems could be activated and series of various fire mitigation steps could be activated
  • Robotic process automation, machine learning and AI have the capability to automate many of the steps of BPM / Workflows. They could for instance automate the under-writing of various insurance policies based on earlier inputs and rules
  • Collaboration and omni channel are buzz words today in marketing and horizontal portals. BPM can potentially now work with multiple channels like smartphones, APPs, SMS, calls, social media, etc. driving more productivity
  • Many companies now offer softwares in cloud as SAAS and workflows too for instance can be hosted in say AWS to connect anywhere, anytime and in multiple ways over internet
  • Entity modelling and Decision model & Notation are two new ways of modelling your workflows and business processes. They are closer to business and non technical users can use them for modelling the processes
  • Chatbots which use Natural language processing to create chats between humans and backend systems could be another potential entry activity for workflows and BPM
  • Lastly low code platforms are getting more traction as we move into world of automation, artificial intelligence and machine learning. With decision model & notation and entity based modelling we are already moving in direction of low code platforms

Blockchain for ECM and Digital Assets

What is ECM ?

Enterprise Content Management is a repository of documents with workflow, scanning, digital rights management, integrations, metadata, web content management and portals weaved around it

What is BlockChain ?

Database mainly used as distributed ledger which does not allow modifications of earlier stored ‘Blocks’ in it and secured by cryptography in a way where earlier blocks’ signature is stored on the next instance resulting in immutability. If any of the earlier blocks are modified it results in a corruption of network majority

What can we do when we merge BlockChain with ECM ?

We have immutable strings in Java, we have immutable objects in programming. But to maintain immutability in Enterprise Content Management, Document Management and Digital Assets we go upto great lengths to have hashing, signatures, complex repository engines, MD5s and so on.

One thing that could help us is BlockChain. People have already started speaking of building custom ECM engines using open source products from NoSQL and Portal domain. If we add a BlockChain database to this mix, we get a serious contender for a new type of ECM repository – one that does not need complex repository logic or probably simplifies it.

Use cases:

  1. ECM – We can take a NoSQL database, Blockchain and a horizontal portal. Portal works for the workflow, presentation, rules, etc. NoSQL for the metadata and BlockChain for integrity of the repository assets like documents.
  2. Digital assets repository – All the signatures of the various repository assets in an enterprise could be stored in the BlockChain which can verify assets’ integrity just like what MD5 does

Its worth exploring. BlockChain can be so much more than just transactions’ integrity management.