Sunday, 10 October 2021

The Future of AI

 The Future of AI




To say that Artificial Intelligence is taking the world by storm is an understatement. It's projected to be that all conquering technological advancement in the coming century. Depending on what streams you are employed in this triggers a wide range of emotions ranging from gut wrenching fear to euphoric excitement.

I am more of an observer at this point, interested enough to read more or less anything related to AI that crosses my feed. I satisfy myself with being able to understand that transformers has nothing to do with Autobots and Decepticon and stochastic gradient descent is not a mountaineering technique.

It the last one week I read two articles that for me gave a great perspective on AI as a whole. The first was an article by Rob Toews on Forbes.com. This was about the work of AlphaFold by the DeepMind team in predicting with considerable accuracy how proteins are folded into a 3D architecture. The complexity of proteins are covered in the article but let's just say that the combinations are humungous and the combination determines whether you are a mouse or a human being. Normally the structure of a proteins takes years of experimentation and specialised equipment to arrive at. However as of July 2021, a library of 350,000 protein structures predicted by AlphaFold has been published. 

To me the article was fascinating from the point of view that is showed how AI was helping us gain more knowledge and insight into previously unsurmountable problems. Of course this means that the added insight also means that we gain more understanding about what we actually do not know. For a "glass half empty"perspective it also showed how DeepMind was fast gaining in terms of intelligence that could one day threaten my precarious existence as a knowledge professional or even more depressingly take away my ability to commandeer the helm of an automobile through all that self driving blah blah, a skill that I consider existential.

In the midst of this came an article from IEEE Spectrum written by Neil C Thompson which sheds light on the computational limitations faced by Deep Learning. Apparently deep learning models are fast approaching limits of computational capabilities and more importantly incurring huge costs in training deep learning models to achieve the necessary accuracy. This cost is a critical factor in deciding the return on investment of Deep Learning projects and correspondingly their viability. The article touches upon the various work arounds and techniques used by the leading AI research teams to mitigate the cost of training and also CO2 emmissions. 

This places the value of human capital in context and illustrates how much ground technology has to cover to match up to a human brain. Again as mentioned about it also shows the frontiers of knowledge remaining to be explored and conquered. All the talk about machines replacing humans is a bit far fetched. Yes, just like the tractor replaced the oxen certain skills will become obselete. As much as I love driving I do see driving as a skill becoming obselete in the next 50 years if not earlier. However my skill as a software architect will still be relevant assuming I use my natural deep learning mechanism (my brain) to discover the great unknown.

Yuval Noah Hariri in his book "Sapiens" says that great progress started in societies who realised that they knowledge that they possessed was but a small modicum of the vast mysteries that the world had to offer. This realisation and the subsequent drive to gain more knowledge and consequently riches hugely spurred human development in the next 750 years to where we are today. In the same way both articles expose the exciting frontiers that remain to be conquered in which AI is but a welcome aid and not necessarily something to be feared.

P.S : the initial outline of this frontier seems to be the Metaverse but more of that later.

Saturday, 30 January 2021

Book Review : The Phoenix Project

The Phoenix project
An excellent read for anyone in the Information Technology space irrespective of your role or position. It clearly calls out why IT is a differentiator and why IT risk is a business risk. For developers it puts perspective around why things like faster deployments, smaller packages matter from a busines perspective. It clearly elucidates why DevOps is not just something that start when you check in code but right from the requirements phase. 


Suddenly the hulabaloo around the "Shift Left" mantra makes all the more sense to you. In the midst of all this it left me with the Theory of Constraints which provides yet another weapon in your arsenal to approach IT delivery.


Ten deployments per day! Audacious in 2013 when the book was released but today it's much more common place. The book shows the need for automated testing, a focus on security right from the design stage.


DevOps is a culture
Yes it is and this book makes it clear why it's so. It makes it clear why all arms of the IT and business should work hand in hand to achieve goals and why for instance business KPIs should be reflected in application monitoring KPIs. Return on R&D spend, prioritising features that bring business value, paying down technical debt are all aspects that need to be considered in a DevOps culture.

Wednesday, 6 June 2018

Musings on the Iterator Design Pattern

Reading about the iterator pattern sparked a few thoughts. The Iterator pattern is used in conjuction with Collections. It abstracts the traversal methods out of the Collection. This has the advantage that the code of the relevant collection is not congested with the logic of traversing the list. In addition the responsibility of traversing the collection is offloaded to a separate class. Collection have a factory method called getIterator that provides the Iterator implementation for the collection.

Decoupling the Iterator also provides an additional advantage of being able to apply a wider variety of iteration techniques like Filtered Iterator etc.

Now extending this thought process a bit we can use this decoupling technique to provide Pagination techniques for instance for a list where the paging logic is abstracted from the list itself and handles the paging requests. This can be combined with a session cache so that the paging request does not go down to the db server.

This general approach can potentially be used to declutter a class from responsibilities that do not form it's primary objective.

Improving the handling of the Baleno RS

The RS has clocked up a little over 17000 km so far and it has been great so far. Typical Maruti ease of ownership coupled with an eager, peppy engine that has so far handled all that it has been thrown at. The daily grind, inching traffic, highway cruising and a few trips to the hills, it's delivered on all of them. Sure, the couple of crucial upgrades have really helped in ironing out the few compromises that Maruti has made in the interests of cost and appealing to a wider audience. Yes, very rarely there are nostalgic memories of the mid range of the GT but those are few and far between.

Of the compromises that Maruti made, none bothered me so much as the handling. It was stiffer than then regular Baleno and was fine as long as you were smooth on the throttle and did not push it too much into corners. However get ready for some aggressive cornering and I found myself having to wait while the car settled on it's springs before plugging on. Not good. To me it seemed that the springs were still too soft. Hunting about for a solution and at the same time not willing to make a huge investment this early, I decided to give RogerAb buffers a try.

Got the buffers in quick time. Decided to tackle the front first as this was the end that was giving me the most problem. The buffers were easy to fit, requiring nothing more than jacking up the car. However their circumference was a bit too much, so that they overlapped. Cutting a bit off would solve this but I haven't gotten around to it. The problem is that when the lower end of the buffer overlaps the upper, it fouls with the fender lining.

However the results were very good. It really firmed up the front suspension such that the wheel felt much more planted. The floatly feeling at triple digits speeds was also sorted out to a huge extent. There was a bit more heft to the steering wheel and the car felt much more planted when cornering.

The rear buffers were a bit more difficult and it seemed that I would have to undo the shocks to get enough extension on the spring to push the buffers in. So decided to shelf it for now and see how much of the handling was sorted out with the front buffers. Good, but not enough. The rear was a bit too soft and there was considerable weight transfer during accelerating and braking. Braking more so as the rear seemed to stand up when hard on the brakes. Not an issue if you were smooth on the brakes, squeezing them slowly so as to ensure a more gradual shift. Took another couple of weeks while I freed up some time to install the rear buffers. I took the car out for a drive and instantly felt a world of difference. The front axle seemed even more planted and high speed composure is so much more. The stance of the car also seemed to change a bit and the rake felt a little bit less. So much so that I feel it is a shame that Maruti opened itself up to so much brick bats on high speed composure just because of a softer suspension. The weight or the lack of it rather does play a part but primarily because of the absense of a suspension tune that matches the character of the car.

Even better was the braking feel or rather the improvement of the braking performance. I had earlier experienced this on my GT when I used Koni sport shocks on the rear. I feel much more confident braking hard rather than having to baby the brake pedal to ensure that the braking is smooth. The car holds it line very well now with acceptable (to me) roll. The front end does not dip so much when pushed into a corner. The best part is that the ride has not become so much more stiff kneed especially at the back. At this point I am pretty satisfied with what I have been able to achieve with the RogerAb buffers.

The second change that made a big difference was the tyre pressures. Thanks to an incorrect fillup at an alignment shop I am now running with 32 PSI against the company prescribed 29 PSI. With 29 PSI there used to be quite a bit of road noise (a fact I came to realise after running with 32 PSI) along with a bad rubbery vibe on the brakes especially when braking and cornering together. The change in pressure lightened up the front end and helped to tighten everything up together in a very nice way. I am pretty satisfied at where the entire package is at now to the extent that I am in no hurry to invest more anytime soon.

A few other things that I looked into an discarded on the way:
1. H&R springs - The 30mm lowering was not something I was willing to ake a chance on given our roads.
2. Swift Type 1(2008) Rear Springs - these were too tall for the rear.
3. Swift Type 1(2008) Front Springs - cooling off in my garage as the current setup has me pretty happy.

I think if I add on to this it would be a set of dampers. However I cannot seem to find any options on the Koni or Bilstien sites.

A couple of point on the Swift springs though. They are considerably thicker and heavier than the Baleno's, a reminder of what an excellent handling package that version of the Swift was.

Tuesday, 5 January 2016

CES 2016 - What does the future hold?

CES 2016


This year I will be following the CES at Las Vegas closely. CES 2016 promises a lot of new futuristic tech that gives us an insight into what we would be upto in the future and how we may be interacting with our environment at large.

Driverless cars, wireless speakers, electric vehicles, rollable displays they are all there. Check out a nice update at Day 2 coverage from the Verge.

See you on the other side of the show and I should have a few posts out.

Sunday, 6 September 2015

New Kids on the Block

Recently wired.com carried an article that showed how Facebook's developers  turned to a 25 year old language Haskell to improve their anti-spam solution. The article turns the spotlight on a few new (..and old) languages that are being used to solve computing problem that mainstream languages like Java, C, C++ etc are unable to address satisfactorily. One of the worlds most efficient messaging application WhatsApp is written in a little known language - ErLang but that's another blog topic.

http://www.wired.com/2015/09/facebooks-new-anti-spam-system-hints-future-coding/

Useful Links

Just thought of using this post to collect all the useful links that I encounter as I research various aspects of technology. These are links that I read through and personally find quite helpful.

Hope it helps.

Inspiration


Digital Transformation


Data Lakes, Analytics etc

https://itnext.io/hydrating-a-data-lake-using-query-based-cdc-with-apache-kafka-connect-and-kubernetes-on-aws-cd4725b58c2e

SEO (Search Engine Optimisation)

Multitenancy








https://www.oreilly.com/radar/how-architecture-evolves-into-strategy/


EA

https://eapj.org/the-many-lies-about-reducing-complexity-part-2-cloud/

Java Articles




Miscellaneous




Cloud





Microservices















Containers





Data Analytics


Serverless