Sunday, October 22, 2023

Combining four 9s to obtain different numbers ?

 Question. Can I use +,-, /, * and four 9s to obtain 100 ?

Answer. 99 + 9/9 -> 99 + 1 -> 100



 Question. Can I use +,-, /, * and four 9s to obtain 111 ?

Answer. 999 / 9 -> 111

Tuesday, October 17, 2023

Explaining the concept of a fraction

 So, what does X/Y mean ?


One way to think about X/Y is to think of as a two step mathematical operation.

Step 1. Divide an item ( any item ) into Y equal pieces. 

Step 2. Of those Y equal pieces, pick X pieces.

I find that this divide and pick explanation is one that is easy to get across to children.

Friday, May 26, 2023

Course Summary - DeepLearning.AI - ChatGPT Prompt Engineering for Developers

  • TL;DR

    • Enjoyed learning about the emerging field of Prompt Engineering via this course taught by Andrew Ng ( DeepLearning.AI ) and Isa Fulford ( OpenAI ).

    ----------------------------------------------------------------------------------------------------------

      ----------------------------------------------------------------------------------------------------------

        • Chapters

          • Introduction
          • Guidelines
          • Iterative
          • Summarizing
          • Inferring

            • Extracting Key topic(s)
            • Extracting Sentiment, and Sentiment score(s)
            • Executing multiple task(s) with a single prompt

          • Transforming

            • Language translation
            • Inferring a language
            • Multiple translations
            • Universal translator
              • Multiple input and output language(s) are supported
            • Tone transformation
              • Make some text more / less compelling
              • Make some text more / less formal
            • Translate across format(s)
              • For example JSON to HTML
            • Spellcheck / Grammar check

          • Expanding

            • Temperature input parameter can be used to control the level of randomness of the response.
              • For more 'production' grade applications, it is recommended to set this to 0.

          • Chatbot
            • In this mode we can setup the context for a conversation using a system prompt, and carry it forward.

            • Model(s) are stateless, and for carrying out a conversation, all prior context must be provided at the time of the interaction.

            • In a few line(s) of a Code, a full-blown Pizza Order Entry Chatbot was written, which accurately interacted with the user and then captured the order.

          • Conclusion

          ----------------------------------------------------------------------------------------------------------

            • Important Terms

              • Zero-Shot Learning

              ----------------------------------------------------------------------------------------------------------


                • Key Learning(s)

                  • With GPT it is possible to have a single model that performs multiple language task(s), in a matter of a few minute(s). 
                  • Prompt Engineering
                    • Writing clear and specific instructions is important.
                    • OPEN AI API can be used for programmatically interfacing with the GPT model(s).
                    • Delimiters are important to identify different parts of your prompt.
                    • Output(s) can be easily modified to different format(s).
                      • JSON Output can be very helpful for ingestion into program(s).
                  • Learnt following interesting Python Package(s):  
                    • Redline(s)
                      • It can be used to programmatically execute diff(s) between two pieces of text, and display it in a visually clean manner. 
                    • Panel
                      • Can be used to rapidly spin-up user interface(s), for example, within Jupyter Notebooks. 

                  ----------------------------------------------------------------------------------------------------------

                Monday, May 22, 2023

                Restarting Android Development

                •  Off-late, I have developed some level of interest in getting back into the Mobile development space. 
                • Just like when I started originally, I am starting it off with Android development:
                  • This is primarily driven from the relatively open nature of Android development, as well as the ready availability of hardware for testing. 
                • My short-term goals are to be able to build, test and deploy some applications which are able to perform on-Device Machine Learning tasks. 
                • I also want to understand the impact of Quantization, and mobile-optimization techniques on real-world performance. 

                More to come !