Posts

[15th December 2024] Interesting Things I Learnt This Week

Image
1. Why you should never use !! in Kotlin - Using double-bang operator(!!) is a bad practice; multiple alternatives cover every other possible case. Using it is a hack and a shortcut that will backfire while not saving you much time at the time of writing using it. You shouldn’t use it unless you're writing a short personal script. My Take : The double-bang operator (!!)  which throws null pointer exception in Kotlin might very well be considered " Billion Dollar Mistake ." While it offers a concise way to assert that a variable is not null, I believe it's preferable to have slightly more verbose code that explicitly handles nullability and avoids potential runtime exceptions. Null pointer exceptions have plagued programmers for decades, and introducing a feature that can easily lead to them seems counterproductive. I'm uncertain whether all Kotlin linters currently check for excessive or inappropriate use of the !! operator, but if yours don't, I strongly re...

[8th December 2024] Interesting Things I Learnt This Week

Image
1. Llama 3.3 -  Llama 3.3 70B model offering similar performance to the Llama 3.1 405B model, allowing developers to achieve greater quality and performance on text-based applications at a fraction of the cost.  My Take : Meta continues to impress with each new release. Their recent claim that the 3.3 70B model performs as well as the 3.1 405B model is particularly noteworthy. This rapid progress suggests that these powerful models could soon be running on personal computers or even directly in web browsers.Meanwhile, OpenAI's recent move to introduce a $200 monthly subscription for advanced access to its models raises questions about its long-term strategy. While the initial novelty factor might justify such a premium, it seems excessive, especially for users in regions like India. It's likely that we'll see highly capable language models running on mobile devices within the next six months, potentially even before desktop deployment. My experience with a Llama 3.2 1B mod...

[1st December 2024] Interesting Things I Learnt This Week

Image
1. C++ Pitfalls - this article, explains some of the pitfalls you can fall into when programming in C++ and shares their experience with them. This includes Operator precedence, Arithmetic conversion rules, Right bit-shift, Implicit conversions and Order of evaluation.  My Take : We've all read about JavaScript's quirks, leading to unexpected outputs. But let's remember that such behaviors aren't unique to JavaScript. Even languages like C and C++ have their share of ambiguities and compiler-specific behaviors. While it's tempting to dive deep into these intricacies, I've found that focusing on clear, consistent, and unambiguous code is often more practical. However, understanding these nuances is essential for any experienced programmer. It helps us avoid pitfalls and write robust, reliable code. Remember, mastering a language isn't just about writing "Hello World." It involves delving into its intricacies, including its counterintuitive and ambi...

[24th November 2024] Interesting Things I Learnt This Week

Image
1. AI Makes Tech Debt More Expensive - The core argument is that generative AI significantly widens the gap between codebases with low and high tech debt. Companies with clean code can leverage generative AI to write code much faster, while companies with messy legacy codebases struggle to adopt these new tools. This widens the gap between the two codebases, making tech debt even more expensive for companies with outdated systems. My Take : Legacy systems inevitably accumulate technical debt. A common analogy for this is the state of urinals over time: missed targets lead to increasing mess, keeps pushing people away from urinals and leading to more mess in turn. AI-powered coding tools could potentially accelerate the accumulation of tech debt. However, skilled engineers can leverage AI to reduce and even eliminate it. Ultimately, AI is just a tool, and human judgment remains crucial for making informed decisions. I hope AI will be used responsibly to drive positive outcomes. 2. Make...

[17th November 2024] Interesting Things I Learnt This Week

Image
 1. Booleans are a trap : Booleans, while seemingly simple, can introduce complexity and limitations into domain modeling. When used to represent complex states, booleans can lead to unclear code and potential errors. To avoid these pitfalls, consider using enums or enum sets. These approaches provide a more expressive and maintainable way to model complex states in your applications. My Take : I wish I had learned this earlier in life. When working with Google Docs, I realized the limitations of booleans. Expanding boolean-based behaviors often led to adding more fields, making the system complex. Enums would have provided a simpler solution. The problem wasn't just the booleans themselves, but also the need to pass them through multiple layers of the stack, often requiring additional parameters. Another important aspect of enums is the inclusion of an " enum not specified " state. This state explicitly indicates that an enum value hasn't been set, which can be usef...

[10th November 2024] Interesting Things I Learnt This Week

Image
1. One Company A/B Tested Hybrid Work. Here’s What They Found. - Recent research has revealed that a hybrid work model, where employees work from home three days a week, can significantly boost employee satisfaction and reduce turnover rates. This not only improves employee morale but also saves companies millions of dollars in recruitment and training costs. To successfully implement a hybrid model, businesses should prioritize rigorous performance management systems, coordinate team and company-wide schedules, and secure leadership support. Moreover, executives should experiment with different management practices to optimize their approach and maximize the benefits of hybrid work. My Take : There have been too many debates about remote work versus office work. I would have loved to see data comparing the effectiveness of remote, hybrid, and office-based work. I've worked at companies that mandated office work, like Tata Elxsi, where we didn't have laptops and had to rely on...

[3rd November 2024] Interesting Things I Learnt This Week

Image
1. Transforming CSV Files into Graphs with LLMs -  This is a step by step guide including code to transform csv files into graphs. There are prompts, python code and samples provided in it.  My Take : This is an excellent approach to streamlining data cleaning, a task that often consumes a significant portion of a data engineer's time. By leveraging the power of LLMs, we can potentially reduce this effort significantly. However, it's important to note that not all LLMs are equally effective for this purpose. Fine-tuning LLMs specifically for data cleaning tasks could further enhance their capabilities. I'm eager to learn more about this promising technique and its potential applications. Do let me know if have something interesting to share.   2. SOFA Start Often F*** Achievements - The SOFA principle advocates for starting numerous projects and finishing few. This approach prioritizes gaining diverse experiences and skills over completion. By frequently initiating new ...