To answer that question in a nutshell – Somewhat Painfully
I manage an outsourced product design and development company based in India and have had my share of successes and failures in the last 5 years. You would be really surprised that some of our failures were due to mismanagement of expectations and communicating around them. The failures helped us think more from the perspective of our clients(we call them partners) and figure out how should the product development engagements be run effectively.
Arjuna, the third of the Pandava brothers, was the biggest bad-ass archer to walk on the surface of this planet. A mere pulling the string of his bow would make such a deafening roar that his opponents would quiver with fear and wet their pants. Fighting with him meant getting a kiss from death.
But, just like Technical Debt, it happens. You can count on it. And, this is almost always true for a company that has just found its footing and is at an inflection point of shedding its startup clothes to usher into a more serious/structured company.
To reduce the number of processes and free unnecessary occupation of system resources. Achieve parallel processing and optimal system performance without creating too many processes.
In our application (beanstalk based messaging system), whenever a new job (for example a MO or MT processing task) related to a shortcode is received, it is put into a corresponding tube (which is basically a queue). The tube would look like mo-<short-code> or mt-<short-code> (eg, mo-1010). In production, there are 50 short-codes, with 50 tubes for MT tasks and 50 tubes for MO tasks were present. To process each of the tube jobs, we had a dedicated script, which would monitor that tube in the background and if a job came in, the script would process it and free that job from relevant tube.
As per this mechanism, we have more than 150 processes (daemons) that are always running in the background and consuming/holding server resources like mysql (database) connections, bandwidth and memory etc. Another 50 processes exist to monitor schedule of tasks attributed to the shortcodes.
I’m sure all of you must have heard that saying one time or the other. Sometimes it works and sometimes it doesn’t.
It definitely doesn’t work when an application kinda works but has been built on a quagmire. A big ball of mud, you see. It’s a development team’s nightmare to keep the system humming and enhancing it. It’s mentally exhausting for developers to figure out all the impact areas before they add or change a single line of code.
Strongly typed views are very useful in MVC for rendering model data on page and binding the properties with the input fields. Moreover, strongly typed views gives intellisense support, so that we can chose the right property name for the control. No doubt, statically typed languages are of big advantages. But with .NET 4.0, supports have been provided to dynamically define the types. One of the features is ExpandoObject. Through ExpandoObject, we can create an instance at runtime by adding properties to it.
Playing sound on web app is a cool engagement tool, in one of the recent projects we used same. We tried sound testing to see if the speakers on the system on which our web-app is being accessed can work.So I used different jquery plugins(like ion-sound etc) to achieve this but it was not working because of various browser incompatibilities, not all plugins work on all browsers. In the end, we took a call to go back to flash to solving this problem.
Just a hypothesis, what if we are just a computer simulation, just like some huge GTA? What if the so called ‘real world’ is a hoax, a set up? Who would be the creator then? God? God is a programmer? Let’s explore this.
I know you can smell “Matrix” all over the above theory (some influence of Interstellar) but you can start visualizing the world around you in the same way when you read “Zion” and “Shire” as meeting room (background – I work with Quovantis and I have not smoked or listening to EDM while writing this). I am a 22 year simple developer, straight out of college and using my notion of being in this world I am exploring my hypothesis (can you see all the signs around).
In between excels, websites, SEO, asking people to fill spreadsheet and ear blasting music; my playlist changed to Rihanna’s ‘Shine bright like a diamond’ (yeah, rock dude don’t make that face, I know u did jiggy with your gal pal when it was playing) and (taaa tada) I had an epiphany (alas, it should have been alignment then I would have found a cult), here is the sequence of visions which got my thought bulb on:
MongoDB is an open-source document database, and the leading NoSQL database. Using the Azure Management Portal, we can create a virtual machine running CentOS Linux from the image library, than we can install and configure a database MongoDB data on the virtual machine.
We will learn the following:
Select and install 3 CentOS Linux virtual machine from the library using the management portal making two vms as the replica vms.
Connect to the virtual machines using SSH or PuTTY;