Sunday, June 18, 2023

Message Acknowledgement types and different delivery methods in a Distributed Message Queuing system

In today's world of communication, message queues are ubiquitous.

In the world of distributed systems, message queue plays a vital role in enabling reliable and asynchronous communication between components.

One critical aspect of this communication is message acknowledgement. 

Acknowledgement ensures that messages are delivered successfully and processed by the intended recipients. 

In this blog post, we will explore the various types of message acknowledgements and the different delivery methods employed in a distributed message queuing system.

Sunday, June 4, 2023

Popular Open APIs available for developers

There are several open APIs (Application Programming Interfaces) available for developers across various domains. Here are a few popular ones:

  1. OpenWeatherMap API: Provides access to weather data and forecasts worldwide.

    Website: https://openweathermap.org/api
    Website: https://developers.google.com/maps/documentation
    Website: https://developer.twitter.com/en/docs/twitter-api
    Website: https://docs.github.com/en/rest
    Website: https://stripe.com/docs/api
    Website: https://www.twilio.com/docs/quickstart
    Website: https://api.nasa.gov/
    Website: https://platform.openai.com/docs/quickstart
    Website: https://developer.spotify.com/documentation/web-api/
    Website: https://wiki.openstreetmap.org/wiki/API

  2. Google Maps API: Enables integration with Google Maps services, including mapping, geocoding, and routing.

  3. Twitter API: Allows developers to interact with the Twitter platform, access tweets, post tweets, and perform various other actions.

  4. GitHub API: Enables developers to interact with GitHub repositories, manage issues, pull requests, and perform various Git operations.

  5. Stripe API: Provides a platform for developers to integrate online payment processing into their applications.

  6. Twilio API: Allows developers to add SMS, voice, and video communication capabilities to their applications.

  7. NASA API: Provides access to various NASA data sets, including astronomy images, Mars Rover photos, and more.

  8. OpenAI API: Offers access to powerful natural language processing models and capabilities, including text generation and language translation.

  9. Spotify API: Enables developers to integrate with the Spotify music platform, access playlists, search for tracks, and manage user libraries.

  10. OpenStreetMap API: Provides access to crowd-sourced map data, geocoding, and routing information.


Let's start with OpenAI APIs:

First of you would need to know what are the different models which is available, and, then, find a API which fits your use case.

I tried Image APIs, which can be useful for designers to create/update images in different format.

Example:

curl https://api.openai.com/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "prompt": "A cute baby sea otter",
    "n": 2,
    "size": "1024x1024"
  }'


Interesting part is Prompt, you can pass simple conversation type command similar to the way you interact with your designer while building a product.

Another API which I have tried is extracting tags from a list of product attributes. 
This is the API:

curl https://api.openai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-3.5-turbo",
    "messages": [{"role": "user", "content": "Extract Tags from this product description: You can get your clothes thoroughly cleaned in the LG FHM1006SDW 6 kg Front-loading Washing Machine. Its 6 Motion Direct Drive technology pushes the wash drum in numerous directions when you select a wash programme. This ensures that your garments are gently yet thoroughly washed. In addition, this washing machine produces less noise, vibration, and wear and tear as its motor is directly attached to the drum. Moreover, this washing machine removes pet hair, pollen allergens, and house dust mites from delicate garments that require special care, thanks to its Steam Wash programme"}]
  }'

Response:

"choices": [
        {
            "message": {
                "role""assistant",
                "content""LG, FHM1006SDW, 6 kg, Front-loading, Washing Machine, 6 Motion Direct Drive, wash programme, gentle washing, less noise, vibration, wear and tear, motor, drum, pet hair, pollen allergens, house dust mites, delicate garments, special care, Steam Wash programme."
            }
]


Referencehttps://platform.openai.com/docs/api-reference/chat/create


 









Saturday, June 3, 2023

Self vs Team's visibility

Today, I am going to discuss about the self vs team's visibility.

I hope most of you would have seen this Bollywood movie "Gangaajal", in one of the scene when the hero of the movie (Ajay Devgan) was getting the president medal because of a successful crackdown in one case.

He refused to take the credit, instead he said that it's his team who has done this, but, the guy who was giving his medal said"Sainik to kaam karte heen hain, lekin, credit to finally senapati ko heen milta hai, directly ya indirectly".

I was the firm believer of the above thought, if my team's work or team members are visible in the system, this means, I am visible by default.

As a leader of your team, it's your responsibility that you need to make sure that the last line of people in your team should get the due credit and right visibility.

What about you? It's equally important for you also to be on top everything and to be shown as leading from the front.

Getting things done is not longer seen as adding very much value, because, that is just one part of your role. There are other parts, like adding value, right delegation etc.....

So, how to build the self visibility? Here are a few steps which you should do, I am also trying to do the same:

1. Any collaboration opportunity outside your team, you should lead it.

2. Product ideation, first level of thought should come from you and make sure that's visible to your boss 🙂.

3. Start giving valuable inputs in any cross team discussion, this will establish you as a thought leader.

4. Start giving internal/external teach talk.

5. Collaborate with the guy in your team who is afraid of doing presentation, this will help him/her in building visibility.

6. Talk, over communicate about self and team's achievement.

7. Write Blog, organise tech meet-up....

This list is very long, pick the top three and start doing it today.

One of my friend keep quoting this "Career is a hard fought battle, you need to fight very hard". True, very, very true.

Happy learning...

LocalBaniya: Giving Every Small Shop in India a Digital Identity

  LocalBaniya: Giving Every Small Shop in India a Digital Identity More:  Localbaniya.shop