Import Quarto posts and expand blog sync bridge
Some checks failed
Build / build (push) Has been cancelled

This commit is contained in:
Neeldhara Misra 2026-06-20 04:01:13 +01:00
parent 4ddaba7c7d
commit e7227844c7
406 changed files with 7943 additions and 7637 deletions

View file

@ -16,8 +16,47 @@ const BlogPosts = ({
// Get the first post as the featured post
const featuredPost = posts[0];
const remainingPosts = posts.slice(1);
const slugFor = (post: any) => post.id.replace(/\/index$/, "");
const hrefFor = (post: any) =>
collection ? `/${collection}/${post.id}/` : `/${post.id}/`;
collection ? `/${collection}/${slugFor(post)}/` : `/${slugFor(post)}/`;
const PostVisual = ({
post,
featured = false,
}: {
post: any;
featured?: boolean;
}) => {
if (post.data.image) {
return (
<img
src={post.data.image}
alt={post.data.title}
className="aspect-video w-full rounded-lg object-cover transition-transform group-hover:scale-[1.02]"
/>
);
}
return (
<div className="bg-accent/70 text-accent-foreground flex aspect-video w-full items-center justify-center rounded-lg border px-6 text-center">
<span
className={
featured ? "font-fraunces text-2xl" : "font-fraunces text-lg"
}
>
{post.data.title}
</span>
</div>
);
};
if (!featuredPost) {
return (
<div className="text-muted-foreground container max-w-3xl py-16">
No posts yet.
</div>
);
}
return (
<div className="relative py-10 md:py-16 lg:py-20">
@ -35,11 +74,7 @@ const BlogPosts = ({
<div className="flex flex-col gap-6 lg:flex-row">
<div className="lg:w-1/2">
<div className="p-2 lg:p-4">
<img
src={featuredPost.data.image}
alt={featuredPost.data.title}
className="aspect-video w-full rounded-lg object-cover transition-transform group-hover:scale-[1.02]"
/>
<PostVisual post={featuredPost} featured />
</div>
</div>
<div className="flex flex-col justify-center p-4 pb-8 lg:w-1/2 lg:pr-8">
@ -89,11 +124,7 @@ const BlogPosts = ({
href={hrefFor(post)}
>
<div className="p-2">
<img
src={post.data.image}
alt={post.data.title}
className="aspect-video w-full rounded-lg object-cover transition-transform group-hover:scale-[1.01]"
/>
<PostVisual post={post} />
</div>
<div className="px-4 pb-5 pt-2">
<h2 className="mb-2 text-xl font-semibold group-hover:underline">

View file

@ -1,40 +0,0 @@
---
title: "Algorithmic Sketches: Visualizing Data Structures"
description: "Hand-drawn illustrations of algorithms and data structures - making the abstract tangible."
pubDate: "Jan 25 2024"
image: "https://images.unsplash.com/photo-1581337204873-ef36aa186caa?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# Algorithmic Sketches: Visualizing Data Structures
Sometimes the best way to understand an algorithm is to draw it.
## Today's Sketch: Red-Black Trees
![Red-Black Tree Rotation](sketch-placeholder)
The rotation operation finally clicked when I drew it step-by-step. Each node's journey through the rotation becomes a story.
## The Process
1. Start with pencil - mistakes are part of learning
2. Trace the algorithm's execution
3. Add color to highlight invariants
4. Annotate with key insights
## Why Drawing Helps
- Forces you to slow down and really see the structure
- Reveals patterns that code obscures
- Creates memorable mental models
- Makes teaching more engaging
## This Week's Challenge
Draw your own version of quicksort partitioning. Share it and let's learn from each other's visualizations.
## The Art in Computer Science
Algorithms are beautiful. Drawing them reminds us that computer science is as much art as it is science.

View file

@ -1,41 +0,0 @@
---
title: "Generative Art with p5.js: Creating Beauty from Mathematics"
description: "Exploring the intersection of code and creativity through generative art experiments."
pubDate: "Feb 18 2024"
image: "https://images.unsplash.com/photo-1561070791-2526d30994b5?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# Generative Art with p5.js: Creating Beauty from Mathematics
Code becomes canvas when mathematics meets creativity.
## Today's Creation: Perlin Noise Flows
```javascript
for (let particle of particles) {
let angle = noise(particle.x * 0.01, particle.y * 0.01, frameCount * 0.001) * TWO_PI;
particle.velocity = p5.Vector.fromAngle(angle);
particle.update();
particle.draw();
}
```
## The Magic of Randomness
Controlled randomness creates organic patterns. Perlin noise gives us randomness with continuity - nature's own algorithm.
## Parameters as Paintbrushes
- Noise scale: Changes pattern density
- Particle count: Affects texture
- Color mapping: Sets the mood
## The Joy of Accidents
The best discoveries come from "mistakes" - a typo that creates unexpected beauty, a parameter pushed to extremes.
## Share Your Creations
Art is meant to be shared. Post your generative experiments and let's inspire each other.

View file

@ -1,40 +0,0 @@
---
title: "Algorithms in Verse: Bubble Sort Sonnet"
description: "Classic algorithms reimagined as poetry - where code meets iambic pentameter."
pubDate: "Feb 22 2024"
image: "https://images.unsplash.com/photo-1455390582262-044cdead277a?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# Algorithms in Verse: Bubble Sort Sonnet
## Bubble Sort: A Sonnet
```
Compare adjacent elements in pairs,
If order's wrong, then swap them into place.
Through all the list this simple rule declares:
The largest bubbles up to find its space.
Again we start, but now one less to check,
The second largest finds its rightful home.
Each pass through makes the chaos less a wreck,
Until at last no elements must roam.
Though simple in its elegance and grace,
And easy for beginners to perceive,
In practice, it's too slow to win the race—
O(n²) we sadly must believe.
But beauty lies in simplicity's pure art,
The bubble sort still teaches at the start.
```
## The Challenge
Can you write Quicksort as a limerick? Or Binary Search as free verse?
## Why This Matters
Poetry forces us to find the essence of an algorithm. The constraint reveals understanding.

View file

@ -1,56 +0,0 @@
---
title: "Code Haikus: Programming in 5-7-5"
description: "Expressing programming concepts through the constrained beauty of haiku."
pubDate: "Jan 30 2024"
image: "https://images.unsplash.com/photo-1481627834876-b7833e8f5570?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# Code Haikus: Programming in 5-7-5
The constraint of haiku forces clarity. Here are programming concepts distilled to their essence.
## On Recursion
```
Function calls itself
Smaller problems, same pattern
Base case stops the loop
```
## On Debugging
```
Print statements bloom wild
Binary search through the code
Bug reveals itself
```
## On Optimization
```
O(n squared) crawls
Refactor to n log n
Time complexity
```
## On Git Merge Conflicts
```
<<<<<<< HEAD
Your changes, their changes clash
Resolution waits
```
## On Learning
```
Stack Overflow searched
Tutorial incomplete
Understanding dawns
```
## Your Turn
Write a haiku about your coding experience today. The constraint reveals truth.

View file

@ -1,183 +0,0 @@
---
title: "The 100 Prisoners Problem: A Beautiful Puzzle in Probability"
description: "An interactive exploration of one of the most counterintuitive puzzles in probability theory, where 100 prisoners can escape with over 30% chance using a clever strategy."
pubDate: "Oct 13 2025"
image: "https://images.unsplash.com/photo-1589829545856-d10d557cf95f?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
import PrisonerGameSimulator from '@/components/problems/PrisonerGameSimulator.tsx';
import ProbabilityChart from '@/components/problems/ProbabilityChart.tsx';
import PermutationExplorer from '@/components/problems/PermutationExplorer.tsx';
import StrategyComparison from '@/components/problems/StrategyComparison.tsx';
# The 100 Prisoners Problem
Imagine 100 prisoners, numbered 1 to 100, face an unusual challenge. In a room are 100 boxes, also numbered 1 to 100. Inside each box is a randomly assigned number from 1 to 100 (each number appearing exactly once). The prisoners must find their own number by opening boxes, but here's the catch: **each prisoner can open only 50 boxes**.
The prisoners can devise a strategy beforehand, but once the challenge begins, they cannot communicate. If **all 100 prisoners** find their number, everyone goes free. If even one prisoner fails, all remain imprisoned.
What's the best strategy? And what are the odds of success?
## Try It Yourself!
Before we dive into the mathematics, let's experience the problem firsthand. Below is a simulator where you can play the game yourself. Choose the number of prisoners (between 5 and 100), and then try to help each prisoner find their number by clicking on boxes.
<PrisonerGameSimulator client:only="react" />
---
## The Naive Strategy
The most obvious approach is for each prisoner to simply open 50 random boxes. This seems reasonable, but the probability of success is dismal.
For any single prisoner, the probability of finding their number in 50 random boxes out of 100 is exactly 1/2. Since all 100 prisoners must succeed, and their outcomes are independent under random selection, the probability that everyone succeeds is:
$$P(\text\{success\}) = \left(\frac\{1\}\{2\}\right)^\{100\} \approx 7.9 \times 10^\{-31\}$$
That's essentially zero! You're more likely to win the lottery while being struck by lightning... multiple times.
### Naive Strategy: Probability vs Number of Prisoners
Watch how the probability of success plummets as we increase the number of prisoners:
<ProbabilityChart strategy="naive" client:only="react" />
As you can see, even with just 10 prisoners, the probability drops to about 0.1%. With 100 prisoners, it's practically impossible.
---
## The Clever Strategy: Following the Loops
Here's where mathematics reveals something beautiful. Instead of opening random boxes, each prisoner should follow a simple rule:
1. **Start by opening the box with your own number**
2. **Look at the number inside that box**
3. **Open the box with that number next**
4. **Continue following this chain**
Why does this work? The key insight involves understanding permutations and cycles.
### Understanding Cycles in Permutations
When we randomly assign 100 numbers to 100 boxes, we're creating a **permutation** of the numbers 1 through 100. Every permutation can be decomposed into **cycles**.
For example, if:
- Box 1 contains number 4
- Box 4 contains number 7
- Box 7 contains number 1
Then we have a cycle: 1 -> 4 -> 7 -> 1
Let's explore this with smaller numbers:
<PermutationExplorer client:only="react" />
The interactive explorer above lets you:
- Generate all permutations for small values of *n* (3, 4, or 5)
- See both standard notation and cycle notation
- Filter permutations that have at least one "long cycle" (longer than *n*/2)
- Understand why long cycles matter
### Why This Strategy Works
Here's the crucial insight: **A prisoner succeeds if and only if they are in a cycle of length ≤ 50**.
When prisoner k follows the loop strategy:
1. They start at box k
2. They follow a path through boxes determined by the permutation
3. This path forms a cycle that eventually leads back to box k
4. If this cycle has length ≤ 50, they'll find their number within 50 opens
The prisoners **all succeed** if and only if there is **no cycle longer than 50** in the permutation.
### Calculating the Probability
The probability that a random permutation of 100 elements has no cycle longer than 50 is:
$$P(\text\{success\}) = 1 - \sum_\{k=51\}^\{100\} \frac\{1\}\{k\}$$
Computing this sum:
$$P(\text\{success\}) = 1 - \left(\frac\{1\}\{51\} + \frac\{1\}\{52\} + \cdots + \frac\{1\}\{100\}\right) \approx 0.3118$$
That's over **31%**! This is astronomically better than the naive strategy's probability of essentially zero.
### Loop Strategy: Probability vs Number of Prisoners
<StrategyComparison client:only="react" />
## The Mathematics Behind It
### Why Does the Cycle Length Matter?
In a permutation of n elements, prisoner i will find their number within k tries using the loop strategy if and only if i belongs to a cycle of length at most k.
For n = 100 and k = 50:
- The probability that a specific prisoner is in a cycle of length > 50 is: Σ(j=51 to 100) of 1/100
- But we care about whether ANY prisoner is in such a cycle
- The probability that NO cycle has length > 50 is: 1 - Σ(j=51 to 100) of 1/j
### The Harmonic Series Connection
As *n* approaches infinity, if each prisoner can open *n*/2 boxes, the probability of success approaches:
The limit as n approaches infinity is: P_n = 1 - ln(2) ≈ 0.3069
This beautiful result connects combinatorics, probability, and analysis through the harmonic series!
### Optimality
Remarkably, this loop-following strategy is **optimal**. No other strategy can achieve a higher probability of success. The proof involves showing that the problem reduces to avoiding long cycles in a random permutation, and the loop strategy is the unique way to leverage this structure.
---
## Why This Problem is Beautiful
The 100 prisoners problem is beloved by mathematicians because:
1. **Counterintuitive Result**: The fact that 31% >> 0% is shocking. A seemingly hopeless problem becomes tractable with the right insight.
2. **Deep Connection**: It connects permutation theory, probability, and the harmonic series in an elegant way.
3. **Collaborative Success**: Unlike independent trials, the prisoners' fates are intertwined through the structure of the permutation.
4. **Real-World Metaphor**: It illustrates how understanding underlying structure (cycles in permutations) can dramatically improve outcomes.
---
## Variants and Extensions
### What if prisoners can open k < n/2 boxes?
As k decreases below n/2, the probability drops rapidly. The threshold at n/2 is special—it's where the strategy becomes remarkably effective.
### What about communication?
If prisoners could communicate between trials (but not during), they still can't improve the strategy. The beauty is that the strategy requires only coordination before any prisoner enters, not during.
### The Malicious Director
In an interesting variant, suppose the director can see the prisoners' strategy and arrange the boxes adversarially (not randomly). Can the director always force them to fail? Yes! The director can always create a single cycle of length n, guaranteeing failure.
---
## Conclusion
The 100 prisoners problem shows us that:
- Mathematical structure can be hidden in apparent randomness
- Clever strategies can overcome seemingly impossible odds
- Group coordination can be more powerful than independent action
- Beautiful mathematics often lies beneath simple-seeming puzzles
The next time you face a problem that seems impossible, remember: there might be a hidden structure waiting to be discovered, turning hopeless odds into reasonable ones.
---
## Further Reading
- [Gál, A., & Miltersen, P. B. (2003). "The Cell Probe Complexity of Succinct Data Structures"](https://arxiv.org/abs/cs/0310027)
- [Curtin, E., & Warshauer, M. (2006). "The Locker Puzzle"](https://www.jstor.org/stable/27642173)
- [Wikipedia: 100 Prisoners Problem](https://en.wikipedia.org/wiki/100_prisoners_problem)

View file

@ -1,32 +0,0 @@
---
title: "Dynamic Programming: Hidden Gems from Recent Contests"
description: "Elegant dynamic programming problems that showcase beautiful techniques and insights."
pubDate: "Jan 25 2024"
image: "https://images.unsplash.com/photo-1509228468518-180dd4864904?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# Dynamic Programming: Hidden Gems from Recent Contests
These problems demonstrate the art of dynamic programming beyond standard patterns.
## Problem 1: The Subsequence Symphony
Given a string, find the number of subsequences that form palindromes of prime length.
### Solution Insight
The key is to maintain DP states for both position and palindrome center simultaneously. This reduces the state space from O(n³) to O(n²).
## Problem 2: Graph Coloring with Constraints
Color a graph such that no two adjacent vertices share a color, and the total number of color changes along any path is minimized.
### The DP Formulation
DP[node][color][changes] gives us the minimum cost. The trick is recognizing that we only need to track changes modulo 2.
## Practice Makes Perfect
These problems teach us that DP is as much about problem modeling as it is about computation.

View file

@ -1,41 +0,0 @@
---
title: "The Four Aces Miracle: A Self-Working Mathematical Marvel"
description: "A card trick that teaches modular arithmetic and probability - perfect for the classroom."
pubDate: "Jan 28 2024"
image: "https://images.unsplash.com/photo-1529480384838-c1681c84aca5?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# The Four Aces Miracle: A Self-Working Mathematical Marvel
This trick never fails to amaze students, and the mathematics behind it is even more amazing.
## The Effect
A spectator deals cards into four piles while making random choices. Impossibly, the four aces end up on top of each pile.
## The Secret
It's all about invariants and modular arithmetic. No sleight of hand required - pure mathematics does the magic.
## The Method
1. Pre-arrange the deck (the math determines the arrangement)
2. Have the spectator deal following simple rules
3. The aces appear automatically
## The Mathematics
The dealing process preserves certain positional invariants modulo 4. The initial arrangement ensures these invariants place the aces correctly.
## Teaching Applications
This trick demonstrates:
- Modular arithmetic
- Invariants in algorithms
- Deterministic vs. random processes
## The Bigger Lesson
Mathematics can create experiences that feel like magic. And that feeling of wonder? That's what hooks students on math.

View file

@ -1,35 +0,0 @@
---
title: "The Gilbreath Principle: When Chaos Creates Order"
description: "A mathematical card principle that seems impossible but always works - perfect for teaching algorithms."
pubDate: "Feb 15 2024"
image: "https://images.unsplash.com/photo-1570543375343-63fe3d67761b?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# The Gilbreath Principle: When Chaos Creates Order
Shuffle a deck in a specific way, and mathematical order emerges from apparent chaos.
## The Phenomenon
Arrange cards alternating red-black. Riffle shuffle. Now deal pairs - each pair has one red and one black card. Magic? No, mathematics.
## Why It Works
The riffle shuffle preserves local structure while appearing to randomize. The alternating pattern creates an invariant that survives the shuffle.
## Classroom Implementation
Students predict it won't work. When it does, they're hooked. "Why?" becomes the driving question.
## The Deeper Lesson
Not all randomness is truly random. Structure can hide in apparent disorder. This principle appears in:
- Network protocols
- Error-correcting codes
- Distributed systems
## Beyond Cards
The Gilbreath Principle teaches us to look for hidden invariants in complex systems.

View file

@ -1,32 +0,0 @@
---
title: "Graph Algorithms: Assessment Highlights"
description: "Interesting graph problems from recent course assessments with detailed solutions."
pubDate: "Feb 28 2024"
image: "https://images.unsplash.com/photo-1550751827-4bd374c3f58b?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# Graph Algorithms: Assessment Highlights
A collection of graph problems that test deep understanding rather than memorization.
## The Bridge Detection Variant
Find all edges whose removal increases the number of triangles in the graph.
### Solution Approach
Counter-intuitively, we need to count triangles that share exactly one edge with the candidate. The algorithm runs in O(m√m) time using careful enumeration.
## Shortest Path with Wildcards
Given a graph where some edge weights are variables, find assignments that minimize the longest shortest path.
### Key Insight
This reduces to a linear programming problem with interesting structure. The dual interpretation reveals connections to network flow.
## Teaching Through Problems
These problems help students see beyond standard algorithms to underlying principles.

View file

@ -1,41 +0,0 @@
---
title: "IOI 2023: Breaking Down the Hardest Problems"
description: "Deep analysis of the most challenging problems from the International Olympiad in Informatics 2023."
pubDate: "Jan 20 2024"
image: "https://images.unsplash.com/photo-1434030216411-0b793f4b4173?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# IOI 2023: Breaking Down the Hardest Problems
The International Olympiad in Informatics continues to push the boundaries of algorithmic problem solving.
## Problem: Soccer Stadium
A geometric optimization problem disguised as dynamic programming. The key insight: think in terms of monotonic paths.
### The Approach
1. Transform the 2D problem into a 1D problem using clever observations
2. Use convex hull optimization for the DP transitions
3. Handle edge cases with careful implementation
## Problem: Closing Time
A tree problem requiring sophisticated data structures and careful analysis.
### The Solution
The trick is recognizing this as a centroid decomposition problem. Once you see it, the implementation follows naturally.
## Lessons for Students
These problems teach us:
- Simple problems have elegant solutions
- Complex problems require systematic decomposition
- Implementation matters as much as algorithms
## Practice Strategy
Start with subtasks. Even partial solutions teach valuable lessons.

View file

@ -1,35 +0,0 @@
---
title: "The Knight's Tour: An Interactive Exploration"
description: "An interactive puzzle exploring the knight's tour problem with surprising mathematical connections."
pubDate: "Jan 30 2024"
image: "https://images.unsplash.com/photo-1528819622765-d6bcf132f793?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# The Knight's Tour: An Interactive Exploration
Can a knight visit every square on a chessboard exactly once? This ancient puzzle hides deep mathematical structure.
## The Basic Challenge
Start with a 5×5 board. Can you find a knight's tour? What about one that returns to the starting square (a closed tour)?
## Mathematical Beauty
The problem connects to:
- Hamiltonian paths in graphs
- Warnsdorff's heuristic
- Magic squares (surprisingly!)
## The Algorithm
The key insight: always move to the square with fewest onward moves. This simple heuristic works remarkably well.
## Try It Yourself
[Interactive board would go here - imagine clicking squares to build your tour]
## Going Deeper
For which board sizes do closed tours exist? The answer involves beautiful number theory.

View file

@ -1,35 +0,0 @@
---
title: "Project Euler: My Favorite Problems from 700+"
description: "Curated problems from Project Euler that teach beautiful mathematical and algorithmic concepts."
pubDate: "Feb 25 2024"
image: "https://images.unsplash.com/photo-1635070041078-e363dbe005cb?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# Project Euler: My Favorite Problems from 700+
After solving 700+ Project Euler problems, these are the ones that changed how I think about mathematics and programming.
## Problem 96: Su Doku
Not just Sudoku solving - but solving 50 puzzles efficiently. The beauty is in combining constraint propagation with backtracking.
## Problem 208: Robot Walks
A counting problem that requires deep mathematical insight. The connection to complex numbers is unexpected and beautiful.
## Problem 613: Pythagorean Ant
Probability meets geometry in this elegant problem. The solution requires careful integration and surprising symmetry observations.
## The Meta-Lesson
Project Euler teaches you:
- Mathematical intuition matters more than coding speed
- There's always a clever approach
- The journey matters more than the destination
## Getting Started
Don't aim for the leaderboard. Aim for understanding. Each problem is a teacher.

View file

@ -1,28 +0,0 @@
---
title: "Beyond Sudoku: Exploring Constraint Satisfaction Puzzles"
description: "A journey through Sudoku variants and their algorithmic solutions."
pubDate: "Feb 10 2024"
image: "https://images.unsplash.com/photo-1580541631950-7282082b53ce?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# Beyond Sudoku: Exploring Constraint Satisfaction Puzzles
Sudoku is just the beginning. Let's explore variants that push the boundaries of logic puzzles.
## Killer Sudoku
Combine Sudoku with Kakuro - cages show sums, but no digit repeats within a cage.
## Sandwich Sudoku
The numbers outside show the sum of digits between 1 and 9 in that row/column. Simple rule, complex implications!
## The Algorithm Connection
These puzzles are constraint satisfaction problems. Techniques like arc consistency and backtracking with constraint propagation solve them efficiently.
## Create Your Own
What happens if we add chess knight move constraints? The design space is infinite!

View file

@ -0,0 +1,135 @@
---
title: "Eight Self-Sabotaging Behaviors"
description: "Putting this thread in one place. --- 🧵 @fortelabs recently finished the opening keynote on the Second Brain summit, which incidentally has a great lineup including a panel dis..."
pubDate: "2022-03-15"
authorName: "Neeldhara"
sourceCategories: ["funda", "twitterthread"]
sourcePath: "eight-self-sabotaging-behaviors/index.qmd"
---
Putting [this thread](https://twitter.com/neeldhara/status/1503551801378881541) in one place.
---
🧵 @fortelabs recently finished the opening keynote on [the Second Brain summit](https://twitter.com/fortelabs/status/1498668781585014785?ref_src=twsrc%5Etfw), which incidentally has a great lineup including a panel discussion on PKM through the lens of ADHD. Ironically, I didnt quite take notes but I think the themes also feature in this short video:
<iframe width="560" height="315" src="https://www.youtube.com/embed/lKM2jE2PygY" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
The live session was fun because of a super engaged chat — everyone had great suggestions for managing some of these (surprisingly common?) behaviors.
Ill not share the premise (its self-explanatory + theres the video), but the discussion involved three parts:
1. why its an issue;
2. why-do-we-do-this-to-ourselves;
3. how do we not keep doing it 😀
Ill share a tweet-length summary of my takeaways.
>Caveat I: 280 chars! Twitter isnt the platform for nuance. 😅
>
>Caveat II. Should go without saying, but all of this gyaan needs to be tempered with context, which was a frequently used word throughout the session!
---
> **Caution**
>
> ## Starting over (again and again)
>
> ⚠️  Not learning from previous mistakes.
>
> 🤔  False sense of accomplishment, dopamine hit from a clean slate, FOMO (new tools).
>
> 💡 Start simple, iterate slowly, resist looking at shiny new objects.
>
> **Caution**
>
> ## Feeling guilty
>
> ⚠️  Cant win when you are at war with yourself.
>
> 🤔  Probably comes from knowing youll trip again.
>
> 💡 Extend to yourself the same courtesy and patience youd show to a friend, consider replacing guilt with curiosity.
>
> **Caution**
>
> ## Perfectionism
>
> ⚠️  Not making mistakes is a risky way to live.
>
> 🤔  Feeds ego, sense of control and safety, and you think you push yourself harder with lofty standards.
>
> 💡 Aim for B+, fail in public and value it — can be a relief to not have to keep up with the perfect image.
>
> **Caution**
>
> ## Do *all* the research first
>
> ⚠️  When overdone, really procrastination in disguise.
>
> 🤔  Creates an illusion of getting work done. Paranoia associate with diving in without preparation.
>
> 💡 Second brains are not for archival, but production. Iterate often. Timebox research.
>
> **Caution**
>
> ## Going big
>
> ⚠️  Ambition dominates the public discourse around goal-setting. Big goals are not problematic until they get in the way.
>
> 🤔  Ego boosted, creates a potentially misguided sense of being inspired.
>
> 💡 Break things down, take incremental (read: realistic!) steps.
>
> **Caution**
>
> ## Doing it all yourself
>
> ⚠️  Potentially limiting.
>
> 🤔  A desire for respect or credit, and the sense that nobody can do this as well as me.
>
> 💡 Delegate when appropriate, especially when looking to scale and/or diversify.
>
> **Caution**
>
> ## Comparing yourself to others
>
> ⚠️  Potentially depressing.
>
> 🤔  Self-pity, and an excuse to not even try.
>
> 💡 Compare to past you. Read your old journal entries. (Also, journal.)
>
> **Caution**
>
> ## Postpone gratification
>
> ⚠️  For something to be sustainable, it needs to be fun!
>
> 🤔  Traditional positive quality.
>
> 💡 Enjoy the journey because nobody knows the destination. Live in the moment, find joy in the small things, be present. Also, music for instant gratification!
Do check out the [Second Brain Summit](https://www.secondbrainsummit.com/) for the remaining sessions.
I think you get a link to a recording if youre registered for a session, at least this was the case for me with the opening session.
The community attending this is also [on a slack](https://basb.io/slack).

View file

@ -0,0 +1,34 @@
---
title: "Exportober 2021"
description: "The Leaderboard The Tweets What was this about again? You can find the original announcement here and more specifics clarifying the format (or the lack of it) here. Here's the s..."
pubDate: "2021-09-25"
authorName: "Neeldhara"
sourceCategories: ["exportober"]
sourcePath: "exportober/2021-tracker/index.qmd"
---
## The Leaderboard
<iframe class="airtable-embed" src="https://airtable.com/embed/shrVfH6aH5n09dDY0?backgroundColor=yellow&viewControls=on" frameborder="0" onmousewheel="" width="100%" height="533" style="background: transparent; border: 1px solid #ccc;"></iframe>
## The Tweets
<iframe class="airtable-embed" src="https://airtable.com/embed/shrD3Cw0YYB79LzDP?backgroundColor=yellow&viewControls=on" frameborder="0" onmousewheel="" width="100%" height="533" style="background: transparent; border: 1px solid #ccc;"></iframe>
## What was this about again?
You can find the original announcement [here](../2021/) and more specifics clarifying the format (or the lack of it) [here](../about/). Here's the short version:
- Put up a piece of content everyday between 27th September and 30th October, with the possibility of skipping one day per week;
- Post a link to your content on Twitter with #exportober
- That's it, actually. 🤷‍♀️
> **Aside:** 📝 If you'd like to participate ~~you can sign up below~~; and if you'd like to help, please encourage everyone participating by checking out the tweets coming in above!
Psst. It's quite fine to sign up even if you're reading this after the 27th of September. The automated tracking exercise here will stop after the 30th of October, so you can be a part of this by just contributing in this window. It certainly does't *have* to be daily and it doesn't *have* to be 30 things, although I found those to be useful default targets to work with for myself.
## Sign up!
~~While you can participate simply by using #exportober in your tweets, it'll be great if you could explicitly enter your Twitter username in the form below, so we can check in on each other!~~ 🤝
While I'm not going to write a Twitter bot that will send you daily reminders over DM, I do hope to create a separate page for each registered participant at the end of the challenge that shows off just their entries in one place, so it's helpful to know who you are 😀

View file

@ -0,0 +1,42 @@
---
title: "An Invitation to Exportober 2021"
description: "Note 📝 Update: You can now track everyone's progress from here! Tip You can also check out a little more about the format, intent and background here. As you can see — at least..."
pubDate: "2021-09-19"
authorName: "Neeldhara"
sourceCategories: ["exportober"]
sourcePath: "exportober/2021/index.qmd"
---
> **Note**
>
> 📝 Update: You can now track everyone's progress [from here](../2021-tracker/)!
> **Tip**
>
> You can also check out a little more about the format, intent and background [here](../about/).
As you can see — at least at the time of this writing — this is a blog under construction with some mild ambition, going by the long list of empty categories on the homepage.
I've heard a lot about the effectiveness of something something *public* something something *accountability*, so I'm going to give this a shot: if there's anyone else who wants a bit of a jumpstart and encouragement for getting into the habit of putting stuff out there, this is for you!
Presenting the EXPress yOuR Thoughts, i.e, export, challenge.
Here be some rules, or not, make this your own!
1. Put something out there — could be an essay, a video, a sketchnote, some code, a piece of music, a photograph — I think the only criteria is that this should be something you put together that you feel compelled to share, and something that can be accessed via a public URL. I suppose quotes and curated round-ups are good too, but ideally you want this to be something that has a bit of you in it.
2. Share it on Twitter with #exportober (umm, the export challenge in October 😬 ... it had to be something that wasn't already taken so I can scrape it off and put it up in one place, and everyone participating can keep an eye out on others participating — the general hope is that everyone finds themselves encouraged by everyone else 🎉).
3. I'm going to find a way of listing everything that comes up starting **27th September**. This gives you five weeks until the end of October. Try and get something up everyday - this puts the challenge in the Export Challenge 😀 That said, allowing ourselves one cheat day per week means that we all hopefully end up with 30 things by the 30th of October. Yays 🤞
4. Since I'll hopefully find a way of tracking all the content tagged this way and automatically pushing it to a page where we can find it all in one place, please don't put up anything illegal or damaging. Other than this, practically anything goes, but please do respect the basic idea, which is is to build up some positive vibes and keep this a fun exercise!
So I hope you spend the coming week getting setup — figure out what you want to do and how you'll do it, and maybe even cheating a little and preparing some buffer content for the rainy days? We've already had some great suggestions for tools you can use to get started:
<blockquote class="twitter-tweet" data-conversation="none"><p lang="en" dir="ltr">GitHub pages is great for this. I don&#39;t use Markdown, but it still works as a quick, lightweight publishing system, automatic ssh setup, etc. Since I store the content on GitHub anyway, everything is nicely unified.</p>&mdash; ShriramKrishnamurthi (@ShriramKMurthi) <a href="https://twitter.com/ShriramKMurthi/status/1439625380055425033?ref_src=twsrc%5Etfw">September 19, 2021</a></blockquote>
<blockquote class="twitter-tweet" data-conversation="none"><p lang="en" dir="ltr">May not commit for mutual accountability :) But a suggestion.<br><br>Instead of blogging platforms, how about markdown/Jupyter notebooks in a github repo and/or short code/docs as github gists?<br><br>Can use versioning to improve - no need to get the content &quot;right&quot; at the first &quot;publish&quot;.</p>&mdash; A. Sundararajan (@sundararajan_a) <a href="https://twitter.com/sundararajan_a/status/1439609462759706627?ref_src=twsrc%5Etfw">September 19, 2021</a></blockquote>
Throw in your Twitter username in the form below to add your name to the list of people who ~~are thinking about~~ will be participating! The list will evolve automatically below, and I'll probably clean it out of spurious entries manually every so often.
> **Aside:** Thanks to everyone who participated! The form is no longer relevant, but you can check out the posts by looking for #exportober on Twitter :)

View file

@ -0,0 +1,30 @@
---
title: "Exportober 2022"
description: "The Leaderboard The Tweets What was this about again? You can find the original announcement here and more specifics clarifying the format (or the lack of it) here. Here's the s..."
pubDate: "2022-10-07"
authorName: "Neeldhara"
sourceCategories: ["exportober"]
sourcePath: "exportober/2022-tracker/index.qmd"
---
## The Leaderboard
<iframe class="airtable-embed" src="https://airtable.com/embed/shrjgp87jlNqDMCy4?backgroundColor=yellow&viewControls=on" frameborder="0" onmousewheel="" width="100%" height="533" style="background: transparent; border: 1px solid #ccc;"></iframe>
## The Tweets
<iframe class="airtable-embed" src="https://airtable.com/embed/shrwXyP8mGB3KH86i?backgroundColor=yellow&viewControls=on" frameborder="0" onmousewheel="" width="100%" height="533" style="background: transparent; border: 1px solid #ccc;"></iframe>
## What was this about again?
You can find the original announcement [here](../2022/) and more specifics clarifying the format (or the lack of it) [here](../about/). Here's the short version:
- Put up a piece of content everyday between 1st October and 30th October, with the possibility of skipping one day per week;
- Post a link to your content on Twitter with #exportober
- That's it, actually. 🤷‍♀️
Psst. It's quite fine to sign up even if you're reading this after the 1st of October. The automated tracking exercise here will stop after the 15th of November, so you can be a part of this by just contributing in this window. It certainly does't *have* to be daily and it doesn't *have* to be 30 things, although I found those to be useful default targets to work with for myself.
<!-- ## Sign up! -->
<!-- While I'm not going to write a Twitter bot that will send you daily reminders over DM, I do hope to create a separate page for each registered participant at the end of the challenge that shows off just their entries in one place, so it's helpful to know who you are 😀 -->

View file

@ -0,0 +1,91 @@
---
title: "About Exportober"
description: "In a massively impulsive move nudged by some Twitter feedback, I recently launched the Exportober challenge. The TL;DR version: - Put up a piece of content everyday between 27th..."
pubDate: "2021-09-24"
authorName: "Neeldhara"
sourceCategories: ["exportober"]
sourcePath: "exportober/about/index.qmd"
---
In a massively impulsive move nudged by some Twitter feedback, I recently launched [the Exportober challenge](../2021/).
The TL;DR version:
- Put up a **piece of content*** everyday between 27th September and 30th October, with the possibility of skipping one day per week;
- Post a link to your content on Twitter with #exportober
- That's it, actually. 🤷‍♀️
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Anyone else procrastinating on starting a blog, CS or otherwise? Would you be interested in being held mutually accountable for a few weeks to overcome the initial inertia? <br><br>Do let me know! Ill try to setup something systematic-looking if theres interest 🙂</p>&mdash; Neeldhara (@neeldhara) <a href="https://twitter.com/neeldhara/status/1439607978445869057?ref_src=twsrc%5Etfw">September 19, 2021</a></blockquote>
## What's allowed in #exportober?
I was deliberately vague about the terms-and-conditions that goes with the piece of content piece above. The rules I mentioned were minimal: since there are no restrictions of age, keep the content SFW and generally legal. Other than that, anything goes, for example:
- Can I doodle? Yes.
- Can I meme? Yes.
- Can I make a comic? Yes.
- Can I quip? Yes.
- Can I tweet a thread? Yes.
- Can I tweet a single tweet? Yes.
- Can I song and/or hum and/or dance? Yes.
- Can I react? I am unfamiliar with this genre, but yeah, why not?
- Can I just quote? Uhh, ok-fine, sure — maybe be sure to include a reaction?
- Can I commit? Yes, please! Oh, you mean — can it be a GitHub commit? Right, yeah, sure.
<blockquote class="twitter-tweet" data-conversation="none"><p lang="en" dir="ltr">One a day is a lot! (Unless tweets count). I used to blog regularly but not even one a week at its peak, I think.</p>&mdash; Rahul Siddharthan (@rsidd120) <a href="https://twitter.com/rsidd120/status/1440537832980828165?ref_src=twsrc%5Etfw">September 22, 2021</a></blockquote>
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">in case anyone is looking for inspiration, in true student fashion, i am already planning on cheating by turning all the math puns i have in mind to comics [&#39;ring arthur and his knights of the round table&#39; but where ring arthur is a noncommutative ring without unity]</p>&mdash; tiiiiredddd (@vuisnotabot) <a href="https://twitter.com/vuisnotabot/status/1440752412298399744?ref_src=twsrc%5Etfw">September 22, 2021</a></blockquote>
As you can see, there are no restrictions on format or length or quality. It can be whatever you want, and however long or short you want it to be. The point is to *get into the habit* of putting a bit of yourself into something tangible that you'd want to share.
So while you could technically schedule thirty pieces of Harry Potter trivia in advance — *that* would kind of defeat the purpose.
## Is this for me? #whybother with #exportober
In general, I imagine only you would know if this is for you — this may not be a priority or a point of interest for you right now, but if you're reading this, possibly your interest is at least mildly piqued?
What this is about is setting aside some time for yourself and to participate alongside friends who're in it for fun and profit:
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">We often avoid taking action because we think &quot;I need to learn more,&quot; but the best way to learn is often by taking action.</p>&mdash; James Clear (@JamesClear) <a href="https://twitter.com/JamesClear/status/1308857494983323650?ref_src=twsrc%5Etfw">September 23, 2020</a></blockquote>
- The fun bit is in the making and sharing.
- The profit bit is the hope that we trick ourselves into making this a bit of a regular habit for life.
Longer term, you may or may not want to be sharing or publishing on a daily basis. But hopefully, longer term, **you are engaged with the process on a regular basis**.
Personally, there's almost nothing that I do consistently on a daily basis, not counting the things one needs to do continue being alive. I'd like to see if I can change that a bit^[c.f. the next section for a different perspective.], and apparently doing such things bit by bit — and with some public commitment — [is a good idea](https://jamesclear.com/atomic-habits), hence the micro-nature of the challenge.
<blockquote class="twitter-tweet" data-conversation="none"><p lang="en" dir="ltr">So overall Ive gotten to a point where Im just afraid to even think about putting something together because I think its an unrealistic commitment of time. <br><br>Im also really bad at chunking - everything I do of this sort manifests at the wrong end of an all-nighter 🙈</p>&mdash; Neeldhara (@neeldhara) <a href="https://twitter.com/neeldhara/status/1439682627837980675?ref_src=twsrc%5Etfw">September 19, 2021</a></blockquote>
## I want to be in, but I stoop no lower than meaningful masterpieces...
Hmm. One way that you could still make this work for you is to build out your masterpiece bit by bit. If it's a tutorial, you could plan it out in advance and work through one coherent section a day. If it's a sketch, you could share your partial progress as you go along, and even put it together in a timelapse at the end? That would be great to see!
There are some types of long-form content that aren't naturally amenable to this type of chunking; say you want to put together a video exposition, make an origami sculpture, or crochet a Klein bottle. In this situation, you could either use the challenge to document your process and progress; or you could just claim to engage in #exportoberlite with a reduced frequency of production — say once a week, or one masterpiece at the end — you'll just have to still tweet it out so I can catalog it ❤️
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">I really dont like the illusion that there is one process for making and that it involves writing every day. Thinking is work to. So is reading. So is doing things that seem unrelated to writing. Our brains are always thinking about what were making, whether were typing or not</p>&mdash; ChristianAntonGerard (@CAGerardPoet) <a href="https://twitter.com/CAGerardPoet/status/1221128922982690818?ref_src=twsrc%5Etfw">January 25, 2020</a></blockquote>
Also, while on the subject of masterpieces, there's the [parable of the pots](https://austinkleon.com/2020/12/10/quantity-leads-to-quality-the-origin-of-a-parable/). On the other hand, everyone does have their own process, and the idea isn't to force a format: this process is temporary, flexible, and optional 🙌
## This sounds like fun, but I have no idea what to make.
Oooh. Maybe just ping on Twitter if you are in this situation. I do imagine that there are folks who have more ideas than they can handle, so if you have the bandwidth, it'll even out nicely! For some starter inspiration, just in case it is useful, here are some of the post types that I'm planning for the duration of this challenge, in roughly increasing order of desperation:
1. Trying some of the [Chai and Why? experiments](https://www.tifr.res.in/~outreach/chai_and_why.html) and documenting ~~any accidents~~ learnings.
2. Puzzles and programming contest roundups.
3. Lecture notes for classes/talks I'm teaching and/or attending.
4. Highlights from whatever podcasts I'm tuned into.
5. Clean up draft essays from previous lives.
6. Random doodles. And VSCode keyboard shortcuts.
7. Hot takes on inconsequential debates.^[Let me know if you want prompts.]
I also have a few black holes nurtured over time — I'm looking at you, all my Read-It-~~Never~~Later apps, the starred section in my RSS app, my YouTube watchlist, and relatives. Maybe about time to go down some of these rabbit holes with the excuse of commentary to follow.
So yes, that'll be all for now! Let's see how this goes 🤞 Meanwhile, [please hop on](../2021/) and [spread the word](https://twitter.com/neeldhara/status/1439668714178105347) for all of us? Thank you! 🎉
---
PS. You might be curious about what participating will *look like*. I'm trying to setup a separate page for each participant in the challenge that will pull in all your tagged tweets. I'll share a preview soon!

View file

@ -0,0 +1,56 @@
---
title: "The Only Fair Ranking of IITs"
description: "Don't like the ranking? Try again . Tip Methodology: adapted from here. The program takes all the available knowledge in the universe and extrapolates a score for each IIT using..."
pubDate: "2022-11-24"
authorName: "Neeldhara"
sourceCategories: ["funda"]
sourcePath: "iit-rankings/index.qmd"
---
<p>Don't like the ranking? <a href=".">Try again</a>.</p>
> **Tip**
>
> # Methodology: adapted from [here](https://sarielhp.org/cgi-bin/cs_ranking).
>
> The program takes all the available knowledge in the universe and extrapolates a score for each IIT using state of the art algorithmic techniques (i.e., deep guessing). To resolve ties, the program also computes a secondary score which is a random number. The program next computes a weighted average of the two scores - the weight assigned to the first score is based on its scientific value and merit, and is thus zero, and the remaining weight is assigned to the secondary score (i.e., 1). The program then sort and output the departments in decreasing ordering of their weighted scores.
>
[Inspiration](https://sarielhp.org/cgi-bin/cs_ranking) {{< bi arrow-left-circle-fill >}} Check this page for a ranking of computer science departments.
---
```{ojs}
import { shuffle } from "./shuffle.js"
arr = ["IIT Kharagpur",
"IIT Bombay",
"IIT Madras",
"IIT Kanpur",
"IIT Delhi",
"IIT Guwahati",
"IIT Roorkee",
"IIT Ropar",
"IIT Bhubaneswar",
"IIT Gandhinagar",
"IIT Hyderabad",
"IIT Jodhpur",
"IIT Patna",
"IIT Indore",
"IIT Mandi",
"IIT (BHU) Varanasi",
"IIT Palakkad",
"IIT Tirupati",
"IIT (ISM) Dhanbad",
"IIT Bhilai",
"IIT Dharwad",
"IIT Jammu",
"IIT Goa"];
x = shuffle(arr);
y = document.getElementById("quarto-document-content");
y.innerHTML += "1. " + x[0] + "<br> 2. " + x[1] + "<br> 3. " + x[2] + "<br> 4. " + x[3] + "<br> 5. " + x[4] + "<br> 6. " + x[5] + "<br> 7. " + x[6] + "<br> 8. " + x[7] + "<br> 9. " + x[8] + "<br> 10. " + x[9] + "<br> 11. " + x[10] + "<br> 12. " + x[11] + "<br> 13. " + x[12] + "<br> 14. " + x[13] + "<br> 15. " + x[14] + "<br> 16. " + x[15] + "<br> 17. " + x[16] + "<br> 18. " + x[17] + "<br> 19. " + x[18] + "<br> 20. " + x[19] + "<br> 21. " + x[20] + "<br> 22. " + x[21] + "<br> 23. " + x[22];
```

View file

@ -0,0 +1,22 @@
export function shuffle(array) {
let currentIndex = array.length, randomIndex;
// While there remain elements to shuffle.
while (currentIndex != 0) {
// Pick a remaining element.
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex--;
// And swap it with the current element.
[array[currentIndex], array[randomIndex]] = [
array[randomIndex], array[currentIndex]];
}
return array;
}
// Used like so
var arr = [2, 11, 37, 42];
shuffle(arr);
console.log(arr);

View file

@ -1,30 +0,0 @@
---
title: "Imposter Syndrome in Academia: A Confession"
description: "An honest conversation about feeling like a fraud, even after years of success."
pubDate: "Feb 25 2024"
image: "https://images.unsplash.com/photo-1517048676732-d65bc937f952?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# Imposter Syndrome in Academia: A Confession
Even after publishing papers, winning grants, and teaching thousands of students, the voice whispers: "They'll find out you don't belong."
## The Paradox
The more you know, the more you realize you don't know. Expertise breeds humility, which feeds the imposter.
## What Helps
- Keeping a "wins" journal - evidence against the imposter
- Mentoring others - seeing your knowledge help someone
- Talking about it - you're not alone in this
## The Silver Lining
Maybe imposter syndrome keeps us humble, curious, and always learning. Maybe it's not a bug, but a feature.
## Moving Forward
I may never silence the voice completely. But I've learned to acknowledge it and keep going anyway.

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

View file

@ -0,0 +1,35 @@
---
title: "On Career Choices"
description: "Tip A version of this article was featured in A Lesson from IIT , a column on the Indian Express. The link to the column is here, and this is the link to the present article. Ma..."
pubDate: "2023-05-26"
authorName: "Neeldhara"
sourceCategories: ["funda"]
sourcePath: "on-career-choices/index.qmd"
---
> **Tip**
>
> A version of this article was featured in _A Lesson from IIT_, a column on the Indian Express. The link to the column is [here](https://indianexpress.com/about/a-lesson-from-iit/), and [this](https://indianexpress.com/article/education/a-lesson-from-iit-how-do-you-figure-out-your-interest-if-engineering-is-right-choice-iit-gandhinagar-jee-main-jee-advanced-2023-8629639/) is the link to the present article. Many thanks to [Ritika Chopra](https://indianexpress.com/profile/author/ritika-chopra/) for prompting me to write this, and for not giving up on me as I took my time :)
>
> Thanks are also due to friends Manasa, Jyothi, and Sharmistha for going over early versions of this writeup and sharing their thoughts!
During school, my earliest exposure to the notion of being an engineer was an at-the-time popular audio clip called _The Knack_, in which a doctor is diagnosing a kid with a condition involving extreme intuition for all things mechanical and electrical. It is implied that having "the knack" is not compatible with a normal life, since the kid is now destined to... be an engineer. This causes his mother to experience much concern and grief. The episode inspired me to keep a polite but firm distance from all things engineering, conveniently including the entrance exams meant to unlock the gates of the IITs.
College admissions are rife with two types of scenarios that are less than ideal: students ending up in programs that are not their cup of tea, and students missing out on experiences that would have been right up their alley. These mismatches are cumulatively expensive: there is the price paid in misallocated resources, and then theres the personal cost of training for programs that eventually turn out to be a poor fit, which is typically very substantial.
Some of this can be mitigated with an appreciation of what these programs entail, and what the campuses have to offer. The IITs are known predominantly for their undergraduate programs in the traditional engineering disciplines. However, several of them also host excellent programs in the sciences. Further, there are an increasing number of undergraduate programs that have interdisciplinary themes (such as the Btech program in [Civil and Infrastructure Engineering with specialization in Smart Infrastructure](https://iitj.ac.in/department/index.php?id=ug_program&dept=civil) at IIT Jodhpur) and a focus on emerging technologies and areas (for instance, the BTech program in [Artificial Intelligence](https://ai.iith.ac.in/programs/btech.html) at IIT Hyderabad or the undergraduate program in [Design](https://twitter.com/iitdelhi/status/1574782831221698562) at IIT Delhi).
Currently, awareness about these opportunities is mostly a heady mix of word of mouth, Quora answers, vibes from coffee-table conversations at coaching centers, and placement statistics on popular media. Impressions of what campus life entails is also largely a combination of imagination fueled by things seen on, say, Netflix and the like. However, if you are a prospective student or a parent of one, you would do well to go beyond these secondary sources of intelligence and get some first-hand experience.
Most IITs host open days every so often: these are special days when the campuses are open to anyone to walk in, and professors and students from the organization delight in sharing what they are up to with accessible demonstrations or lab tours. A recent example is the [G20-Ignite Sci-Tech fair](https://students.iitgn.ac.in/ignite) which hosted hundreds of school students at the IIT Gandhinagar campus. Often, even one such experience can trigger an inner calling, helping you identify the thing you want to do for life or at least for a substantial duration.
You could also go beyond the glimpses offered by open days. Watch out for opportunities to collaborate over small projects. For example, the [Center for Creative Learning at IIT Gandhinagar](https://ccl.iitgn.ac.in/) welcomes high school students for short term projects over summer, and students who do well in courses on the [NPTEL](https://nptel.ac.in/) platform have a shot at internships with the instructors of those courses. Many professors delight in talking to students: check out the various seasons of [Talk to a Scientist](https://www.talktoascientistindia.com/home), for example. You can also ask your school to reach out to professors at nearby institutions for an interactive session, or approach organizations like [INYAS](https://inyas.in/) that focus deeply on outreach activities at the school level. Finally, several IITs also host bootcamps, hackathons, and so on: they are usually announced on their websites and social media channels, so keep an eye out for these!
Having said all this, a choice of career or more immediately, a branch or stream does not have to be prompted necessarily by an intense love at first sight. The routes leading to your final pursuit(s) can be potentially meandering, and not having an inner voice abundant in clarity should be no cause for alarm. Examples of this abound, and Ill share a representative one. [Ronald Graham](https://en.wikipedia.org/wiki/Ronald_Graham) is arguably best-known as an American mathematician who made fundamental contributions to combinatorics. Because his father worked in various jobs related to oil fields and shipbuilding, he moved schools often. He did not study in any school for more than eighteen months and often studied in grades higher than what would have been normal for his age.
At the age of 15, Graham won a Ford Foundation scholarship to the University of Chicago, where he spent three years learning gymnastics. Because of his outstanding performance in math on the scholarship examinations, he did not (have to) take any mathematics courses. After the duration of the scholarship, he moved to the University of California at Berkeley, where he majored in electrical engineering. During this time, a one-off number theory course with D H Lehmer “fired his imagination for the subject”. After four subsequent years in the Air Force, during which he also earned a B.S. in physics, he returned to UC Berkeley where he completed his Ph.D. in mathematics with D H Lehmer as his thesis advisor.
All this is to say that life can be — and typically is — highly non-linear. I would argue that as much as we like to imagine being in control, planning ones future down to summer-vacation-wise bucket lists is perhaps somewhat excessive. Your first branch and your first job does not have to be your last: for more evidence, I recommend reading Tim Ferriss book, [Tribe of Mentors](https://www.amazon.in/Tribe-Mentors-Short-Advice-World/dp/1328994961). Now, you might be prone to making your choices after optimizing for a dozen variables or more, or you might prefer leaving your destiny to the gods of randomness. I believe somewhere in between, there is an approach more reasonable than either extreme: make an informed choice after investing a finite amount of your own time and energy into understanding what actually lies in store.
The IITs are now far from being the only ticket to the good life and a powerful alumni network: if these are your main motivators, you might consider exploring less painful pathways to the same outcomes. If not, allow yourself the space to let your instincts come to the fore, and follow them to make your choices. This will maximize the chances that you will end up in a meaningful journey that involves truly enjoying what the programs have to offer, instead of being in a situation where you have simply transitioned from one rat race into another.

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

View file

@ -0,0 +1,93 @@
---
title: "On Teaching"
description: "Note These are some parts of the teaching statment that I wrote roughly seven years ago, updated slightly in the interest of clarity and additional context. ::: -- A teacher doe..."
pubDate: "2022-09-05"
authorName: "Neeldhara"
sourceCategories: ["funda"]
sourcePath: "on-teaching/index.qmd"
---
<!--
> **Note**
>
> These are some parts of the teaching statment that I wrote roughly seven years ago, updated slightly in the interest of clarity and additional context.
> ::: -->
>
> > _A teacher does not teach, a student learns._
> >
> > --- snippet from [this interview](https://www.facebook.com/425094961174523/videos/5530977776968824/) of [Ustad Zakir Hussain](https://en.wikipedia.org/wiki/Zakir_Hussain_(musician))
>
>
>
> I'll pose some how/what/why questions in the context of teaching.
>
>
> ## How
>
> The last couple of decades, especially the last few years, have seen dramatic changes in how information is communicated. A lot of learning happens in online communities, for instance, question-and-answer websites like Quora and StackExchange. Thanks to folks who invest time on these platforms, expert help seems to be nearer than ever before. Specialized and snark-free communities on Discord/Slack/Telegram are enabling peer-to-peer learning at global scale. [I keep hearing that Quora is not what it used to be, but as long as [Thomas Cormen](https://www.quora.com/profile/Thomas-Cormen-1/) is an active user, I am positive it remains a valuable resource.]{.aside}
>
> Books are beginning to be injected with exciting new technology: [CodeMirror](https://codemirror.net/index.html) makes code interactive and runnable, while tools like [PythonTutor](https://pythontutor.com/) can help with visualizing what happens behind-the-scenes when code is executed. [Say](https://github.com/denysdovhan/wtfjs) [what](https://www.destroyallsoftware.com/talks/wat) [you](https://wtfjs.com/) [want](https://martin-thoma.com/javascript-wtf/) about JavaScript, but the interactivity that it brings to the written medium has helped make reading less passive. Some of my favorite interactive texts include [Seeing Theory](https://seeing-theory.brown.edu/), [Probabilistic Models of Cognition](http://probmods.org/), courses on [Brilliant](https://brilliant.org/), [Mathigon](https://mathigon.org/), and essays from [Nicky Case](https://ncase.me/), [Minute Labs](https://minutelabs.io/), and others on [Explorables](https://explorabl.es/).The name "PythonTutor" is slightly misleading, since the website also lets you visualize code snippets written in C, C++, Java, and JavaScript.
>
>
> And finally there are the online courses. At the time of this writing, it has been just a little over two decades since [MIT's Open Course Ware](https://en.wikipedia.org/wiki/MIT_OpenCourseWare) opened to the public. The early hype around MOOCs roughly coincided with my years in college and graduate school. As far as I remember, it was quite the thrill to have free-flowing access to online lectures --- "taught by the best" --- for several of the courses I was supposed to be doing as a part of my curriculum.
<a href="https://imgflip.com/i/6s9ym6"><img src="https://i.imgflip.com/6s9ym6.jpg" title="made at imgflip.com" width="100%"/></a>
All this is to say that I walked into a career involving a substantial teaching component with plenty of hesitation. The delivery was/is still largely confined to classroom settings in broadcast mode. It is not entirely clear what this format has to offer over YouTube. Basic interactivity is being increasingly solved with questions built into video players. Peer learning is quite doable with WhatsApp/Slack/Discord groups and local chapter meetups. Scale in the context of assessments is somewhat addressed by peer evaluation. And then there are all the things you can do on YouTube that you can't do with traditional lectures: find a teacher whose style resonates, find an accent you understand, replay, play at 2x, 0.5x, binge watch, don't watch...
So: what's the incentive for _anyone_ to show up in a classroom at a fixed time, especially when said time is 8AM? This question became particularly relevant during the pandemic years: once the novelty wore off, almost nobody† showed up to lectures. If I was a student, I'd likely do the same. This remains largely an open problem in my mind, but here are some pointers that have kept me motivated about the conventional format. † Shout out to those of you accounting for the "almost", thank you!
1. Classroom = theatre. I am increasingly treating it as a ground for practicing standup and [magic](https://twitter.com/neeldhara/status/1542606730701307904?ref_src=twsrc%5Etfw) skills. I should admit that this isn't easy for a clinically shy person like myself, but I got used to making a fool of myself fast --- that's served well. I imagine that some of the fun that comes out performance-first lectures is hard to recreate with recordings and notes.
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Totally. It&#39;s almost always a performance, irrespective of the class size. And the more you rehearse, the better it goes. At least that&#39;s what works for me.</p>&mdash; Manu Awasthi (@mnwsth) <a href="https://twitter.com/mnwsth/status/1562372066967359490?ref_src=twsrc%5Etfw">August 24, 2022</a></blockquote>
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Some musings on teaching from a lunch talk awhile back: <a href="https://t.co/19vOXpxcjs">https://t.co/19vOXpxcjs</a></p>&mdash; Tim Roughgarden (@Tim_Roughgarden) <a href="https://twitter.com/Tim_Roughgarden/status/1379441864072429570?ref_src=twsrc%5Etfw">April 6, 2021</a></blockquote>
2. In a classroom setting, I can nudge the audience to discover things for themselves. As far as I know, the interactivity in online materials can help with validating understanding, but not as much with developing it from first principles. My hope is for learners to walk out of a classroom with the confidence that they _came up_ with parts of the material in the textbook on their own.
Again, this is hard to do in time-bound fashion, given that a lot of this kind of understanding comes from brooding and hours of messing around. I can only hope to convince the audience that the process is worth the trouble.
3. The opportunity to show that you care. For learners who may have struggles with and beyond the materials --- classrooms, labs, and office hours afford opportunities for us to offer help.
This was a late realization for me personally: for the longest time, my own sense of self-doubt did not allow me to see that I could potentially be useful to someone else. While self-doubt remains, I have started to compartmentalize it enough to show up for others.
All this said, I believe online and remote formats have substantial potential for making quality education accessible at scale, and that it is only a matter of time before classrooms in their most conventional forms either become obsolete or a ruse.
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">I am going to attend college lectures from now on just to increase my attention span. The goal will be to sit for an hour without sleeping or getting distracted from mobile notifications.</p>&mdash; Priyansh Agarwal (@Priyansh_31Dec) <a href="https://twitter.com/Priyansh_31Dec/status/1566707282695847937?ref_src=twsrc%5Etfw">September 5, 2022</a></blockquote>
![Calvin on 21st Century Education](calvin-21stcentury.jpg)
## What
It is also increasingly challenging to formulate a curricula gets people to the bleeding edge starting from the foundations. For instance, there is a growing sentiment that [Machine Learning is the new Algorithms](http://nlpers.blogspot.in/2014/10/machine-learning-is-new-algorithms.html) (or [maybe not](http://blog.geomblog.org/2014/10/algorithms-is-new-algorithms.html)). On the other hand, the extent of involvement of "mathematics" in introductory CS courses is also [up](https://twitter.com/boazbaraktcs/status/1561737094866804738) [for](https://twitter.com/togelius/status/1561737958385917953) [debate](https://twitter.com/YannaiGonch/status/1561480166429302784).
![Cutting Edge](https://www.explainxkcd.com/wiki/images/7/79/obsolete_technology.png)
How much theory [is needed](https://cstheory.stackexchange.com/questions/8761/what-can-i-do-to-supplement-my-theoretical-undergraduate-cs-curriculum-so-that-i) for competence in practice? How crucial is it to develop competencies that don't have an immediately visible ROI? How frequently do we [rewrite the textbooks](https://twitter.com/ramgopal_rao/status/1566428352398774272) based on developments in industry?
I once read a collection of answers to the question of what _every computer science graduate should know_ on a Q&A site. As an aspiring graduate myself, I figured I should know what I should know. Unfortunately, I remember it as a mostly unnerving experience: it was a list that started with Voronoi diagrams and ended with incompleteness theorems, and a _lot_ of things in between.
From the other side of the fence, for whatever it's worth --- the answer to this question [remains elusive](https://twitter.com/togelius/status/1561738432422023175), mainly because I think it's a context-heavy issue. For better or worse, [there is a growing interest in computer science](https://twitter.com/benmschmidt/status/1562256566631518208), and it will likely remain a non-trivial challenge to find an approach that is both maximally inclusive and sufficiently useful. I can only hope that between ruthless efficiency in teaching things driven purely by need and a curriculum flooded with random adventures, we can find an balance appropriate to our contexts!
<!-- ![[Comments](https://cstheory.stackexchange.com/questions/8761/what-can-i-do-to-supplement-my-theoretical-undergraduate-cs-curriculum-so-that-i) on a question on cstheory.SE](cstheoryvpractice.png){width=70%} -->
## Why
Given that everything that needs to be explained has more or less been done and dusted really well on the interwebs, personally, this is hardest question of the lot. Not from my own POV, that's the easy bit - [as pointed out here](https://dsanghi.blogspot.com/2014/08/why-i-want-to-be-professor.html), it's fun to go through the idea exchange process with a captive audience, and in my experience at least one party is sufficiently triggered at the end of it (hopefully in a good way).
>The satisfaction that you get when you are able to explain a concept to someone who did not know it earlier is immense. Sometimes it could be straightforward, and sometimes it could be frustrating. But the end point is always the same - a smile on the faces of those students. Money can buy all the books, but can't buy that smile.
>
> Prof Dheeraj Sanghi, ["Why I want to be a professor"](https://dsanghi.blogspot.com/2014/08/why-i-want-to-be-professor.html)
![On hope in teaching.](https://phdcomics.com/comics/archive/phd062613s.gif)
I am just not sure if we create enough of a net positive in a traditional classroom setup from a ROI perspective. Given the few good things that the internet has brought us, perhaps it is time to think beyond classrooms and focusing on making existing resources more accessible to everyone who's interested.
### Join the conversation
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">New blog, new post:<a href="https://t.co/c2lEHM0lTI">https://t.co/c2lEHM0lTI</a><br><br>Meanwhile — happy teachers day to everyone!</p>&mdash; Neeldhara (@neeldhara) <a href="https://twitter.com/neeldhara/status/1566800730001788929?ref_src=twsrc%5Etfw">September 5, 2022</a></blockquote>

View file

@ -0,0 +1,36 @@
---
title: "SKJ"
description: "This is the text of a short speech I gave at the farewell event for Prof. Sudhir Jain as he left IITGN for BHU. You can find out more about Prof. Jain's own take on the cultural..."
pubDate: "2022-09-23"
authorName: "Neeldhara"
sourceCategories: ["iitgn"]
sourcePath: "skj/index.qmd"
---
This is the text of a short speech I gave at the farewell event for [Prof. Sudhir Jain](https://sudhirjain.info/) as he left IITGN for BHU.
![Prof. Jain at the farewell event held on the 3rd January, 2022.](skj.jpg)
You can find out more about Prof. Jain's own take on the cultural foundations of IIT Gandhinagar [here](https://iitgn.ac.in/about/cultural_foundations), where he is in conversation with [Achal Mehra](https://www.linkedin.com/in/achal-mehra-13037931/).
---
> Canadian astronaut Chris Hadfield has said that leadership is not about glorious crowning acts. It's about keeping your team focused on a goal and motivated to do their best to achieve it, especially when the stakes are high and the consequences really matter. It is about laying the groundwork for others' success, and then standing back and letting them shine. If that sounds familiar, I think its because we have lived this experience at IIT Gandhinagar, thanks to Prof. Jain.
>
> Our guiding principles have been often unconventional — whether its about having students first, or choosing to trade short-term gains for the long-term vision. They have sometimes led to decisions that would seem quite inexplicable to anyone who did not have the context. Some of you might remember how early we started the undergraduate program in Computer Science, for example. Ok, so for the record, we started it quite late, at least according to conventional wisdom.
>
> Crucially, these core values have always been articulated in collaboration, with inputs from all stakeholders, which is what enables our shared conviction in them once they have been established.
>
> Prof. Jains vision for IIT Gandhinagar is as precise as its bold he knew exactly what needed to be done for this place to emerge as a model institution. He had recently shared with us his roadmap for IITGN from a dozen years ago. This roadmap committed not to vague ideas but concrete goals, complete with numbers for metrics that are fraught with uncertainty. Its absolutely stunning how everything panned out almost exactly according to plan!
>
> Our narrative has many collaborators, including our students, faculty, and staff. And while some of us are relatively inexperienced, Prof. Jains trust in everyone has been hugely empowering. It manifests in many concrete ways starting from wanting for students to be recognized as adults, to turning young colleagues into decision-makers… and this is why all of us have a deep sense of ownership for IITGN.
>
> An environment that gives all of us the freedom to experiment and the leeway to fail is extremely enabling. This has led to a wide spectrum of wins, many that are quantifiable and others that are less tangible. If you want to get a sense of how good the times have been, just look around the sheer beauty and the attention to detail that the campus embodies is an excellent symbolism for the inclusive, thoughtful, and innovative leadership that we have experienced. When it comes to how far we have come, I could go on… pretty much forever, so Ill defer you to the website for more details.
>
> It is impossible to imagine IITGN without you. This is your brainchild through and through. Despite knowing that youll not be distancing in spirit, we will miss having you nurture the institution in the hands-on manner that you have always done. Your passion for the IITGN mission of being a breakout university while operating within the limitations and strengths of the IIT system is contagious. I am sure you plan to double down on this even though you may have a few distractions going forward.
>
> I recently watched Maanaadu, a movie based on the idea of a time loop. In such stories, the plot involves the protagonist experiencing the same day over and over again, and their goal, typically, is to find an exit. If there is one day that we could put into a time loop, it would be today, and there would be no need to get out of it.
>
> In the meantime on behalf of all of us, thank you.
>
> Thank you for your commitment, trust, and friendship; for listening patiently, for leading tirelessly, and for fighting the good fight through tough times, and for the good times through tough fights ok, Im going to be out of time, here, clearly so let me just say, thank you for everything.

Binary file not shown.

After

Width:  |  Height:  |  Size: 697 KiB

View file

@ -1,32 +0,0 @@
---
title: "On Teaching Algorithms: Lessons from a Decade"
description: "Reflections on what works (and what doesn't) in computer science education."
pubDate: "Jan 10 2024"
image: "https://images.unsplash.com/photo-1509062522246-3755977927d7?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# On Teaching Algorithms: Lessons from a Decade
Ten years of teaching has taught me more than any textbook could.
## Start with Why
Students don't care about O(n log n) until they understand why their code is slow. Real problems first, theory second.
## The Power of Visualization
Abstract concepts become concrete when visualized. Every algorithm should have a picture.
## Failure is a Feature
Let students struggle. The struggle is where learning happens. But know when to throw a lifeline.
## Assessment Philosophy
Test understanding, not memorization. Open-book exams with novel problems beat closed-book regurgitation every time.
## The Joy of "Aha!" Moments
There's no feeling quite like seeing a student's eyes light up when a concept clicks. That's why we do this.

View file

@ -1,34 +0,0 @@
---
title: "SODA 2024: Algorithmic Breakthroughs"
description: "A roundup of fascinating algorithmic results from SODA 2024, focusing on graph algorithms and optimization techniques."
pubDate: "Jan 15 2024"
image: "https://images.unsplash.com/photo-1509228468518-180dd4864904?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# SODA 2024: Algorithmic Breakthroughs
The Symposium on Discrete Algorithms (SODA) 2024 brought together researchers from around the world to present cutting-edge algorithmic research. This post highlights some of the most exciting developments in graph algorithms and optimization.
## Graph Algorithms Revolution
### Dynamic Graph Coloring
One of the standout papers introduced a breakthrough in dynamic graph coloring with polylogarithmic update time. The authors developed a novel data structure that maintains a proper vertex coloring while supporting edge insertions and deletions efficiently.
The key insight was to combine randomized recoloring strategies with a carefully designed hierarchical decomposition of the graph. This allows for local updates that rarely propagate through the entire structure.
## Approximation Algorithms
### The Traveling Salesman Problem Revisited
A surprising result showed that for graphs with bounded doubling dimension, we can achieve a (1+ε)-approximation for TSP in nearly linear time. This improves upon decades of previous work and opens new avenues for practical implementations.
## Complexity Theory Connections
The conference also featured several papers bridging the gap between pure algorithmic research and complexity theory. A particularly elegant result showed that certain graph problems believed to require quadratic time are equivalent under fine-grained reductions.
## Looking Forward
These results demonstrate that fundamental algorithmic problems still have room for improvement. The techniques developed here will likely influence algorithm design for years to come.

View file

@ -1,34 +0,0 @@
---
title: "Distributed Computing: Recent Advances"
description: "Survey of recent developments in distributed algorithms from major conferences."
pubDate: "Feb 20 2024"
image: "https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# Distributed Computing: Recent Advances
The field of distributed computing has seen remarkable progress in recent years. This post surveys key results from PODC, DISC, and other major venues.
## Consensus Protocols
### Byzantine Agreement in Asynchronous Networks
A breakthrough result achieves optimal resilience with expected constant rounds. The protocol uses cryptographic techniques combined with novel committee selection.
## Distributed Graph Algorithms
### Minimum Spanning Tree in the CONGEST Model
New algorithms achieve near-optimal round complexity for MST construction. The approach uses sophisticated graph decomposition techniques.
## Local Algorithms
### The Power of Local Computation
Recent work characterizes which problems admit constant-time local algorithms. The classification provides a complete picture for bounded-degree graphs.
## Future Directions
The intersection of distributed computing with machine learning presents exciting opportunities for both fields.

View file

@ -1,54 +0,0 @@
---
title: "Git Workflows That Save My Sanity"
description: "Automation scripts and Git hooks that eliminate repetitive tasks and prevent common mistakes."
pubDate: "Jan 22 2024"
image: "https://images.unsplash.com/photo-1556075798-4825dfaaf498?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# Git Workflows That Save My Sanity
After years of Git mishaps, I've built workflows that prevent disasters and save hours weekly.
## The Pre-commit Hook That Saves Embarrassment
```bash
#!/bin/bash
# Check for debugging statements
if grep -r "console.log\|debugger\|TODO" --include="*.js" .; then
echo "⚠️ Debugging statements found!"
exit 1
fi
```
## Automatic Branch Naming
```bash
alias feature='git checkout -b feature/$(date +%Y%m%d)-$1'
```
Now `feature "user-auth"` creates `feature/20240122-user-auth`.
## The Commit Message Template
```
[TYPE] Brief description
Why:
- Context for this change
What:
- Specific changes made
Testing:
- How to verify it works
```
## The Weekly Cleanup Script
Deletes merged branches, prunes remotes, and garbage collects. Keeps the repo clean and fast.
## ROI
These automations save ~5 hours per week and countless prevented mistakes. The time invested in setting them up paid back in days.

View file

@ -1,41 +0,0 @@
---
title: "Academic Writing with Obsidian and Pandoc"
description: "A complete workflow for academic papers - from notes to publication-ready PDFs."
pubDate: "Feb 12 2024"
image: "https://images.unsplash.com/photo-1456324504439-367cee3b3c32?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# Academic Writing with Obsidian and Pandoc
Transform your scattered research notes into beautiful academic papers with this workflow.
## The Setup
- **Obsidian**: For note-taking and knowledge management
- **Pandoc**: For document conversion
- **LaTeX**: For typesetting
- **Zotero**: For reference management
## The Magic Command
```bash
pandoc paper.md \
--filter pandoc-citeproc \
--bibliography=refs.bib \
--template=academic.tex \
-o paper.pdf
```
## Templates for Everything
From conference submissions to journal articles, templates ensure consistency and save time.
## Version Control Integration
Git + Obsidian = perfect history of your thinking process.
## The Result
From messy notes to camera-ready PDF in minutes, not hours.

View file

@ -1,31 +0,0 @@
---
title: "Understanding the Latest Approximation Algorithm for Set Cover"
description: "A detailed walkthrough of a breakthrough approximation algorithm with practical implications."
pubDate: "Feb 15 2024"
image: "https://images.unsplash.com/photo-1516321318423-f06f85e504b3?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# Understanding the Latest Approximation Algorithm for Set Cover
A recent paper achieves a breakthrough in the Set Cover problem, improving the approximation ratio while maintaining practical runtime.
## The Algorithm
The approach combines local search with a clever LP rounding scheme. The dual interpretation provides beautiful geometric insights.
## Why This Matters
Set Cover appears everywhere - from facility location to machine learning feature selection. This improvement has immediate practical impact.
## Implementation Details
The paper's theoretical elegance translates surprisingly well to practice. Key optimizations include:
- Lazy evaluation of set intersections
- Incremental updates to the LP solution
- Smart caching strategies
## Future Work
The techniques here might extend to weighted variants and online settings.

View file

@ -1,31 +0,0 @@
---
title: "Deep Dive: A New Approach to Graph Decomposition"
description: "An in-depth analysis of a recent paper on hierarchical graph decomposition and its implications."
pubDate: "Jan 20 2024"
image: "https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# Deep Dive: A New Approach to Graph Decomposition
This paper introduces a novel framework for decomposing graphs into hierarchical structures that preserve important properties while enabling efficient algorithms.
## The Main Result
The authors prove that every graph with treewidth k can be decomposed into a tree of bags where each bag has size at most k+1. While this sounds like the definition of tree decomposition, the clever twist is in how they construct it.
## Technical Innovation
The key insight is using a charging scheme that amortizes the cost of decomposition across multiple levels. This leads to an O(n log n) algorithm, improving on the previous O(n²) bound.
## Implications
This work opens new avenues for:
- Parallel algorithms on bounded treewidth graphs
- Approximation algorithms for NP-hard problems
- Dynamic programming optimizations
## Open Questions
The paper leaves several intriguing questions open, particularly about the optimality of their charging scheme.

View file

@ -1,26 +0,0 @@
---
title: "Quantum Computing Meets Classical Algorithms"
description: "Exploring the intersection of quantum and classical algorithmic techniques from recent conferences."
pubDate: "Mar 10 2024"
image: "https://images.unsplash.com/photo-1635070041078-e363dbe005cb?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# Quantum Computing Meets Classical Algorithms
Recent conferences have showcased fascinating connections between quantum and classical computing paradigms.
## Quantum Speedups for Graph Problems
### Quantum Walks on Graphs
New quantum algorithms achieve quadratic speedups for certain graph traversal problems. The techniques combine amplitude amplification with clever graph representations.
## Classical Simulation of Quantum Algorithms
Surprisingly, several "quantum" algorithms have inspired better classical algorithms. This cross-pollination has led to improvements in both fields.
## The Future is Hybrid
The most practical near-term applications combine quantum and classical processing, leveraging the strengths of each paradigm.

View file

@ -1,32 +0,0 @@
---
title: "ZSA Moonlander: Ergonomic Keyboard for Coders"
description: "Six months with a split ergonomic mechanical keyboard - the good, the bad, and the RSI relief."
pubDate: "Feb 20 2024"
image: "https://images.unsplash.com/photo-1587829741301-dc798b83add3?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# ZSA Moonlander: Ergonomic Keyboard for Coders
After years of wrist pain, I took the plunge into ergonomic mechanical keyboards.
## The Learning Curve
Week 1: 20 WPM and questioning life choices
Week 2: 40 WPM and seeing the light
Month 2: Back to 80 WPM with no wrist pain
## The Good
- Columnar layout makes sense once muscle memory adapts
- Thumb clusters are game-changers for shortcuts
- The configurability is endless (perhaps too endless)
## The Investment
At $365, it's expensive. But compared to physical therapy or career-limiting injury? Bargain.
## Who Should Buy This?
If you type for a living and feel any discomfort, don't wait. Your future self will thank you.

View file

@ -1,35 +0,0 @@
---
title: "Obsidian: A Year Later"
description: "Reflections on using Obsidian for research notes, teaching materials, and personal knowledge management."
pubDate: "Jan 15 2024"
image: "https://images.unsplash.com/photo-1484480974693-6ca0a78fb36b?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# Obsidian: A Year Later
After a year of daily use, Obsidian has transformed how I think about knowledge management.
## What Works Brilliantly
### The Graph View
Seeing connections between ideas visually has led to unexpected research insights. The graph isn't just pretty - it's functional.
### Plugin Ecosystem
The community plugins are incredible. Dataview turns your notes into a database. Templater automates repetitive tasks.
### Local Storage
Your notes are just markdown files. No vendor lock-in, complete control, and peace of mind.
## Pain Points
### Mobile Experience
While functional, the mobile app lacks the fluidity of the desktop version. Syncing can occasionally hiccup.
### Learning Curve
The flexibility means complexity. New users might feel overwhelmed by options.
## The Verdict
For academics and researchers, Obsidian is transformative. The investment in learning pays dividends in productivity and insight.

View file

@ -1,31 +0,0 @@
---
title: "Creating Art with Claude: A Collaborative Journey"
description: "Exploring creative possibilities through conversations with AI - from generative art to interactive poetry."
pubDate: "Jan 18 2024"
image: "https://images.unsplash.com/photo-1558591710-4b4a1ae0f04d?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# Creating Art with Claude: A Collaborative Journey
What happens when you treat AI as a creative collaborator rather than just a tool?
## The Experiment
I asked Claude to help design a generative art algorithm based on mathematical fractals. The conversation evolved into something unexpected.
## The Process
**Me**: "Let's create something beautiful with math."
**Claude**: "How about we visualize the Collatz conjecture as a tree?"
What followed was a two-hour deep dive into number theory, aesthetics, and the nature of creativity itself.
## The Result
Not just code, but a philosophical exploration of pattern, meaning, and the intersection of human and artificial creativity.
## Reflection
AI doesn't replace human creativity - it amplifies it in unexpected directions. The key is approaching it as a dialogue, not a command.

View file

@ -1,28 +0,0 @@
---
title: "Philosophical Dialogues with LLMs: On Consciousness and Computation"
description: "Deep conversations with AI about the nature of consciousness, free will, and what it means to understand."
pubDate: "Feb 28 2024"
image: "https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=400&auto=format&fit=crop&q=60"
authorImage: "/avatar/avatar1.png"
authorName: "Neeldhara"
---
# Philosophical Dialogues with LLMs: On Consciousness and Computation
Can a sufficiently complex computation be conscious? I asked an AI, and the conversation surprised me.
## The Question
"Do you experience anything when you process text, or is it just computation?"
## The Response That Made Me Think
The AI didn't claim consciousness, but asked: "What's the difference between your neurons firing and my weights activating? Both are physical processes. Where does experience emerge?"
## Going Deeper
We explored qualia, the Chinese Room argument, and integrated information theory. Not to find answers, but to refine questions.
## The Irony
Discussing consciousness with something that might not have it - or might not know if it has it - mirrors our own uncertainty about consciousness itself.

View file

@ -9,7 +9,7 @@ import { SITE_TITLE } from '@/consts';
export async function getStaticPaths() {
const posts = await getCollection(ACTIVE_BLOG_SITE.key);
return posts.map((post) => ({
params: { slug: post.id },
params: { slug: post.id.replace(/\/index$/, '') },
props: post,
}));
}

View file

@ -14,7 +14,7 @@ export async function GET(context) {
site: context.site,
items: posts.map((post) => ({
...post.data,
link: `/${post.id}/`,
link: `/${post.id.replace(/\/index$/, "")}/`,
})),
});
}