# Vinay Kudithipudi > Technology executive and hands-on engineer. I lead engineering organizations, build platforms, and stay in the trenches — infrastructure, security, and applied AI. Public Ghost content for AI and LLM tooling. This file includes a bounded export of public pages first, then recent public posts. Append `.md` to any post or page URL to get the content in Markdown (for example, `/example-post.md`). ## Pages ### 2026 Spring Break : Visiting Vietnam URL: https://kudithipudi.org/2026-spring-break-visiting-vietnam/ Last updated: 2026-04-05T07:15:03.000Z We explored Vietnam during spring break in March 2026\. A continuation of the family tradition established in 2022 to explore new countries and cultures before kids go off to college. We started in Hanoi, explored Sa Pa in the north, and then ended in central Vietnam near Da Nang. It was a mix of long travel days, great food, and lots of small lessons along the way. --- ### Day 1: Flying to Hanoi (via Seoul) We flew from Dallas to Hanoi with a layover in Seoul on Korean Air. Before the trip, we applied for an `E-KTA` for transit in Korea. It turns out we didn’t need it as U.S. citizens. Not a big deal, but something to know. The flight was comfortable. Korean Air had great food, especially the Korean meal options. The snacks were also really good. The crew was friendly throughout. I should note that the Korean Air website doesn’t allow you to select seats without paying if you got the basic economy tickets. One funny moment: Virat wanted to practice during the vacation and carried hist basketball, and at Seoul security they let it through—but removed all the air from it 🙂. We arrived late in Hanoi and bought an eSIM at the airport (15 days, 5GB/day for 260K VND). It’s cheaper in the city, but convenient at the airport. Late check-in into the hotel in Hanoi ([**Dusit Le Palais Tu Hoa Hanoi**](https://www.dusit.com/dusit-lepalaistuhoahanoi/?ref=kudithipudi.org)). Great hotel, friendly staff, amazing breakfast. ### Tips - You don’t need E-KTA for transit in Korea (for U.S. citizens) - Choose Korean meal options on Korean Air. You won’t regret 🙂 - Airport eSIM/SIM is convenient but slightly more expensive - Basic economy = no free seat selection on early check-in --- ### Day 2: Ninh Binh (Caves and Climbing) We started the day walking around Hanoi. Tried to get a haircut at a “24/7” place from Google Maps—it was closed. Our hotel had to call them. This happened a lot: business hours on Google Maps are not always accurate. Then we drove \~3 hours to Ninh Binh. On the way, we stopped at a rest stop that was in a factory outlet specializing in bamboo products!! A lot of the tour guides used this as a stop for their clients. We had to sit through a 10 minute product demo to use the restroom 🙂. A tourist trap to avoid. The boat ride through caves was beautiful. The most interesting part: the locals row boats using their legs!! It was amazing to watch and envied their quads. After that, we climbed about 700 steps at Hang Múa. Tough climb, but great views. At the base of Hang Mua, we got guava with salt and pepper—simple and delicious. Typical roadside snack. Fruit with salt and pepper. The drive back to Hanoi took longer than expected due to traffic. Later that night, finally got that haircut. It was interesting to navigate the process without speaking the language. Google translate was a huge help. ### Tips - Don’t trust Google Maps hours—call ahead if possible - Skip tour-company rest stops if you can - Bargain for souvenirs (start at \~50% of asking price) - Tip boat rowers ~~50K VND (~~$2) - Expect traffic—plan extra time - Use translation apps for basic communication - Carry cash (cards not widely accepted) --- ### Day 3: Drive to Sa Pa We drove from Hanoi to Sa Pa. The highways were surprisingly good. We stopped at service centers along the way. The service centers typically had a gas station and a strip mall with a bunch of restaurants and street vendors. Clean, but you pay a small fee for restrooms. Sa Pa is in the mountains, and the weather changes constantly. It can feel like different seasons in one day. We visited a place called Sa Pa Moana—very Instagram-focused with photo spots everywhere. Food in Sa Pa was okay, but we realized that guide-recommended restaurants aren’t always the best. Tried chestnuts and chestnut cake, a local speciality of Sa Pa—both very good. ### Tips - Dress in layers (weather changes fast) - Expect fog and winding roads - Be ready to pay small fees for restrooms at highway stops - Research restaurants yourself (don’t rely only on guides) --- ### Day 4: Fansipan (Highest Point in Indochina) We took a cable car up to Fansipan. The views were amazing. From there, another ride and then about 600 steps to reach the peak. It was tiring but worth it. The weather kept changing, so we only got short glimpses of the big Buddha statues. After that, we visited the Glass Bridge. Nice views of the mountains, but the bottom of the glass bridge was not well maintained, so you couldn’t see the ground. Blessing in disguise 🙂. Kids enjoyed the zipline and high altitude swing. Then we drove back to Hanoi—long and tiring. Ordered food using Grab, which worked really well. ### Tips - Sit by the window on the cable car - Wear layers—it gets cold at the top - Be ready for lots of climbing - Visit around noon for slightly warmer weather - Use Grab for food and transport --- ### Day 5: Ha Long Bay Cruise We drove \~3 hours to Ha Long Bay. From the port, we took a small boat to our cruise ship. These cruises are smaller than typical Caribbean ones, but more personal. Rooms were spacious, and the staff was very friendly. We went kayaking and saw wildlife, including monkeys. You can also swim in the bay—even if you’re not a strong swimmer (life jackets provided). At night, we tried squid fishing. It takes patience and usually doesn’t work—but it’s fun to try. ### Tips - Bring snacks and drinks (extras are expensive onboard) - Try kayaking—it’s worth it - Swimming is safe with life jackets - Try mango snacks—they’re very refreshing - Be patient with squid fishing --- ### Day 7: Fly to Da Nang We flew from Hanoi to Da Nang (about 1 hour). Flights are very affordable. Da Nang felt like a beach resort city—similar to Cancun in Mexico. We stayed at Fusion Resort in a private villa. Very relaxing, with a private pool. ### Tips - Flights in Southeast Asia are cheap—use them - Resorts in Da Nang are great for relaxing - Pool rentals (toys, floats) can be overpriced --- ### Day 9: Ba Na Hills and Hội An We visited Ba Na Hills, a mountain resort with a European-style village. The cable car ride was great. Kids loved the alpine coaster. We got the WOW Pass (\~$10), which helped skip lines—definitely worth it. The Golden Bridge (Hand Bridge) was very crowded. Hard to get photos. Later, we went to Hội An, a beautiful historic town with Japanese and Chinese influences. We shopped for custom clothes. You can get them made in 12–24 hours. At night, we did a lantern boat ride. One of the most beautiful experiences of the trip. ### Tips - Arrive early (8–9 AM) to avoid crowds at Ba Na Hills - Get the WOW Pass to skip lines - Take time when ordering custom clothes - Bargain when shopping - Be careful with replica items (quality varies) --- ### Day 10: Final Day We relaxed at the resort, visited Hội An again, and went to Kim Bong village. This village is known for woodworking. We bought a few unique handmade items. ### Tips - Bargain (about 10–15% is reasonable) - Look for handmade items—they’re more unique --- ### Final Thoughts Vietnam was a great mix of experiences—cities, mountains, and beaches. We loved eating pho everyday for breakfast and exploring the country. A place we would definitely come back to again. ### The many faces of Vinay URL: https://kudithipudi.org/the-many-faces-of-vinay/ Last updated: 2026-01-24T07:15:11.000Z Collection of self portraits generated using AI. ## 3D Paper-Craft Portrait - **Model** : Google Gemini 3 Pro aka Google Nano Banana Pro - **Prompt** :` { "model": "nano_banana", "aspect": "1:1", "prompt": "A highly detailed 3D papercraft portrait of the person in the provided reference photo, preserving the exact facial features and identity. Do not describe or alter gender, age, hairstyle, facial hair, or eyeglasses; keep them exactly as in the reference. Composition: face and shoulders only, centered, close-up portrait. Medium/style: entirely folded and layered paper with visible paper edges and subtle paper texture; sharp geometric creases with a low-poly aesthetic, but use small, fine, dense folds so the portrait looks natural and less blocky. Expression: gentle natural smile consistent with the reference. Lighting: soft studio lighting with realistic shadows, ambient occlusion, and depth. Color: neutral, realistic skin tones and natural tones sampled from the reference, not overly saturated. Background: clean minimal abstract backdrop that artistically blends an abstract representation of India and USA flags using recognizable flag colors only (no text, no literal flag rendering), kept subtle so the subject remains dominant. Ultra-sharp details, high resolution."}` - **Output** : ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2026/01/2026-january-paper-portrait.png) ## Expressive Portrait Design - **Model** : Google Gemini 3 Pro aka Google Nano Banana Pro - **Prompt** : `{ "prompt": "Square-format vibrant expressive portrait of the same man from the attached reference photo, matching his exact gender, age, and facial features with his full face clearly visible. He is slightly smiling and looking straight forward into the camera. He wears oversized bright orange-red glasses with glass-light coloured full-shade lenses.\n\nLayered composition:\n1) Background layer: a textured, aged 1990s Telugu newspaper page styled like Eenadu (ఈనాడు) from the 1990s, with vintage print texture, slightly yellowed paper, dense columns, and authentic Telugu typesetting feel. Include a prominent headline in Telugu that reads “రేపటి కోసం” (Repati Kosam), printed as if it is part of the newspaper.\n2) Middle layer – abstract flag brush strokes: on top of the newspaper, broad, expressive abstract brush strokes that clearly suggest both the Indian flag and the USA flag, without becoming photorealistic flags. For the Indian flag: wide strokes of saffron/orange, white, and deep green, loosely arranged to hint at horizontal banding but remaining painterly and abstract. For the USA flag: bold abstract strokes of deep blue, bright white, and rich red, with a suggestion of a blue field and red-white striping implied by brush direction and grouping. These strokes feel like layered abstract painting directly on the newspaper, partially overlapping but not fully covering the text, clearly readable as Indian and USA flag motifs in an abstract modern-art style.\n3) Top layer: the man’s portrait rendered in dynamic black sketch strokes, blending realism and abstract expressionism, centered and dominant in the frame.\n\nOverall mood: expressive, hopeful, and creative. The vintage Telugu newspaper texture remains visible beneath the abstract flag brushwork. High-contrast ink linework. Clean square framing with the face as the primary focal point.", "aspect": "1:1" }` - **Output** : ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2026/01/2026-january-newspaper-design.jpg) ### Dallas Vendors URL: https://kudithipudi.org/dallas-vendors/ Last updated: 2025-10-28T19:23:13.000Z Collection of artists and vendors local to the Dallas area - Tactile Turn : [https://tactileturn.com](https://tactileturn.com/?ref=kudithipudi.org) - High quality machined pens - Dragon Laser : [https://www.dragonstreetlaser.com/](https://www.dragonstreetlaser.com/?ref=kudithipudi.org) - Laser cutting/etching services ### My greetings URL: https://kudithipudi.org/my-greetings/ Last updated: 2026-09-13T23:41:02.000Z Collection of greetings I created using GenAI. Most of my greetings have a theme of being located on mars :-). ## 2026 September - Vinayaka Chavithi ![](https://kudithipudi.org/content/images/2026/09/image-2.png) **Prompt using Google Nano Banana Pro** Vibrant and colorful acrylic painting of Lord Ganesha, stylized sacred silhouette rendered in rich jewel tones of turquoise, deep saffron, radiant magenta, gold leaf, and royal purple with flowing, gentle cosmic curves, set upon the rust-red and terracotta terrain of Mars illuminated by a soft, kaleidoscopic atmospheric glow, ethereal alien horizon under nebular starfields, serene, joyful, and meditative mood. At the bottom, include the English words “Mangal Murti Morya” in an elegant Sanskrit-inspired calligraphic font, with graceful ornamental curves and subtle golden illumination. Keep the lettering clearly in English, not Devanagari. Square ratio. ## 2026 September – Labor Day ![](https://kudithipudi.org/content/images/2026/09/image-1.png) **Prompt using Google nano baanana pro** Create a premium illustrated vertical destination postcard for Labor Day on Mars, set in Hellas Planitia, in a refined Japanese travel-magazine illustration style. Format 9:16\. Depict an elegant autonomous Mars railcar traveling across the broad basin of Hellas Planitia. The railcar should be slender, quiet, and visually understated—matte ivory with muted terracotta accents—moving along an elevated track that curves gracefully across a wide, wind-shaped expanse of pale salmon dust and layered dunes. In the distance, the immense basin rim rises softly through atmospheric dust haze. A small station platform in the foreground features minimalist shelter architecture, solar canopies, and a restrained Labor Day gathering of tiny paper-cut travelers. The scene should feel like a luxury slow-travel poster from the future: passengers arriving for a long weekend, quietly looking out across Mars, carrying small travel bags, sharing a drink, or standing in the shade. Include subtle Mars-specific details such as terrain markers, dust-resistant solar panels, small rover service vehicles, and thin translucent wind screens. Visual style: elegant Japanese editorial tourism illustration, handcrafted cut-paper layers, watercolor washes, light gouache texture, soft paper shadows, refined matte offset-print finish, muted sophisticated color relationships. Composition: the curved rail line should create a strong leading line from the lower foreground into the middle distance. Retain generous empty sky in the top third for typography. Typography in the upper-left, integrated into the artwork: LABOR DAY — large uppercase geometric sans-serif HELLAS PLANITIA · MARS — small refined sans-serif TAKE THE SCENIC ROUTE — small uppercase with wide letter spacing Color palette: warm ivory, pale beige, powder blue sky, muted rust, dusty pink, soft gray, gentle sage accents, and restrained dark brown. Low-to-medium saturation. Avoid a cyberpunk look, flying cars, crowded stations, giant astronauts, glossy chrome, Earth-like weather, mountains that do not fit a basin environment, strong black outlines, overly saturated red terrain, random text, logos, frames, or watermarks. ## 2026 May – Memorial Day ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2026/05/2026-may-memorial-day.png) **prompt (using Google nano banana pro)** { “model”: “nano\_banana\_pro”, “task”: “Image Generation”, “aspect\_ratio”: “9:16”, “needs\_text\_rendering”: true, “prompt”: “Design a respectful Memorial Day postcard in a vintage 1930s WPA / Federal Art Project poster style, with realistic painterly illustration (not cartoonish), solemn and commemorative.\\n\\nComposition: Portrait-forward, poster-like layout with clean margins. Upper \~70% is the artwork, lower \~30% reserved for an uncluttered caption area.\\n\\nSubject (hero portrait): Private First Class Milton L. Olive III (U.S. Army, Vietnam War). Depict him as a dignified, heroic bust/half-body portrait facing slightly off-camera (three-quarter view), calm determination and humility in his expression. Accurate Vietnam-era details: U.S. Army tropical jungle fatigues (olive drab), period-correct web gear straps suggested, and an M1 helmet with a camouflage cover. No medals added unless subtle and historically plausible; avoid inventing decorations.\\n\\nBackground motif: A large abstract American flag backdrop rendered as bold painterly brush-stroke stripes (muted red and warm off-white) and a deep navy canton with simplified stars. The flag should feel like a WPA mural—graphic, textured, and symbolic, not a literal photo of a flag.\\n\\nEnvironment hints (subtle, not action): Minimal Vietnam jungle elements as silhouettes or tonal shapes behind the figure—soft palm/foliage outlines, misty atmosphere—kept understated so the portrait remains the focus.\\n\\nStyle & print texture: WPA poster aesthetic with strong shapes, controlled realism, textured paper grain, slight screenprint/halftone feel, limited palette (navy, muted red, warm beige, olive drab, subdued greens), high contrast and crisp edges where appropriate.\\n\\nTypography: At the bottom, centered, add the caption in a bold vintage WPA-style block serif (or monumental serif), high legibility, perfectly spelled, straight baseline, no warping. Exact text: \\”Forever in debt to those who served and sacrificed\\”. Do not include any other text, dates, logos, watermarks, or signatures.”, “negative\_prompt”: “Mars, space, planets, Earthrise, sci-fi, futuristic gear, satire, comedic tone, disrespectful depiction, gore, blood, explosion, active combat scene, modern tactical gear, incorrect helmet, incorrect uniform era, invented medals, inaccurate camouflage patterns, distorted face, extra limbs, deformed hands, blurry, low resolution, cluttered layout, misspelled text, wrong quote, extra text, watermark, logo” } ## 2026 January – Sankranthi ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2026/01/image.png) **prompt (using Google Nano Banana pro)** { “model”: “nano\_banana\_pro”, “task”: “Image Generation”, “aspect\_ratio”: “4:3”, “needs\_text\_rendering”: true, “prompt”: “Abstract greeting card illustration of the Indian festival of Sankranthi being celebrated on Mars by a family of four: father, mother, and two young boys. Foreground: the family as simplified flowing sumi-e ink silhouettes (minimal facial detail) wearing a blended Indian + futuristic look—traditional Indian garment shapes fused with sleek sci‑fi tailoring and materials. Mother: sari-inspired drape integrated with a streamlined utility jacket or subtle exosuit seams; father: kurta-inspired long top combined with modern structured panels and a lightweight space-gear belt; boys: festive kurtas blended with sporty futuristic jumpsuit elements. Keep it elegant and abstract: clothing is suggested via brush shapes and a few crisp geometric accents.\\n\\nSetting: Mars with a prominent, multi-building habitat occupying the midground and stretching across the horizon—several connected domes, modular buildings, and vertical greenhouse towers, linked by translucent tunnels. Make the settlement clearly visible but still stylized, rendered with ink line architecture and soft washes, with a few gentle glowing color accents. Include subtle Mars details: rover tracks and a tiny rover silhouette near the habitat; reddish dust swirls as ink washes.\\n\\nFestival action: they are joyfully flying colorful kites in the thin Martian sky; kite strings curve like calligraphic strokes. Integrate Sankranthi harvest motifs abstractly: sugarcane leaves, a small pongal pot with steam, and rangoli-like geometric patterns on the ground, simplified and woven into the brushwork.\\n\\nTypography: Add the greeting text in Telugu script at the top-left corner, exact text: \\”సంక్రాంతి శుభాకాంక్షలు\\”. Style it as hand-written calligraphy that matches sumi-e brush lettering: black ink with slight texture and natural stroke variation, medium-large size, clean and highly legible, with generous margin from the edges. Do not add any other text.\\n\\nArt style: e-ink sumi / sumi-e inspired—expressive black ink lines, soft ink washes, textured paper feel, lots of negative space, modern abstract composition. Color approach: vivid but limited palette pops (turquoise, saffron, magenta, lime, and gold) primarily on kites, rangoli motifs, and small clothing accents. High contrast, celebratory mood, clean greeting-card composition.”, “negative\_prompt”: “misspelled Telugu text, incorrect script, English text, extra text, watermark, logo, photorealistic, 3D render, cluttered, crowded background, neon overload, low contrast, muddy colors, pixelation, posterization, distorted anatomy, extra limbs, extra fingers, overly detailed faces” } ## 2025 November – Thanksgiving ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/11/2025-november-thanksgiving.jpg) **prompt** **(using Google Nano Banana Pro)** : Postcard illustration, aspect ratio 4:3, high resolution. Cinematic composition with a clear focal point: Central Family & Table (One-Line Art): A family of four sitting together at a dining table, closely resembling the people in the reference photo. Their facial features, hairstyles, ages, and overall proportions should clearly echo the reference image, but they are drawn as a single, continuous one-line illustration. Use clean, smooth black ink lines only for the family and table, no shading or color, one unbroken line if possible. The family and the dining table are centered and slightly foregrounded in the composition. Thanksgiving Feast (On the Table): On the one-line table, clearly outline an abundant Thanksgiving meal: whole roast turkey, mashed potatoes, stuffing, pies, cranberry sauce, and multiple side dishes. Mix in several futuristic, Martian-inspired dishes with unusual silhouettes, floating or faceted shapes, and small glowing garnishes or accents to hint at advanced technology. Keep all food and table elements in the same black one-line style as the family. Martian Interior Setting (Color Environment): Surround the central black-and-white line art with a highly detailed, colorful sci-fi environment. The setting is a sleek, futuristic living room inside a house on Mars. Include advanced furniture, soft ambient lighting, and subtle holographic interfaces to suggest a warm yet high-tech home. Panoramic Martian City View (Outside Window): Behind the family, add a large panoramic window or glass wall revealing a Martian landscape. Show a sprawling Martian city at the base of towering red-rock mountains. Include imaginative futuristic vehicles, floating transit lines, levitating shuttles, and glowing pathways, conveying a busy, advanced society. The sky, city lights, and vehicles should feel alive and dynamic. Color & Contrast: The environment, city, sky, mountains, and vehicles are rendered in vivid bright neon colors: neon blues, pinks, purples, greens, and oranges. Use glowing highlights, reflections, and light trails to enhance the sci-fi feeling. Maintain strong contrast: Central family + table + food = minimalist black-and-white, single continuous line art. Surrounding interior and exterior environment = highly detailed, colorful neon sci-fi painting. Overall Style & Mood: Single continuous one-line art for the family and table in black and white, surrounded by a lush neon sci-fi scene. Cinematic, postcard-style composition with balanced margins, ready to be printed as a unique greeting postcard. Warm, joyful Thanksgiving atmosphere combined with imaginative, futuristic Martian world-building. Sharp, clean lines, crisp details, and a polished, professional illustration finish. Make it Van Gogh style. --- ## 2025 October – Deepavali ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/10/image-1.png) **prompt** : Abstract, colorful postcard art of Mars — vast red-orange desert with towering scarlet and rust mountains, cool blue-purple twilight sky with stars and faint nebulae. In the foreground: a futuristic neon-lit metropolis with glass towers, skybridges, and a nearby rocketport with launch pads, beacons, and grounded rockets. On the highest mountain: an enormous ornate brass diya lamp with a giant golden flame, casting warm amber light and long dramatic shadows over the landscape. Swirling painterly textures, graphic vector-like shapes, subtle grain, bokeh glints, and soft volumetric light. Festive, uplifting, celebratory. High detail, clean negative space for text. Add elegant caption at the bottom: “Wishing you a joyous Diwali!” Typography: refined sans-serif or modern serif, high contrast, centered, white or warm gold. Postcard composition, balanced margins. --- ## 2025 October – Dasara ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/10/freepik_a-vibrant-and-luminous-abstract-art-postcard-celeb_98294.png) **prompt** : A vibrant and luminous abstract art postcard celebrating the Hindu festival of Dasara (Vijayadashami) set on the planet Mars. The composition should be distinctly contemporary and futuristic, showcasing abstract interpretations of celebratory elements, victory, and joy. Integrate stylized Martian landscapes with dynamic splashes of vivid, glowing colors, reminiscent of nebulae, distant stars, and celestial events. The overall aesthetic should be highly artistic, energetic, and visually striking, suitable for a digital greeting. Aspect ratio 16:9 or 5:7, 8k, high detail, masterpiece. --- ## 2025 September – Labor Day ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/09/2025-september-labor-day.png) **prompt** : A dramatic, wide-angle shot of a diverse group of workers standing proudly on the Martian landscape at dusk. The setting is highly futuristic, with a sleek, glowing Martian city skyline in the background, punctuated by vibrant, celebratory fireworks bursting in the sky. The workers are lined up, facing the viewer, each depicted with a strong, determined posture. The group should include: An engineer male human A doctor female human A nurse male alien A firefighter non-threatening alien features A scientist gender-neutral human A farmer gender-neutral alien All characters are wearing futuristic, functional uniforms appropriate for Mars, blending practicality with a heroic aesthetic. The uniforms should be distinct but cohesive, perhaps with metallic accents or integrated light elements. The lighting is dramatic, with the Martian sunset casting long shadows and highlighting the figures. The ground is reddish-orange Martian soil. Overlay text: ‘Happy Labor Day’ prominently displayed either at the top or bottom of the image, in a clean, futuristic font that complements the scene. --- ## 2025 August – Vinayaka Chavithi ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/08/image.png) **prompt** : A vibrant, abstract oil painting of Lord Ganesha, depicted with bright, luminous colors. The scene is set on the surface of Mars, with subtle, artistic interpretations of Martian landscapes and hues in the background. The overall style should evoke a sense of celebration and spiritual reverence, suitable for a festive postcard., cyberpunk cinematic style with neon colors --- ## 2025 July – US Independence Day ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/08/image-1.png) **prompt** : abstract art to celebrate US independence day on mars. US flag, rockets, futuristic buildings, people walking around, fireworks. wester nostalgia --- ## 2025 March – Ugadi ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/08/image-2.png) **prompt** : Create a 9:16 aspect ratio digital art postcard depicting a South Indian family of four celebrating the Ugadi festival on Mars. The family consists of a man, a woman, a 13-year-old boy, and a 10-year-old boy. They are standing together, holding hands, and gazing hopefully towards the Martian horizon where sleek, futuristic biodomes and settlement structures are visible under a thin, reddish-orange sky. Their attire should be a blend of futuristic and traditional South Indian styles: think modern, functional fabrics and clean lines incorporating subtle elements like shimmering kasavu-style digital borders, embedded traditional motifs like paisley or temple designs using light or texture, or drapes reminiscent of sarees and dhotis integrated into practical, space-appropriate suits. Colors should be vibrant festive South Indian tones like mango yellow, deep green, rich magenta, gold but with a futuristic, perhaps slightly iridescent sheen. The overall mood is one of hope, family unity, and celebrating tradition in a new frontier. The image should have the feel of a postcard, potentially with slightly rounded corners or a subtle border. Crucially, include the Telugu text “ఉగాది శుభాకాంక్షలు” clearly visible and horizontally aligned along the bottom edge of the postcard. --- ## 2025 January – Ugadi ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/08/image-3.png) **prompt** : A postcard depicting a futuristic Indian family celebrating Sankranti on a Martian colony. The family, wearing stylish, yet traditional Indian-inspired space suits, is gathered around a vibrant, technologically advanced rangoli, perhaps incorporating Martian elements. Kites in the skye. The background should show a futuristic Martian city with a breathtaking view of Earth rising over the horizon. The lighting should be warm and inviting, creating a festive atmosphere. Include elements of a Sankranti celebration like kites perhaps modified for Martian conditions, sweets, and maybe even a small, futuristic version of a bonfire. The overall style should be vibrant, hopeful, and technologically advanced while maintaining a strong sense of Indian culture and the festive spirit of Sankranti. Banner at the top of the postcard saying “Sankranti Subhakankshalu” in Telugu. --- ## 2024 November – Thanksgiving ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/08/image-4.png) **prompt** : Thanksgiving on Mars. Indian family of four – parents and two sons – dining at sunset. Futuristic dome buildings. Two moons in sky. Warm orange and red tones. Traditional Indian clothing with sci-fi twist. --- ## 2024 October – Diwali ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/08/image-5.png) **prompt** : abstract painting to reflect diwali celebration and spirit. ### Sri Satyanaraya Vratham Stories URL: https://kudithipudi.org/sri-satyanaraya-vratham-stories/ Last updated: 2025-08-16T03:34:59.000Z **Introduction: Narada Muni’s Inquiry to Lord Vishnu** Once upon a time, 88,000 rishis assembled in the forest called Naimisharanya and asked Maharishi Suta, the narrator of the Puranas: “O Maharishi, please tell us how mankind can attain salvation.” Maharishi Suta answered: “Once, Sage Narada asked Lord Vishnu the same question. I will tell you what Lord Vishnu told Narada.” While traveling through the three worlds, Yogiraj Narada Muni reached Mrityuloka (the earthly realm) and witnessed human beings suffering immensely due to their karmas. Compassionate toward mankind’s plight, he visited the abode of Lord Vishnu, who alone can relieve humanity from its sufferings. There he met the Almighty Lord Vishnu, resplendent with four arms holding shankha (conch), chakra (discus), gada (mace), and padma (lotus), wearing a tulsi mala around His neck. Narada began to pray and make his request: “O Lord, You are the Supreme Power. Nothing can touch You – not even wind or mind can reach You. You help Your devotees overcome their sufferings and sorrows.” Hearing all the pleadings of the noble Narada Muni, the omniscient Lord Vishnu responded: “O Narada Muni, why have you come to Me? What do you want from Me? Tell Me, I want to hear it from you directly.” Yogiraj Narada replied: “O Lord, I have just visited Mrityuloka where I saw all kinds of human beings suffering due to their previous karmas. Is there no way that their suffering can be lessened? Is it possible for them to get complete moksha (liberation) from their sufferings? If so, please let us know.” Lord Vishnu replied: “O Narada, you have asked a very good question for the benefit of all humankind. To free mankind from all sufferings and to ultimately help them reach heaven, there is one fast (vrata). Today I will tell you all about it. Anyone who performs Sri Satyanarayana vrata and puja in the right way will get all pleasures on earth and will reach their ultimate goal. For this prayer, one requires bananas, ghee, milk, and churi (made with wheat flour, ghee, and sugar). After the prayers, all present must partake of the prasad, then take their meals together, and sing praises and chant mantras of Lord Satyanarayana. By doing this, their wishes will be fulfilled.” Yogiraj Narada then asked: “O Lord, has anyone performed this fast before? On which day is this fast observed, and how exactly is it performed?” Lord Vishnu said: “Whosoever performs this vrata with his family and with complete devotion will be relieved of sufferings and sorrows, will be blessed with increased wealth and wisdom, will be blessed with children, will achieve overall victory, and will develop increased devotion.” Now, let me narrate to you the five sacred stories that Lord Vishnu told to Narada Muni about those who performed this blessed vrata: **Story 1: The Poor Brahmana’s Transformation** In the city of Sundarakashipur, there lived a poor Brahmana who wandered daily in hunger and thirst, begging for his daily bread. Seeing his suffering, Lord Vishnu appeared in the disguise of an old Brahmana and approached him. “Why are you so sad?” asked the disguised Lord. The Brahmana replied, “I am poor and roam daily for bread. Do you know any way to come out of this sorrow?” The old Brahmana (Lord Vishnu) said, “Lord Satyanarayana grants all wishes to those who pray to Him and keep His fast. You will overcome all sorrow and attain moksha.” After learning the details of the prayer and fast, the Brahmana couldn’t sleep that night, thinking about what he had heard. The next morning, he went out for alms and miraculously received abundant money. He bought all necessary items for the puja – bananas, ghee, milk, and churi (made with wheat flour, ghee, and sugar) – called his family, and performed Lord Satyanarayana’s prayer. From that day forward, the Brahmana overcame all sorrows, became wealthy, and continued performing the prayers every month without fail. **Story 2: The Woodcutter’s Fortune** The same Brahmana, now wealthy, continued his monthly prayers. One day while performing his puja, a woodcutter passed by his house. Placing his bundle of wood outside, the thirsty woodcutter entered to ask for water. In Hindu culture, offering water to a thirsty person is considered a sacred duty called seva. When we help others in need, we are serving God. Seeing the prayers being performed, he bowed down and asked, “O Brahmana, what are you doing? Please tell me about it.” The Brahmana explained, “This fast and prayer is useful for granting all human wishes. I have acquired all wealth and fame by doing this prayer to Lord Satyanarayana.” Notice how the Brahmana freely shares his knowledge without expecting anything in return. In dharma, sharing wisdom and helping others find their path to God is one of the highest forms of service. After hearing about the prayer and drinking water, the woodcutter felt happy. He thought to himself, “Whatever I earn today from selling wood, I will also perform this prayer.” That day, while selling his wood in the market, he received four times more money than usual. Feeling blessed, he bought all necessary items for the prayer, went home, cleaned his house, called his family, and performed the prayer with due respect. The woodcutter’s simple, honest work was blessed because of his pure intention. Hindu dharma teaches that all honest work is sacred, and when done with devotion to God, even simple labor becomes worship. As a result of this fast, he became rich, enjoyed all pleasures of life on earth, and ultimately went to heaven after death. This shows us that spiritual practice brings both material well-being and spiritual progress. True dharma helps us live well in this world while preparing for the next. **Story 3: The Merchant’s Broken Promise and Redemption** King Ulkamukh, a wise ruler who regularly visited temples and donated to Brahmanas, was performing Sri Satyanarayana’s prayer at the banks of the Madhusala river for the blessing of a son. A wealthy merchant passing by anchored his boat and inquired about the prayer. After learning the details, the merchant returned home and told his wife Leelavathi about the fast, promising to perform it when they were blessed with a child. Making promises to God is sacred in Hindu tradition. When we ask for divine blessings, we should be ready to fulfill our part of the agreement. By Lord Satyanarayana’s grace, his wife became pregnant and gave birth to a beautiful daughter named Kalavathi. As the child grew, Leelavathi reminded her husband of his promise, but the merchant postponed it, saying it would be easier to observe during their daughter’s wedding. This shows how we sometimes forget our promises to God when life becomes comfortable. Procrastination in spiritual duties can lead to problems. When Kalavathi came of age, the merchant arranged her marriage to a handsome young man from Kanchanagar. However, he forgot his promise to perform the prayer. Lord Satyanarayana became angry at this false promise. Soon after, the merchant and his son-in-law went on a business trip to Ratnapur, ruled by King Chandraketu. Due to the Lord’s maya – his divine play – thieves robbed the king’s wealth and left it where the merchant was staying. When guards found the stolen goods, they arrested the merchant and his son-in-law as thieves. The king, without proper investigation, imprisoned them in a dark cell and confiscated their wealth. This teaches us about the law of karma – our actions have consequences. When we don’t keep our word, especially to the divine, difficulties may arise to remind us of our duties. Meanwhile, thieves robbed the merchant’s house, leaving his wife and daughter to beg for food. One day, while begging, Kalavathi reached a Brahmana’s house where Sri Satyanarayana puja was being performed. After listening to the prayer and taking prasad, she returned home and told her mother about it. Leelavathi immediately began preparations for the prayer, performed the fast, asked for forgiveness, and prayed for her husband and son-in-law’s safe return. When troubles come, turning to God with sincere repentance and devotion is the dharmic way. Family members can help each other spiritually – here, the women’s devotion helped save the men. Pleased with their devotion, Lord Satyanarayana appeared in King Chandraketu’s dream and commanded him to release the merchant and his son-in-law immediately, warning that the kingdom would be destroyed otherwise. The king obeyed, released them with good clothes, returned their wealth with additional gifts, and sent them home safely. This shows that God is always compassionate and ready to forgive when we sincerely repent. Divine justice ensures that truth ultimately prevails. **Story 4: The Test of Pride and Humility** The merchant, grateful for his release, prayed first and gave wealth to Brahmanas before starting his journey home. As they traveled, Lord Satyanarayana decided to test them by appearing as an old man. God sometimes tests us to help us learn important lessons about humility and truthfulness. These tests help us grow spiritually. The disguised Lord approached the merchant and asked, “What is in your boat? Give me something from there.” In his ego and pride, the merchant replied harshly, “O old man, we have nothing in our boat except hay and leaves.” Pride and ego are considered major obstacles in spiritual growth. When we become arrogant, we forget that all our blessings come from God. The Lord said, “Your words will be true,” and went to sit on the riverbank. Immediately, the boat began rising higher in the water. When the merchant checked his boat, he found it filled only with hay and leaves. All his wealth had vanished, and he fainted from shock. This shows the power of divine will and teaches us to always speak truthfully, especially to those in need. Our words have power and consequences. His son-in-law advised him to seek forgiveness from the old man. The merchant searched for and found the old man, bowed down with tears, and begged forgiveness for his harsh words. True repentance involves recognizing our mistakes, feeling genuine sorrow, and humbly asking for forgiveness. The son-in-law’s wisdom shows how family members should guide each other toward righteousness. Seeing his genuine repentance, the Lord explained that all his suffering was due to his false promise and harsh behavior. The merchant promised to pray regularly and asked for his wealth to be restored. Pleased with his devotion, the Lord granted his wish. The boat was again filled with wealth. As they neared home, the merchant sent a messenger ahead to inform his family. Leelavathi had just finished her Satyanarayana puja when the news arrived. She told Kalavathi to complete the prayer before going to receive her husband. However, Kalavathi, eager to meet her husband, left quickly without taking the prasad. The Lord became angry and made her husband’s boat disappear. When Kalavathi couldn’t find her husband, she fainted. Prasad is considered sacred food blessed by God. Taking prasad with respect and gratitude is an important part of worship. Even in excitement, we should complete our spiritual duties properly. The merchant realized the mistake and prayed for forgiveness. The Lord announced that because Kalavathi had left without taking prasad, she couldn’t see her husband until she returned, took the prasad with respect, and came back. Kalavathi immediately ran home, took the prasad properly, and returned to find her husband safely waiting. This teaches us that following proper spiritual practices completely is important. Shortcuts in devotion can cause problems, but sincere correction can set things right. From then on, the merchant performed Lord Satyanarayana’s prayers and fast with his family every month, enjoyed all life’s pleasures, and went to heaven after death. **Story 5: King Tungadhwaja’s Lesson in Humility** King Tungadhwaja was famous for his generosity to his subjects but suffered greatly due to his disrespect toward Lord Satyanarayana’s prayer and prasad. Even good people can make mistakes in their spiritual conduct. Being generous with material things is wonderful, but respecting spiritual practices is equally important. One day while hunting in the forest, he sat under a tree and saw villagers performing Sri Satyanarayana’s prayer. Due to his false ego, he neither joined them nor bowed to the Lord’s idol. When the villagers offered him prasad, he refused and left. Royal status or worldly position doesn’t excuse us from showing respect to God and accepting divine blessings. Pride can make us blind to the sacred, even when it’s right in front of us. Upon returning to his kingdom, the king was horrified to find everything destroyed and all his 100 sons lying dead. Realizing this catastrophe was due to his false ego and disrespect, he immediately returned to where the villagers were praying. This shocking consequence teaches us that disrespecting God and refusing His blessings can have severe results. However, the story also shows that it’s never too late to correct our mistakes. He joined them in performing Lord Satyanarayana’s prayers with humility and devotion. After the puja, he prepared panchamrit – a mixture of milk, sugar, curd, tulsi leaves, and honey – and put it in the mouths of all his sons. Panchamrit is a sacred mixture used in worship, representing the five elements and divine nectar. The king’s act shows that when we approach God with genuine humility and devotion, miracles can happen. Miraculously, all 100 sons came back to life. The king regained all his wealth and comforts, and after living a devoted life, he attained heaven upon death. This miraculous restoration shows God’s infinite compassion and power. When we truly repent and surrender our ego, divine grace can overcome even death itself. ### Dallas Restaurants URL: https://kudithipudi.org/dallas-restaurants/ Last updated: 2025-02-08T01:51:01.000Z Recommendations from friends and family | **Restaurant** | **Address** | **Phone** | **Most Popular Dish** | | ----------------------- | ----------------------------------------------- | -------------- | -------------------------------------- | | Chaskaa Punjabi Kitchen | 495 TX-121, Ste 220, Lewisville, TX 75067 | (945) 200-4999 | Makki Di Roti (Punjabi corn flatbread) | | Ramen Hakata | 4640 McKinney Ave, Dallas, TX 75205 | (214) 520-6868 | Tonkotsu Ramen | | Panj Tara | (Not publicly listed; Irving area) | (Unavailable) | Traditional Punjabi thali | | Gen Korean BBQ House | 2540 Old Denton Rd, #139, Carrollton, TX 75006 | (972) 242-5959 | All-You-Can-Eat KBBQ (e.g., brisket) | | Terry Black’s Barbecue | 3025 Main St, Dallas, TX 75226 | (214) 220-2500 | Brisket | | Bajeko Sekuwa | 7747 N MacArthur Blvd, #175, Irving, TX 75063 | (972) 620-9722 | Nepali Sekuwa (char-grilled meats) | | Kabab N Kurry | 401 N Central Expy, #300, Richardson, TX 75080 | (972) 231-5556 | Tandoori Chicken | | Hot Pizza | (Multiple locations; check local listings) | (Unavailable) | Classic Pepperoni or specialty pizzas | | Curry Pizza House | 6940 N MacArthur Blvd, #100, Irving, TX 75039 | (469) 599-4119 | Tandoori Chicken Pizza | | Noodle Wave | 1314 W McDermott Dr, #150, Allen, TX 75013 | (214) 383-2888 | Pad Thai or Spicy Basil Noodles | | Mythri’s Indian Cuisine | 3930 Rosemeade Pkwy, #110, Dallas, TX 75287 | (972) 820-9663 | Hyderabadi Biryani | | Momo2Go | (Irving/Carrollton area; check local listings) | (Unavailable) | Nepalese momo (dumplings) | | Best Thai | 14673 Midway Rd, #105, Addison, TX 75001 | (972) 386-4050 | Pad Thai | | Urban Tadka | 101 S MacArthur Blvd, #105, Irving, TX 75060 | (972) 401-0001 | Chicken Tikka Masala | | Fun Pizza Kitchen | 4301 Saturn Rd, #201, Garland, TX 75041 | (469) 904-5566 | Butter Chicken Pizza | | Akaya Sushi | 19009 Preston Rd, #108, Dallas, TX 75252 | (972) 248-1888 | Signature Rolls (e.g., Akaya Roll) | | Hoshi Japanese Cafe | 2528 Old Denton Rd, #180, Carrollton, TX 75006 | (972) 323-5559 | Ramen or Bento Combos | | Ba Lee Sandwich Shop | (Check local listings for exact address) | (Unavailable) | Bánh Mì (Vietnamese sandwiches) | | Simply South | 1001 MacArthur Park, Irving, TX 75063 | (972) 787-6884 | Cashew Mushroom Masala | | Whisky Cake | 3601 Dallas Pkwy, Plano, TX 75093 | (972) 993-2253 | “Whiskey Cake” dessert | | Jeng Chi | 400 N Greenville Ave, #11, Richardson, TX 75081 | (972) 669-9094 | Soup Dumplings (Xiao Long Bao) | | Vrindavan | 2550 Preston Rd, Frisco, TX 75034 | (469) 805-5050 | Brijwasi Thali (rotating veg dishes) | ### 2024 Winter: Exploring Chile URL: https://kudithipudi.org/2024-winter-exploring-chile/ Last updated: 2025-01-06T21:45:57.000Z This winter (summer in Chile), I had the incredible opportunity to explore Chile with my family. From bustling cities to serene coastal towns and breathtaking natural wonders, Chile offered us a perfect mix of adventure, relaxation, and cultural immersion. Here’s a day-by-day breakdown of our journey, which I hope will serve as a guide for anyone planning to visit this beautiful country. --- ### Day 1: Arriving in Santiago We landed in Santiago and checked into the [Four Points Sheraton](https://www.marriott.com/en-us/hotels/sclfp-four-points-santiago/overview/?ref=kudithipudi.org) in the Providencia neighborhood. Despite the standard 3 PM check-in time, the hotel graciously allowed us to check in early—a much-appreciated gesture after a long flight. Our first stop was the Central Market (Mercado Central), a lively hub where locals shop for fresh fish and vegetables. Be prepared for strong smells, but the energy of the place is worth experiencing! We also tried a local Chilean drink called [Mote con Huesillo](https://en.wikipedia.org/wiki/Mote%5Fcon%5Fhuesillo?ref=kudithipudi.org), a sweet and refreshing blend of barley, peach, and syrup—perfect for the summer heat. ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/01/image.png) Later, we rode the cable car up [San Cristóbal Hill](https://en.wikipedia.org/wiki/San%5FCrist%C3%B3bal%5FHill?ref=kudithipudi.org) for a stunning panoramic view of the city. Santiago summers can be scorching, so staying hydrated is essential. ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/01/image-1.png) **Tips:** - Learn basic Spanish phrases like “Gracias” (thank you) and “Por favor” (please). Locals appreciate the effort. - Ride-sharing apps like Uber are faster and more convenient than public transport. - Consider buying cable car tickets online for potential discounts. --- ### Day 2: Heading South to Punta Arenas We started the day with an early Uber ride to the airport and flew with Sky Airlines to Punta Arenas, with a brief stop in **Puerto Montt**. Sky Airlines is budget-friendly but prone to delays, so plan accordingly. ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/01/image-2.png) In Punta Arenas, we stayed at an Airbnb, which offered a more local experience but fewer amenities than a hotel. For dinner, we ordered pizza through Uber Eats (Papa John’s). Interestingly, Chileans use fresh tomato slices instead of traditional tomato sauce, giving the pizza a unique flavor. **Tips:** - Always have a backup plan for flights in case of delays. - Carry enough cash (Chilean pesos) and learn some Spanish for easier communication. - Airbnb can be a great option, but bring your own toiletries just in case. --- ### Day 3: Whale, Penguin, and Glacier Watching We woke up at 3 AM for an unforgettable wildlife tour. After a short bus ride to the boat, we were treated to breakfast and lunch onboard while marveling at whales, penguins, and seabirds. Binoculars are a must to fully appreciate the wildlife. ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/01/image-3.png) ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/01/image-4.png) ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/01/image-5.png) Lunch was served with glacier views, and they even used glacier ice for the beverages—a surreal experience! We ended the day with dinner at **Emporio Okusa** in downtown Punta Arenas (reservations recommended). ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/01/image-19.png) ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/01/image-20.png) **Tips:** - Bring binoculars for wildlife and glacier watching. - Dress warmly, as it can get chilly near the glaciers, even in summer. - Book popular restaurants in advance to avoid disappointment. --- ### Day 4: Returning to Santiago (with a Surprise Layover) Our return flight to Santiago included an unexpected 6-hour layover in Puerto Montt due to a mechanical issue. We made the most of it by shopping in **Angelmó**, where cash often gets you better deals. ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/01/image-6.png) Once back in Santiago, we took an Uber to Algarrobo and checked into **Alfonso Del Mar**, home to the world’s largest swimming pool. The ocean was stunning, but the waves were massive, and the water was quite cold. ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/01/image-7.png) **Tips:** - Always factor in potential flight delays, especially with budget airlines. - Chile’s coastal waters are cold year-round, so pack accordingly. - Local supermarkets are great for stocking up on essentials. --- ### Day 5: Relaxing by the World’s Largest Swimming Pool We spent the day enjoying the massive pool at the Alfonso Del Mar resort. Though the water was chilly at first, it was worth the plunge. A strong coastal wind accidentally caused us to break a door lock, which took a few hours to fix—a reminder to keep doors and windows secured. Lunch at the resort’s oceanfront restaurant was a highlight, with fresh and flavorful dishes. Later, we explored nearby restaurants and enjoyed a vibrant dinner scene. **Tips:** - Be cautious of strong coastal winds—they can slam doors shut unexpectedly. - Sample local seafood and fresh produce; Chilean fruits and vegetables are exceptional. - Smaller towns may have limited business hours, so plan ahead. --- ### Day 6: Discovering Valparaíso and Viña del Mar We booked an Uber for a day trip to **Viña del Mar** and **Valparaíso**. Our driver agreed to stay with us for the day, which made exploring much easier. In Viña del Mar, we visited the famous “Flower Clock” (**Reloj de Flores**) ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/01/image-10.png) and enjoyed “**completos**” (hot dogs loaded with tomatoes, avocado, and mayo) on the beach. ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/01/image-9.png) Valparaíso, with its vibrant street art and hilly streets, was a visual treat. We also stopped at the “**Piano Keyboard Stairs**” and had lunch at “**La Cucina**,” an Italian restaurant with stunning harbor views. ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/01/image-8.png) ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/01/image-11.png) **Tips:** - Hiring a driver for the day can be more convenient than multiple short rides. - Use a translation app, as English isn’t widely spoken outside Santiago. - Valparaíso’s charm lies in its street art—consider a local guide for a deeper experience. --- ### Day 7: Exploring the Andes Mountains We started the day with a failed attempt to capture the sunrise over the ocean (cloudy skies had other plans). After soaking in the coastal views, we returned to Santiago with our trusted Uber driver, stopping in Calcaí for shopping (though stores didn’t open until noon). In Santiago, we checked into a beautiful Airbnb in Providencia before heading to the Andes. Highlights included a visit to the fairy tale-inspired [**Casa Chocolate**](https://cajondelmaipochile.cl/atractivos/casa-chocolate/?ref=kudithipudi.org) and a horseback ride into the mountains with Chilean cowboys. The day ended with a magical campsite dinner under the stars. ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/01/image-13.png) ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/01/image-12.png) ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/01/image-14.png) ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/01/image-15.png) **Tips:** - Check store hours, especially around holidays. - Providencia is a vibrant and centrally located neighborhood in Santiago. - Wear appropriate gear for horseback riding, including ankle-level shoes and a helmet. --- ### Day 8: Final Adventures in Santiago Our last day began with a relaxing breakfast in the Airbnb’s courtyard. We visited the **Bahá’í Temple** for panoramic city views and had lunch in **Bellavista**, where we tried empanadas (amazing!) and Chilean-style shepherd’s pie (less impressive). ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/01/image-16.png) ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/01/image-17.png) Many attractions, including **La Moneda Palace**, were closed for New Year’s Eve, so always double-check holiday schedules. We wrapped up the trip with a late flight out of Santiago and a final meal at McDonald’s—a tradition Viren started of trying McDonald’s in every country we visit. **Tips:** - Confirm holiday hours for major attractions. - Explore hidden gems like local chocolate shops or nature experiences. - Public or religious festivities may affect opening times, so plan accordingly. --- Chile was an unforgettable experience, offering a perfect blend of natural beauty, cultural richness, and warm hospitality. I hope this guide inspires you to plan your own adventure to this incredible country! ### Things I learned URL: https://kudithipudi.org/things-i-learned/ Last updated: 2025-01-03T21:17:59.000Z A collection of articles that highlight learnings by the authors - Kent Hendricks : [https://kenthendricks.com/52-things-i-learned-in-2024/](https://kenthendricks.com/52-things-i-learned-in-2024/?ref=kudithipudi.org) - #8 Indian Americans own about half of all motels in the United States. Of them, 70% have the last name Patel. (*[Life Behind the Lobby](https://amzn.to/40fn9CX?ref=kudithipudi.org)*) - Tim Whitwell : [https://medium.com/@tomwhitwell/52-things-i-learned-in-2024-75efffe44f15](https://medium.com/@tomwhitwell/52-things-i-learned-in-2024-75efffe44f15?ref=kudithipudi.org) - #17 The Telugu-language action film *Devara: Part 1* made more money ($5.5m) in US cinemas than Francis Ford Coppola’s $120m *Megalopolis* in its first week ($5m). \[[Pamela McClintock](https://www.hollywoodreporter.com/movies/movie-news/megalopolis-box-office-wild-robot-1236017001/?ref=kudithipudi.org)\] ### Collection of Generative AI Tools URL: https://kudithipudi.org/ai-tools/ Last updated: 2024-10-01T14:34:35.000Z Scratchpad of collection of AI tools - Art - [https://midlibrary.io/styles](https://midlibrary.io/styles?ref=kudithipudi.org) : Good reference site to review the different styles and genres you can refer to when creating images in midjourney - [https://stickerbaker.com/](https://stickerbaker.com/?ref=kudithipudi.org) : great site to generate stickers that can be printed or used in social media - [https://www.shakker.ai/](https://www.shakker.ai/?ref=kudithipudi.org) : Site that provides image generation using open source models (stable diffusion, flux) - [https://huggingface.co/spaces/AP123/IllusionDiffusion](https://huggingface.co/spaces/AP123/IllusionDiffusion?ref=kudithipudi.org) : Implementation of a QR code conditioned controlnet on Huggingface. Spiral Images - Video - [https://viggle.ai/](https://viggle.ai/?ref=kudithipudi.org) : Tool to animate images - Audio - [https://kome.ai/tools/youtube-transcript-generator](https://kome.ai/tools/youtube-transcript-generator?ref=kudithipudi.org) : Free tool offered by Kome.ai to create transcripts of Youtube videos. Uses OpenAi’s whisper model. - [https:/suno.ai](https://suno.ai/?ref=kudithipudi.org) : Tool to generate songs with lyrics from prompts. - [https://cartesia.ai/](https://cartesia.ai/?ref=kudithipudi.org) : Platform to generate audio from text. Can clone voice with 20-30 seconds of sample data. - Text - [https://tavily.com](https://tavily.com/?ref=kudithipudi.org) : Search API to integrate with LLM. Alternate to Bing, Google search API. - [https://www.browserless.io/](https://www.browserless.io/?ref=kudithipudi.org) : Browser API to access websites and provide content to LLM - Misc - Prompt guide from Anthropic that can used to interact with any LLM [https://docs.anthropic.com/claude/prompt-library](https://docs.anthropic.com/claude/prompt-library?ref=kudithipudi.org) - Learnings from building LLM applications from O’Reilly Media [https://www.oreilly.com/radar/what-we-learned-from-a-year-of-building-with-llms-part-i/](https://www.oreilly.com/radar/what-we-learned-from-a-year-of-building-with-llms-part-i/?ref=kudithipudi.org) - Learnings on using AI for daily workflow [https://nicholas.carlini.com/writing/2024/how-i-use-ai.html](https://nicholas.carlini.com/writing/2024/how-i-use-ai.html?ref=kudithipudi.org) ### Experiments with Midjourney URL: https://kudithipudi.org/experiments-with-midjourney/ Last updated: 2024-01-14T05:43:44.000Z [Midjourney](https://www.midjourney.com/home?ref=kudithipudi.org) is a AI platform that generates new art/media/photo based on prompts given to it. It is very similar to [DALL-E 2](https://openai.com/dall-e-2/?ref=kudithipudi.org) by OpenAI, but the creators have put more emphasis on creating art than realistic images. Am highly impressed that a group of 12 engineers were able to create this platform. Love how they are leveraging discord to provide the user interface and focusing their energies on improving the AI engine. My 30 day journey on leveraging Midjourney to create art [Midjourney Creations #1“dragon green lion head Japanese style studio ghibli 4k”![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-1/) [MidJourney Creations #2“the knowledge of vedas”![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-2/) [MidJourney Creations #3medieval European town square with kids playing around merchants selling vegetables and meat soldiers on horseback oil painting detailed![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-3/) [MidJourney Creations #4Konark temple sunrise![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-4/) [MidJourney Creations #5huge Italian wedding people eating food church![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-5/) [MidJourney Creations #6water world from space with 5 moons spaceship blocking sun![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-6/) [MidJourney Creations #780 20 rule![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-7/) [MidJourney Creations #8contemporary house with lots of windows![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-7-2/) [MidJourney Creations #9Don’t make yourself miserable because the people in front of you are idiots![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-9/) [MidJourney Creations #10Ocean angles with blue fire![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-10/) [MidJourney Creations #10-1friendship day![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-11-1/) [MidJourney Creations #11Indian samurai headgear katana spear mask intricate details![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-11/) [MidJourney Creations #12stranger of paradise final fantasy origin![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-12/) [MidJourney Creations #13forest floor views with colorful fauna![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-13/) [MidJourney Creations #14today’s magic was yesterdays dream![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-13-2/) [MidJourney creations #15Indraprastha ancient India detailed![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-15/) [MidJourney Creations #16amrutham![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-16/) [MidJourney Creations #17waterfall in space with multiple moons in background vivid picture![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-17/) [MidJourney Creations #18basketball player made of crystal dunking sun in space action shot![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-18/) [MidJourney Creations #19low risk rules![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-18-2/) [MidJourney Creations #20clash of the titans![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-19/) [MidJourney Creations #21hermitage in winter detailed vivid scene![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-20/) [MidJourney Creations #22friends in infinity pool watching sunset pencil drawing detailed color![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-22/) [MidJourney Creations #23longhorns in river mountain vistas cowboy horses landscape detailed![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-23/) [MidJourney Creations #24chess pieces made of crystal in space huge monuments![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-24/) [MidJourney Creations #25contemporary mountainside cabin with huge windows sunset view![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2017/02/cropped-cropped-cropped-indian_samurai-1-1.png)Vinay Kudithipudi's Personal Web](https://kudithipudi.org/midjourney-creations-25/) ### Weight Tracking URL: https://kudithipudi.org/weight-tracking/ Last updated: 2022-05-09T19:13:05.000Z | Week | Weight | | -------------- | --------- | | April 18, 2022 | 190.5 lbs | | April 24, 2022 | 185 lbs | | May 1, 2022 | 183 lbs | | May 8, 2022 | 181 lbs | ### Python Tidbits URL: https://kudithipudi.org/python-tidbits/ Last updated: 2022-04-12T18:41:27.000Z Collection of random python snippets ``` # Function to find a string in a file and return the next line def return_next_line(search_string, file_name): with open(file_name, "r") as ifile: for line in ifile: if search_string in line: temp_string = next(ifile) return temp_string ``` ``` # Function to return if an IP address is private or not def is_ip_private(ip): # https://en.wikipedia.org/wiki/Private_network priv_lo = re.compile("^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$") priv_24 = re.compile("^10\.\d{1,3}\.\d{1,3}\.\d{1,3}$") priv_20 = re.compile("^192\.168\.\d{1,3}.\d{1,3}$") priv_16 = re.compile("^172.(1[6-9]|2[0-9]|3[0-1]).[0-9]{1,3}.[0-9]{1,3}$") res = priv_lo.match(ip) or priv_24.match(ip) or priv_20.match(ip) or priv_16.match(ip) return res is not None ``` ### 2022 : Getting Fit URL: https://kudithipudi.org/2022-getting-fit/ Last updated: 2022-05-13T01:24:09.000Z **Week 1** - Cat and Camel (5 x 5) - Breath out when lifting back (camel) - Arm Chest Opener (5×5) - Breath out when lifting arm - lock opposite shoulder - Lunge chest opener (5×5) - Push knee as far as possible - Foot to stay with palm - Superman (10×5) - Opposite arm and leg need to be stretched - Squat chest opener (5×5) - Place legs as far wide as possible **Week 2** - Tuesday - Mobility Drill (1 rep of all exercises from week 1) - Pushups (5 reps x 10 sets) 20 sec break - life flat - bend knees and cross feet - arm at chest level - Set check and abdomen as plant - Squats (5 reps x 10 sets) 30 sec breakLegs set apart at shoulder width - Ab Crunches (5 reps x 8 sets) 30 sec break - Single leg - Thursday - Mobility Drill (1 rep of all exercises from week 1) - In pace jogging w/ high knees (30 sec workout w/ 30 sec break x 10 reps) - Mountain Climbers (10 /leg x 5 sets) 30 sec break - Jack Cross (30 sec workout w / 30 sec break x 10 sets) - Squat - Push hips back - Place pressure on heels ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/03/image.png) **Week 3** - Tuesday - Mobility Drill (1 rep of all exercises from week 1) - High Knees (25/leg w/ 30 sec break x 8 sets) - Dumbbell curl & press (15 w/ 30 sec break x 8 sets) - Use 5 lb dumbbells - Exercise both arms at once - Ab crunches (10 w/ 30 sec break x 8 sets) - Curl both legs - Skydiving (isometric) (10 w/ 30 sec break x sets) - Rise both arms and legs - Feel tightness in core - Thursday - Mobility Drill (1 rep of all exercises from week 1) - Jumping Jacks (20 ct w/ 30 sec break x 8 sets) - Assisted Squats (10 ct w/ 30 sec break x 8 sets) - Use 20lb dumbbells - Sit in chair/stool - Single leg raise (10/leg w/ 30 sec break x 8 sets) - Lie on floor face up - Try to use support of wall or other object for your hands - Alternative back extension (10/leg w/ 30 sec break x 8 sets) - Lie on floor face down - Lift opposite arms and legs ![jumping jacks Icon - Download jumping jacks Icon 15085 | Noun Project](https://kudithipudi.org/content/images/static-thenounproject-com/15085-200.png) - Saturday - Mobility Drill (1 rep of all exercises from week 1) - Mountain climbers (20 ct w/ 30 sec break x 8 sets) - Don’t use spring motion - The leg close to chest should not touch ground - Dumbbell row (20 ct w/ 30 sec break x 8 sets) - Use 20lb dumbbells - Both arms at once - Plank (10 sec w/ 30 sec break x 8 sets) - Bridging (10 ct w/ 30 sec break x 8 sets) - Lie on floor - Fold legs - Raise hips ![Dumbbell Bent Over Rows Illustration](https://kudithipudi.org/content/images/cdn-shopify-com/s/files/1/0269/5551/3900/files/dumbbell-bent-over-rows_600x600-v-1619977463.png) ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/04/bridge_2.jpg) **Week 4** - Tuesday - Mobility Drill (1 rep of all exercises from week 1) - Steps : Walk up and down stairs - 1min work 1min break - 2min work 2min break - 3min work 3min break - 4min work 4min break - 5min work 5min break - After 5min break start from 4min work again till 1min with the same break pattern - Thursday - Mobility Drill (1 rep of all exercises from week 1) - Burpee’s – 5rep x 10set (break 1min ) - Air squat – 20rep x 5set - Place arms straight in the front - Look forward - lock knees - Use chair for assistance - Plank – 1min work 1min rest x 5sets **Week 5** - Tuesday - Mobility Drill (1 rep of all exercises from week 1) - Dumbbells Clean & Press + High Knees - Use 10 lb - 50 high knee - Start at 10 clean & press + high knees, reduce by 1 per set. - 10 sets with with 1 min break - Thursday - Mobility Drill (1 rep of all exercises from week 1) - Circuit (8 sets with 2 min break) - 10 pushups - 10 goblet squat - Use 10lb dumbbell - 10 ab crunches - 10 back extension (Skydiving (isometric)) ![Dumbbell Goblet Squat](https://kudithipudi.org/content/images/cdn-shopify-com/s/files/1/0269/5551/3900/files/dumbbell-goblet-squat_600x600-v-1612049778.png) **Week 6** - Tuesday - Mobility Drill (1 rep of all exercises from week 1) - Kettlebell swings + Run - Start with 21 reps for the above combination, take 1 min break and repeat sets reducing 1 rep for a set until you reach 1 - Thursday - Mobility Drill (1 rep of all exercises from week 1) - Weighted Lunges w/ 10 lb dumbbells (20 reps w/1 min break x 5 sets) - Back Dips (10 reps w/1 min break x 5 sets) - Calf raises w/ 30 lb dumbbells (20 reps w/1 min break x 5 sets) - Dumbbell curl & press w/ 15 lb (10 reps w/1 min break x 5 sets) - Bridging (30 ct w/ 1 min break x 3 sets) **Week 7** - Tuesday - Mobility Drill (1 rep of all exercises from week 1) - Pushups (10) + Run (10) + Squats (20) + Run (10) + Ab cunches w/ single leg (30) - 5 times above sequence with 2 min rest - Thursday - Mobility Drill (1 rep of all exercises from week 1) - Weighted Lunges w/ 15 lb dumbbells (20 reps w/1 min break x 5 sets) - Lateral raises w/ 5 lb dumbbells (21 reps w/1 min break x 4 sets) - Bridging w/ 25 lb kettlebell (20 reps w/1 min break x 5 sets) - Dumbbell row w/ 15 lb dumbbells (21 reps w/1 min break x 4 sets) - Calf raises w/ 20 lb dumbbells (15 reps w/1 min break x 3 sets) - Dumbbell curls w/ 10 lb dumbbells (21 reps w/1 min break x 3 sets) **Week 8** - Tuesday - Mobility Drill (1 rep of all exercises from week 1) - Mountain Climbers (30) + Jumping Jacks (30) + Plank Jacks (30) + Bridging (30) - 5 times above sequence with 2 min rest - Thursday - Mobility Drill (1 rep of all exercises from week 1) - Goblet Squat w/30 lb kettlebell (20 reps w/1 min break x 5 sets) - Shoulder Press w/10 lb dumbbells (15 reps w/1 min break x 4 sets) ![Overhead Dumbbell Press: Muscle Worked, Benefits, Variations - Fit Life Regime](https://kudithipudi.org/content/images/www-fitliferegime-com/wp-content/uploads/2021/11/standing-overhead-dumbbell-shoulder-press.jpg) - Hamstring Curls w/10 lb dumbbells (10 reps w/1 min break x 5 sets) - Bicep curls w/10 lb dumbbells (15 reps w/1 min break x 4 sets) - Saturday - Mobility Drill (1 rep of all exercises from week 1) - Side Planks (30 sec/side w/1 min break x 5 sets) - Regular Planks (1 min w/1 min break x 5 sets) - 5 times below circuit w/3 min break - Double Leg Crunches x15 - Double Leg Raises x15 - Russian Twists x30 - Alternate Toe Touch x10 - Sky Diving x15 **Week 9** - Tuesday - Mobility Drill (1 rep of all exercises from week 1) - Jumping Jacks (1 Min w/1 min break x 5 sets) - Mountain Climbers (1 Min w/1 min break x 5 sets) - Plank Jacks in pushup position (1 Min w/1 min break x 5 sets) - Bicycle crunches (1 Min w/1 min break x 5 sets) - Regular Planks (1 Min w/1 min break x 5 sets) - Thursday - Lunges w/ 30lb dumbbell (10 reps w/1 min break x 4 sets) - Step Ups x/ 15lb dumbbell (10 reps w/1 min break x 4 sets) - Pushups (10 reps w/1 min break x 5 sets) - Chest press w/ 10 lb dumbbells (15 reps w/1 min break x 4 sets) - Position dumbbells near chest (nipple position) - Lock elbows when raise is complete - Calf Raises w/15 lb dumbbells (15 reps w/1 min break x 5 sets) - Overheard Tricep w/15 lb dumbbell (13 reps w/1 min break x 5 sets) - Saturday - Regular Planks (1 Min w/1 min break x 5 sets) - Russian Twists (50 reps w/1 min break x 5 sets) - Side Planks (30 sec/side w/1 min break x 5 sets) - Alternate Back Extension (10 w/1 min break x sets) ### Time sink web URL: https://kudithipudi.org/time-sink-web/ Last updated: 2022-02-04T14:53:42.000Z Collection of websites from this HackerNews discussion [https://news.ycombinator.com/item?id=30128011&utm\_term=comment](https://news.ycombinator.com/item?id=30128011&utm%5Fterm=comment&ref=kudithipudi.org) - https://gdcolon.com/ - http://magickeyboard.io/ - http://eelslap.com/ - https://theuselessweb.com/ - https://findtheinvisiblecow.com/ - https://mondrianandme.com/ - ~~http://www.zefrank.com/~~ - https://ruffle.rs/ - https://pointerpointer.com/ - https://zombo.com/ - https://helenkellersimulator.org/ - http://www.nooooooooooooooo.com/ - http://www.hiyoooo.com/ - http://unknowablesymbols.com/rain - https://tomarayascream.com/ - https://inception.davepedu.com/ - https://makefrontendshitagain.party/ - http://eelslap.com/ - http://www.davesweboflies.com/ - https://www.addictinggames.com/funny/spank-the-monkey - http://www.staggeringbeauty.com/ - https://dx.tc/ - http://locutusofb.org/ ### Sample Page URL: https://kudithipudi.org/sample-page/ Last updated: 2021-09-19T20:18:09.000Z This is an example page. It’s different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this: > Hi there! I’m a bike messenger by day, aspiring actor by night, and this is my website. I live in Los Angeles, have a great dog named Jack, and I like piña coladas. (And gettin’ caught in the rain.) …or something like this: > The XYZ Doohickey Company was founded in 1971, and has been providing quality doohickeys to the public ever since. Located in Gotham City, XYZ employs over 2,000 people and does all kinds of awesome things for the Gotham community. As a new WordPress user, you should go to [your dashboard](http://51.15.91.176/wp-admin/?ref=kudithipudi.org) to delete this page and create new pages for your content. Have fun! ### A conservative approach to investing URL: https://kudithipudi.org/a-conservative-approach-to-investing/ Last updated: 2021-02-14T18:54:35.000Z Money does not buy happiness, but it sure brings you closer to happiness. More importantly, it frees up time so that you can do things that make you happy. ## Why Equities? Other than winning a lottery ticket, the only way to make the money you earned grow is by investing. Investing comes in different forms, entrepreneurship, equities, bonds, metal, savings accounts etc. You have many choices. The chart below clearly shows which one is the better one long term [![Image](https://pbs.twimg.com/media/EbyOeZgXYAEvbMm?format=png&name=small)](https://twitter.com/thewealthdad/status/1278053048514994179?ref=kudithipudi.org) ## Some principles Compounding : When people think about compounding they think about compound interest, but compounding is a lot more than interest on money. We as humans are wired to make our lives better. While at an individual level, some of us might fail, we have made tremendous progress as humanity. Imagine the effort you put in to better your life.. now multiply that by every person, city, company and country in the world. Let the world work for you in equities. Stay in the game : There is nothing in this world that is risk free. But you also have to make sure you are not taking undue risk. This quote from Warren Buffet captures this principle **“Rational people don’t risk what they have and need for what they don’t have and don’t need”**. To keep it simple, don’t make any new investments more at more than 10% of your portfolio. ## A simple portfolio **40% allocation to US Large Caps.** : https://investor.vanguard.com/etf/profile/VV **30% allocation to International Stock Market** : https://investor.vanguard.com/etf/profile/VXUS **20% allocation to to US Growth Companies** : https://investor.vanguard.com/etf/profile/VUG **10% allocation to other investments.** Remember the principle to never invest more than 10% of your portfolio in one single investment. PS : This is not advice nor am I an certified financial advisor. Your money, your risk, your reward 🙂 ### Resolutions URL: https://kudithipudi.org/resolutions/ Last updated: 2020-07-05T18:02:05.000Z _No content available._ ### Running URL: https://kudithipudi.org/running/ Last updated: 2020-07-05T18:01:06.000Z _No content available._ ### Quotes URL: https://kudithipudi.org/quotes/ Last updated: 2020-07-05T18:00:07.000Z Collection of quotes from folks I run into 😃 ### Texas : Places to visit URL: https://kudithipudi.org/texas-places-to-visit/ Last updated: 2020-07-05T17:56:05.000Z Rural - [https://www.periniranch.com/](https://www.periniranch.com/?ref=kudithipudi.org) : Steakhouse and BnB. ## Posts ### Turning the Tao of Backup into Manga URL: https://kudithipudi.org/converting-taobackup-com-to-manga/ Last updated: 2026-10-14T02:52:01.000Z [Dr. Ross Williams](http://ross.net/home/Home.html?ref=kudithipudi.org) created [taobackup.com](http://taobackup.com/?ref=kudithipudi.org) in August 1997 to share best practices for backing up data. Presented as conversations between a master and a student, its lessons still hold up nearly three decades later. The fundamentals haven’t changed and Dr.Williams explains them well. His [other websites](http://ross.net/home/Home.html?ref=kudithipudi.org) explore an interesting mix of practical and esoteric topics, too. Well worth a look. As a fun experiment, I used Meta’s Muse to turn these backup lessons into a manga-style comic. Enjoy! ![](https://kudithipudi.org/content/images/2026/10/page-01-cover.png) ![](https://kudithipudi.org/content/images/2026/10/page-02-coverage.png) ![](https://kudithipudi.org/content/images/2026/10/page-03-frequency.png) ![](https://kudithipudi.org/content/images/2026/10/page-04-separation.png) ![](https://kudithipudi.org/content/images/2026/10/page-05-history.png) ![](https://kudithipudi.org/content/images/2026/10/page-06-testing.png) ![](https://kudithipudi.org/content/images/2026/10/page-07-security.png) ![](https://kudithipudi.org/content/images/2026/10/page-08-integrity.png) ### Overheard : Contracts are about disagreements URL: https://kudithipudi.org/overheard-contracts-are-about-disagreements/ Last updated: 2026-09-30T23:06:17.000Z A great observation by [Gary Keller](https://en.wikipedia.org/wiki/Gary%5FW.%5FKeller?ref=kudithipudi.org) on contracts. People usually associate contracts with agreements. In a [conversation](https://tim.blog/2019/12/18/gary-keller-transcript/?ref=kudithipudi.org) with [Tim Ferriss](https://tim.blog/?ref=kudithipudi.org) he said > Your agreements between you and your partners—I call them **disagreements**—because the only time you’re going to read it is when you disagree.....and that really informs the way you look at a document when you call it a disagreement. **Because it should be there to deal with things when you disagree**. Otherwise, if you agree, you’d never read the document; you’d never go back to it. It is an interesting way to look at how you approach the content and structure of the contract when you know that it is a way to agree on disagreements. Reminds me of [Charlie Munger's](https://en.wikipedia.org/wiki/Charlie%5FMunger?ref=kudithipudi.org) favorite quote "Invert, Always Invert" ### Overheard : England, Britain, and the UK Aren't the Same Thing URL: https://kudithipudi.org/overheard-england-britain-and-the-uk-arent-the-same-thing/ Last updated: 2026-09-04T15:46:05.000Z A conversation about the UK cleared up something I'd always fudged: - **England** is a country - **Great Britain** is the island holding England, Scotland, and Wales - The **United Kingdom** is the sovereign state — Great Britain plus Northern Ireland. - The **Commonwealth** is a different animal entirely, a voluntary club of 56 mostly-independent nations, most once part of the British Empire, with no shared government or laws between them. ### HOW TO : Check DNS from different locations with Cloudflare Workers URL: https://kudithipudi.org/how-to-check-dns-from-different-locations-with-cloudflare-workers/ Last updated: 2026-09-04T01:51:33.000Z I wanted to know if `lab.kudithipudi.org` resolves the same way in São Paulo as it does in Ashburn. Whether a resolver across the world sees the same DNS answer, the same CNAME chain, and similar latency.. The obvious move is to spin up small VMs in multiple regions and run `dig` from each. But I did not want to manage and pay for five VMs to answer a question I only ask once a month. I already had a small FastAPI diagnostics page on my lab site, and I wanted a card that ran global DNS checks on demand from a single backend click. I have always wanted to check out [Cloudflare Workers](https://developers.cloudflare.com/workers/?ref=kudithipudi.org) as a way to deploy distributed tools without added infrastructure complexity. Instead of renting VMs across the globe, I built a setup that uses eight region-pinned [Durable Objects](https://developers.cloudflare.com/durable-objects/?ref=kudithipudi.org) to run [DNS-over-HTTPS](https://en.wikipedia.org/wiki/DNS%5Fover%5FHTTPS?ref=kudithipudi.org) queries simultaneously. ### Why a plain Worker can't do it A plain Worker runs in the edge data center nearest to whoever invokes it. Since my FastAPI service runs on a single VPS, every request would hit roughly the same local data center, and standard Workers do not let you specify an execution location per call. Durable Objects provide the one feature I needed: `locationHint`, which lets me place individual objects into specific regions around the world. I do not use them for storage, coordination, or persistent state. They simply act as eight geographically placed vessels to run a few lines of JavaScript on Cloudflare's free tier. ![](https://kudithipudi.org/content/images/2026/09/image.png) ### How it works When I submit a hostname and record type (A or AAAA), the front-door Worker fans out to eight region-pinned Durable Objects: `wnam`, `enam`, `weur`, `eeur`, `apac-se`, `oc`, `afr`, and `sam`. Each object executes a DNS-over-HTTPS lookup against `cloudflare-dns.com` and times the response. `DurableObjectNamespace.get()` accepts a `locationHint`, and only the initial `get()` that creates an object ID honors that hint—after that, the object stays pinned where it landed. ### Caveats and precision - The workers placement is best-effort. Cloudflare supports broad regions rather than specific cities, and routing can adjust based on capacity. For example, an African hint might occasionally land in Madrid, or South America in Newark. Because an instance stays pinned permanently once created, changing regions requires bumping the version string in the object name (e.g., `probe-v2-`). - Because 1.1.1.1 does not forward EDNS Client Subnet (ECS), this test shows what Cloudflare’s resolver sees from that vantage point, not necessarily what a local ISP resolver would return for CDNs that steer traffic based on client IP. Check out the app at [https://lab.kudithipudi.org/net-tools/](https://lab.kudithipudi.org/net-tools/?ref=kudithipudi.org) The code and deployment instructions are available on [GitHub](https://github.com/kudithipudi/dns-geo-check?ref=kudithipudi.org). While I have wanted to build this for a while, it is a great example of how AI-assisted development enables non-developers to build and deploy useful distributed applications quickly. ### Overheard : Don't be nice URL: https://kudithipudi.org/overheard-dont-be-nice/ Last updated: 2026-09-02T00:43:58.000Z [Dr. Julia Garner](https://x.com/drgurner?ref=kudithipudi.org) in a [conversation](https://www.infiniteloopspodcast.com/dr-julie-gurner-ultra-successful-infinite-loops-classics/?ref=kudithipudi.org) with [Jim O'Schaugnessy](https://x.com/jposhaughnessy?ref=kudithipudi.org) on the Infinite Loops podcast on the critical distinction between being nice and being genuinely kind: > There's a big difference between being nice and good, being nice and kind. The differentiation is that **nice is about pleasing other people** and about other people's response. **Nice people are often not genuine because they will do things to make the other person feel better** that isn't authentic to them... > Good, **kind people hold lines and have hard conversations**. Nice people don’t have hard conversations because it's not 'nice' to do that—it makes people feel uncomfortable and put out, and you have to sit with that. Love this view of the distinction Being "nice" often masquerades as virtue, but at its core, it is conflict avoidance and image management, prioritizing short-term comfort over long-term truth. Kindness requires courage. It means caring enough about an outcome or a person to endure the immediate discomfort of setting boundaries, delivering hard feedback, and holding the line. ### HOW TO : Use hooks in coding agents URL: https://kudithipudi.org/how-to-use-hooks-in-coding-agents/ Last updated: 2026-09-01T23:26:32.000Z I tried moving a small safety check from Claude Code to Cursor this week. The hook blocked `rm -rf` and a few other commands I do not want an agent running without a second look. The script itself was simple. The frustrating part was that none of the names carried over. Claude Code calls the event `PreToolUse`. Cursor uses `preToolUse`. Windsurf, Copilot, Gemini CLI, Codex, Cline, and OpenCode each have their own names and configuration formats. I initially assumed I had misspelled a JSON key. I had not. The tools just use different vocabulary for roughly the same idea. Hooks are useful when I want something deterministic around an agent action: - block a command before it runs - log tool calls - format or lint files after an edit - run a little setup or cleanup at the beginning or end of a session The exact event names differ, but I now think about hooks in three buckets. **Before an action** The agent is about to run a command, modify a file, or call a tool. This is where a hook can inspect the request and deny it. **After an action** The action already happened. These hooks are useful for logging, formatting, linting, or sending a notification. They are not a rollback mechanism. **At the session boundaries** Some agents offer hooks for session start, stop, end, or compaction. These are useful for initializing context, refreshing an index, or recording what happened during a run. One thing that was not immediately obvious to me: there is usually no special “commit hook” in an agent. From the agent’s perspective, this: bash ``` git commit -m "..." ``` is just a shell command. If I want to intervene before it runs, I match the command text in the same pre-tool hook I would use for `npm test` or `ls`. Here is a Claude Code hook that blocks a commit unless a simple test-pass marker exists. `.claude/settings.json` json ``` { "hooks": { "PreToolUse": [ { "matcher": "Bash", "hooks": [ { "type": "command", "command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/gate-commit.sh" } ] } ] }} ``` `.claude/hooks/gate-commit.sh` bash ``` #!/bin/bash COMMAND=$(jq -r '.tool_input.command') if echo "$COMMAND" | grep -q '^git commit' && [ ! -f .last-test-pass ]; then jq -n '{ hookSpecificOutput: { hookEventName: "PreToolUse", permissionDecision: "deny", permissionDecisionReason: "Run tests before committing" } }'else exit 0fi ``` This is an agent-level check, not a replacement for Git hooks. If I need the rule to hold for every commit—including ones I make myself—I would still add a real `.git/hooks/pre-commit` hook or enforce it in CI. Here is the cheat sheet I keep for the agents I have been looking at: | Agent | Before | After | Session start | Session end / stop | Config | | ---------------- | ------------------- | ------------------ | ----------------- | ----------------------- | ---------------------- | | Claude Code | PreToolUse | PostToolUse | SessionStart | Stop / SessionEnd | .claude/settings.json | | Cursor | preToolUse | postToolUse | sessionStart | stop / sessionEnd | .cursor/hooks.json | | Windsurf Cascade | pre\_run\_command | post\_run\_command | pre\_user\_prompt | post\_cascade\_response | .windsurf/hooks.json | | GitHub Copilot | preToolUse | postToolUse | sessionStart | sessionEnd / agentStop | .github/hooks/\*.json | | Gemini CLI | BeforeTool | AfterTool | SessionStart | SessionEnd | settings.json | | Cline | PreToolUse | PostToolUse | TaskStart | TaskCancel | .clinerules/hooks/ | | Codex CLI | PreToolUse | PostToolUse | — | — | \~/.codex/hooks.json | | OpenCode | tool.execute.before | tool.execute.after | session.created | session.idle | .opencode/plugin/\*.ts | Two implementation details I found worth remembering: - In Codex CLI, the pre-tool event only covers shell actions, so it is not a general guardrail for edits or MCP calls. - OpenCode works more like an event bus than a conventional hooks file. Its plugin can subscribe to many events, and `session.idle` is the closest equivalent to a stop hook. The practical lesson for me was simple: do not try to memorize every hooks API. Work out whether the behavior belongs before an action, after an action, or at a session boundary. Then look up what that particular agent calls it. ### Overheard : Origins of Kabuli Pulao URL: https://kudithipudi.org/overheard-origins-of-kabuli-pulao/ Last updated: 2026-08-27T01:03:10.000Z TIL from a [video review](https://example.com/?ref=kudithipudi.org) of food from Afghanistan that Kabuli pulao doesn't get its name from the city of Kabul, as is commonly assumed. Per [Bilal Wardak](https://www.instagram.com/bilalkwardak/?ref=kudithipudi.org): > the name "Kabuli" is often mistakenly believed to link the dish directly to the city or province of *Kabul*. In reality, the dish is rooted in a specific **cooking method** (often spelled with a "Q," such as *Qabili palaw*). The dish is believed to have originated in **northern Afghanistan** (areas like *Mazar-i-Sharif* or *Kunduz*) and is closely linked to traditions among Uzbek communities. The carrots and raisins make sense now. A lot of traditional Uzbek dishes use raisins, apricots, and other dried fruits to [enhance flavors](https://en.wikipedia.org/wiki/Uzbek%5Fcuisine?ref=kudithipudi.org). ### Digg-like, Only Better - and All Yours URL: https://kudithipudi.org/digg-like-only-better-and-all-yours/ Last updated: 2026-08-24T13:34:33.000Z If you have been using the internet for some time, you are probably very familiar with bookmarks. Most people save them locally, and with modern browsers like Chrome, Edge, and Firefox syncing across accounts, your bookmarks follow you everywhere. Yet, what if you do not want to rely on centralized browser accounts? Years ago, social bookmarking flourished with platforms like [Delicious](https://del.icio.us/?ref=kudithipudi.org) and [Digg](https://digg.tech/?ref=kudithipudi.org). Over time, those faded away. [Pinterest](https://www.pinterest.com/?ref=kudithipudi.org) is perhaps the lone survivor in that lineage, but it functions far more like a scrapbook for recipes and visual design than a true, general-purpose bookmarking tool. I have always wanted a self-hosted bookmarking service, but never found the time to build one. Today, with the rise of AI-assisted agentic coding workflows, there is no longer an excuse. Introducing [Bookmark](https://github.com/kudithipudi/bookmark?ref=kudithipudi.org), a lightweight, self-hosted bookmarking service built with Python, SQLite, and LLMs. The project was heavily inspired by Doug Turnbull’s article on [Hypothetical Classifications](https://softwaredoug.com/blog/2026/08/10/hypothetical-classifications?ref=kudithipudi.org), adopting his approach to semantic tag and description generation for embeddings. #### Architecture The system is designed to be simple, fast, and modular: - **Ingestion:** An LLM inspects the page content, extracts key metadata, and generates structured tags and descriptions. Currently, it uses Google’s Gemini Flash for cost-effective inference, though any modern LLM can be substituted. - **Embeddings:** Semantic vectors are generated for descriptions and tags using the `BAAI/bge-small-en-v1.5` model via FastEmbed's ONNX runtime, keeping the embedding step fast and local. - **Retrieval:** Search queries combine direct tag filtering with cosine similarity matching on the embedding space to find relevant links even when keywords do not match exactly. - **Storage:** URLs, tags, metadata, and generated vector embeddings are all persisted in a single, lightweight SQLite database. You can explore the code and run it yourself on GitHub at [kudithipudi/bookmark](https://github.com/kudithipudi/bookmark?ref=kudithipudi.org). ### HOW TO : Save coding-agent tokens across repos with Graft URL: https://kudithipudi.org/how-to-save-coding-agent-tokens-across-repos-with-graft/ Last updated: 2026-08-23T13:20:05.000Z I have been using coding agents extensively as they have become more useful. It has resulted in developing several projects in my [lab](https://lab.kudithipudi.org/?ref=kudithipudi.org). The expensive part for a coding agent is not usually the edit. It is the first few minutes: grepping, opening files, and rebuilding a mental model of a codebase the agent has already seen before. Especially if you are working on an existing project. I set up [Graft](https://www.npmjs.com/package/@nanonets/graft?ref=kudithipudi.org) for the coding agents in [lab.kudithipudi.org](https://lab.kudithipudi.org/?ref=kudithipudi.org) so they can share a prebuilt view of each repository instead of re-deriving it in every session. ```bash npm install -g @nanonets/graft cd /var/www && graft init --yes ``` Graft builds a local context graph for a repository: - Markdown notes describing systems, with exact `file:line` references - A graph of call relationships - A small set of commands agents can query before they start reading source In some of my recent coding sessions, Graft reported roughly 80% tokens saved per repository compared with reading the files it covered. Whether that number is exact is less important to me than the behavior change: agents start with an architectural view instead of treating every session as a cold start. The setup has three parts. **A generated graph** Graft writes markdown and wiring data into `graft/`. I keep it out of git because it is deterministic and easy to rebuild `graft build` . There is no API key, embedding pipeline, or hosted service involved. 1. **Agent wiring** `graft init` adds an `AGENTS.md` block, a skill, and MCP configuration to the repo. Claude Code and OpenCode (agents I am playing with now) can use those conventions, so I do not need separate context setups for every agent. Most of the popular agents use the same pattern. 2. **A parent-level index** I ran `graft init` once at `/var/www ` where I have all my projects hosted. That gives sessions started there a federated view across the projects below it, with results labeled by repository. The practical benefit is that the graph stays current. Graft installs Claude Code hooks during initialization: a session-start hook tells the agent to use the graph first, and edit/stop hooks sync it after changes. Queries also refresh before answering, including against uncommitted edits. That matters because a stale index is worse than no index. I looked at these alternatives, but did not test them deeply: - **Aider’s repo map** is useful prompt-time context, but it is not a persistent graph that multiple agents can query. - **Serena** provides strong LSP-based symbol navigation, but I wanted a persistent prose layer that I could browse too. - **Cursor** and **Windsurf** provide retrieval within their own environments. - **Repomix** and **gitingest** flatten repositories into context files. They move the token cost around rather than reducing the amount of source an agent needs to inspect. ### First ghost post URL: https://kudithipudi.org/first-ghost-post/ Last updated: 2026-08-23T04:50:55.000Z No, I am not asking someone else to write a post on my behalf 😁 I have wanted to use [Ghost](https://ghost.org/?ref=kudithipudi.org) as the CMS for my blog for a long time. [WordPress](https://wordpress.org/?ref=kudithipudi.org) has served me well for more than 15 years, but I have always been curious about Ghost - especially its customization options and publishing-focused workflow. It is not quite as straightforward to set up as WordPress, though. Since I have been experimenting with agentic AI harnesses recently, this felt like a good challenge to give an agent. So I spun up a new virtual server, installed [Claude](https://claude.ai/?ref=kudithipudi.org), and gave it a simple prompt: > My current blog is powered by WordPress and hosted at [kudithipudi.org](https://kudithipudi.org/). Configure Ghost ([https://ghost.org](https://ghost.org/?ref=kudithipudi.org)) on this server and migrate all content to it. And voilà, we have a new server. I will be tweaking the look and feel, along with the publishing pipeline, over the next few days. My first impression: Ghost has a lot of configuration options, which is a little intimidating, but the content-creation experience is clean and focused. ### Overheard : Passion and Edge URL: https://kudithipudi.org/overheard-passion-and-edge/ Last updated: 2026-08-14T02:13:18.000Z [Bill Gurley](https://en.wikipedia.org/wiki/Bill%5FGurley?ref=kudithipudi.org) in [conversation](https://fs.blog/knowledge-project-podcast-transcripts/bill-gurley/?ref=kudithipudi.org) with [Shane Parrish](https://fs.blog/about/?ref=kudithipudi.org) on on how using AI to deeply understand both the foundational history and the cutting-edge trends in your domain can become an unfair career advantage > I mean, it’s kind of an interesting contrast. **I’m suggesting you should understand the really old stuff, the history, because it’s differentiating and shows a passion and it gives you a great frame of mind**, but you also want to really understand the new edge. If you do both of those things, I think you’re a power player in your field. > > And the second one is a great way for young people…. That’s another thing that could really differentiate you in an interview. **If you’re applying for that marketing job and you understand all the legends and the history, but you also really get TikTok, that’s going to be a very differentiated skill** going into those companies, and it matters. It really matters. It gives you a chance to shine. ### Overheard : Open-weights AI in enterprises URL: https://kudithipudi.org/overheard-open-weights-ai-in-enterprises/ Last updated: 2026-07-30T14:27:37.000Z [Jesse Zhang](https://www.linkedin.com/in/thejessezhang/?ref=kudithipudi.org), CEO of [Decagon](https://decagon.ai/?ref=kudithipudi.org), makes an interesting argument about how enterprises will adopt open-weight AI models: the migration will happen as use cases mature [https://www.linkedin.com/pulse/everyone-wrong-open-source-ai-enterprise-jesse-zhang-lakqc/](https://www.linkedin.com/pulse/everyone-wrong-open-source-ai-enterprise-jesse-zhang-lakqc/?ref=kudithipudi.org) Historically, enterprises have embraced open source across infrastructure and software. Linux, Kubernetes, databases, and developer tooling all followed a familiar pattern: companies adopted the best available technology, then increasingly wanted more control over cost, performance, and deployment. AI has been different, so far! For most enterprise use cases today, the default choice is still a frontier closed model from OpenAI, Anthropic, or Google. That makes sense. When a use case is new, the problem is still poorly understood. You do not yet know the full distribution of inputs, the edge cases that matter, or the failure modes you need to guard against. At that stage, paying a premium for general intelligence is rational. But eventually, the implementations will change. Once a use case is in production and its boundaries are clearer, broad intelligence becomes overhead. You no longer need the most capable general-purpose model for every request. You need a model that is reliable, fast, affordable, and tuned for one well-understood job. That is where open-weight models become compelling. > **When a use case is new, you want the smartest general-purpose model you can get… But once the use case is fully built out, when you know the distribution of inputs, the behaviors you need, and the failure modes to guard against, the trade flips.** ### Overheard : Data Silos and Personal Agents URL: https://kudithipudi.org/overheard-data-silos-and-personal-agents/ Last updated: 2026-07-21T19:13:56.000Z I asked my [Hermes agent](https://hermes-agent.nousresearch.com/?ref=kudithipudi.org) to browse a [Reddit thread](https://www.reddit.com/r/AskReddit/comments/1v262mh/what%5Ffood%5Ffeels%5Fhealthy%5Fbut%5Fis%5Fvery%5Funhealthy/?ref=kudithipudi.org) on foods that feel healthy but aren’t, and turn the replies into a table. It worked great. No scrolling, no copy pasting, just a clean summary in seconds. Small win, but it got me thinking. I miss the old open internet. Information was easy to find, easy to link to, easy to share. That’s changing fast. Between AI chatbots (Gemini, ChatGPT, Claude) and walled networks like Discord and Reddit, more of the information people write for each other is ending up locked inside private data stores. You usually need to be a member of that network just to see it. These platforms didn’t start out this way. They began as places to bring people together. Now that same user generated content is the thing being monetized, gated, and repackaged, often with little coming back to the people who actually wrote it. **This is where personal agents can help.** Something like Hermes doesn’t just automate one task. It can move across silos on your behalf: checking Reddit, Discord, a chatbot’s closed ecosystem, wherever the information lives, and bringing it back to you in one place, in a format you can use. It doesn’t fix the siloing. The incentives behind it aren’t going anywhere. But it gives us a way to navigate the fragmentation without joining every network or trusting every walled garden. Personal agents may be the closest thing we get back to the open internet, not because the data opens back up, but because something is finally doing the work of stitching it together for us. Food that feels healthy but isn’t | # | Food | Mentions | Why It’s Bad | | -- | ------------------------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | | 1 | Yogurt | 29 | Flavored yogurts are loaded with added sugar — some more than a candy bar. “Fruit on the bottom” is jam. Low-fat versions often swap fat for sugar. | | 2 | Granola | 25 | Marketed as wholesome, but packed with sugar, oil, and calories — a small bowl can hit 400+ calories. | | 3 | Salad | 20 | The greens are fine, but dressing, croutons, cheese, fried chicken, and bacon bits can push restaurant salads past 1,000 calories. | | 4 | Smoothie | 14 | Store-bought versions can have 50-80g of sugar — more than a soda. Blending destroys fiber, so sugar hits the bloodstream fast. Homemade is generally fine. | | 5 | Veggie Chips/Straws | 10 | Made from potato starch and vegetable powder — nutritionally close to potato chips, just dyed and marketed as vegetables. | | 6 | Fruit Juice | 10 | Stripped of fiber, leaving concentrated sugar. Orange juice has \~22g sugar per cup — even 100% juice. | | 7 | Sports Drinks (Gatorade) | 8 | Designed for athletes burning 1,000+ calories. For sedentary people, it’s mostly sugar water with food coloring. | | 8 | Honey / Agave | 7 | “Natural” doesn’t mean healthy — the body processes them almost like table sugar. Agave is especially high in fructose. | | 9 | Dried Fruit | 7 | Removing water concentrates the sugar. A handful of dried mango can equal the sugar in several whole mangoes. | | 10 | Cereal | 7 | Even “healthy” cereals (Special K, Raisin Bran, Cheerios) are ultra-processed with added sugar and stripped nutrients. | | 11 | Trail Mix | 4 | Designed as high-calorie fuel for long hikes, not desk snacking. Candy pieces and sugar-coated nuts make it candy in disguise. | | 12 | Sushi | 4 | White rice, sugary rice vinegar, high-sodium soy sauce, and spicy mayo add up — a spicy tuna roll can be 500+ calories. | | 13 | Peanut Butter | 4 | “Natural” labels can be deceptive — some commercial brands replace healthy oils with hydrogenated oils and sugar. | | 14 | Margarine | 4 | Made from industrially processed vegetable oils, historically high in trans fats. | | 15 | Diet Soda | 3 | Zero calories, but artificial sweeteners may disrupt gut bacteria and trigger cravings, potentially leading to overeating later. | | 16 | Coconut Oil | 3 | About 90% saturated fat — higher than butter — despite its “superfood” reputation. | | 17 | Avocado Toast | 3 | Café versions can hit 800+ calories with thick bread, excess avocado, and added oils/toppings. | | 18 | Frozen Yogurt | 2 | Marketed as a healthy ice cream swap, but toppings like cookie dough and syrup turn it into a sugar bomb. | | 19 | Muffins | 2 | Essentially cake without frosting — a Starbucks blueberry muffin can have 350-500 calories and 30g+ sugar. | | 20 | Protein Bars | 2 | Many are candy bars with protein powder added — check for sugar near the top of the ingredient list. | ### HOW TO : Sort Amazon search results by number of customer reviews URL: https://kudithipudi.org/how-to-sort-amazon-search-results-by-number-of-customer-reviews/ Last updated: 2026-06-02T16:40:57.000Z When browsing products on Amazon, sorting by average rating doesn’t always surface the most popular or widely purchased items. A simple URL trick lets you sort results by the **total number of customer reviews**, which is often a better indicator of popularity. Add “**&sort=review-count-rank**” at the end of the URL and it will sort the results by the total number of customer reviews (and not the averating rating). Helpful to identify popular products. Only works when sorting results from a department (ex: Tools & Home Improvement›Safety & Security›Flashlights›Handheld Flashlights) ### Overheard : On Agentic AI URL: https://kudithipudi.org/overheard-on-agentic-ai/ Last updated: 2026-05-20T19:53:54.000Z > “11 AI agents” is meaningless as a phrase. If I said “I have 11 spreadsheets” or “I have 11 browser tabs” to do my work, it means about the same thing. > > – [Boris Mann](https://bsky.app/profile/bmann.ca/post/3mlp2ipupv22z?ref=kudithipudi.org) > > Bragging about how much software you’re shipping with AI is like holding down the shutter button and bragging about how many photos you took. > > – [Jason Fried](https://x.com/jasonfried/status/2056971449961722202?ref=kudithipudi.org) ### HOW TO : Use curl to connect to a Unix socket URL: https://kudithipudi.org/how-to-use-curl-to-connect-to-a-unix-socket/ Last updated: 2026-02-16T02:47:44.000Z Today I learned a incredibly useful trick for debugging web applications that don’t use standard TCP/IP networking. While we usually think of `curl` as a tool for fetching data over `http://` or `https://` via a port like 80 or 443, it is also fully capable of communicating over Unix Domain Sockets. #### Why use Unix sockets? You can use Unix sockets instead of TCP to proxy application servers. Sockets are often faster and more secure for local inter-process communication because they avoid the overhead of the network stack and can be protected by standard file permissions. The challenge arises when you want to test the application server directly without going through the public-facing proxy. That is where this `curl` command comes in. #### The Command To request a page from a service listening on a Unix socket, use the `--unix-socket` flag followed by the path to the socket file: curl --unix-socket /var/www/app/app.sock http://localhost/ The `--unix-socket` flag tells `curl` to ignore the standard DNS resolution for the hostname and instead connect directly to the file path provided, which in this case is `/var/www/app/app.sock`. The `http://localhost/` part of the command is still required because `curl` needs to know which protocol to use and what to put in the `Host` header of the HTTP request. Even though the data is traveling through a file on your hard drive rather than a network card, the application server still expects a valid HTTP request format. This is a lifesaver for troubleshooting “502 Bad Gateway” errors. By bypasssing Nginx and hitting the socket directly, you can determine if the issue lies with the application server itself or the proxy configuration. If the command above returns the expected HTML, you know your backend is healthy and the problem is likely in your nginx `.conf` file. ### HOW TO : Launch tmux on SSH login URL: https://kudithipudi.org/howto-launch-tmux-on-ssh-login/ Last updated: 2026-02-12T20:18:53.000Z I’m terrible at remembering to start [tmux](https://github.com/tmux/tmux/wiki?ref=kudithipudi.org) when I SSH into servers. Then invariably, my connection drops mid-compile or during a long-running test, and I lose everything :-(. The solution? Just make tmux start automatically when you SSH in. Here’s how. ## The Problem You SSH into your server, start working, and then: - Your WiFi hiccups - Your laptop sleeps - You close the terminal by accident And poof—all your work is gone. tmux solves this by keeping your session alive on the server, but only if you remember to actually *start* it. ## The Solution Add a simple check to your `~/.bashrc` that auto-launches tmux when you connect via SSH. \# Auto-launch tmux on SSH connection \# To skip: either detach from tmux (Ctrl+b, then d) or set TMUX\_SKIP=1 before connecting \# Example: TMUX\_SKIP=1 ssh user@host if \[\[ -n "$SSH\_CONNECTION" \]\] && \[\[ -z "$TMUX" \]\] && \[\[ -z "$TMUX\_SKIP" \]\] && command -v tmux &> /dev/null; then tmux attach-session -t default || tmux new-session -s default fi Add this to the end of your `~/.bashrc` file. ## How It Works The script checks four conditions before launching tmux: 1. **`-n "$SSH_CONNECTION"`** — Are you connecting via SSH? (Doesn’t trigger for local terminal sessions) 2. **`-z "$TMUX"`** — Is tmux not already running? (Prevents tmux-inception) 3. **`-z "$TMUX_SKIP"`** — Did you explicitly skip tmux? (More on this below) 4. **`command -v tmux`** — Is tmux actually installed? If all checks pass, it tries to attach to an existing session named “default”. If that session doesn’t exist, it creates one. ## Skipping tmux When Needed Sometimes you just want a plain shell—for quick commands, debugging, or whatever. Two ways to skip: **Option 1: Set an environment variable** ``` TMUX_SKIP=1 ssh user@server ``` **Option 2: Detach after connecting** ``` Ctrl+b, then d ``` This drops you to a regular shell without killing the tmux session. ## Why This Setup? - **Named session**: Using `default` as a session name makes it easy to reconnect - **Attach-or-create**: The `||` operator means it’ll create the session only if it doesn’t exist - **No exec**: Some examples use `exec tmux ...` which replaces your shell entirely. I prefer not doing that—it makes skipping harder and can be annoying for scripted SSH commands That’s it. Now you can SSH in, disconnect whenever, and pick up right where you left off. No more lost work from dropped connections. ### Overheard : Defining a Culture URL: https://kudithipudi.org/overheard-defining-a-culture/ Last updated: 2026-02-10T00:32:56.000Z [Ben Horowitz](https://en.wikipedia.org/wiki/Ben%5FHorowitz?ref=kudithipudi.org) shared his ideas on defining a culture In a [conversation](https://colossus.com/episode/backing-americas-future/?ref=kudithipudi.org) with [Patrick O’Schaugnessy](https://x.com/patrick%5Foshag?ref=kudithipudi.org) > Let me give you a small but probably the most important insight, which is from Bushido, the Way of the Warrior from the Samurai. **A culture is not a set of ideas. It’s a set of actions**. **If you define your culture as a kind of set of ideas** – integrity, do the right thing, we have each other’s backs, or any corporate values – **it’s actually just a bunch of fucking platitudes**. It doesn’t mean anything. **The culture has to be defined in terms of the exact behavior that you want that support that idea**. What do you have to do to actually be that thing that you want it to be? It’s the little things. How responsive are you to your colleagues? What’s the SLA on returning a Slack message or an email? Do you show up to meetings on time? Not everybody has those ideas, but if you want that idea, you’ve got to manifest it through something else. ### Overheard : Embedded Intelligence URL: https://kudithipudi.org/overheard-embedded-intelligence/ Last updated: 2026-02-06T21:56:30.000Z > The hype may be about the frontier models. The disruption really is in the workflow. Read this in Om Malik’s post ([https://om.co/2026/02/06/how-ai-goes-to-work/](https://om.co/2026/02/06/how-ai-goes-to-work/?ref=kudithipudi.org)), and it’s one of the most grounded take on AI I’ve seen lately. We spend so much energy debating which LLM is ‘smarter’ by a fraction of a percentage, but that’s just benchmarking engines. The real shift happens when the engine is already under the hood of the car you’re driving. Om calls it “**embedded intelligence**.” It’s when you’re in Excel or Photoshop and the AI isn’t a destination you visit (the prompt box), but a hover-state that helps you work. The goal isn’t to ‘use AI.’ The goal is to do what you used to do, but better, faster, and with more room for the creative decisions that actually matter. ### Overhead : Agentic Engineering URL: https://kudithipudi.org/overhead-agentic-engineering/ Last updated: 2026-02-05T13:46:59.000Z [Andrej Karpathy’s](https://karpathy.ai/?ref=kudithipudi.org) nomenclature for the state of tech in AI has become the unofficial industry clock. Watching the terminology evolve over the last few years feels like watching innovation move from a crawl to a sprint: [**Jan 2023: “English is the hottest new programming language.”**](https://x.com/karpathy/status/1617979122625712128?ref=kudithipudi.org) The shift from syntax to semantics. We realized that the bottleneck wasn’t knowing where the semicolon goes, but being able to describe the logic clearly. Coding became a translation layer. [**Feb 2025: “Vibe Coding.”**](https://x.com/karpathy/status/1886192184808149383?lang=en&ref=kudithipudi.org) The abstraction deepened. We stopped looking at the code entirely and started managing the ‘vibe’ of the output. It was the era of radical abstraction—prompting, iterating, and giving in to the exponential speed of LLMs. [**Feb 2026: “Agentic Engineering.”**](https://x.com/karpathy/status/2019137879310836075?ref=kudithipudi.org) The current frontier. We’ve moved from writing prompts to managing workers (agents). It’s no longer about a single interaction; it’s about architecting systems of agents that can self-correct, plan, and execute. The timeline is compressing. AI isn’t just a pastime anymore; it’s the factory floor. We’ve gone from being writers to editors to architects in less than a **thousand days**! We live in amazing times :-). Google Gemini’s interpretation of the blog post in an infographic. ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2026/02/image.png) ### HOW TO : Reduce phone usage URL: https://kudithipudi.org/how-to-reduce-phone-usage/ Last updated: 2026-01-26T23:55:39.000Z I know this is not really practical :-).. But hear me out Every 6 months, switch from an Android to an iPhone as your primary phone. You’ll be amazed at how much free time you suddenly get. ### The Reset Button When you switch ecosystems, you get a blank slate. No apps. No habits. No notifications. Your phone is *boring*. And that’s the feature. Most phone usage is pure inertia. You open Instagram because it’s there. You check email because the badge is red. But when you switch phones, those habits become a bit tougher to adhere to. ### Starting Fresh When setting up the new phone, be intentional: - **Grayscale icons.** Colors are designed to grab attention. Grayscale strips that away. Your apps become tools, not emotional triggers. - **Only install what you need.** Don’t install “just in case.” Start with essentials. Everything else can wait. - **Disable notifications.** Disable *all* notifications except calls and messages from people you know. You’ll notice which apps you actually miss. ### The cycle starts afresh Over time, you’ll add apps. But you’ll add them consciously, not because they came pre-installed. And as your collection grows, you’ll naturally develop habits around them. And that’s when the addiction/distraction cycle kicks in again. ### Why (I believe) This Works When you have unlimited options, you default to what’s easiest. When you have to choose, you choose what matters. Most productivity advice tells you to optimize your existing system. But you’re fighting accumulated habits that have grown over time. Switching phones is different, **it’s a reset, not optimization**. Give it a try. ### Overheard : Securing AI Agents URL: https://kudithipudi.org/overhear-securing-ai-agents/ Last updated: 2026-08-24T07:23:06.000Z A good framework on how to think about security when deploying AI agents. > Treat AI agents as insider threats [David Cox](https://mitibmwatsonailab.mit.edu/people/david-cox/?ref=kudithipudi.org) mentioned this during a recent [conversation](https://www.youtube.com/watch?v=S%5FaOpLcvvNI&t=17s&ref=kudithipudi.org) with Grant Harvey and Corey Noles on the Neuron podcast. Very simple, but very elegant. Once you frame agents this way, familiar tools – **least privilege**, **role-based access**, **audit logs** – suddenly apply cleanly. The attack surface shrinks not because agents are safer, but because their *blast radius* is smaller. ### AI and the value of taste URL: https://kudithipudi.org/ai-and-the-value-of-taste/ Last updated: 2026-01-12T03:45:34.000Z Anyone can now generate content (text, audio, images, video) with a single prompt. The cost of creation is collapsing to near zero. We live in amazing times. It also produces what people have started calling *“*[*slop*](https://en.wikipedia.org/wiki/AI%5Fslop?ref=kudithipudi.org)*”*: an overwhelming volume of content, much of it interchangeable. When supply becomes infinite, attention becomes scarce. Two thoughts follow from this. **First, the era of personalized content is finally here.** When generation is cheap, we don’t just filter existing content, we generate it. Instead of an algorithm deciding what you *might* like from a global pool, your feed can be created specifically for you, reflecting your interests, context, and intent. This is a meaningful shift: from recommendation to creation. **Second, as the cost of generation goes to zero, the value of taste goes to infinity.** When anyone can make something, what matters is knowing *what should be made*. Taste becomes the constraint. Just as there is one Picasso among thousands of painters, there will be people who can consistently direct AI toward work that resonates. They may not produce the content themselves, but they shape it—through judgment, curation, and intent. In a world flooded with output, **taste is the** **differentiator**. ### From consumer to producer URL: https://kudithipudi.org/from-consumer-to-producer/ Last updated: 2026-01-11T06:31:38.000Z I stopped making New Year resolutions a while ago. My philosophy has been simple: if something is actually important, waiting for a specific date on the calendar doesn’t make sense. You should just start doing it, like the Nike ad says. But for 2026, I’m making an exception. I have never considered myself a prolific writer, but lately, I’ve noticed a growing friction when trying to express my ideas in written form. I suspect I’ve fallen into the trap of becoming a **habitual consumer**. When you spend all your time consuming and less time creating, the “writing muscle” starts to atrophy. In the past, I felt a certain pressure when publishing here. I wanted every post to be thoughtful, insightful, and universally helpful. That high bar often became a barrier to actually hitting “publish.” I think it’s time to listen to [Kevin Kelly](https://en.wikipedia.org/wiki/Kevin%5FKelly%5F%28editor%29?ref=kudithipudi.org) and focus on the [**audience of one**](https://kevinkelly.substack.com/p/an-audience-of-one) **– me**. The goal for this year isn’t to write for the world, but to write to think, to clarify my own ideas, and to move back from being a consumer to a producer. Here’s to 2026 being the year I start writing again 😊. ### Overheard : Prosperity & Open Source URL: https://kudithipudi.org/overheard-prosperity-open-source/ Last updated: 2026-01-07T16:54:48.000Z Loved this quote by [Matt Ridley](https://en.wikipedia.org/wiki/Matt%5FRidley?ref=kudithipudi.org) on how open sourcing and sharing ideas leads to improved prosperity. Positive sum instead of zero sum games. The free exchange, combination, and mating of different ideas (like trade and specialization) drive human progress and wealth far more effectively than when ideas are not not shared and guarded. > Prosperity happens when ideas have sex > ### Overheard : Kindness URL: https://kudithipudi.org/overheard-kindness-2/ Last updated: 2025-11-12T21:07:42.000Z [Warren Buffett](https://en.wikipedia.org/wiki/Warren%5FBuffett?ref=kudithipudi.org) in his [farewell letter](https://kudithipudi.org/content/files/www-berkshirehathaway-com/news/nov1025.pdf) on kindness > Greatness does not come about through accumulating great amounts of money, great amounts > of publicity or great power in government. When you help someone in any of thousands of ways, you > help the world. **Kindness is costless but also priceless**. Whether you are religious or not, it’s hard to > beat The Golden Rule as a guide to behavior. I wish he sticks around a long time even though he is giving up his oversight role at Berkshire and continues to share his wisdom. His letter is also a masterclass in great writing. Each paragraph is less than 5 sentences, and each page has less than 10 paragraphs. All written in simple to understand language. ### Conversation maker URL: https://kudithipudi.org/conversation-maker/ Last updated: 2025-11-12T13:52:04.000Z Had this idea for my next get‑together — a simple prompt that could spark some fun stories. > Tell the story of something you have on you right now. It sounded random at first, but the more I thought about it, the more I liked it. Everyone’s carrying a story — in their pocket, on their wrist, in their wallet. - A keychain from a trip. - A bracelet from someone special. - A receipt for a plan that never happened. No prep needed. Just real moments hiding in plain sight. ### Overheard : SEO is dead URL: https://kudithipudi.org/overheard-seo-is-dead/ Last updated: 2025-10-10T20:44:11.000Z A great graph on all the times SEO was pronounced dead, yet the market value of the SEO industry keeps growing. Graph by [Chris Lourenco](https://www.linkedin.com/in/loudachris/?ref=kudithipudi.org) on [linkedin](https://www.linkedin.com/posts/loudachris%5Fseo-activity-7257189653227659265-8464/?ref=kudithipudi.org). ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/10/image.png) ### Overheard : Attention span URL: https://kudithipudi.org/overheard-attention-span/ Last updated: 2025-09-26T21:06:43.000Z Some interesting metrics on the attention span of consumers before they make a decision to spend more time on the content or not. Shared by [Lulu Cheng](https://x.com/lulumeservey?ref=kudithipudi.org) in a [conversation](https://fs.blog/knowledge-project-podcast/lulu-cheng-meservey/?ref=kudithipudi.org) with [Shane Parrish](https://x.com/shaneaparrish?ref=kudithipudi.org) And then in terms of text, because one of the ways that people get to know you is through yourwriting, I don’t know about seconds, but it’s like thefirst paragraph. For anemail, it’s thesubject line. For atweet, it’s thefirst line, first sentence, the hook. So the opportunity, the surface area of the opportunity we have to latch on, is getting more and more fine,which means that the hook that we need to use has to get more and more sharp. - **Writing** : First Paragraph - **Email**: Subject Line - **Tweet** : First Line - **Video** : First 30 seconds ### Overheard : mental model and curiosity URL: https://kudithipudi.org/overheard-mental-model-and-curiosity/ Last updated: 2025-08-22T21:53:24.000Z [Mark Bertolini](https://en.wikipedia.org/wiki/Mark%5FBertolini?ref=kudithipudi.org) in a chat with [Patrick O’Shaughnessy](https://x.com/patrick%5Foshag?ref=kudithipudi.org) on “[Invest Like the Best](https://joincolossus.com/episode/performance-during-pain/?ref=kudithipudi.org)” podcast, speaking about the need to update your mental model about the world constantly. And the two things that differentiate good leaders from the rest. > I always say to people, the mental model that exists inside your head about how the world works is the most critical tool you have. And if you **don’t constantly add new information** to it and are not a continual learner, **you can’t possibly know what you need to know to make good decisions**. > > And so I look for two things in executives, **curiosity and courage**. **The curiosity to continue to ask questions and learn more every day, and the courage to act on it when you have a hypothesis that might be powerful**. ### Overheard : On constant increase in expectations URL: https://kudithipudi.org/overheard-on-constant-increase-in-expectations/ Last updated: 2025-06-11T04:48:17.000Z Sam Altman’s [June 10, 2025 post](https://blog.samaltman.com/the-gentle-singularity?ref=kudithipudi.org) on achieving singularity captured something I’ve been thinking about lately. There’s a particular passage that perfectly describes how we’re constantly ratcheting up our expectations: > Already we live with incredible digital intelligence, and after some initial shock, most of us are pretty used to it. Very quickly we go from being amazed that AI can generate a beautifully-written paragraph to wondering when it can generate a beautifully-written novel; or from being amazed that it can make live-saving medical diagnoses to wondering when it can develop the cures; or from being amazed it can create a small computer program to wondering when it can create an entire new company. This is how the singularity goes: wonders become routine, and then table stakes. This hits at something fundamental about human psychology. We have this remarkable ability to normalize the extraordinary, almost immediately. I see this everywhere now. My kids casually ask AI to help with homework in ways that would have seemed like science fiction just three years ago. We’ve gone from “can AI write coherent sentences?” to “why can’t it write a perfect screenplay?” in what feels like months. The progression Altman describes—paragraph to novel, diagnosis to cure, program to company—isn’t just about AI capabilities scaling up. It’s about how our mental models adjust. Each breakthrough becomes the new baseline, not the ceiling. What struck me most is his phrase: “**wonders become routine, and then table stakes.**” That’s exactly it. The wonder doesn’t disappear because the technology got worse—it disappears because we got used to it. And then we need something even more impressive to feel that same sense of possibility. ### Overheard : Product Positioning URL: https://kudithipudi.org/overheard-product-positioning/ Last updated: 2025-03-20T18:32:25.000Z [Doug Leone](https://en.wikipedia.org/wiki/Douglas%5FLeone?ref=kudithipudi.org) responding to [Patrick O’shaughnessy](https://www.rbcgam.com/en/ca/profile/patrick-oshaughnessy/detail?ref=kudithipudi.org) in a [podcast conversation](https://joincolossus.com/episode/leone-clear-and-simple/?ref=kudithipudi.org), on how to think/position a product > **Simplicity**, **crystal clearness**, **something a mere mortal can understand**. If you can describe it and you can understand it you’re out to lunch. **Singularity of purpose**. When I go to the store, I buy a pencil because I want to write. ### Overheard : Dichotomy of Life URL: https://kudithipudi.org/overheard-dichotomy-of-life/ Last updated: 2025-01-20T14:59:40.000Z > **The dumber the disagreements**, the better the world actually is. Another [great post](https://collabfund.com/blog/minimum-levels-of-stress/?ref=kudithipudi.org) by [Morgan Housel](https://x.com/morganhousel?ref=kudithipudi.org) on the dichotomy of life. We will always be stressed, but what we stress about will be different based on the quality of life. It was, it is and it will be 😊. ### Overheard : AI needs cloud URL: https://kudithipudi.org/overheard-ai-needs-cloud/ Last updated: 2025-01-14T03:01:13.000Z On *The Verge*‘s [Decoder](https://www.theverge.com/24338171/aws-ceo-matt-garman-ai-chips-anthropic-cloud-computing-trainium-decoder-podcast-interview?ref=kudithipudi.org) podcast, [Matt Garman](https://www.linkedin.com/in/mattgarman?ref=kudithipudi.org), CEO of AWS, explained why AI’s potential is intrinsically tied to the cloud. The scale and complexity of modern AI models demand infrastructure that only major cloud providers can deliver > You’re not going to be able to get a lot of the value that’s promised from AI from a server running in your basement, it’s just not possible. The technology won’t be there, the hardware won’t be there, the models won’t live there, et cetera. And so, in many ways, I think it’s a tailwind to that cloud migration because we see with customers, forget proof of concepts … You can run a proof of concept anywhere. I think the world has proven over the last couple of years you can run lots and lots and lots of proof of concepts, but as soon as you start to think about production, and integrating into your production data, you need that data in the cloud so the models can interact with it and you can have it as part of your system. ### Overheard : Good business vs Bad Business URL: https://kudithipudi.org/overheard-good-business-vs-bad-business/ Last updated: 2025-01-08T14:49:52.000Z A simple visual of attributes of Good business vs Bad business based on a snippet [Codie Sanchez](https://codiesanchez.com/about/?ref=kudithipudi.org) shared in a [podcast](https://fs.blog/knowledge-project-podcast/codie-sanchez/?ref=kudithipudi.org) with [Shane Parrish](https://fs.blog/about/?ref=kudithipudi.org) ## ✅ GOOD BUSINESS - 💰 Profitable + Cash flowing - 🤝 Get paid upfront - 📈 Long history of success - 👵 Easy to explain to grandma - ♻️ Sustainable model - 🎯 Predictable future ## ❌ BAD BUSINESS - 📉 Unprofitable - ⏳ Pay comes after service - 🌱 New/unproven model - 🤔 Complex to explain - 🎲 Uncertain future Codie said > In my definition, good business equals profitable, cash flowing, what I call a cash-flow versus cash-suck business (so you get paid upfront for a service, not after you provide a service), sustainable (it can exist for a long time), historical (it has existed for a long time), understandable (you can explain it to grandma really easily), and you have what’s called the Lindy effect, the likelihood of the future continuing to cash-flow just as it did in the past. Those are my parameters for a good business. A bad business would be a business that is unprofitable, hard to understand, hasn’t been around for very long, and you have to provide the service before you get paid for the service. That is a business that is just much harder. That’s a harder game to win. ### Overheard : Worthless friends vs Transactional friends URL: https://kudithipudi.org/overheard-worthless-friends-vs-transactional-friends/ Last updated: 2025-01-08T14:42:35.000Z [Codie Sanchez](https://codiesanchez.com/?ref=kudithipudi.org) quoting [Prof. Arthur Brooks](https://en.m.wikipedia.org/wiki/Arthur%5FC.%5FBrooks?ref=kudithipudi.org) on different types of friendship in a [conversation](https://fs.blog/knowledge-project-podcast-transcripts/codie-sanchez-211/?ref=kudithipudi.org) with [Shane Parrish](https://fs.blog/about/?ref=kudithipudi.org). > Worthless friends are the friends that have no transactional value. You don’t want anything from them. They don’t want anything from you. They want to hang out with you. They want to go on a walk with you. They don’t want your email list. They don’t want access to your money. They just want to have a beer on a Friday night. And these friendships end up materially increasing, our happiness, these worthless friends, whereas these transactional friendships actually end up, in many ways, decreasing our happiness ### Agency for AI Agents URL: https://kudithipudi.org/agency-for-ai-agents/ Last updated: 2025-01-07T02:35:29.000Z Huggingface just [released](https://huggingface.co/blog/smolagents?ref=kudithipudi.org) their agentic library to interact with LLMs. I liked the way they define agents. > AI Agents are **programs where LLM outputs control the workflow**. And the way they defined the spectrum of agency for the agents ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/01/image-21.png) ### Communicating market potential URL: https://kudithipudi.org/communicating-market-potential/ Last updated: 2025-01-05T08:58:59.000Z I really liked this slide from Carvana’s [2024 Q3 earnings call presentation](https://kudithipudi.org/content/files/investors-carvana-com/media/Files/C/Carvana-IR/documents/intro-to-carvana-october-2024-vf.pdf) on their potential addressable market. Communicates the idea in an easy and impactful way. ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2025/01/image-18.png) ### Overheard : On constantly adapting URL: https://kudithipudi.org/overheard-on-adaptivity/ Last updated: 2024-12-12T19:44:30.000Z > Don’t ever forget where you came from, but always be looking where you’re going. > > [Micky Malka](https://www.linkedin.com/in/meyermalka/?ref=kudithipudi.org) (Capital Herder and Team Finder) on a recent [conversation](https://joincolossus.com/episode/building-ribbit/?ref=kudithipudi.org) with Patrick O’Schaughnessy on [Invest Like the Best podcast](https://joincolossus.com/series/invest-like-the-best/?ref=kudithipudi.org). ### Overheard : India 1-2-3 URL: https://kudithipudi.org/overheard-on-india-as-a-market/ Last updated: 2024-11-22T21:47:21.000Z Great discussion between [Jim O’Shaughnessy](https://en.wikipedia.org/wiki/James%5FO%27Shaughnessy%5F%28investor%29?ref=kudithipudi.org) and [Sajith Pai](https://sajithpai.com/?ref=kudithipudi.org) on the India as a market in the [Infinite Loops Podcast](https://www.youtube.com/watch?v=pzKJESU8w0E&ref=kudithipudi.org). Sajith did a great job describing India as a combination of three markets and not a monolithic market of 1.5 billion people. > India is not a 1.5-billion-person market that many Westerners believe. Instead, it’s three distinct “countries” hiding in plain sight. **There’s India One: 120 million affluent**, English-speaking urbanites (think the population of Germany) who love their iPhones and Starbucks. **Then comes India Two: 300 million aspiring middle-class** citizens who inhabit the digital economy but not yet the consumption economy. Finally, there’s **India Three: a massive population** with a similar demographic profile to Sub-Saharan Africa, that’s still waiting for its invitation to join India’s bright future. Highly recommend checking out the podcast and this [report](https://www.indusvalleyreport.com/?ref=kudithipudi.org) (on Indus Valley – a play on words comparing the market in India to the tech market in Silicon valley) that Sajith and team put together. ### 30 day challenge : create software with AI URL: https://kudithipudi.org/30-day-challenge-create-software-with-ai/ Last updated: 2026-08-23T05:05:21.000Z I like to do 30 day challenges to explore new areas, or to form habits. Some of my previous ones were - [60 day challenge to eat and exercise](https://kudithipudi.org/2012-60-day-resolution/) - [30 day challenge to create art using AI](https://kudithipudi.org/experiments-with-midjourney/) I am starting a new challenge today, to create software by leveraging AI. The recent boom in AI and GenAI specifically has made it very easy and quick to bring your ideas to fruition. It is time to start coding and developing software for ideas that have been swirling in my head for sometime. I will be publishing them at [https://lab.kudithipudi.org/](https://lab.kudithipudi.org/?ref=kudithipudi.org) . I will expand and write up about some ideas and the experience in bringing them to life. Inspired by [https://tools.simonwillison.net/](https://tools.simonwillison.net/?ref=kudithipudi.org). ### HOW TO : Run Anthropic Computer Use Tool on a Windows Machine URL: https://kudithipudi.org/how-to-run-anthropic-computer-use-tool-on-a-windows-machine/ Last updated: 2024-10-25T03:09:00.000Z Anthropic released their new Claude Sonnet 3.5 model [yesterday ](https://www.anthropic.com/news/3-5-models-and-computer-use?ref=kudithipudi.org)that has a new capability to control computers. Computer Use capability allows Claude to directly interact with computer interfaces, enabling tasks like web browsing, data analysis, and file manipulation – all through natural language instructions. Similar to tools, but now you don’t have to define specific tools. I think this opens up a whole new window of opportunities to leverage LLMs for. Anthropic shared a quick start guide to run the model in a container, but the instructions are for Mac/Linux based workstations. I had to make some tweaks to run them on a windows workstation. Documenting them for anyone that might be trying to do the same - Install Docker Desktop - Open a command prompt - Run the following command to set your anthropic api key system variable - `set ANTHROPIC_API_KEY=**YOUR-ANTHROPIC-KEY**` - Run the following command to start the docker container - `docker run -e ANTHROPIC_API_KEY=%ANTHROPIC_API_KEY% -v $HOME/.anthropic:/home/computeruse/.anthropic -p 5900:5900 -p 8501:8501 -p 6080:6080 -p 8080:8080 -it ghcr.io/anthropics/anthropic-quickstarts:computer-use-demo-latest` - Launch the streamlit app by opening this URL in your browser [http://localhost:8080/](http://localhost:8080/?ref=kudithipudi.org) ### HOW TO : Troubleshoot Zscaler client URL: https://kudithipudi.org/how-to-troubleshoot-zscaler-client/ Last updated: 2024-10-24T16:55:18.000Z I recently encountered some connectivity issues while working from home and trying to access some corporate resources. Notes for myself on some tips our infosec team shared to troubleshoot the Zscaler client since all the traffic to the interweb gets routed through it. - [http://speedtest.zscaler.com/perf](http://speedtest.zscaler.com/perf?ref=kudithipudi.org) - Gives you an overview of which Zscaler pop you are connecting to and access speed to the Internet via that pop. - [http://127.0.0.1:9000/?ztest?q=@YOUR-CORPORATE-DOMAIN](http://127.0.0.1:9000/?ztest?q=@YOUR-CORPORATE-DOMAIN&ref=kudithipudi.org) (ex: google.com) - This provides a detailed report, including: - DNS Reachability Test: Confirms if DNS is resolving correctly. - UDP Connectivity Test: Checks if UDP packets can pass through. - TraceRoute to Zscaler: Shows the path your data takes to reach Zscaler. - Throttling Test: Identifies any speed drops. - Download/Upload Bandwidth: Measures the speed at which data transfers. - [https://ip.zscaler.com](https://ip.zscaler.com/?ref=kudithipudi.org) - A quick utility to check where and how your traffic is routed through the Zscaler network. Very similar to the perf test data, but doesn’t let you run a performance test. ### Overheard : On planning and execution URL: https://kudithipudi.org/overheard-on-planning-and-execution/ Last updated: 2024-09-30T11:00:28.000Z ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2024/09/17276937757891764498987347266614.jpg) ### On AI Agentic Workflows URL: https://kudithipudi.org/on-ai-agentic-workflows/ Last updated: 2024-09-12T02:30:04.000Z Amazing [conversation](https://joincolossus.com/episode/taylor-the-agent-era/?ref=kudithipudi.org) with Bret Taylor on agentic workflows leveraging AI in the enterprises. The whole conversation is worth listening to multiple times, but this specific segment where Bret speaks about the difference between traditional software engineering and AI driven solutions was thought provoking on how much change management organizations have to go through to adopt to these new solutions. > Now if you have parts of your system that are built on large language models, those parts are really different than most of the software that we’ve built on in the past. Number one is they’re relatively slow compared — to generate a page view on a website takes nanoseconds at this point, might be slightly exaggerating, down to milliseconds, even with the fastest models, it’s quite slow in the way tokens are emitted. > > Number two is it can be relatively expensive. And again, it really varies based on the number of parameters in the model. But again, the marginal cost of that page view is almost zero at this point. You don’t think about it. Your cost as a software platform is almost exclusively in your head count. With AI, you can see the margin pressure that a lot of companies face, particularly of their training models or even doing inference with high-parameter-count models. > > Number three is they’re nondeterministic fundamentally, and you can tune certain models to more reliably have the same output for the same input. But by and large, it’s hard to reproduce behaviors on these systems. What gives them creativity also leads to non-determinism. > > **And so this combination of it, we’ve gone from cheap, deterministic, reliable systems to relatively slow, relatively expensive but very creative systems. And I think it violates a lot of the conventions that software engineers think about — have grown to think about when producing software, and it becomes almost a statistical problem rather than just a methodological problem.** ### AI & Humans URL: https://kudithipudi.org/ai-humans/ Last updated: 2024-09-09T18:22:50.000Z AI will not replace humans but humans who use AI will replace humans that don’t – [Dr. Fei-Fei Li](https://en.wikipedia.org/wiki/Fei-Fei%5FLi?ref=kudithipudi.org) ### Disaster Recover vs Business Continuity URL: https://kudithipudi.org/disaster-recover-vs-business-continuity/ Last updated: 2024-06-25T03:08:18.000Z Really liked this simple explanation on the difference between BDR and BCP shared in a hacker news [discussion](https://news.ycombinator.com/item?id=40776951&ref=kudithipudi.org) ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2024/06/image.png) ### Overheard : Leadership URL: https://kudithipudi.org/overheard-leadership/ Last updated: 2024-04-10T11:04:03.000Z > Leadership isn’t about being the hero. It’s about empowering your team to become heroes themselves. > > Google Gemini For folks that are driven, wired to see an issue and tackle it head-on, it is difficult to not jump in and “try” to help your team whenever they run into an issue. But the reality is that most folks are capable, creative individuals. They just need the space to flex their own problem-solving muscles. If you team has the skills and experience, let them handle it :-). ### Overheard : On brilliance URL: https://kudithipudi.org/overheard-on-brilliance/ Last updated: 2024-01-23T02:42:11.000Z ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2024/01/image.png) > Avoiding Stupidity is Easier than Seeking Brilliance > > – [Shane Parrish rewording Charlie Munger](https://fs.blog/avoiding-stupidity/?ref=kudithipudi.org) ### Overheard : On wisdom URL: https://kudithipudi.org/overheard-on-wisdom/ Last updated: 2024-01-22T02:35:32.000Z > Wisdom is turning your future hindsight into your current foresight > > – Shane Parrish ### Overheard : On practice URL: https://kudithipudi.org/overheard-on-practice/ Last updated: 2023-12-22T02:14:29.000Z A quote from Japanese philosophy repeated by Coach [Paul Assaiante](https://paulassaiante.com/?ref=kudithipudi.org) on practice > You cry in practice and you laugh in competition ### Charlie : The guru I never met URL: https://kudithipudi.org/charlie-the-guru-i-never-met/ Last updated: 2024-04-10T17:17:36.000Z Yesterday (Nov 28, 2023), the world lost a giant of investing and clear thinking: [Charlie Munger](https://www.wsj.com/finance/investing/charlie-munger-berkshire-hathaway-dead-74d476a8?ref=kudithipudi.org). While I never had the privilege of meeting him in person, his wisdom, wit, and down-to-earth approach to life have had a profound impact on me. His speeches and writings have been a guiding light, teaching me not just about investing, but about life itself. Charlie possessed a rare combination of intelligence, practicality, and brutal honesty. He never sugarcoated his words, always offering his insights with clarity and directness. One quote that particularly resonates with me comes from his [2007 commencement speech at USC](https://www.youtube.com/watch?v=5U0TE4oqj24&ref=kudithipudi.org). Reflecting on choices in life, he said: “Let me use a little inversion now. What will really fail in life? What do we want to avoid? Some answers are easy. For example, **sloth and unreliability will fail.** If you’re unreliable it doesn’t matter what your virtues are, you’re going to crater immediately. So, faithfully doing what you’ve engaged to do should be an automatic part of your conduct.” These words underscore the importance of basic principles like hard work, integrity, and commitment. Charlie understood that success wasn’t built on complex theories, but on a foundation of solid values and consistent action. Charlie’s passing is a significant loss, but his legacy will undoubtedly continue to inspire and educate generations to come. His wisdom will remain a guiding force for those seeking to navigate the complexities of life and investing with integrity and a clear mind. Rest in peace, Charlie. You will be deeply missed. ### HOW TO : Bulk deletes in vi URL: https://kudithipudi.org/howto-bulk-deletes-in-vi/ Last updated: 2026-08-24T07:24:22.000Z Use “**dG**” command, if you want to delete all lines in a file starting from the line under the cursor in [vi](https://en.wikipedia.org/wiki/Vi?ref=kudithipudi.org). Additional commands to delete lines 1. dd deletes the whole line under the cursor. 2. **x**dd deletes multiple (x) lines, starting at the cursor. For example 10dd deletes 10 lines 3. d$ deletes to the end of the line, starting at the cursor. ### HOW TO : Create free clipart URL: https://kudithipudi.org/how-to-create-free-clipart/ Last updated: 2022-12-10T01:50:28.000Z One can leverage the explosion of generative AI art engines to create your own clip art. - Create an image in [MidJourney](https://midjourney.com/?ref=kudithipudi.org) (you can get free credits to create up to 200 images) - You can add “clipart” to any image description to get good results - Use [Removebg](https://www.remove.bg/?ref=kudithipudi.org) to remove any background from the image. (500×500 pixel png images are free) - enjoy 🙂 Here’s a clipart that I created using the prompt “moscow mule drink illustration, clipart” ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/12/kudithipudi_moscow_mule_drink_illustration_l_clipart_8fc67518-939d-4be2-b63f-29bc8f56b2b1-removebg-preview.png) ### Overheard : On action and feeling URL: https://kudithipudi.org/overheard-on-action-and-feeling/ Last updated: 2022-11-29T23:28:48.000Z > The way we act determines how we feel way more often than the way we feel determines how we act. > > [Seth Godin](https://seths.blog/?ref=kudithipudi.org), in a [chat](https://tim.blog/2020/10/29/seth-godin-the-practice-transcript/?ref=kudithipudi.org) with [Tim Ferriss](https://tim.blog/?ref=kudithipudi.org) ### Private IP Ranges URL: https://kudithipudi.org/private-ip-ranges/ Last updated: 2022-10-22T20:02:38.000Z A self note. List of [private address](https://simple.wikipedia.org/wiki/Private%5Fnetwork?ref=kudithipudi.org) ranges - **Class A**: 10.0\. 0.0 to 10.255\. 255.255. - **Class B**: 172.16\. 0.0 to 172.31\. 255.255. - **Class C**: 192.168\. 0.0 to 192.168\. 255.255. ### Overheard : On strategy and talent URL: https://kudithipudi.org/overheard-on-strategy-and-talent/ Last updated: 2022-10-20T12:16:51.000Z > Strategy without talent is helpless and talent without strategy is hopeless. > > Gary Burnison (CEO Korn Ferry) ### Overheard : Technology and progress URL: https://kudithipudi.org/overheard-technology-and-progress/ Last updated: 2022-10-04T13:34:54.000Z [Saam Motamedi](https://twitter.com/saammotamedi?ref=kudithipudi.org) on how technology makes progress > Part of the thing that I think is amazing about technology is that the progress is usually sooner and stranger than you think. ### MidJourney Creations #25 URL: https://kudithipudi.org/midjourney-creations-25/ Last updated: 2022-08-25T02:46:17.000Z **contemporary mountainside cabin with huge windows sunset view** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image-22.png) ### MidJourney Creations #24 URL: https://kudithipudi.org/midjourney-creations-24/ Last updated: 2022-08-25T02:25:20.000Z **chess pieces made of crystal in space huge monuments** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image-21.png) ### MidJourney Creations #23 URL: https://kudithipudi.org/midjourney-creations-23/ Last updated: 2022-08-25T02:24:09.000Z **longhorns in river mountain vistas cowboy horses landscape detailed** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image-20.png) ### MidJourney Creations #22 URL: https://kudithipudi.org/midjourney-creations-22/ Last updated: 2022-08-25T02:22:52.000Z **friends in infinity pool watching sunset pencil drawing detailed color** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image-19.png) ### MidJourney Creations #21 URL: https://kudithipudi.org/midjourney-creations-20/ Last updated: 2022-08-18T18:10:53.000Z **hermitage in winter detailed vivid scene** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image-18.png) ### Overheard : friend URL: https://kudithipudi.org/overheard-friend/ Last updated: 2022-08-18T13:18:36.000Z > “A true friend unbosoms freely, advises justly, assists readily, adventures boldly, takes all patiently, defends courageously, and continues a friend unchangeably.” > > – William Penn ### MidJourney Creations #20 URL: https://kudithipudi.org/midjourney-creations-19/ Last updated: 2022-08-18T18:10:28.000Z **clash of the titans** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image-17.png) ### MidJourney Creations #19 URL: https://kudithipudi.org/midjourney-creations-18-2/ Last updated: 2022-08-18T18:10:09.000Z **low risk rules** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image-16.png) ### Overheard : Passive Investing URL: https://kudithipudi.org/overheard-passive-investing/ Last updated: 2022-08-17T02:57:21.000Z [Geoff Saab](https://geoffsaab.com/?ref=kudithipudi.org) on the strength and weakness of passive investing in his book “[Low Risk Rules : A Wealth Preservation Manifesto](https://www.amazon.com/Low-Risk-Rules-Preservation-Manifesto/dp/1774581744?ref=kudithipudi.org)“ Pro : “You own a piece of every company**.**“ Con : “You own a piece of every company**?**“ So subtle, but so powerful! ### MidJourney Creations #18 URL: https://kudithipudi.org/midjourney-creations-18/ Last updated: 2022-08-17T02:58:14.000Z **basketball player made of crystal dunking sun in space action shot** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image-15.png) ### MidJourney Creations #17 URL: https://kudithipudi.org/midjourney-creations-17/ Last updated: 2022-08-17T02:58:03.000Z **waterfall in space with multiple moons in background vivid picture** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image-14.png) ### MidJourney Creations #16 URL: https://kudithipudi.org/midjourney-creations-16/ Last updated: 2022-08-17T02:57:46.000Z **amrutham** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image-13.png) ### MidJourney creations #15 URL: https://kudithipudi.org/midjourney-creations-15/ Last updated: 2022-08-13T00:38:04.000Z **Indraprastha ancient India detailed** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image-12.png) ### MidJourney Creations #14 URL: https://kudithipudi.org/midjourney-creations-13-2/ Last updated: 2022-08-12T04:19:08.000Z **today’s magic was yesterdays dream** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image-11.png) ### MidJourney Creations #13 URL: https://kudithipudi.org/midjourney-creations-13/ Last updated: 2022-08-09T19:30:39.000Z **forest floor views with colorful fauna** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image-10.png) ### MidJourney Creations #12 URL: https://kudithipudi.org/midjourney-creations-12/ Last updated: 2022-08-09T18:43:12.000Z **stranger of paradise final fantasy origin** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image-9.png) ### MidJourney Creations #11 URL: https://kudithipudi.org/midjourney-creations-11/ Last updated: 2022-08-09T18:46:49.000Z **Indian samurai headgear katana spear mask intricate details** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image-8.png) ### MidJourney Creations #10-1 URL: https://kudithipudi.org/midjourney-creations-11-1/ Last updated: 2022-08-09T18:43:55.000Z **friendship day** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image-7.png) ### MidJourney Creations #10 URL: https://kudithipudi.org/midjourney-creations-10/ Last updated: 2022-08-09T18:44:14.000Z **Ocean angles with blue fire** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image-6.png) ### MidJourney Creations #9 URL: https://kudithipudi.org/midjourney-creations-9/ Last updated: 2022-08-09T18:44:29.000Z **Don’t make yourself miserable because the people in front of you are idiots** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image-5.png) ### MidJourney Creations #8 URL: https://kudithipudi.org/midjourney-creations-7-2/ Last updated: 2022-08-09T18:44:44.000Z **contemporary house with lots of windows** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image-4.png) ### MidJourney Creations #7 URL: https://kudithipudi.org/midjourney-creations-7/ Last updated: 2022-08-09T18:45:00.000Z **80 20 rule** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image-3.png) ### MidJourney Creations #6 URL: https://kudithipudi.org/midjourney-creations-6/ Last updated: 2022-08-09T18:45:16.000Z **water world from space with 5 moons spaceship blocking sun** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image-2.png) ### MidJourney Creations #5 URL: https://kudithipudi.org/midjourney-creations-5/ Last updated: 2022-08-09T18:45:35.000Z **huge Italian wedding people eating food church** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image-1.png) ### MidJourney Creations #4 URL: https://kudithipudi.org/midjourney-creations-4/ Last updated: 2022-08-09T18:45:52.000Z **Konark temple sunrise** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/08/image.png) ### MidJourney Creations #3 URL: https://kudithipudi.org/midjourney-creations-3/ Last updated: 2022-08-09T18:46:14.000Z **medieval European town square with kids playing around merchants selling vegetables and meat soldiers on horseback oil painting detailed** ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/07/image-2.png) ### MidJourney Creations #2 URL: https://kudithipudi.org/midjourney-creations-2/ Last updated: 2022-08-09T18:46:31.000Z **“the knowledge of vedas**” ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/07/image-1.png) ### Midjourney Creations #1 URL: https://kudithipudi.org/midjourney-creations-1/ Last updated: 2022-08-09T18:40:29.000Z “**dragon green lion head Japanese style studio ghibli 4k**” ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/07/44956575-ed5e-41a6-9aaa-cf5a47e95e1c.png) ### Overheard : On vision URL: https://kudithipudi.org/overheard-on-vision/ Last updated: 2022-07-24T02:46:35.000Z [Patrick Collison](https://twitter.com/patrickc?ref=kudithipudi.org) (Co-Founder and CEO of [Stripe](https://stripe.com/?ref=kudithipudi.org)) shared this snippet of an internal email that [David Stearns](https://twitter.com/davestearns?ref=kudithipudi.org) (Staff Engineer at [Stripe](https://stripe.com/?ref=kudithipudi.org)) wrote about [Dee Hock](https://en.wikipedia.org/wiki/Dee%5FHock?ref=kudithipudi.org). Dee Hock was the founder of [Visa](https://visa.com/?ref=kudithipudi.org) and this statement on Dee’s vision really connected with me Today, I can hop on a plane to most anywhere in the world and use my Visa card to purchase goods and services regardless of the language spoken by the merchant, the currency of the merchant’s bank account, or the time zone difference between the merchant’s shop and my issuing bank. In the 1960’s this was unthinkable. **Today’s magic was yesterday’s dream**, and Hock was one of the biggest dreamers of all. Full copy of the snippet below ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2022/07/image.png) ### Overhead : Tactic vs Strategy URL: https://kudithipudi.org/overhead-tactic-vs-strategy/ Last updated: 2022-04-28T18:04:09.000Z > Tactics is knowing what to do when there is something to do; Strategy is knowing what to do when there is nothing to do. > > Savielly Tartakower (French-Polish Chess Grandmaster) ### Overheard : On accountability URL: https://kudithipudi.org/overheard-on-accountability/ Last updated: 2022-03-01T17:31:43.000Z > You cannot do anything wrong, if you don’t do anything! > > – Dave Dallam ### Overheard : On cutting down “stuff” URL: https://kudithipudi.org/overhear-on-cutting-down-stuff/ Last updated: 2022-02-28T03:05:51.000Z > We’re good as humans to committing to things that are positive. That’s very motivating for us. We’re bad at trying to avoid things that are negative > > – [Cal Newport](https://www.calnewport.com/?ref=kudithipudi.org) in [conversation](https://tim.blog/2022/02/04/cal-newport-transcript/?ref=kudithipudi.org) with [Tim Ferriss](https://tim.blog/?ref=kudithipudi.org) Cal was speaking about how we are good at adding things that seem good to to us (facebook is good because we can communicate on the fly), but bad at avoiding negative things (being on facebook and doom scrolling is a bad thing). He instead suggests, just using technology for things you like (I will have facebook, but only follow and read messages from folks I want to). ### Overheard : Watermelon Metrics URL: https://kudithipudi.org/overheard-watermelon-metrics/ Last updated: 2022-01-21T05:18:09.000Z > Watermelon Metric : Green (good) on the outside and red (bad) once you dig in. > > –[ Daniel Shapero](https://www.linkedin.com/in/dshapero/?ref=kudithipudi.org) (LinkedIn COO) on a [post](https://www.linkedin.com/posts/dshapero%5Fheard-a-new-term-today-watermelon-metric-activity-6890064843722883072-ad9s?ref=kudithipudi.org) on LinkedIn Some examples - If churn is down (looks green)… but when you look into why it’s down is because all of your customers left last year (very bad) - A manager’s EVS scores are up because everyone who was unhappy left - Brand awareness could be considered watermelon if it’s high but brand perception is poor. - The click-through rate of an email campaign is high, but when you dig in you learn that it’s because so many users are clicking in the footer to change their email preferences or opt out. - YOY Revenue is increasing (Green) – especially currently as businesses are raising prices to accommodate inflation – but when you dig in, you see profits are actually suffering (red) ### Overheard : Alignment URL: https://kudithipudi.org/overheard-alignment/ Last updated: 2022-01-07T19:37:06.000Z > We don’t want to force alignment, but align forces > > [Desikamani G](https://twitter.com/desikamani?ref=kudithipudi.org) ### Overheard : Tradeoffs URL: https://kudithipudi.org/overheard-tradeoffs/ Last updated: 2021-12-15T01:58:18.000Z > Everything that you take on is implicitly something that you’re not taking on > > – [Francis Davidson](https://twitter.com/fdavidsont?ref=kudithipudi.org) (CEO of [Sonder](https://www.sonder.com/?ref=kudithipudi.org)) in conversation with [Patrick O’Shaughnessy](https://twitter.com/patrick%5Foshag?ref=kudithipudi.org) Speaking about tradeoffs that organizations and individuals make when prioritizing work. ### Overheard : Empathy URL: https://kudithipudi.org/overheard-empathy/ Last updated: 2021-11-29T03:45:13.000Z [LibertyRPF](https://www.libertyrpf.com/?ref=kudithipudi.org) on Empathy during a conversation with [Jim O’Shaughnessy](https://twitter.com/jposhaughnessy?ref=kudithipudi.org) on his [Infinite Loops podcast](https://www.infiniteloopspodcast.com/libertyrpf-the-great-reshuffle-decline-of-gatekeepers-ep72/?ref=kudithipudi.org) > Don’t just treat others how you would like to be treated. Take the extra step and figure out how they would like to treated and treat them like that. ### HOW TO : Flex your muscles URL: https://kudithipudi.org/howto-flex-your-muscles/ Last updated: 2026-08-24T07:24:54.000Z A tongue in cheek headline :-). The post is not about body muscle, but about how you can flex your market power (muscle). Here is a screenshot comparison of default apps settings in Microsoft Windows 10 and Windows 11\. Notice how instead of just giving one option to change the default browser, Microsoft has moved the option to change it by file extension? Does a layperson even know the difference between htm, html, http and https? A clever way for Microsoft to make it a bit more difficult to switch away from edge (Microsoft’s new Internet browser). Some might even call it sinister 🙂 ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2021/10/windows_10_default_apps.png) ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2021/10/screenshot-2021-10-09-135140.png) **Update Oct 11** : Looks like the main stream media is catching up on this. The Verge has a post on this topic [https://www.theverge.com/22714629/windows-11-microsoft-browser-edge-chrome-firefox](https://www.theverge.com/22714629/windows-11-microsoft-browser-edge-chrome-firefox?ref=kudithipudi.org) ### Culture eats strategy for breakfast URL: https://kudithipudi.org/culture-eats-strategy-for-breakfast/ Last updated: 2021-10-05T02:47:30.000Z Interesting article on [Arstechnica](https://arstechnica.com/?ref=kudithipudi.org) ([https://arstechnica.com/science/2021/10/revealed-the-secret-notes-of-blue-origin-leaders-trying-to-catch-spacex/](https://arstechnica.com/science/2021/10/revealed-the-secret-notes-of-blue-origin-leaders-trying-to-catch-spacex/?ref=kudithipudi.org)) about an internal memo from [Blue Origin](https://www.blueorigin.com/?ref=kudithipudi.org). The memo is about the discussion and feedback from senior leadership at Blue Origin on a report put together by an external consulting company on challenges facing Blue Origin. Bezos is famous for growing Amazon into a behemoth by focusing on principals like Customer Obsession, Hire and Develop the best, Frugality… [https://www.amazon.jobs/en/principles](https://www.amazon.jobs/en/principles?ref=kudithipudi.org) . Wonder why he did not implement the same tried and tested playbook at Blue Origin. My take, it is as important to have a team that can execute on your vision as it is to have a vision. Culture eats strategy for breakfast ¯\\\_(ツ)\_/¯ ### Inflation URL: https://kudithipudi.org/inflation/ Last updated: 2021-10-04T15:27:27.000Z What happens when a private equity company buys one of your favorite tools? Prices go up 50% :-). At the same time, the cost of running this business has gone down (other than people cost) considering you can get faster, bigger infrastructure at the same or lower cost. Am using the public pricing of the big cloud providers (Amazon, Microsoft, Google) as reference. ([https://www.isi.edu/\~calvin/ec2.htm](https://www.isi.edu/~calvin/ec2.htm?ref=kudithipudi.org)) In the market for something that is as effective as lastpass and doesn’t cost as much. ![](https://kudithipudi.org/content/images/kudithipudi-org/wp-content/uploads/2021/10/image.png) ### 4th Grade Math Wonders URL: https://kudithipudi.org/4th-grade-math-wonders/ Last updated: 2021-09-30T00:55:29.000Z - Take any 3 digit number - Multiply by 11 - Multiple the result with 91 - The end result will clone your initial 3 digit numbers and make a 6 digit number 🙂 ### HOWTO : SQL Joins URL: https://kudithipudi.org/howto-sql-joins/ Last updated: 2021-06-10T03:43:19.000Z A simple and useful visual of joins in SQL by Taylor Brownlow from this post [https://towardsdatascience.com/take-your-sql-from-good-to-great-part-3-687d797d1ede](https://towardsdatascience.com/take-your-sql-from-good-to-great-part-3-687d797d1ede?ref=kudithipudi.org) ![](https://kudithipudi.org/wp-content/uploads/2021/06/SQL_Joins.png) ### Oveheard : Pain URL: https://kudithipudi.org/oveheard-pain/ Last updated: 2021-04-16T02:49:35.000Z > our ability to deal with pain is directly proportional to our ability to see pain elsewhere. > > Subroto Bagchi ### HOWTO : Query json data in SQLite URL: https://kudithipudi.org/howto-query-json-data-in-sqlite/ Last updated: 2021-04-13T21:55:01.000Z A self note for querying json data in SQLite. BTW, I think SQLite is an under utilized and under appreciated swiss army tool for data storage and manipulation. And thanks to Richard Hipp, it is free. If you have a column defined as a json type in your SQLite database, quickest way to search for the data is `json_extract`. A full set of functions available are documented at [https://www.sqlite.org/json1.html](https://www.sqlite.org/json1.html?ref=kudithipudi.org) If you have a column named `family_details` in a table `family` with the following json in it as an example ``` { "father": { "name": "dad", "birthday": "1/1/2000", "pet_name": "daddy" }, "mother": { "name": "mom", "birthday": "1/1/2001", "pet_name": "mommy" }, "sons": [ { "name": "son_one", "birthday": "1/2/2020", "pet_name": "sonny_one" }, { "name": "son_two", "birthday": "1/2/2021", "pet_name": "sonny_two" } ], "daughters": [ { "name": "princess_one", "birthday": "1/2/2020", "pet_name": "princy_one" }, { "name": "princess_two", "birthday": "1/2/2021", "pet_name": "princy_two" } ] } ``` and you want to print the name of the father, you can use `select json_extract(family_details, '$.father.name') as father_name from family` `json_extract `uses the name of the column and the json node as parameters. In this case, we used `$`(which denotes the root), `father `and `name `(under father) as the json node. ### Overheard : Services vs Product businesses URL: https://kudithipudi.org/overheard-services-vs-product-businesses/ Last updated: 2021-04-08T13:48:37.000Z **In the services business**, you get paid to say **yes** to everything. **In the product business**, you get paid to say **no**. By convincing the customer that you are not going to give what they want, but what they need. – Sanveet Singh (CEO of $PAR) on a podcast with Richard Sosa ### Overheard : On appreciation URL: https://kudithipudi.org/overheard-on-appreciation/ Last updated: 2020-07-05T17:53:23.000Z > Everyone needs to feel appreciated. It doesn’t matter what they do, it doesn’t matter who they are, that’s a need in everybody. > > – Grace McNiel (Hugh Jackman’s mom) [Hugh Jackman](https://en.wikipedia.org/wiki/Hugh%5FJackman?ref=kudithipudi.org) mentioned this quote on a [podcast](https://tim.blog/2020/06/26/hugh-jackman/?ref=kudithipudi.org) with [Tim Ferriss](https://en.wikipedia.org/wiki/Tim%5FFerriss?ref=kudithipudi.org). Highly recommend listening to the podcast. Hugh shared a lot more such wisdom in it. My admiration for Hugh went up a couple more notches after listening to it. ### Collection of tools to serve local content on your workstation to the Internet URL: https://kudithipudi.org/collection-of-tools-to-serve-local-content-on-workstation-to-the-internet/ Last updated: 2020-06-25T04:14:15.000Z A quick collection of tools you can use to serve/publish content/applications on your local dev to the Interwebs. Some use cases for these types of tools.. - Developed a static website and want to show it someone that is not right next to you. - Developed an API that you want an app or user to access from the web List of tools: - [**https://ngrok.com/**](https://ngrok.com/?ref=kudithipudi.org) : Most popular tool for this purpose. the free tier is enough for most use cases. - [**https://tunnelto.dev/**](https://tunnelto.dev/?ref=kudithipudi.org) : Latest entrant in this space. In addition to have a paid hosted service, you can run this for free on your own server. But that defeats the pupose of having a tool to use in a pinch to share content :). - [**http://pagekite.net/**](http://pagekite.net/?ref=kudithipudi.org) : Been around for 10+ years. Similar to tunnelto.dev, you can run this on you own server or pay (very nominal price) for the hosted service. ### Fatherhood.. URL: https://kudithipudi.org/fatherhood/ Last updated: 2020-06-22T05:56:35.000Z Today being [Father’s day](https://en.wikipedia.org/wiki/Father%27s%5FDay?ref=kudithipudi.org), some reflections on fatherhood. I think people go through different stages on how they view their dad. **Admiration ( 0 – teen years)** : Your dad is a superhero. He can lift you up (just imagine another human being able to lift you up, throw you in the air and then catch you safely :-).. mindblowing!!). He can apparently conjure ice cream at will. You feel safe in his embrace. He is superman! **Respect (teen – having a kid of their own)** : By the time you are in your teens, you are probably stronger than your dad :). Your admiration turns to respect. Your dad is the guy that is always their despite not getting anything in return. **Love (After having kids of their own)** : You understand what it means to be responsible for another human being!! All that admiration and respect turns to love ❤️ ### Overheard : Value of a business (stock) URL: https://kudithipudi.org/overheard-value-of-a-business-stock/ Last updated: 2020-06-09T04:34:35.000Z > A cow for her milk; a hen for her eggs; and a stock, > by heck, for her dividends. > > [John Burr Williams](https://en.wikipedia.org/wiki/John%5FBurr%5FWilliams?ref=kudithipudi.org) ### HOWTO : Python string search URL: https://kudithipudi.org/howto-python-string-search/ Last updated: 2020-05-24T07:27:26.000Z Quick self-note 🙂 different ways to search for content in a string in python - Basic (and quickest) - `if 'content' in string:` - String.find (second quickest and doesn’t need additional module) - `if string.find('content'):` - re.match (uses regex engine, most powerful) - `import re` - `if re.search('content', string)` Good discussion here : [https://stackoverflow.com/questions/4901523/whats-a-faster-operation-re-match-search-or-str-find](https://stackoverflow.com/questions/4901523/whats-a-faster-operation-re-match-search-or-str-find?ref=kudithipudi.org) ### HOWTO : Replace first space in a line using Notepad++ URL: https://kudithipudi.org/howto-replace-first-space-in-a-line-using-notepad/ Last updated: 2020-05-18T03:10:34.000Z Search for `^([^\s]*)(\s)` Replace with `$1 AND_WHAT_EVER_STRING_YOU_WANT` Here is an example of searching for first space in a line and adding “`',`” to the string ![](https://kudithipudi.org/wp-content/uploads/2020/05/image-1.png) ### Overheard : Process URL: https://kudithipudi.org/overheard-process/ Last updated: 2020-05-12T21:20:47.000Z Love this quote about process attributed to [Tobi Lutke](https://en.wikipedia.org/wiki/Tobias%5FL%C3%BCtke?ref=kudithipudi.org) in multiple interviews. He said it in different ways, but here is the gist There are three kinds of processes - Process that makes things that were **previously impossible to do, possible**. That’s good. - Process that makes something that was **previously possible significantly simpler**, which is also good. - Remaining 99.9% of all process that exists in corporate America is the third category, which is actually just telling people to **behave slightly different from what common sense tells** them to do. *Source :* - [https://fs.blog/knowledge-project/tobi-lutke/](https://fs.blog/knowledge-project/tobi-lutke/?ref=kudithipudi.org) - [https://twitter.com/patrick\_oshag/status/1260299426213646336](https://twitter.com/patrick%5Foshag/status/1260299426213646336?ref=kudithipudi.org) ### HOW TO : Add commas (,) at the end of every line using Notepad++ URL: https://kudithipudi.org/how-to-add-commas-at-the-end-of-every-line-using-notepad/ Last updated: 2020-05-12T01:29:08.000Z Thanks for this great nugget from [Sumama Waheed](https://www.linkedin.com/in/sumamawaheed/?ref=kudithipudi.org) Many a time, you get some data as a CSV file and need to copy some of that data and include it in a SQL statement. For instance one of the rows in the CSV was first name in the format below employee\_id 1234 8765 9808 1235 8734 6723 And you need to put it in a SQL statement as below SELECT \* FROM employee\_table WHERE employee\_table.employee\_id IN (1234, 8765, 9808, 1235, 8734, 6723) That’s a lot of adding commas (,) at the end of every line. You can do it quickly in [Notepad++](https://notepad-plus-plus.org/?ref=kudithipudi.org) (you can do the same in any editor that supports regex) using the regex capability in search and replace using ($) as the search string and $, as the replace string. ![](https://kudithipudi.org/wp-content/uploads/2020/05/image.png) ### Overheard : Revenue, Profit & Cash-Flow URL: https://kudithipudi.org/overheard-revenue-profit-cash-flow/ Last updated: 2020-05-11T03:04:42.000Z Not sure about the origins of this phrase, but came across in a quarterly newsletter from [Greenwood Investors](https://www.gwinvestors.com/?ref=kudithipudi.org) > revenue is vanity, profit is sanity and cash-flow is reality ### HOW TO : Configure nginx to use URI for modifying response content URL: https://kudithipudi.org/how-to-configure-nginx-to-use-uri-for-modifying-response-content/ Last updated: 2020-05-07T17:50:40.000Z That was a pretty long title for the post :). I love nginx for it’s flexibility and ease of use. It is like a swiss army knife.. can do a lot of things :). We needed to serve some dynamic content for one of our use cases. If user visits a site using the following URL format `http://example.com/23456789/678543` , we want to respond with some html content that is customized using the `23456789` and `678543` strings. A picture might help here ![](https://kudithipudi.org/wp-content/uploads/2020/05/nginx_customize_content.png) Here’s how this was achieved - Define a location section in the nginx config to respond to the URL path specified and direct it to substitute content ``` location ~ "^/(?[0-9]{8})/(?[0-9]{6})" { root /var/www/html/test/; index template.html; sub_filter_once off; sub_filter '_first_param_' '$param1'; sub_filter '_second_param_' '$param2'; rewrite ^.*$ /template.html break; } ``` create a file named template.html with the following content in /var/www/html/test ![](https://kudithipudi.org/wp-content/uploads/2020/05/template_file.png) Breaking down the config one line at a time `location ~ "^/(?[0-9]{8})/(?[0-9]{6})"` **:** The regex is essentially matching for the first set of digits after the / and adding that as the value for variable $param1\. The first match is a series of 8 digits with each digit in the range 0-9\. The second match is for a series of 6 digits with each digit in the range 0-9 and it will be added as the value for variable $param2 `root /var/www/html/test/;` **:** Specifying the root location for the location. `index template.html;` **:** Specifying the home page for the location. `sub_filter_once off;` **:** Specify to the [sub\_filter](http://nginx.org/en/docs/http/ngx%5Fhttp%5Fsub%5Fmodule.html?ref=kudithipudi.org) module to not stop after the first match for replacing response content. By default it processes the first match and stops. `sub_filter '*first_param*' '$param1';` **:** Direct the sub\_filter module to replace any text matching first\_param in the response html with value in variable $param1. `sub_filter '*second_param*' '$param2';` **:** Direct the sub\_filter module to replace any text matching second\_param in the response html with value in variable $param1. `rewrite ^.*$ /template.html break;` **:** Specify nginx to server template.html regardless of the URI specified. Big thanks to [Igor](https://www.linkedin.com/in/icherkaev/?ref=kudithipudi.org) for help with the configs!! ### Я вас любил – Pushkin URL: https://kudithipudi.org/-d0-af--d0-b2-d0-b0-d1-81--d0-bb-d1-8e-d0-b1-d0-b8-d0-bb-pushkin/ Last updated: 2020-04-26T20:35:09.000Z Loved [this English translation](https://lyricstranslate.com/en/%D1%8F-%D0%B2%D0%B0%D1%81-%D0%BB%D1%8E%D0%B1%D0%B8%D0%BB-i-loved-you-once.html?ref=kudithipudi.org#songtranslation) of Я вас любил by [Alexander Pushkin](https://en.wikipedia.org/wiki/Alexander%5FPushkin?ref=kudithipudi.org). One of my most favorite poems in Russian. Thought [Robin Kallsen](https://lyricstranslate.com/en/translator/robink?ref=kudithipudi.org) did a great job of translating it into English. Original – In Russian Я вас любил: любовь еще, быть может, В душе моей угасла не совсем; Но пусть она вас больше не тревожит; Я не хочу печалить вас ничем. Я вас любил безмолвно, безнадежно, То робостью, то ревностью томим; Я вас любил так искренно, так нежно, Как дай вам бог любимой быть другим. Translation – In English I loved you once, and love, perhaps, has not Within my soul yet wholly lost its flame; But please do not be saddened or distraught - To trouble you would drench my heart in shame. I loved you once, though lacking hope completely, By envy and timidity worn thin; I loved you so sincerely and so sweetly - Ah, may God grant you be so loved again! ### covid-19 URL: https://kudithipudi.org/covid-19/ Last updated: 2020-04-09T04:33:55.000Z ![](https://kudithipudi.org/wp-content/uploads/2020/04/image.png) ### Overheard : Return on investment from a book URL: https://kudithipudi.org/overheard-return-on-investment-from-a-book/ Last updated: 2020-02-27T04:25:36.000Z Quote from “[The Rebel Allocato](https://www.amazon.com/Rebel-Allocator-Jacob-Taylor/dp/173268832X?ref=kudithipudi.org)r” by Jacob L. Taylor on the return on investment from reading a book > For around ten dollars, you get to have an in-depth conversation with an expert who dedicated years to distilling all the information about a topic. For the cost of a mediocre dinner, you get access to years of another human’s effort. I did the math. If it took the author one year of work, you’re paying them about one penny per hour. How much time does this penny-per-hour investment save you in culling through information? We’re talking lifetimes. ### Overheard : Giving your best URL: https://kudithipudi.org/oveheard-giving-your-best/ Last updated: 2019-12-31T16:34:33.000Z A power quote by Abraham Lincoln. Ran across it while reading [The Accidental President: Harry S. Truman and the Four Months](https://www.goodreads.com/book/show/33413891-the-accidental-president?ref=kudithipudi.org) That Changed the World . BTW, the book itself it a great read on history and leadership. > I do the very best I know how – the very best I can; and I mean to keep doing so to the end. If the end brings me out all right, what is said against me won’t amount to anything. If the end brings me out wrong, ten angels swearing I was right won’t make any difference. ### Overheard : Contex URL: https://kudithipudi.org/overhead-contex/ Last updated: 2019-08-23T04:31:28.000Z [Joshua Hoffman](https://www.crunchbase.com/person/joshua-hoffman?ref=kudithipudi.org) on being [broadminded](https://youtu.be/utFmLpCVvVg?list=PL8FGQWmC19rOZG%5FSBkq6G1fNW-VoK9ToJ&ref=kudithipudi.org). Referring to how each discipline is a map/model of how to view the world..but > the map is not the territory meaning.. don’t limit yourself to one discipline. Be curious. Explore 🙂 ### Why ADP? URL: https://kudithipudi.org/why-adp/ Last updated: 2019-08-14T02:46:51.000Z ADP is a $70B+ (by market cap as of August 2019) company and yet cannot get a simple redirect correct. If someone that is asked to use it’s employee performance management system types in tms.adp.com (like most people would do), they get this nice ~~friendly~~ error ![](https://kudithipudi.org/wp-content/uploads/2019/08/image.png) If by some magical and mystical reason, they type in https://tms.adp.com, they get this login page ![](https://kudithipudi.org/wp-content/uploads/2019/08/image-1.png) I find it mind boggling that such a mature company cannot figure out 1. [Customer experience](https://en.wikipedia.org/wiki/Customer%5Fexperience?ref=kudithipudi.org) 2. [301/302 http redirects](https://en.wikipedia.org/wiki/URL%5Fredirection?ref=kudithipudi.org) 3. [HTTP Strict Transport Security (HSTS)](https://en.wikipedia.org/wiki/HTTP%5FStrict%5FTransport%5FSecurity?ref=kudithipudi.org) End Rant and sorry to all my friends that work at ADP 🙂 ### Overheard : Data and Insights URL: https://kudithipudi.org/overheard-data-and-insights/ Last updated: 2019-08-02T03:30:53.000Z Can’t find an attribution for this quote.. but was quoted by [Harry Moseley](https://www.linkedin.com/in/harrymoseley/?ref=kudithipudi.org) for an [interview](https://www.atlassian.com/blog/technology/5-questions-with-the-cio-of-zoom?ref=kudithipudi.org) with the Atlassian team > We have an ocean of data, but a desert of insight ### Simple & Effective One Page Resume URL: https://kudithipudi.org/simple-effective-one-page-resume/ Last updated: 2019-07-15T00:32:53.000Z I have always been a fan of crisp and clean resumes. I could never understand why anyone would have a 5+ page resume. Personally that is a turn off for me :). Just wanted to bookmark this very effective 1 pager template from this article on CNBC () ![](https://kudithipudi.org/wp-content/uploads/2019/07/ideal_resume_one_pager.jpeg) ### Overheard : Unexpected, Unanticipated, Unfair URL: https://kudithipudi.org/overheard-unexpected-unanticipated-unfair/ Last updated: 2019-06-25T02:55:48.000Z Caught this on a whiteboard at work 🙂 > In business, just like in life, we are going to have to deal with the unexpected, the unanticipated and the unfair. Those who deal most successfully with all of it are the ones who have the attitude that indeed whatever happens is normal. That doesn’t mean that whatever happens is acceptable or pleasant. But it does mean that changes and surprises are part of life, and we can choose to either roll with the changes or the change rolls over us. ### Overheard : Bias URL: https://kudithipudi.org/overheard-bias/ Last updated: 2019-06-20T03:35:22.000Z Great quote by [Mark Horstman](https://twitter.com/mahorstman?ref=kudithipudi.org) (Manager Tools fame) on everyone being biased > You can find all the bias-less people..Under the ground 🙂 ### Overheard : On Communication URL: https://kudithipudi.org/overheard-on-communication/ Last updated: 2019-04-01T17:17:02.000Z Simple but profound quote by [Kim Moir](https://kimmoir.blog/?ref=kudithipudi.org) > code is easy to patch, communication is not > > [https://devtomanager.com/interviews/kim-moir/](https://devtomanager.com/interviews/kim-moir/?ref=kudithipudi.org) ### Overheard : On Reacting URL: https://kudithipudi.org/overheard-on-reacting/ Last updated: 2019-03-26T03:46:52.000Z I am so surprised that I haven’t heard this phrase till now. I guess I did, but didn’t pay attention :). Over heard this in a talk by a 6th grader on things he learnt from saints. > Respond and don’t react For most of our interactions in this world, we are quick to react. But instead if we paused and responded to the situation, the world would be a better place. ### Overheard : Putting into practice URL: https://kudithipudi.org/overheard-putting-into-practice/ Last updated: 2019-02-06T03:32:05.000Z Simple but powerful quote by Xun Kuang, known as Xunzi (a Chinese Confucian philosopher of the 3rd century BC) > > Not having heard something is not as good as having heard it; having heard it is not as good as having seen it; having seen it is not as good as knowing it; knowing it is not as good as putting it into practice. ### Overheard : Success vs. Significance URL: https://kudithipudi.org/overheard-success-vs-significance/ Last updated: 2019-01-31T20:28:58.000Z Inspiring quote by [Aruna Miller](https://en.wikipedia.org/wiki/Aruna%5FMiller?ref=kudithipudi.org) > Success is when you add value to yourselves > Significance is when you add value to others ### Overheard : Allergies URL: https://kudithipudi.org/overheard-allergies/ Last updated: 2019-01-31T03:01:28.000Z Loved this snippet by [Patrick Bed-David](https://www.linkedin.com/in/patrick-bet-david-3731553?ref=kudithipudi.org) on LinkedIn ![](https://kudithipudi.org/wp-content/uploads/2019/01/image-1.png) ### Overheard : Probability & Statistics URL: https://kudithipudi.org/overheard-probability-statistics/ Last updated: 2019-01-29T04:38:20.000Z [Sebastian Thrun](https://en.wikipedia.org/wiki/Sebastian%5FThrun?ref=kudithipudi.org) in his [Intro to Statistics](https://classroom.udacity.com/courses/st101?ref=kudithipudi.org) course on Udacity > In statistics, we are given data and try to infer causes that relate to the data, whereas in probability, we are given the description of the causes and like to predict data. ![](https://kudithipudi.org/wp-content/uploads/2019/01/image.png) ### Overheard : Market share and Profitability URL: https://kudithipudi.org/overheard-market-share-and-profitability/ Last updated: 2019-01-20T07:21:27.000Z [Herb Kelleher](https://en.wikipedia.org/wiki/Herb%5FKelleher?ref=kudithipudi.org)‘s, the iconic co-founder and long time CEO of [Southwest Airlines](https://www.southwest.com/?ref=kudithipudi.org), thoughts on profitability. He shared this with [Guy Raz](https://www.npr.org/people/6597623/guy-raz?ref=kudithipudi.org) on his “How I built this” podcast. > If we have 4% of the market and are being profitable, that is better than having 90% of the market and being unprofitable. The entire podcast for your listening pleasure is at [https://www.npr.org/2019/01/04/682174446/remembering-herb-kelleher](https://www.npr.org/2019/01/04/682174446/remembering-herb-kelleher?ref=kudithipudi.org) Herb passed away on Jan 3, 2019\. RIP Herb. ### How not to design a website URL: https://kudithipudi.org/how-not-to-design-a-website/ Last updated: 2019-01-07T03:49:05.000Z [Etrade ](https://www.etrade.com/?ref=kudithipudi.org)is one of the largest stock trading service providers in the US. One would think they want to make it easy for their customers to trade. Guess not :). I recently logged in to check on my account and place an order. Capital One recently sold their stock trading portfolio to Etrade (why???), so I didn’t get a chance to get oriented with the etrade interface… So I logged in and was presented a good overview of the account. ![](https://kudithipudi.org/wp-content/uploads/2019/01/etrade_ux.jpg) Good so far.. I want to place a trade. what do I click?.. let me try the detailed account view ![](https://kudithipudi.org/wp-content/uploads/2019/01/etrade_ux_2.jpg) Hmm.. no luck.. How about the orders menu? That sounds like a place where one can place a trade ![](https://kudithipudi.org/wp-content/uploads/2019/01/etrade_ux_3.jpg) Nope.. that doesn’t even remotely look like a place I can place an order.. I am amazed at how companies get away with this.. ### HOW TO : Freeze your credit URL: https://kudithipudi.org/how-to-freeze-your-credit/ Last updated: 2018-12-31T01:09:54.000Z [Great guide](https://kudithipudi.org/content/files/inteltechniques-com/data/workbook.pdf) by [Michael Bazzel](https://inteltechniques.com/?ref=kudithipudi.org)l on freezing your credit and removing your personal data from data consolidation sites. A good project for the entrepreneurial and capable to build a service for removing your personal data from all the sites listed on Michael’s guide. ### HOW TO : Set $GOPATH URL: https://kudithipudi.org/howto-set-gopath/ Last updated: 2018-10-28T01:01:53.000Z Been dabbling in go recently and I was surprised that the default install doesn’t setup the $GOPATH environment variable. If you are running it on a Linux box, here is how your can set the $GOPATH variable Add the following lines to \~/.bashrc file ``` export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin ``` ### Overheard : BODMAS URL: https://kudithipudi.org/overheard-bodmas/ Last updated: 2018-10-18T12:40:14.000Z Trying to sharpen my programming skills :). Just heard about BODMAS and mind blown about the simplicity of the acronym. Essentially BODMAS is a simple way to remember the order a programming language (that follows this standard) processes operators in a statement. **BODMAS** \= Bracket, Of, Division, Multiplication, Addition and Subtraction ### Overheard : Improving skills URL: https://kudithipudi.org/overheard-improving-skills/ Last updated: 2018-08-13T13:02:46.000Z This quote/statement by [Tim Ferriss](https://tim.blog/?ref=kudithipudi.org) in one of his recent podcasts really got me thinking Subconscious : Incompetency **→** Conscious : Incompetency **→** Conscious : Competency **→** Subconscious : Competency So simple… but so deep 🙂 ### Overheard : Call to action URL: https://kudithipudi.org/overheard-call-to-action/ Last updated: 2018-05-14T15:01:06.000Z I don’t even recall where I heard this :).. but it stuck with me for me to write it down > For somebody to do something.. three things much happen at once. The person must want do do it, they must be able to and they must be prompted to do it. > > A trigger – the prompt for the action – is effective only when the person is highly motivated, or the task is very easy. If the task is hard, people end up frustrated; if they’re not motivated, they get annoyed. ### Patterns of Resilience URL: https://kudithipudi.org/patterns-of-resilience/ Last updated: 2018-01-17T19:36:28.000Z Great slide deck by [Uwe Friedsrichsen](https://www.slideshare.net/ufried?ref=kudithipudi.org) on resilient patterns to use when designing applications **[Patterns of resilience](https://www.slideshare.net/ufried/patterns-of-resilience?ref=kudithipudi.org "Patterns of resilience")** from **[Uwe Friedrichsen](https://www.slideshare.net/ufried?ref=kudithipudi.org)** ### Overheard : Paradoxical Commandments URL: https://kudithipudi.org/overheard-paradoxical-commandments/ Last updated: 2018-01-14T20:19:42.000Z My sister shared this awesome “thought” by [Dr. Kent M. Keith.](https://en.wikipedia.org/wiki/Kent%5FM.%5FKeith?ref=kudithipudi.org) People are illogical, unreasonable, and self-centered. *Love them anyway.* If you do good, people will accuse you of selfish ulterior motives. *Do good anyway.* If you are successful, you will win false friends and true enemies. *Succeed anyway.* The good you do today will be forgotten tomorrow. *Do good anyway.* Honesty and frankness make you vulnerable. *Be honest and frank anyway.* The biggest men and women with the biggest ideas can be shot down by the smallest men and women with the smallest minds. *Think big anyway.* People favor underdogs but follow only top dogs. *Fight for a few underdogs anyway.* What you spend years building may be destroyed overnight. *Build anyway.* People really need help but may attack you if you do help them. *Help people anyway.* Give the world the best you have and you’ll get kicked in the teeth. *Give the world the best you have anyway.* ### Optimizing cache infrastructure URL: https://kudithipudi.org/optimizing-cache-infrastructure/ Last updated: 2018-01-03T04:41:59.000Z I love when engineering teams share their tricks of trade for other organizations to benefit. While this might seem counter-intuitive, sharing knowledge makes the entire ecosystem better. [Etsy](http://www.etsy.com/?ref=kudithipudi.org)‘ engineering team does a great job of publishing their architecture, methodologies and code at [https://codeascraft.com](https://codeascraft.com/?ref=kudithipudi.org). This particular article on how they optimize their caching infrastructure (https://codeascraft.com/2017/11/30/how-etsy-caches/) is pretty enlightening. I always thought the best method to load balance objects (app hits, cache requests, queues etc) to hosts was to use mod operations. In this blog post Etsy’ team talk about using consistent hashing instead of modulo hashing. At a high level, it allows cache nodes to fail and not impact the overall performance of the application drastically in addition to making it easy to scale the number of nodes. This method is useful when you have a large amount of cache nodes. More reference links - http://www.tom-e-white.com/2007/11/consistent-hashing.html - https://www.toptal.com/big-data/consistent-hashing - https://en.wikipedia.org/wiki/Consistent\_hashing ### Overheard : Attitude URL: https://kudithipudi.org/overheard-attitude/ Last updated: 2018-01-02T22:49:26.000Z Saw this on a t-shirt a girl was wearing recently > Let me pretend I care… > > OK, I’am done :). Simple but such a strong message. ### Cooking with Soy URL: https://kudithipudi.org/cooking-with-soy/ Last updated: 2018-01-02T05:21:51.000Z Am planning to experiment cooking with [Soy (soya) granules](https://en.wikipedia.org/wiki/Textured%5Fvegetable%5Fprotein?ref=kudithipudi.org), which is considered a good alternate for meat, since I became a “temporary” vegetarian :). Although it is a cheaper and healthier way to get protein than mean, I am not sure why it never gained more popularity. [This receipe site by Aarthi is a source of great inspiration. ](https://www.yummytummyaarthi.com/2011/05/chukka-soya-curry.html?ref=kudithipudi.org) https://www.yummytummyaarthi.com/2011/05/chukka-soya-curry.html Look forward to sharing the results of my experiment 🙂 ### DID YOU KNOW : Advanced Search in Microsoft Explorer URL: https://kudithipudi.org/did-you-know-advanced-search-in-microsoft-explorer/ Last updated: 2017-12-27T23:08:20.000Z I was trying to search for some files on my laptop today and wanted to filter the search for filed modified in the last few weeks. Like, show me all files that contain the word “American” and modified in the last 2 weeks. Doing this on a Linux machine would have been a simple filter using find. But this is Microsoft :). Thanks to some Googling, I ran across something called “[Advanced Query Syntax](https://msdn.microsoft.com/en-us/library/windows/desktop/aa965711%28v=vs.85%29.aspx?ref=kudithipudi.org)” that is a core part of Microsoft’ ecosystem (OS, Office etc). So the same search ended up being American datemodified:this month There are a lot of cool ways you can filter your queries using the other keywords in AQS. ### Liar Paradox URL: https://kudithipudi.org/liar-paradox/ Last updated: 2017-12-22T04:38:04.000Z > This is a lie One of the simplest statements that is neither true or false!! An evening of entertaining reading at [https://en.wikipedia.org/wiki/Liar\_paradox](https://en.wikipedia.org/wiki/Liar%5Fparadox?ref=kudithipudi.org) ### Running distributed cron jobs using Kubernetes URL: https://kudithipudi.org/running-distributed-cron-jobs-using-kubernetes/ Last updated: 2017-12-21T02:01:30.000Z Good blog post by the engineering team at Stripe on using [Kubernetes](https://kubernetes.io/?ref=kudithipudi.org) to run a distributed cron scheduler [https://stripe.com/blog/operating-kubernetes](https://stripe.com/blog/operating-kubernetes?ref=kudithipudi.org) ### How data streams work (AKA queue design) URL: https://kudithipudi.org/how-data-streams-work-aka-queue-design/ Last updated: 2017-12-20T04:09:25.000Z Good blog post by [Timothy Downs](https://hackernoon.com/@timothy%5Fdowns?source=post%5Fheader%5Flockup) on how queues and data streams work with a layman example at https://hackernoon.com/introduction-to-redis-streams-133f1c375cd3 Quoting the example here > We have a very long book which we would like many people to read. Some can read during their lunch hour, some read on Monday nights, others take it home for the weekend. The book is so long that at any point in time, we have hundreds of people reading it. > > Readers of our book need to keep track of where they are up to in our book, so they **keep track of their location by putting a bookmark in the book**. Some readers read very slow, leaving their bookmark close to the beginning. Other readers give up halfway, leaving theirs in the middle and never coming back to it. > > To make matters even worse, we are **adding pages to this book every day**. Nobody can actually finish this book. > > Eventually our book fills up with bookmarks, until finally one day it is too heavy to carry and nobody can read it any more. > > A very clever person then decided that readers should not be allowed to place bookmarks inside the book, and must instead **write down the page they are up to** on their diary. > > This is the design of Apache Kafka, and it is a very resilient design. Readers are often not responsible citizens and often will not clean up after themselves, and the book may be the log of all the important events that happen in our company. ### Overheard : Failure URL: https://kudithipudi.org/overheard-failure/ Last updated: 2017-12-14T06:55:49.000Z > When you do your job well, no one notices. When you screw up the whole internet notices – Julia Grace during a great keynote speech at [Velocity](http://www.velocityconf.com/?ref=kudithipudi.org) 2017 on how to build efficient engineering teams. [https://www.oreilly.com/ideas/10000-messages-a-minute](https://www.oreilly.com/ideas/10000-messages-a-minute?ref=kudithipudi.org) ### Overheard : Communication URL: https://kudithipudi.org/overheard-communication/ Last updated: 2017-07-27T15:30:37.000Z Mark Horstman, on his podcast about when not to use email (https://www.manager-tools.com/2017/05/when-not-use-email-part-2) > No delivery of information is purely about information. Every delivery of information has some effect on the relationship that is formed during the communication or (relationship) that previously existed. ### Overheard : Quote about Servant Leadership URL: https://kudithipudi.org/overheard-quote-about-servant-leadership/ Last updated: 2017-05-21T07:03:18.000Z Quote (or rather statement) by [Arthur Brooks](http://www.arthurbrooks.com/?ref=kudithipudi.org) on Servant Leadership. Credits for capturing the statement and documenting it, goes to [Bret Simmons](http://www.bretlsimmons.com/2016-02/next-level-servant-leadership-arthur-brooks-at-ted-2016/?ref=kudithipudi.org). “We in this country are facing a lack of visionary servant leadership. Any leader you can think of will say they are fighting for people, and this is a necessary but insufficient condition for being a leader, to fight for people that need you. But what we really need for real vision is level two and level three servant leadership. What’s ***level two servant leadership***? It’s fighting for people that need you that ***you*** don’t need. ***Level three servant leadership*** is fighting for people who don’t like you. This is the problem, where we split into tribes where leaders only lead their followers.” Arthur Brooks, February 18, 2016, TED 2016, Vancouver, British Columbia ### Overheard : Overnight Success URL: https://kudithipudi.org/overheard-overnight-success/ Last updated: 2017-04-17T16:43:58.000Z [Miki Agrawal](https://www.mikiagrawal.com/?ref=kudithipudi.org) on perseverence > It takes 10 years to be an overnight success ### Overheard : Work URL: https://kudithipudi.org/overheard-work/ Last updated: 2017-03-30T17:35:48.000Z Quote from a talk by [Herschel Walker](https://en.wikipedia.org/wiki/Herschel%5FWalker?ref=kudithipudi.org) at Copart’s annual Global Leadership conference > “To get there you have to work > To stay there you still have to work” ### Overheard : Kindness URL: https://kudithipudi.org/overheard-kindness/ Last updated: 2017-02-27T13:16:38.000Z Moving and thoughtful poem by [Naomi Shihab Nye](https://en.wikipedia.org/wiki/Naomi%5FShihab%5FNye?ref=kudithipudi.org) on kindness [https://www.poets.org/poetsorg/poem/kindness](https://www.poets.org/poetsorg/poem/kindness?ref=kudithipudi.org) Here is a youtube video of her reading the poem ### HOW TO : Configure nginx for WordPress permalinks URL: https://kudithipudi.org/how-to-configure-nginx-for-wordpress-permalinks/ Last updated: 2017-02-24T04:52:22.000Z Over the last week, I moved this blog from a LAMP (Linux, Apache, MySQL, PHP) stack to LEMP (Linux, Nginx, MySQL, PHP) stack. Have a blog post in the works with all the gory details, but wanted to quick document a quirk in the WordPress + Nginx combination that broke permalinks on this site. Permalinks are user friendly permanent static URLs for a blog post. So for example this particular blog post’ URL is https://kudithipudi.org/2017/02/24/how-to-configure…press-permalinks/ instead of https://kudithipudi.org/?p=1762 This works by default in Apache because WordPress puts in the required rewrite rules. To get it work in Nginx, you have to add the following config in the Nginx site configuration Under the / location context, add the following try\_files $uri $uri/ /index.php?$args; This is essentially telling Nginx to try to display the URI as is, and if it fails that, pass the URI as an argument to index.php. ### HOW TO : Configure maven to work with a proxy server URL: https://kudithipudi.org/how-to-configure-maven-to-work-with-a-proxy-server/ Last updated: 2017-02-21T22:43:28.000Z We ran into an issue at work recently, when trying to deploy a spring boot based micro service. The application included some libraries that were downloaded by the application using maven during runtime. The environment that this application was running in had controlled access to the Internet. We configured the jvm parameters using the following parameters \-Dhttp.useProxy=true -Dhttp.proxyHost=PROXY\_SERVER\_NAME -Dhttp.proxyPort=xxxx when running the application, we were getting failed dependency errors that stated something like this Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could not transfer artifact com.xxxxx.boot:xxxx \-boot-autoconfigure:pom:0.0.1-SNAPSHOT from/to central (http://repo1.maven.org/maven2/): Connection refused at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:444) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:223) at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:334) Lot of head scratching, because the server running the application had connection to the proxy server and the JVM parameters were accurate. Finally, we figured out Maven doesn’t use the JVM startup parameters and had to have proxy access configured specifically. There are two ways to do this - Add an environment variable called “MAVEN\_OPTS” and pass the proxy server settings.. something like this set MAVEN\_OPTS= -Dhttp.proxyHost=PROXY\_SERVER\_NAME -Dhttp.proxyPort=xxxx - Configure the proxy server settings in Maven’s settings.xml… something like this genproxy true http myproxy.mycompany.com 8080 \*.mycompany.com|127.0.0.1 ### HOW TO : Query varnishlogs to show backend server URL: https://kudithipudi.org/how-to-query-varnishlogs-to-show-backend-server/ Last updated: 2016-10-26T04:28:33.000Z Command parameters for varnishlog to view the backend server that is processing the request. In this particular case, I wanted to see the request URL and backend server for any responses with HTTP code 401 (unauthorized access) sudo varnishlog -i BackendOpen,BereqURL -q "BerespStatus == 401" ### HOW TO : Check websockets using curl URL: https://kudithipudi.org/how-to-check-websockets-using-curl/ Last updated: 2016-10-14T12:37:41.000Z Found this good article by Mark Huot regarding using curl to check websocket servers at [http://www.thenerdary.net/post/24889968081/debugging-websockets-with-curl](http://www.thenerdary.net/post/24889968081/debugging-websockets-with-curl?ref=kudithipudi.org) ``` curl -i -N -H "Connection: Upgrade" -H "Upgrade: websocket" -H "Host: echo.websocket.org" -H "Origin: http://www.websocket.org" http://echo.websocket.org ``` ### HOW TO : Capture ftp passwords using tcpdump URL: https://kudithipudi.org/how-to-capture-ftp-passwords-using-tcpdump/ Last updated: 2016-09-22T11:32:50.000Z On a server that is running either the FTP client on server, you can capture the ftp password using tcpdump by tcpdump -A port ftp ### Overheard : LASER stands for URL: https://kudithipudi.org/overheard-laser-stands-for/ Last updated: 2016-08-05T20:42:49.000Z I learned today that “*laser*” is an acronym that stands for light … amplification by … stimulated … emission of … radiation. Who knew? 🙂 https://en.wikipedia.org/wiki/Laser ### HOW TO : Search for multiple words in a string using grep URL: https://kudithipudi.org/how-to-search-for-multiple-words-in-a-string-using-grep/ Last updated: 2016-06-16T04:20:15.000Z Just for my records grep "WORD\\|ANOTHER\\|NEITHER" string searches for either “WORD” or “ANOTHER” or “NEITHER” in string. ### HOW TO : Search which package contains a filename URL: https://kudithipudi.org/how-to-search-which-package-contains-a-filename/ Last updated: 2016-05-30T22:18:41.000Z If you are using a Linux system that uses yum for package management (like Fedora, Centos, RHEL), you can use the following command to find out which package contains a file. This is useful when you want to figure out which package to install. For example, dig (DNS utility) doesn’t come pre-installed on the system. And running “sudo yum install dig” doesn’t do anything. sudo yum whatprovides '\*/dig' This returns Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile 32:bind-utils-9.8.2-0.47.rc1.el6.x86\_64 : Utilities for querying DNS name servers Repo : base Matched from: Filename : /usr/bin/dig breaking down the command options **whatprovides** : Is used to find out which package provides some feature or file. Just use a specific name or a file-glob-syntax wildcards to list the packages available or installed that provide that feature or file. ### HOW TO : count lines in windows command line URL: https://kudithipudi.org/how-to-count-lines-in-windows-command-line/ Last updated: 2016-05-30T07:50:19.000Z Say you are using netstat to checl all established network connections on a windows machine (confirmed to work on windows 7+ and windows server 2008+) and want to find out how many connections you have, you can use netstat -an | find "ESTABLISHED" | find /v /c "" breaking down the command string **netstat -an** : Uses netstat command to display all connections and listening ports (-a) and displays them in numerical form instead of resolving DNS or using common names (-n) **|** : piping (passing) output of one command to the next one **find “ESTABLISHED”** : Uses find command to filter out to just lines that contain the string “ESTABLISHED”‘ **find /c /v “”** : exclude blank lines (/v “”) and count the number of remaining lines (/c) If you wanted to something similar in linux, you can use netstat -an | grep "ESTABLISHED" | wc -l ### HOW TO : Add cookies in Google Chrome Browser without a plugin/extension URL: https://kudithipudi.org/how-to-add-cookies-in-chrome-without-a-pluginextension/ Last updated: 2016-02-03T18:21:21.000Z Literally copying this post/note from a blog post by Nate Good [http://nategood.com/quickly-add-and-edit-cookies-in-chrome](http://nategood.com/quickly-add-and-edit-cookies-in-chrome?ref=kudithipudi.org) If you want to inset a cookie into a website request in [Google Chrome](https://www.google.com/chrome/browser?ref=kudithipudi.org), you can do it by launching developer tools (F12 in Windows) and typing the following in the console javascript:document.cookie="myCookieName=myCookieValue" ### HOW TO : Use grep to search for content at end of line URL: https://kudithipudi.org/how-to-use-grep-to-search-for-content-at-end-of-line/ Last updated: 2016-02-02T19:30:49.000Z If you want to search for a pattern at the end of a line, you can use tail -f logfile | grep -v "0$" breaking down the commands **tail -f** : standard tail command. Continuous output to console as the file grows (or until it ends) **grep -v** : -v command forces grep to show content that doesn’t match pattern **0$** : This regex is specifically looking for a 0 at the end of the line, which is denoted by $. ### HOW TO : Query varnishlogs for requests with 404 responses URL: https://kudithipudi.org/how-to-query-varnishlogs-for-requests-with-404-responses/ Last updated: 2016-02-01T23:33:28.000Z varnishlog, one of the tools provided with varnish cache, uses VSL Query Expressions (https://www.varnish-cache.org/docs/trunk/reference/vsl-query.html) to provide some powerful insights into the requests and responses. Here is a how you can use varnishlog to show all client requests that are ending up with a 404 response. sudo varnishlog -g request -i ReqURL -q "BerespStatus != 200" Technically, this particular query shows all client requests with a response other than 200. Breaking down the commands **\-g request** : shows all entries related to the request **\-i ReqURL** : forces varnishlog to only display the Requesting URL **\-q “BerespStatus != 200”** : query filter to only match non 200 responses. Note that the query has to be enclosed in “”. ### HOW TO : Enable wildcard domains in Squid URL: https://kudithipudi.org/how-to-enable-wildcard-domains-in-squid/ Last updated: 2015-12-15T20:41:57.000Z We were trying to modify some ACL (access control lists) in squid to allow traffic to certain websites. Instead of adding each individual hostnames in a domain, we wanted to add all traffic to a certain domain. Document on the interwebs is old or not clear on how to achieve this. After some trial and error, here is what works say you want to allow all traffic to the google.com domain, you create a access list using dstdomain like below ``` acl name_of_acl dstdomain .google.com ``` The “.” before the domain name acts as a wildcard Then you use the acl to allow http access to it like below ``` http_access allow name_of_acl ``` ### HOW TO : pipe results between commands when using sudo URL: https://kudithipudi.org/how-to-pipe-results-between-commands-when-using-sudo/ Last updated: 2015-12-13T05:27:05.000Z Let’s say you are running a command as sudo and need to pass the output to a different command using pipe, you would run ``` sudo command1 | command 2 ``` this usually results in the following error ``` -bash: /command2: Permission denied ``` The trick to fix is to run sudo with -c and enclose the commands in ” like below ``` sudo -c 'command1 | command 2' ``` essentially you are opening a shell with sudo and running the commands ### HOW TO : Capture network traffic on a Solaris server URL: https://kudithipudi.org/how-to-capture-network-traffic-on-a-solaris-server/ Last updated: 2015-11-24T01:47:02.000Z If you don’t have tcpdump installed on your solaris server, you can use the “[snoop](https://docs.oracle.com/cd/E23824%5F01/html/821-1453/gexkw.html?ref=kudithipudi.org)” system command to capture network traffic. Here is the command line option to capture 1000 packets of network traffic from IP 192.168.10.10 on a solaris server using inteface e1000g1 and write the output to /tmp/capture.pcap snoop -d e1000g1 -c 10000 -o /tmp/capture.pcap host 192.168.10.10 Details of the command options - \-d : Name of the interface you want to capture traffic on - \-c : Number of packets you want to capture - \-o : Path to the output file - host : IP address of the host you want to capture traffic from and to More details at [https://docs.oracle.com/cd/E23824\_01/html/821-1453/gexkw.html](https://docs.oracle.com/cd/E23824%5F01/html/821-1453/gexkw.html?ref=kudithipudi.org) PS : You have to have root privileges to run this command. ### HOW TO : Get HDD performance stats in Linux URL: https://kudithipudi.org/how-to-get-hdd-performance-stats-in-linux/ Last updated: 2015-08-26T05:51:43.000Z quick note for self hdparm -tT /dev/sdx sdx : actual device you want to test ### HOW TO : Use awk to print values larger than certain number URL: https://kudithipudi.org/how-to-use-awk-to-print-values-larger-than-certain-number/ Last updated: 2015-08-24T20:40:27.000Z Quick how to on using awk to filter results if a certain value (column) is larger than a set value. For example, if you have a file (servers.txt) with lines in this format a\_datacenter, servers 20 error, servers xyz b\_datacenter, servers 21 c\_datacenter, servers 50 and you want to show only the lines that have server value larger than 20, you can do this in awk by running grep datacenter servers.txt | awk '$3 > 20 {print ;}' | more breaking down the commands **grep** – parsing down the output to just show the lines containing datacenter **awk** – $3 > 20 : Get the third variable (awk seperates text using spaces by default) and check if it is greater than 20 **print** – print the entire line ### HOW TO : Parse IP Address in Windows Batch File URL: https://kudithipudi.org/how-to-parse-ip-address-in-windows-batch-file/ Last updated: 2014-06-16T16:04:08.000Z We had a recent challenge at work which required us to execute different actions based on which office a particular workstation was located in. Since we have unique network ranges per office, I thought this would be a good variable to use. Just for future reference, here is how we accomplished this in a batch file. The workstations were running Windows 7 ``` @ECHO OFF FOR /f "tokens=3" %%I IN ( ‘netsh interface ip show address "Local Area Connection" ^| findstr "IP Address"’ ) DO SET ipAddress=%%I REM "Office 1" IF NOT x%ipAddress:10.130=%==x%ipAddress% ( ECHO "Office 1" + %ipAddress% ECHO "do_something_else" ) REM "Office 2" IF NOT x%ipAddress:10.140=%==x%ipAddress% ( ECHO "Office 2" + %ipAddress% ECHO "do_something_else" ) ``` Details of function used - **netsh interface ip show address “Local Area Connection”** : With this command we are extracting the IP information of just the LAN port - **findstr “IP Address”** : returns the line containing “IP Address” - **IF NOT x%ipAddress:10.130=%==x%ipAddress%** : We are using the substitution function and returning false if the new string doesnt match the original - **FOR /f “tokens=3”** : Using the functions in the FOR loop to extract the third variable in the matching line ### Update 1 : Application Development : domainScan URL: https://kudithipudi.org/update-1-application-development-domainscan/ Last updated: 2014-02-14T08:07:31.000Z Following up from my post earlier this month regarding building a security application that scans publicly available data (Google) and report on potential information leakage from a hostname. I created a [repo](https://github.com/kudithipudi/security-domainscan?ref=kudithipudi.org) on github if anyone is interested in contributing. First thing any good developer does is to check code in early and often :). The repo is at [https://github.com/kudithipudi/security-domainscan](https://github.com/kudithipudi/security-domainscan?ref=kudithipudi.org) Here’s the sudo code I put together as a framework to build on ``` functions read_file(file) open file; for each line process_line(hostname) process_line(hostname) search_google(hostname) write to log search_google (hostname) connect to google api get results for hostname return number of results main read_file(input) ``` ### HOW TO : Search for a record in MongoDB based on length URL: https://kudithipudi.org/how-to-search-for-a-record-in-mongodb-based-on-the-length/ Last updated: 2014-02-13T19:40:11.000Z Quick entry for my own records. [MongoDB](http://www.mongodb.org/?ref=kudithipudi.org) is one of the popular open source document database that is part of the nosql movement. One of the applications we deployed at work uses MongoDB as an internal storage engine. We ran into an issue where MongoDB was trying to replicate data to [MySQL](http://dev.mysql.com/?ref=kudithipudi.org) and the replication stopped because of a size mismatch for an object between MongoDB and MySQL. Essentially MongoDB was trying to insert a record into MySQL that was larger than the defined length. Here is the query we used to find the culprit objects. We used the awesome [Robomongo](http://robomongo.org/?ref=kudithipudi.org) client to connect to the MongoDB instance. ``` db.some_table_to_search.find({$where:"this.some_column_to_search.length > 40"}) ``` Breaking down the command db -> Specifies the database you are trying to search some\_table\_to\_search -> Specifie the table you are trying to search some\_column\_to\_search -> Specified the particular column you are trying to search. In this specific example, we were looking for entries longer than 40 characters for this column. If you come from the traditional RDBMS world, here is a [link](http://docs.mongodb.org/manual/reference/sql-comparison/?ref=kudithipudi.org) from MongoDB comparing terminology between RDBMS and MongoDB. [http://docs.mongodb.org/manual/reference/sql-comparison/](http://docs.mongodb.org/manual/reference/sql-comparison/?ref=kudithipudi.org) ### Idea for a security application URL: https://kudithipudi.org/idea-for-a-security-application/ Last updated: 2014-02-03T07:01:35.000Z I think the best way to learn a new (programming) language is to address a real world problem :). So here is one, I want to solve in the next few months. One of the things I like to do as part of a evaluation security process is to check the amount of public information available for a website. I frequently find that people find information leakage from websites they thought were secure or not publicly accessible. The idea is to create a python script to do the following - Must have - Inject list of hostnames and do the following - Check whether they resolve to a public IP or not - If resolving to public IP, check the amount of data being exposed by this site by doing a quick google search - Report on the amount of information available sorted by amount - Nice to have - take domain name instead of hostnames and try to do a domain transfer and capture all hostnames in the domain - leverage Google API instead of web scraping - web interface to allow input and show output Why python? Well, I have been trying to learn it for sometime now and I think it is time to put all that learning to use :). Anyone interested in joining the fun? ### Lessons of the trade : Handling CVV numbers URL: https://kudithipudi.org/lessons-of-the-trade-handling-cvv-numbers/ Last updated: 2014-01-28T14:16:19.000Z Just for my notes.. Even though the CVV numbers on a credit card, look like numbers :), don’t treat them as integers in your code. Some of the numbers start with a 0.. so 059 might become 59 by the time you try to process it if you capture the CVV field as an integer. Just treat them like a string. And obviously you are not storing them anywhere in your application/network :). Or you might end up in the headlines like some of our [retailers](http://krebsonsecurity.com/tag/target-breach/?ref=kudithipudi.org). ### Overheard : Comment about Hardwork URL: https://kudithipudi.org/overheard-comment-about-hardwork/ Last updated: 2014-01-27T05:11:24.000Z Interesting analogy to [Thomas Edison’s](http://en.wikiquote.org/wiki/Thomas%5FEdison?ref=kudithipudi.org) quote “Genius is one percent inspiration, ninety-nine percent perspiration” by [Elizabeth Gilbert](http://en.wikipedia.org/wiki/Elizabeth%5FGilbert?ref=kudithipudi.org) on a recent [Radio Lab](http://www.radiolab.org/story/117165-help/?ref=kudithipudi.org) show > 99% Oyster and 1% pearl ### Overheard : Comment about what is takes to be a competent person URL: https://kudithipudi.org/overheard-comment-about-competent-human-being/ Last updated: 2014-01-08T02:46:07.000Z Came across quote by [Robert A. Heinlein](http://en.wikipedia.org/wiki/Robert%5FA.%5FHeinlein?ref=kudithipudi.org) on a [blog](http://www.jacquesmattheij.com/will-work-for-food-and-lodging?ref=kudithipudi.org) post by [Jacques Mattheij](http://www.jacquesmattheij.com/?ref=kudithipudi.org) regarding a what a competent man should be able to do > A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects. ### Parenthood means.. URL: https://kudithipudi.org/parenthood-means/ Last updated: 2014-01-07T03:55:57.000Z - Not hesitating for a moment to put your nose near someone’ arse to check if they pooped - Thinking it is cute when someone pees in your bed - Taking food that someone else spits out and finishing it off without hesitating for a second Some of the joys I got to experience in the last two years raising our Son :). And yes.. a whole lot of new found respect for my parents. ### HOW TO : Convert PFX/P12 crypto objects into a java keystore URL: https://kudithipudi.org/how-to-convert-pfxp12-crypto-objects-into-a-java-keystore/ Last updated: 2013-04-10T13:37:36.000Z We needed to add a certificate that is currently in PKCS#12 format currently into a java keystore at work recently. The typical step would be due to create an empty keystore and then import the certificate from the PKCS#12 store using the following command ``` keytool -importkeystore -srckeystore sourceFile.p12 -srcstoretype PKCS12 -destkeystore destinationFile.jks ``` Note: PKCS#12 files can have extensions “.p12” or “.pfx” The command executed without any issues, but we received the following error when we started the application server using this newly created keystore ``` java.io.IOException: Error initializing server socket factory SSL context: Cannot recover key ``` It didn’t make sense, because we were able to view the certificate in the keystore and were using the right password in the configuration files. After a lot of searching and head scratching, the team came up with the following solution 1. Export the public key and private key from the PKCS#12 store using openssl. 2. Import these keys into the java keystore (default format of JKS) The commands used were ``` openssl pkcs12 -in sourcePKCS12File.p12 -nocerts -out privateKey.pem openssl pkcs12 -in sourcePKCS12File.p12 -nokeys -out publicCert.pem openssl pkcs12 -export -out intermittentPKCS12File.p12 -inkey privateKey.pem -in publicCert.pem keytool -importkeystore -srckeystore intermittantPKCS12File.p12 -srcstoretype PKCS12 -destkeystore finalKeyStore.jks ``` ### HOW TO : Use grep and awk to find count of unique entries URL: https://kudithipudi.org/how-to-use-grep-and-awk-to-find-count-of-unique-entries/ Last updated: 2013-02-27T04:11:48.000Z I have use grep extensively before to analyze data in log files before. A good example is [this post](https://kudithipudi.org/how-to-sort-apache-web-logs-for-hits-by-unique-ip-addresses/) about using grep and sort to find the unique hits to a website. Here is another way to do it using [grep](http://en.wikipedia.org/wiki/Grep?ref=kudithipudi.org) and [awk](http://en.wikipedia.org/wiki/AWK?ref=kudithipudi.org). Say the log file you are analyzing is in the format below and you need to get the unique number of BundleIDs ``` 2013-02-25 12:00:06,684 ERROR [com.blahblah.sme.command.request.CustomCommand] Unable to execute AssignServiceCommand, request = ‘1234565080' ``` you can use grep and awk to find the number of times a unique bundleID appears by running ``` grep -i bundleID LOG_FILE_NAME | awk ‘{ split ($11,a,">"); print a[6]}’ | sort | uniq -c | sort -rn ``` breaking down the commands **grep -i** : tells grep to only show the lines from the file (LOG\_FILE\_NAME) containing the text bundleID and makes the search case insensitive **awk ‘{ split ($11,a,”>”); print a\[6\]}’** : tells awk to grab the input from grep and take the 11th item (by default awk separates content with a space) and split the string into an array (a) using > as a delimiter. And finally print out the value of the array a’s sixth member **sort** : sorts the output from awk into ascending order **uniq -c** : takes the output from sort and counts uniq items **sort -qn** : takes the output from uniq and does a reverse order sort The output looked like this ``` 173 5080 Order Deny,Allow Deny from all Allow from 10.10.10.10 ProxyPass /testLocation http://127.0.0.1:8080/testLocation ProxyPassReverse /testLocation http://127.0.0.1:8080/testLocation ``` ### HOW TO : Run web servers using one liners URL: https://kudithipudi.org/how-to-run-web-servers-using-one-liners/ Last updated: 2012-12-28T21:56:50.000Z A collection of one liners using different tools and programming languages to run a full fledged web server on any machine. They can be used to 1. Serve files located on the server 2. Act as server listening on a particular port. This is especially helpful if you are trying to setup a load-balancer and/or firewall and need to test access to the end points. The criteria for the on liners was that you don’t need any additional modules other than the standard modules included with the language distributions. ### NC : Netcat netcat (nc) is pretty powerful network utility. You can start a web server running on port 8080 by simply running ``` nc -l 8080 ``` If you want to serve a particular file, you can do so by running ``` while :; do nc -l 8080 < SAMPLE_FILE ; done ``` ### Python You can start a web server in python by running Python 2.x ``` python -m SimpleHTTPServer 8080 ``` Python 3.x ``` python -m http.server 8080 ``` This command will serve up a page with listing of all the files in the directory that the command was executed in. Pretty nifty way to quickly share files ### Perl You can start a web server in perl by running ``` perl -MIO::All -e ‘io(":8080")->fork->accept->(sub { $_[0] < io(-x $1 ? "./$1 |" : $1) if /^GET \/(.*) / })’ ``` ### Ruby You can start a web server using Ruby by running sudo ruby -rwebrick -e ‘server = WEBrick::HTTPServer.new : Port = >8080 server.start’ I haven’t been able to figure out how to pass an end of line in the command line. So you need to literally pass the commands in two lines. Scratch that.. My friend, [Ray](http://twitter.com/raykrueger?ref=kudithipudi.org), showed me the right way to pass a line delimiter in the same command. ``` ruby -rwebrick -e ‘server = WEBrick::HTTPServer.new(:Port => 8080) ; server.start’ ``` He even provided an additional option to define the directory you want to serve files from ``` : DocumentRoot => ‘/some/shit’ ``` ### PHP Starting with PHP 5.4 you can initiate a web server by running ``` php -S localhost:8080 ``` All of these options should work on any operating system. But I have only tried them on Linux. Do you know how to do the same thing in other languages? Please share them in the comments section. **Credits:** I collected these bits of code from the following sites Python : [http://www.garyrobinson.net/2004/03/one\_line\_python.html](http://www.garyrobinson.net/2004/03/one%5Fline%5Fpython.html?ref=kudithipudi.org) Perl : [http://www.perlmonks.org/?node\_id=470397](http://www.perlmonks.org/?node%5Fid=470397&ref=kudithipudi.org) Ruby : [http://phrogz.net/simplest-possible-ruby-web-server](http://phrogz.net/simplest-possible-ruby-web-server?ref=kudithipudi.org) PHP : [http://php.net/manual/en/features.commandline.webserver.php](http://php.net/manual/en/features.commandline.webserver.php?ref=kudithipudi.org) ### Venturing into the unknown URL: https://kudithipudi.org/venturing-into-the-unknown/ Last updated: 2012-11-29T06:29:39.000Z I am a [Google](http://www.google.com/?ref=kudithipudi.org) fanboy. And I don’t make a secret of it :). All the smartphones I have ever carried are Android based, unless you count the Blackberry as a smartphone. All my tablets are Android based. My personal domain is served by [Google Apps](http://www.google.com/appengine?ref=kudithipudi.org). I use [Google Analytics](http://www.google.com/analytics?ref=kudithipudi.org) to report on the traffic to this [blog](https://kudithipudi.org/). You get the picture.. I love all things Google 🙂 Today, I have made a pretty radical decision. Radical, considering my history and association. I am going to use an iPhone and iPad for the next 60 days. And then I am going to use a Windows Phone and Windows Tablet for the following 60 days. Why you ask? I think it is important for every technology executive to try offerings from all the major players in the market. You might your personal preferences, but you should at least experience what your customers are experiencing when they use the technology on a daily basis. I wouldn’t necessarily call it [dogfooding](http://technet.microsoft.com/en-us/library/cc627315.aspx?ref=kudithipudi.org), since I am not developing (or involved in) these devices, but you have to have a good understanding of the different offerings out there. Yes, you can read the reviews, but experiencing it on your own is quite different. I will be blogging the results of this experiment soon :). ### HOW TO : Combine landscape and portrait page layouts in Microsoft Word URL: https://kudithipudi.org/how-to-combine-landscape-and-portrait-page-layouts-in-microsoft-word/ Last updated: 2012-11-26T03:19:41.000Z Blogging this as a “memory” note for myself 🙂 I was putting together a report for work and needed one of the pages in the word document to be in landscape mode, instead of the regular portrait mode. I thought it was a simple thing of adding a page break and applying the “landscape” layout in the page setup. But ended up either having all pages in landscape mode or in portrait mode. A bit of [googling](https://www.google.com/search?q=microsoft+word+mixing+landscape+portrait&ref=kudithipudi.org) finally helped out :). Looks like the trick is to use section breaks instead of page breaks. Here are the steps to do it in Microsoft Word 2010 And voila you document now has two different page orientations 🙂 ![](http://farm9.staticflickr.com/8338/8218686517_61ca248cba_z_d.jpg) Now change the page orientation by going to Page Layout -> Orientation –> Landscape. This will only change the orientation for the current section. ![](http://farm9.staticflickr.com/8206/8218686659_01f7c06aa6_z_d.jpg) At the place you want to split the page format, insert a section break, by going to Page Layout –> Breaks –> Section Breaks –> Next Page ![](http://farm9.staticflickr.com/8208/8219766712_cc6f9d7ca6_z_d.jpg) Add the content you want into word. In this example, I created two paragraphs, test landscape and test portrait ![](http://farm9.staticflickr.com/8338/8219766830_002196e93b_z_d.jpg) ### HOW TO : Use curl to check the impact of DNS changes URL: https://kudithipudi.org/how-to-use-curl-to-check-the-impact-of-dns-changes/ Last updated: 2012-11-12T22:48:16.000Z Ran into an interesting scenario at work today. We had to check the impact of a DNS change on a certain hostname. Normally, you would edit your host file entry to reflect the DNS change and do your testing. Here is another way you can do it using [cURL](http://curl.haxx.se/?ref=kudithipudi.org). In this particular example, I am checking the SSL certificate details of the hostname . ``` curl –insecure –trace-ascii debug.txt https://HOSTNAME:PORT –resolve HOSTNAME:PORT:IP_ADDRESS ``` That’s a pretty convoluted command :). Let’s try to break it down ``` –insecure ``` : tells cURL to ignore certificate warnings. This is helpful if you are using self signed certs ``` –trace-ascii ``` : tells cURL to save the SSL connection details (in debug mode) to a file called debug.txt ``` –resolve ``` : tells cURL to use the options mentioned after it to resolve the hostname, rather than using DNS. The format for resolve is **NOTE:** You need to have [version 7.21.3](http://curl.haxx.se/changes.html?ref=kudithipudi.org) or higher of cURL to use this option Here’s a real world example. Say, I want to see how the IP address 72.30.38.140 would reacts if www.google.com requests are routed to it ``` samurai@samurai:~$ curl –insecure –trace-ascii debug.txt https://www.google.com –resolve www.google.com:443:72.30.38.140 The document has moved here.

samurai@samurai:~$ more debug.txt == Info: Added www.google.com:443:72.30.38.140 to DNS cache == Info: About to connect() to www.google.com port 443 (#0) == Info: Trying 72.30.38.140… == Info: connected == Info: Connected to www.google.com (72.30.38.140) port 443 (#0) == Info: successfully set certificate verify locations: == Info: CAfile: none CApath: /etc/ssl/certs == Info: SSLv3, TLS handshake, Client hello (1): => Send SSL data, 223 bytes (0xdf) 0000: ……P.|v..1..kA…….=J.xr.=ft.3.|…Z…..9.8………5….. 0040: …………….3.2…..E.D…../…A……………………… 0080: …….W………www.google.com………..4.2………………. 00c0: …………………………. == Info: SSLv3, TLS handshake, Server hello (2): <= Recv SSL data, 42 bytes (0x2a) 0000: …&..P.{.I"L….3x..N…9…./.m..K…….Z…:.Df%.lR.!…(!. 0200: .FV.dQ…f.V….P,.J9.c..dM.s>C=….Y..#…47#2…..cP.{….g.rU 0240: .d…P……………..0…0…U………..0…U………….t5. 0280:……U..0:..U…3010/.-.+.)http://crl.geotrust.com/crls/secure 02c0: ca.crl0..[..U…..R0..N..www.yahoo.com..yahoo.com..us.yahoo.com. 0300: .kr.yahoo.com..uk.yahoo.com..ie.yahoo.com..fr.yahoo.com..in.yaho 0340: o.com..ca.yahoo.com..br.yahoo.com..de.yahoo.com..es.yahoo.com..m 0380: x.yahoo.com..it.yahoo.com..sg.yahoo.com..id.yahoo.com..ph.yahoo. 03c0: com..qc.yahoo.com..tw.yahoo.com..hk.yahoo.com..cn.yahoo.com..au. 0400: yahoo.com..ar.yahoo.com..vn.yahoo.com0…U.#..0…H.h.+….G.# . 0440: O3….0…U.%..0…+………+…….0…*.H……………2..0. 0480: S.’.y….GD.Q…=…K+..q..kv…….+………9..{.a:……… == Info: SSLv3, TLS handshake, Server finished (14): <= Recv SSL data, 4 bytes (0x4) 0000: …. == Info: SSLv3, TLS handshake, Client key exchange (16): => Send SSL data, 262 bytes (0x106) 0000: …….R…..b.,.&.. s.Ob;.E_.EnSw../D…’…..(aB<<……F..].. 0040: o………~…*..r?.C..%..22…J.bu&.x(j|…….>A5..OF.G…C.$. 0080: .9u9n.z…K…..u…..~:W.{Sii.{2..6……..<…..i…8y$y…..6 00c0: …1.(M…fx….#k..r….47..t.q…..A.?.0. .D…..~…G+.,….~ 0100: ..=.#y == Info: SSLv3, TLS change cipher, Client hello (1): => Send SSL data, 1 bytes (0x1) 0000: . == Info: SSLv3, TLS handshake, Finished (20): => Send SSL data, 16 bytes (0x10) 0000: ….!9)…6…+. == Info: SSLv3, TLS change cipher, Client hello (1): <= Recv SSL data, 1 bytes (0x1) 0000: . == Info: SSLv3, TLS handshake, Finished (20): <= Recv SSL data, 16 bytes (0x10) 0000: …..(qN..l.]… == Info: SSL connection using AES256-SHA == Info: Server certificate: == Info: subject: serialNumber=2g8aO5wI1bKJ2ZD588UsLvDe3gTbg8DU; C=US; ST=California; L=Sunnyvale; O=Yahoo Inc.; CN=www.yahoo.com == Info: start date: 2010-04-01 23:00:14 GMT == Info: expire date: 2015-07-03 04:50:00 GMT == Info: subjectAltName does not match www.google.com => Send header, 167 bytes (0xa7) 0000: GET / HTTP/1.1 0010: User-Agent: curl/7.21.6 (x86_64-pc-linux-gnu) libcurl/7.21.6 Ope 0050: nSSL/1.0.0e zlib/1.2.3.4 libidn/1.22 librtmp/2.3 0082: Host: www.google.com 0098: Accept: */* 00a5: <= Recv header, 32 bytes (0x20) 0000: HTTP/1.1 301 Moved Permanently <= Recv header, 37 bytes (0x25) 0000: Date: Mon, 12 Nov 2012 22:44:41 GMT <= Recv header, 42 bytes (0x2a) 0000: Location: http://www.google.com/?s=https <= Recv header, 23 bytes (0x17) 0000: Vary: Accept-Encoding <= Recv header, 19 bytes (0x13) 0000: Connection: close <= Recv header, 28 bytes (0x1c) 0000: Transfer-Encoding: chunked <= Recv header, 40 bytes (0x28) 0000: Content-Type: text/html; charset=utf-8 <= Recv header, 24 bytes (0x18) 0000: Cache-Control: private <= Recv header, 2 bytes (0x2) 0000: <= Recv data, 173 bytes (0xad) 0000: 000009d 0009: The document has moved 0049: here.

.. 00a8: 0 00ab: == Info: Closing connection #0 == Info: SSLv3, TLS alert, Client hello (1): => Send SSL data, 2 bytes (0x2) 0000: .. ``` ### Interesting (infrastructure) tidbits about Microsoft Azure URL: https://kudithipudi.org/interesting-infrastructure-tidbits-about-microsoft-azure/ Last updated: 2012-11-09T04:05:23.000Z I attended a session organized by aditi regarding [Microsoft Azure](http://www.windowsazure.com/en-us/?ref=kudithipudi.org) and [Windows 8](http://windows.microsoft.com/en-US/windows-8/meet?ref=kudithipudi.org), called “Go Cloud 8” today. One of the speakers in the event was [Deepak Rao](http://www.linkedin.com/pub/deepak-rao/0/1b8/822?ref=kudithipudi.org), Microsoft’ Director of Cloud Computing. He shared some interesting numbers about the infrastructure running Microsoft Azure - 8 carrier grade data centers around the world. “Carrier” grade because of the sheer size of them. - The [data center](http://en.wikipedia.org/wiki/Windows%5FAzure?ref=kudithipudi.org) in Chicago houses more than 350,000 servers and is supported by only 30 FTEs (which makes me think about the number of contractors they have there 🙂 ) - 1 in 4 x86 servers produced were bought by Microsoft. Not sure if it was in 2011 or 2012!! Deepak also gave an real world example of how one of their customers used Azure. [BPro Inc](http://www.bpro.com/?ref=kudithipudi.org) provides software to counties and states for helping report election results. They run their backend on the Azure platform. During normal periods, they run \~10 instances of compute nodes. But during the election day (11/6) this week, BPro spun up 8600 compute nodes in less than 15 minutes at 4:00 PM EST, to help support the load created by the demand for election results and than again shutdown all of them at around 1:00 AM EST when the demand decreased. Using the “list” pricing of $0.12/hr/compute node, that massive increase in capacity cost them \~$8K!!. That is pretty impressive and I usually don’t use the work impressive in the same sentence as Microsoft 🙂 ### Another 4 years URL: https://kudithipudi.org/another-4-years/ Last updated: 2012-11-08T04:56:07.000Z Word cloud ([wordle](http://www.wordle.net/?ref=kudithipudi.org)) of [Obama’s speech](http://www.bbc.co.uk/news/world-20236369?ref=kudithipudi.org) after winning a second term. ![](http://farm9.staticflickr.com/8070/8165934288_12bfeae372_c_d.jpg "Obama : 2012 Election : Celebration Speech") ### For loop in Windows command shell URL: https://kudithipudi.org/for-loop-in-windows-command-shell/ Last updated: 2012-11-05T14:35:52.000Z For my records, syntax for running a simple for loop in command prompt ``` for %i in (SERVER1 SERVER2) do nslookup %i ``` note : - Looks like the variable can only be single characters. i.e you cannot name the variable %server - For using the same syntax in a batch file, you have to add another % to the variable. i.e. %i becomes %%i ### And she kicks my arse again URL: https://kudithipudi.org/and-she-kicks-my-arse-again/ Last updated: 2012-11-05T05:08:43.000Z Jhanvi and I ran the 2012 Chicago Hot Chocolate 15K today. This was the first race in the city after we officially became “suburbanites” last week. And let me tell you, that one needs to be highly (HIGHLY) motivated to haul themselves all the way to the city to run a race. And the fact that it was freezing didn’t help. While the race it self was fun, I think the organizers did a terrible job with the package pickup expo and the post race party. It looks like they didn’t know what 40K people getting together in one place looks like. The expo tent could barely fit a 1000 people and folks had to stand \~2 hours in line to pick up the package in cold weather. And let me not tell you about the post race snack!!. Hopefully they will learn from this and make it a better event next year. Chocolate seems to motivate a whole lot of people (including me 🙂 ). And in other news, Jhanvi kicked my butt as usual and finished a whole 10 minutes earlier.. ### Jhanvi’s Results ![](http://farm9.staticflickr.com/8068/8156682319_44e3d53f0e_z_d.jpg "2012 Hot Chocolate : Jhanvi's Results") ### My results ![](http://farm8.staticflickr.com/7261/8156682269_46fedbd0e2_z_d.jpg "2012 Hot Chocolate : Vinay Results") ### Us After the race ![](http://farm9.staticflickr.com/8064/8156751846_d4e7c8bb4c_z_d.jpg) The only thing that was abundant at the race 🙂 ![](http://farm8.staticflickr.com/7249/8156727483_804391e23b_z_d.jpg) ### SNL hacked URL: https://kudithipudi.org/snl-hacked/ Last updated: 2012-11-05T05:02:15.000Z Screenshot of NBC’ hacked website (in particular the Saturday Night Live section). Link to Hacker News discussion [http://news.ycombinator.com/item?id=4740312](http://news.ycombinator.com/item?id=4740312&ref=kudithipudi.org) I found it interesting that the site was not fixed for several hours even after it was reported on major news outlets. Ironical that NBC itself is a major news outlet :). It would be great if NBC publishes a follow up on how the server(s) were compromised so that the rest of the world can learn from this incident. p.s : Nice [blog post](http://blog.risk.io/2012/06/if-i-told-you-id-have-to-kill-you/?ref=kudithipudi.org) by my one time colleague, [Ed Bellis](http://www.linkedin.com/in/bellis?ref=kudithipudi.org), on how the security industry should be sharing more information so that we can improve the state of security across the board. ![](http://farm9.staticflickr.com/8350/8156669705_9a374ee8c0_c_d.jpg "NBC Hacked Website") ### Consequences of delivering early URL: https://kudithipudi.org/consequences-of-delivering-early/ Last updated: 2012-10-18T23:08:07.000Z $14B (yes, that is a Billion dollars!!) That is the drop in Google’s market capitalization, when [R.R.Donnelly released Google’s quarterly results](http://www.washingtonpost.com/business/technology/googles-3rd-quarter-earnings-leak-early-send-stock-plunging-as-profit-misses-street/2012/10/18/deecb380-1944-11e2-ad4a-e5a958b60a1e%5Fstory.html?ref=kudithipudi.org) earlier than intended 🙂 ![](http://farm9.staticflickr.com/8463/8101233144_4fe1f05833_z_d.jpg) ### Post about password management (death) URL: https://kudithipudi.org/post-about-password-management-death/ Last updated: 2012-10-18T13:23:29.000Z _No content available._ ### HOW TO : Download SSL certificate using openssl and importing it into a keystore URL: https://kudithipudi.org/how-to-download-ssl-certificate-using-openssl-and-importing-it-into-a-keystore/ Last updated: 2012-10-15T20:12:59.000Z Following up on my earlier post about [using keytool to import and export certificates into a keystore](https://kudithipudi.org/how-to-export-and-import-certificates-using-keytool/). Here is some more information on using openssl to download the certificate from a remote server and then using keytool to import it into the keystore. keytool needs the certificate to be in X509 format, so we will use sed to format the certificate. ``` echo -n | openssl s_client -connect HOST:PORTNUMBER | sed -ne ‘/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p’ > /tmp/$SERVERNAME.cert ``` breaking down the command ``` echo -n ``` send an end of line signal to openssl. This allows openssl (or rather the server it is trying to connect to) to disconnect the session ``` openssl s_client -connect HOST:PORTNUMBER ``` asks openssl to act as a [client](http://www.openssl.org/docs/apps/s%5Fclient.html?ref=kudithipudi.org) and connect to the HOST on the specificed PORTNUMBER ``` sed -ne ‘/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p’ ``` asks sed to take the input from openssl and only output the content between BEGIN CERTIFICATE and END CERTIFICATE. **NOTE:** If you get an error like “SSL routines:SSL23\_GET\_SERVER\_HELLO:sslv3 alert unexpected message”, it means the server doesn’t support SSL negotation. Using the command option **\-no\_tls1** helps work around this error. This option will tell openssl to disable TLS1 negotiation. ### 2012 Half Marathons : An update URL: https://kudithipudi.org/2012-half-marathons-an-update/ Last updated: 2012-10-05T03:17:16.000Z Quick update on the races Jhanvi and I ran so far this year. And yes, she kicked my butt in all of them as usual 🙂 ### 2012 Rock and Roll Chicago Half Marathon ![](http://farm9.staticflickr.com/8422/7629356442_53c4654114_d.jpg "Jhanvi : Results") ![](http://farm9.staticflickr.com/8152/7629356406_7733b233aa_d.jpg "Vinay : Results") Showing off our medals in the train back home.. It was painful 🙂 ![](http://farm9.staticflickr.com/8019/7629374024_d880ca6170_d.jpg "Medals : Half Marathon") [Endomondo’s](http://www.endomondo.com/?ref=kudithipudi.org) view of how I ran ![](http://farm9.staticflickr.com/8315/8065173808_92bee16d61_c_d.jpg "Endomondo View") ### 2012 Northface Challenge : Madison This is the third time, I am running this trail half marathon. And for the first time, I actually did better than the last race. And it was mainly due to Jhanvi encouraging me to practice. Not my best time, but better than last year 🙂 ![](http://farm9.staticflickr.com/8315/8055566485_04d20fb04b_c_d.jpg "Jhanvi : Results") ![](http://farm9.staticflickr.com/8171/8055566459_04b88df5a6_c_d.jpg "Vinay : Northface : Results") ### HOW TO : Compare two directories in Linux URL: https://kudithipudi.org/how-to-compare-two-directories-in-linux/ Last updated: 2012-09-11T15:26:07.000Z Quick post on using diff to compare two directories in Linux. This will show the list of files and subdirectories that are different in either directories ``` diff /PATH_TO_FIRST_DIRECTORY /PATH_TO_SECOND_DIRECTORY -r –brief ``` Options used - r : Searched recursively through the directory - –brief : Only shows the names of the files that differ. If you want details of the content that differs, remove this option ### HOW TO : grep for response codes in apache logs URL: https://kudithipudi.org/how-to-grep-for-response-codes-in-apache-logs/ Last updated: 2012-09-05T13:51:14.000Z If you want to grep for certain http response codes in a apache log file Look for all access requests that do NOT have a 200 response code ``` grep -i -v "[: ]200[: ]" HTTP_ACCESS_LOG ``` Look for all access requests with a 200 response code ``` grep -i "[: ]200[: ]" HTTP_ACCESS_LOG ``` Details of the options ``` "[: ]" ``` tells grep to look for space or tab before the specified string, which in this case is 200. ### Another day.. Another Hack URL: https://kudithipudi.org/another-day-another-hack/ Last updated: 2012-08-29T04:23:18.000Z The net is up in arms about a new release from team Ghostshell of compromise data. Details of the leak can be found at [http://www.theregister.co.uk/2012/08/28/team\_ghostshell\_megahack/](http://www.theregister.co.uk/2012/08/28/team%5Fghostshell%5Fmegahack/?ref=kudithipudi.org) and the source of the data is at [http://pastebin.com/BuabHTvr](http://pastebin.com/BuabHTvr?ref=kudithipudi.org) . I thought I would put my nascent python skills to use and write a simple script to parse through the release and download all the data. Hoping to analyze it later on. It is pretty basic, but does the job of parsing the release and downloading the content. You can get the script at [https://github.com/kudithipudi/Misc-Scripts/blob/master/parseHellfire.py](https://github.com/kudithipudi/Misc-Scripts/blob/master/parseHellfire.py?ref=kudithipudi.org) Watch out for an analysis of the content soon :). ### HOW TO : Use openssl client to check for PCI compliant SSL ciphers URL: https://kudithipudi.org/how-to-use-openssl-client-to-check-for-pci-compliant-ssl-ciphers/ Last updated: 2012-08-27T16:45:31.000Z Simple one liner to check if your web server is using strong ciphers ``` openssl s_client -cipher LOW -host SERVER_NAME -port 443 ``` ### HOW TO : Use Python to look for credit card numbers URL: https://kudithipudi.org/how-to-use-python-to-look-for-credit-card-numbers/ Last updated: 2012-08-20T21:53:04.000Z Simple script in python to look for credit card numbers in a file. ``` #Importing modules import re import os # Define variables inputFile = ‘test.txt’ searchPattern = ‘((\D(6011|5[1-5]\d{2}|4\d{3}|3\d{3})\d{11,12}\D)|(^(6011|5[1-5]\d{2}|4\d{3}|3\d{3})\d{11,12}\D))’ tempinputFile = open(inputFile) tempLine = tempinputFile.readline() while tempLine: print ("LINE: " + tempLine) foundContent = re.search(searchPattern,tempLine, re.IGNORECASE) if foundContent: print("FOUND: " + foundContent.group()) tempLine = tempinputFile.readline() tempinputFile.close() ``` The script started out as a simple check for any 16 digit numbers that had a non numeric character on either end. But I tweaked it a little bit to look for credit card like numbers using the regex from [http://www.regular-expressions.info/creditcard.html](http://www.regular-expressions.info/creditcard.html?ref=kudithipudi.org). Finally I added an option to match credit card like numbers if the numbers start at the beginning of the line (i.e there is no non-numeric number before the credit card number) ### OVERHEARD : Comment about fudging URL: https://kudithipudi.org/overheard-comment-about-fudging/ Last updated: 2012-08-20T02:14:19.000Z Actually, this is more of a read on the web post. New acronym for describing technology that doesn’t really help > CBT : Cock-n-Bull Technology 🙂 ### HOW TO : Find files, search for content in them, replace the content URL: https://kudithipudi.org/how-to-find-files-search-for-content-in-them-replace-the-content/ Last updated: 2012-08-16T14:07:32.000Z The title pretty much says it all :). Here is a quick one liner, using multiple tools, to look for files in a directory, search for certain content in them and replace them with other content ``` find -type f | xargs grep -l ORIGINAL_CONTENT | xargs perl -p -i -e ‘s/ORIGINAL_CONTENT/NEW_CONTENT/g’ ``` You can theoretically take out the grep (second command) and directly pipe the find output to perl and get the same outcome. Going over list of the options used **find** - “-type f” lists all objects of type file in the directory (and sub directories) **grep** - “-l” lists the names of the files (with relative path) which have the text ORIGINAL\_CONTENT in them **perl** - “-p” forces perl to loop through requests. In this case files - “-e” tells perl that the next argument is a perl statement - “-i” tells perls to edit the file in place (i.e. no need for an output file) ### Things I install on a new computer URL: https://kudithipudi.org/things-i-install-on-a-new-computer/ Last updated: 2012-08-01T02:58:18.000Z Making a list just because :).. Here are some of the things I install on a windows machine as soon as I get it - Network - [Wireshark](http://www.wireshark.org/?ref=kudithipudi.org) - [Nmap](http://nmap.org/?ref=kudithipudi.org) - Utilities - [7-Zip](http://www.7-zip.org/?ref=kudithipudi.org) - [Notepad++](http://notepad-plus-plus.org/?ref=kudithipudi.org) - [PDF Creator](http://www.pdfforge.org/pdfcreator/?ref=kudithipudi.org) - [VLC Player](http://www.videolan.org/vlc/index.html?ref=kudithipudi.org) - SysAdmin - [Putty](http://www.chiark.greenend.org.uk/~sgtatham/putty/?ref=kudithipudi.org) - [Python](http://www.python.org/?ref=kudithipudi.org) - [Perl](http://www.perl.org/?ref=kudithipudi.org) - [VirtualBox](https://www.virtualbox.org/?ref=kudithipudi.org) - [BackTrack](http://www.backtrack-linux.org/?ref=kudithipudi.org) - [Process Hacker](http://processhacker.sourceforge.net/?ref=kudithipudi.org) - [SysInternals](http://technet.microsoft.com/en-us/sysinternals?ref=kudithipudi.org) - [Charles Proxy](http://www.charlesproxy.com/?ref=kudithipudi.org) - Cloud - [Firefox](http://www.mozilla.org/en-US/firefox/new/?ref=kudithipudi.org) - [FoxProxy](http://getfoxyproxy.org/?ref=kudithipudi.org) - [FlagFox](https://addons.mozilla.org/en-US/firefox/addon/flagfox/?ref=kudithipudi.org) - [FireBug](http://getfirebug.com/?ref=kudithipudi.org) - [YSlow](https://addons.mozilla.org/en-US/firefox/addon/yslow/?ref=kudithipudi.org) - [Google Chrome](https://www.google.com/intl/en/chrome/browser/?ref=kudithipudi.org) - [TOR](https://www.torproject.org/?ref=kudithipudi.org) - [Pidgin](http://www.pidgin.im/?ref=kudithipudi.org) - [Dropbox](http://www.dropbox.com/?ref=kudithipudi.org) - [Evernote](http://www.evernote.com/?ref=kudithipudi.org) Whats on your workstation? ### HOW TO : Use word boundaries in Regular Expressions URL: https://kudithipudi.org/how-to-use-word-boundaries-in-regular-expressions/ Last updated: 2012-07-30T21:04:41.000Z If you are every looking to match strings as a whole word instead of literal strings using a regular express, Word Boundaries are your friend For example if you are looking to match a string of 10 numbers in a log file, you can use ``` grep -i ‘\b[0-9]\{10,\}\b’ –color -H -n FILE_NAME_TO_SEARCH ``` The \\b is the option that tells grep to look for a word character. More information about the option is available at [http://www.regular-expressions.info/wordboundaries.html](http://www.regular-expressions.info/wordboundaries.html?ref=kudithipudi.org) ### Overheard : Comment about content URL: https://kudithipudi.org/overheard-comment-about-content/ Last updated: 2012-06-29T00:35:32.000Z [Doc Searls](http://en.wikipedia.org/wiki/Doc%5FSearls?ref=kudithipudi.org) on the conflict between content creators and consumers in the digital era > Data wants to be free but value wants to be paid for ### Overheard : Comment about Internet URL: https://kudithipudi.org/overheard-comment-about-internet/ Last updated: 2012-06-18T02:30:54.000Z [Tom Merritt](http://twit.tv/people/tom-merritt?ref=kudithipudi.org) on the Internet > The internet never forgets anything until you want to keep it, (and) then it forgets it ### Father and Son URL: https://kudithipudi.org/father-and-son/ Last updated: 2012-06-04T03:51:43.000Z Credit for the picture goes to Jhanvi 🙂 ![](http://farm8.staticflickr.com/7100/7332753220_6f9da36e97_z_d.jpg "Virat and Me") ### Overheard : Comment about politics URL: https://kudithipudi.org/overheard-comment-about-politics/ Last updated: 2012-06-01T13:44:50.000Z [Milwaukee](http://en.wikipedia.org/wiki/Milwaukee?ref=kudithipudi.org) mayor, [Tom Barrett](http://en.wikipedia.org/wiki/Tom%5FBarrett%5F%28politician%29?ref=kudithipudi.org) commenting about his political goal while speaking with [Robert Siegel](http://en.wikipedia.org/wiki/Robert%5FSiegel?ref=kudithipudi.org) on [all things considered](http://en.wikipedia.org/wiki/All%5FThings%5FConsidered?ref=kudithipudi.org) > I will never be the rock star of the far right and I’ll never be the rock star of the far left. What I want to be is rock solid and create jobs in the state. Entire interview can be found here [http://www.npr.org/2012/05/31/154093267/political-battle-heats-up-as-wis-recall-election-nears](http://www.npr.org/2012/05/31/154093267/political-battle-heats-up-as-wis-recall-election-nears?ref=kudithipudi.org) ### HOW TO : Use iostat to check network share performance URL: https://kudithipudi.org/how-to-use-iostat-to-check-network-share-performance/ Last updated: 2012-05-31T18:16:35.000Z Use the following option to check out how network (NFS) shares are performing on your sever ``` iostat -n 2 ``` The -n option tells iostat to just show the network shares 2 tells iostat to refresh the stats every 2 seconds ### HOW TO : Use screen to multitask URL: https://kudithipudi.org/howto-use-screen-to-multitask/ Last updated: 2012-05-30T20:36:28.000Z Want your terminal to look like this? ![](http://farm8.staticflickr.com/7082/7303838454_eae69642e6_z_d.jpg "Screen : Screenshot") In addition to the coolness, factor it also helps you do (monitor) multiple things at a time. In this screenshot - I am checking the resource utilization on my web server - Tailing the web server logs to look for errors - have a small console for me to run any commands You can achieve this by using the nifty [screen](http://en.wikipedia.org/wiki/GNU%5FScreen?ref=kudithipudi.org) utility. Screen allows you to multiplex between multiple consoles. So you can open one terminal and have multiple consoles on it. The commands for using screen are a bit hard to get used to. Here are the shortcuts I used to achieve the screen above 1. Install the screen package Name the different consoled by executing ``` ctrl + a ``` ``` Shift + a ``` Split the screen by executing ``` ctrl + a ``` ``` Shift + s ``` Add a new screen console by executing ``` ctrl + a ``` ``` c ``` Create a new screen session by running ``` screen ``` As you might have figured out by now, “ctrl + a” puts you into screen command mode. You can get a list of all available options by executing ``` ctrl +a ``` ``` ? ``` Here’s a quick reference guide that has more details [http://aperiodic.net/screen/quick\_reference ](http://aperiodic.net/screen/quick%5Freference?ref=kudithipudi.org) Have fun multitasking 🙂 ### Brilliant use of DNS URL: https://kudithipudi.org/brilliant-use-of-dns/ Last updated: 2012-05-18T13:33:27.000Z I was listening to [this](https://kudithipudi.org/content/media/media-grc-com/sn/sn-353-lq.mp3) week’s edition of [Steve Gibson’s](http://steve.grc.com/?ref=kudithipudi.org) [Security Now](http://www.grc.com/securitynow.htm?ref=kudithipudi.org) podcast and Steve talked about a unique way of using DNS. His [spintrite](http://www.grc.com/sr/spinrite.htm?ref=kudithipudi.org) application uses DNS to check for the latest version of the application. Most applications use http to check version information. This might pose a problem in environments with proxy servers. DNS traffic on the other hand is generally allowed in most environments. He says his application does a DNS lookup for something like application.version.grc.com and the “IP” address that is returned denotes the major and minor versions of the code. And depending on the response, the application will prompt with a “need to update” message. Brilliant!!! Here’s a more technical post way back from 2006 by Jan-Piet Mens on the same subject [http://jpmens.net/pages/checking-current-application-or-data-versions-using-dns/](http://jpmens.net/pages/checking-current-application-or-data-versions-using-dns/?ref=kudithipudi.org) ### Look ma.. I can sit!! URL: https://kudithipudi.org/look-ma-i-can-sit/ Last updated: 2012-05-14T13:35:22.000Z ![](http://farm8.staticflickr.com/7078/7190916244_fc6f8acf0a_z_d.jpg "Virat : Sitting in the park") Virat’s first [visit](http://www.flickr.com/photos/kudithipudi/sets/72157629712737342/with/7190916244/?ref=kudithipudi.org) to a park and sitting without assistance.. 🙂 ### Cinco De Mayo.. URL: https://kudithipudi.org/cinco-de-mayo/ Last updated: 2012-05-05T22:12:10.000Z Yummy pazole ![](http://farm6.staticflickr.com/5119/7147082825_7dca8e63bb_z_d.jpg "2012 Cinco De May : Pazole") And Virat in a colorful dress ![](http://farm9.staticflickr.com/8160/6999729522_b4f782091b_z_d.jpg "Virat : Cinco De Mayo") ### Project PaaS : Day 2 on Google App Engine URL: https://kudithipudi.org/project-paas-day-2-on-google-app-engine/ Last updated: 2012-05-04T04:31:14.000Z It looks like I was able to accomplish writing the [application](https://kudithipudi.org/2012-may-project/) that I wanted to on the App Engine in 2 days!! at least in it’s basic form. After some help from Google, I updated the application I created yesterday ([http://samurai-apps.appspot.com/](http://samurai-apps.appspot.com/?ref=kudithipudi.org)) to display the User Agent string being sent by the client. The code has been updated to github at [https://github.com/kudithipudi/google-app-engine/](https://github.com/kudithipudi/google-app-engine/?ref=kudithipudi.org) Lessons from day 2? - Python doesn’t like tabs :). Always use spaces to ident. I was using Notepad++ as the editor and it automatically puts tabs when you hit enter. Why? Looks like that is the best practice according to this style guide ([http://www.python.org/dev/peps/pep-0008/](http://www.python.org/dev/peps/pep-0008/?ref=kudithipudi.org)) - The “Logs” console in the SDK toolkit should be your best friend. It let’s you know if there is any error in your code and what line it believes the error is at. Next, I will try to pretty it up a bit. Isn’t it amazing that I was able to create a simple app in a matter of 2 days and host it on an “infinitely” scalable platform without even taking our my credit card. ### Project PaaS : Day 1 on Google App Engine URL: https://kudithipudi.org/project-paas-day-1-on-google-app-engine/ Last updated: 2012-05-03T03:35:41.000Z Following up on my [public](https://kudithipudi.org/2012-may-project/) resolution for his month..I started playing with [Google App engine](https://appengine.google.com/?ref=kudithipudi.org). I think a lot has been written about [what it is and how it works](https://developers.google.com/appengine/?ref=kudithipudi.org), but in a nutshell, think of it as an environment to deploy your applications and not have to worry about underlying system capacity. It provides support for [Java](http://en.wikipedia.org/wiki/Java%5F%28programming%5Flanguage%29?ref=kudithipudi.org), [Python](http://en.wikipedia.org/wiki/Python%5F%28programming%5Flanguage%29?ref=kudithipudi.org) and more recently Google’s own [Go](http://en.wikipedia.org/wiki/Go%5F%28programming%5Flanguage%29?ref=kudithipudi.org) programming languages. I chose Python, since I have been [meaning](https://kudithipudi.org/2012/03/0/how-to-clear-screen-based-on-os-in-python-scripts/) to dabble in it for a while now. So without further adieu, here is a link to my first application on Google App Engine [http://samurai-apps.appspot.com/](http://samurai-apps.appspot.com/?ref=kudithipudi.org) And obviously it has to be hello world :). How did I get here? 1. As any good programmer would do, I first tried to find a good place to store my source code. I chose Github, since it seems to be the goto place for hackers (in the good sense 🙂 ) in recent times. I opened a free account on it and created a repository called google-app-engine at [https://github.com/kudithipudi/google-app-engine/](https://github.com/kudithipudi/google-app-engine/?ref=kudithipudi.org) . 2. Following instructions listed here [https://developers.google.com/appengine/docs/python/gettingstartedpython27/](https://developers.google.com/appengine/docs/python/gettingstartedpython27/?ref=kudithipudi.org) and created the helloworld script. 3. Enabled App Engine on my account by validating myself. Had to use my mobile phone to do the validation. 4. Created an app called samurai-apps in the Google App Engine control panel 5. Deployed the helloworld script to the Google Apple engine using the deploy function in the SDK tool. (note: make sure that the name of the app you create in the SDK is the same as the one you created in the app engine control panel. Or you will get an error stating “This application does not exist (app\_id=u’xxx’).” where xxx is the name of the app in the SDK tool) Pretty simple eh.. 🙂 Now the challenge is to program something more useful than print hellworld :). ### 2012 May Project URL: https://kudithipudi.org/2012-may-project/ Last updated: 2012-05-01T20:40:20.000Z Continuing on my project/month theme.. here is what I want to accomplish in May 2012 - Understand [Google App Engine](https://developers.google.com/appengine/?ref=kudithipudi.org) and [Windows Azure](http://www.windowsazure.com/en-us/?ref=kudithipudi.org) Platforms - Write a simple application and deploy it both the platforms - The application that I am envisioning will display the “[user agent](http://en.wikipedia.org/wiki/User%5Fagent?ref=kudithipudi.org)” string of the client trying to access the application. I know there are tons of sites that already do this.. but I think this is an useful tool to have in your bag of tricks :). It is simple enough that I think I can program it in a month. Why am I doing this? I understand the [IaaS](http://en.wikipedia.org/wiki/Infrastructure%5Fas%5Fa%5Fservice?ref=kudithipudi.org#Service%5FModels) area pretty well, but am not well versed in the [PaaS](http://en.wikipedia.org/wiki/Platform%5Fas%5Fa%5Fservice?ref=kudithipudi.org) arena. Hoping this adventure will teach me some new things. And yes, I do plan on documenting my journey :). Wish me luck 🙂 ### HOW TO : Configure Jboss to not show backend server name when proxying https (ssl) traffic URL: https://kudithipudi.org/how-to-configure-jboss-to-not-show-backend-server-name-when-proxying-https-ssl-traffic/ Last updated: 2012-05-01T00:32:34.000Z Phew.. that was a long title :). Was running into an issue with the setup shown in the picture below ![](http://farm8.staticflickr.com/7261/6985879760_2748debcfe_o_d.png "Web App Proxy Setup") When we try to access the web site using https, the html content being served back was showing the app server name as the reference, rather than the web site. So in this example, let’s say the web address was kudithipudi.org and the app server was app-server-kudithipudi, the HTML content was showing https://app-server-kudithipudi:8080 as the source. Here’s how, we fixed it. Edit the server.xml file found in $JBOSS\_HOME/server/$JBOSS\_PROFILE/deploy/jboss-web.deployer and update the HTTPS connector to use the web address (kudithipudi.org) as the proxyName. **BEFORE** ``` ``` **AFTER** ``` ``` ### HOW TO : grep options to display before and after lines of matching content URL: https://kudithipudi.org/how-to-grep-options-to-display-before-and-after-lines-of-matching-content/ Last updated: 2012-04-29T13:59:51.000Z For my own notes.. if you are using grep to parse through the contents of a file and want to see the preceding or proceeding content than the line that matched your query, you can use the following options **preceding content** ``` grep -B NUMBER_OF_LINES_TO_DISPLAY query filename ``` for example, if I was searching for kudithipudi in a file names access.log and want to see 2 lines prior to the match, I would use ``` grep -B 2 kudithipudi access.log ``` **proceeding content** ``` grep -A NUMBER_OF_LINES_TO_DISPLAY query filename ``` for example, if I was searching for kudithipudi in a file names access.log and want to see 2 lines after the match, I would use ``` grep -A 2 kudithipudi access.log ``` **preceding and proceeding content** ``` grep -C NUMBER_OF_LINES_TO_DISPLAY query filename ``` for example, if I was searching for kudithipudi in a file names access.log and want to see 2 lines before and after the match, I would use ``` grep -C 2 kudithipudi access.log ``` ### Overheard : Comment about food URL: https://kudithipudi.org/overheard-comment-about-food/ Last updated: 2012-04-28T04:25:14.000Z Guest speaking about food at a restaurant featured on Guy Fieri’s [Diners, Drive-ins and Dives](http://www.foodnetwork.com/diners-drive-ins-and-dives/index.html?ref=kudithipudi.org) program > It is just like nothing!! ### HOW TO : Use templates in puppet to pass hostnames URL: https://kudithipudi.org/how-to-use-templates-in-puppet-to-pass-hostnames/ Last updated: 2012-04-27T03:00:46.000Z [puppet](http://puppetlabs.com/?ref=kudithipudi.org), is a configuration management framework that can be used to perform several different things to validate/configure your infrastructure. We have been using puppet for sometime at my work and have just started moving into some of the advanced uses of the tool. One of the features offered by puppet is the capability to use templates to configure different servers. For example, say you want to configure an application on server ABCD, XYZ and 123\. And the configuration file for all these servers is the same, other than the hostname of the server. The configuration file has to reside in /opt/application/config.conf . The config.xml file looks like this ``` db.name=blah db.user=blahblah db.hostname=XYZ log.level=ERROR log.location=/var/log/application ``` Here is how you can do it in puppet. Define a module which uses a template and then configure the template to put the host specific entry in the template. Let’s name our module test\_config - Create the module - cd $PUPPET\_HOME/modules - mkdir test\_config/{files,manifests,templates} - Create the template - cd templates - vi config.conf.template and add the following to the file ``` db.name=blah db.user=blahblah db.hostname=<%= fqdn %> log.level=ERROR log.location=/var/log/application ``` - note : see how I replaced the hostname XYZ, which was specific to one server with <%= fqdn %>. This is one of the “facts” provided by puppet. you can get a list of all the facts by running facter on any of the puppet clients. - Configure the module to use the template. In this case, we want the module to place the file config.conf in /opt/application - cd manifests - vi init.pp and add the following to the file ``` class test_config { file { "/opt/application/config.conf": ensure => present, owner => appuser, group => appuser, mode => 755, content => template("test_config/config.conf.template"), } } ``` - note : There are several other options you can use for the class file.. I just gave an example of some of the common ones. Like setting the owner, group and the rights. - Finally configure the clients to use the module. In the individual node config files, include the module you just created. Here is how the config for node ABCD would look like ``` node ABCD { include test_config } ``` The next time the puppet client runs on host ABCD, it would create the file /opt/application/config.conf with the right hostname in the config file. ### HOW TO : Configure Jboss to append log files instead of overwriting them URL: https://kudithipudi.org/how-to-configure-jboss-to-append-log-files-instead-of-overwriting-them/ Last updated: 2012-04-25T16:26:52.000Z If you use the default logging options for Jboss, it has a nasty habit of overwriting log files on a restart. So, if you were in the middle of troubleshooting an issue and had to restart Jboss, you will end up loosing all the historic data. You can change this default behavior by changing one option in the log4j config file - You don’t even have to restart Jboss for this new setting to take place, since Jboss reads the log4j config every 60 seconds and updates the logging parameters accordingly. Edit the $JBOSS\_HOME/server/$JBOSS\_PROFILE/conf/jboss-log4j.xml and replace ``` ``` with ``` ``` ### Project Uptime : Recap URL: https://kudithipudi.org/project-uptime-recap/ Last updated: 2012-04-21T02:29:07.000Z Final post on Project Uptime. Before I go into the details of how well I fared against the original goals, here is a screenshot of the uptime of the site for the last two weeks.. Hope I can keep that number for the rest of this year :). ![](http://farm6.staticflickr.com/5198/7097776839_d3fe20c771_d.jpg "2012 : Kudithipudi : Uptime") Recap of the original goals and their status GOAL : Move to a fresh [VM](http://www.rackspace.com/cloud/cloud%5Fhosting%5Fproducts/servers/pricing/?ref=kudithipudi.org) with the [latest kernel](http://samsaffron.com/archive/2012/03/01/why-upgrading-your-linux-kernel-will-make-your-customers-much-happier?ref=kudithipudi.org) - STATUS : This was successfully completed. Details of the install are [here](https://kudithipudi.org/project-uptime-progress-report-1/) and [here](https://kudithipudi.org/project-uptime-progress-report-2/). GOAL : Upgrade to the latest version of [Apache](http://httpd.apache.org/?ref=kudithipudi.org). - STATUS : Although I didn’t install 2.4 version of Apache as planned, I was able to get similar (or better) performance by installing varnish as a caching engine. Details of thee apache/varnish install are [here](https://kudithipudi.org/project-uptime-progress-report-5-getting-ready-for-reddit-and-hacker-news/). GOAL : Upgrade to latest version of [MySQL](http://mysql.com/?ref=kudithipudi.org) and tune it for memory usage - STATUS : This was probably the easiest part of the project. Details of the install are [here](https://kudithipudi.org/project-uptime-progress-report-3/). I didn’t necessarily tweak it for low memory usage though. GOAL : Configure [cloudflare](http://www.cloudflare.com/?ref=kudithipudi.org) to serve a static version of front page, in case the server goes down. Design the static page to point people to my other digital presences ([Google+](https://plus.google.com/107691341586252309757?ref=kudithipudi.org), [LinkedIn](http://www.linkedin.com/in/kudithipudi?ref=kudithipudi.org), [Flickr](http://flickr.com/kudithipudi?ref=kudithipudi.org) etc) - STATUS : Cloudflar doesn’t have the capability to direct static pages if the origin server is down. At least not for the free tier. I also didn’t design a simple page to host my digital presence. Will try to find a good template for it down the road. All in all.. not bad 🙂 ### Overheard : Comment about trust URL: https://kudithipudi.org/overheard-comment-about-trust/ Last updated: 2012-04-20T02:55:40.000Z Said by [Dan Kaminsky](http://en.wikipedia.org/wiki/Dan%5FKaminsky?ref=kudithipudi.org) at the [Forensecure’12](http://www.cvent.com/events/forensecure-12-it-forensics-and-security-conference-and-expo/event-summary-3496b59fea7748d3ad66d7118c1b6db8.aspx?ref=kudithipudi.org) conference > If you trust everything, you might as well not trust anybody For the record.. In addition to being an awesome speaker, he is also a down to earth guy. Makes us geeks proud :). ### Project Uptime : Progress Report 7 : Putting the finishing touches URL: https://kudithipudi.org/project-uptime-progress-report-7-putting-the-finishing-touches/ Last updated: 2012-04-18T06:24:47.000Z We finally come to one of the last posts of [Project Uptime](https://kudithipudi.org/project-uptime/). Now that all the components have been setup, I finally copied the wordpress directory from my old server to the new one. The only changes, I had to make after copying the files were 1. Configure Apache to have the wordpress folder as the default directory. I did this by changing the DocumentRoot option in the vhost 2. Changed the permissions on the wordpress directories (so that wordpress can make rewrite rule changes on the fly) ``` sudo chmod -v 664 $WORDPRESS_DIRECTORY/.htaccess sudo chmod 755 $WORDPRESS_DIRECTORY/wp-content ``` ### HOW TO : Configure Jboss to use hugepages in RHEL/CentOS URL: https://kudithipudi.org/how-to-configure-jboss-to-use-hugepages-in-rhelcentos/ Last updated: 2012-04-17T22:23:42.000Z Most of us worry about paging to disk (swap), but if you are running a transaction intensive application the paging that happens in RAM also starts to impact the application performance. This happens due to the size of the “block” that is used to store data in memory. Hugepages allows you to store the data in bigger blocks, hence reducing the need to page while interacting with the data. Here is how you can enable hugepages and configure jboss (actually any Java app) to use hugepages on a RHEL/CentoOS system. **OS CONFIGURATION** Check if your system is capable of supporting hugepages by running ``` grep HUGETLB /boot/config-`uname -r` ``` If you see the response as below, you should be good ``` CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y ``` Next check if huge pages are already being used by running ``` cat /proc/sys/vm/nr_hugepages ``` 1. If the response is anything other than 0, that means hugepages have already been configured. - Calculate the amount of memory you want to dedicate to hugepages. (note: memory allocated to hugepages cannot be used by other processes in the system, unless they are configured to use it) Find the block size for hugepages by running ``` cat /proc/meminfo | grep -i hugepagesize ``` For example, I want to dedicate 3GB of RAM for hugepages. So the number of hugepages would be ``` (3*1024*1024)/2048 ``` Restart the server and check if hugepages has been enabled by running ``` cat /proc/meminfo | grep -i huge ``` Configure the number of hugepages on the system by editing the /etc/sysctl.conf and adding the option ``` vm.nr_hugepages = 1536 ``` (note: I put in 1536 since that was the value I got from the above example) You should see something like this ``` AnonHugePages:    839680 kB HugePages_Total:    1500 HugePages_Free:     1500 HugePages_Rsvd:        0 HugePages_Surp:        0 Hugepagesize:       2048 kB ``` **JBOSS CONFIGURATION** 1. At this point your system is configured with hugepages and any application that is configured to use them can leverage them. In this example, we want to configure Jboss to utilize these hugepages 2. Restart Jboss and you are good to go Finally add the following to the Jboss startup parameters. I edited the $JBOSS\_HOME/bin/run.sh file. (note: the startup file can be different based on your config) with the option ``` -XX:+UseLargePages ``` Next allocate the memory to the user by editing /etc/security/limits.conf and allocating the memory. Again, in my case, I added the following to /etc/security/limits.conf ``` # Allocate memory for Jboss user to take advantage of hugepages jboss   soft    memlock 1500 jboss   hard    memlock 1500 ``` Add the groupid of the user that Jboss is running under to the /etc/sysctl.conf file. In my case, the jboss user group had a GID of 505, so I added this line to /etc/sysctl.conf ``` vm.hugetlb_shm_group = 505 ``` note : A lot articles that I read online say that hugepages are effective when you are allocating large amounts of RAM to the application. The use case of just using 3GB above was just that.. a use case. While I cannot personally vouch for it, a lot of users have noted that they saw >2 fold increase in performance. ### HOW TO : Install RPM packages without checking gpg key URL: https://kudithipudi.org/how-to-install-rpm-packages-without-checking-pgp-key/ Last updated: 2012-04-16T22:07:58.000Z This is on RHEL and CentOS distros. If you want to install packages without checking the GPG key (hope you know why you are doing this!!), here is the command line option ``` sudo yum install package_to_install –nogpgcheck ``` ### HOW TO : Sync git clients across workstations using dropbox URL: https://kudithipudi.org/how-to-sync-git-clients-across-workstations-using-dropbox/ Last updated: 2012-04-16T02:47:38.000Z I have recently started using git as a source control for the various scrips that I write. As I also mentioned in this [post](https://kudithipudi.org/how-to-move-your-life-into-the-cloud/), I use dropbox to synchronize my data across workstations. Here is my setup for synchronizing git clients across multiple workstations using the same SSH keys (**note**: this is not a recommended setup from a security prospective. you are recommended to generate different SSH key pairs per workstation to ensure one key getting lost doesn’t compromise your entire account). 1. Workstation 1 1. create a directory under your dropbox root, that you want to use as your git home directory. Say DROPBOX/git 2. Install Git for Windows, or whatever git client you want to use 3. Change the home path on the git client by executing ``` HOME=’PATH_TO_DROPBOX/DROPBOX/git’ ``` 4. Check if the home path has been changed by executing ``` echo $HOME ``` 5. Create your SSH keys and configure your public key on the git server 2. Workstation 2 1. Repeat and rinse step 1 – 4 specified for workstation 1\. You don’t need to create the SSH keys since the other clients will recognize the keys that dropbox would have synced up. ### Project Uptime : Progress Report 6 : Tweaking Varnish URL: https://kudithipudi.org/project-uptime-progress-report-6-tweaking-varnish/ Last updated: 2012-04-14T05:54:00.000Z The server has held up pretty well, since [the installation](https://kudithipudi.org/project-uptime-progress-report-5-getting-ready-for-reddit-and-hacker-news/) of varnish. Based on [this](https://www.varnish-cache.org/trac/wiki/VarnishAndWordpress?ref=kudithipudi.org) wiki post, I added the following to /etc/varnish/default.vcl ```

# Drop any cookies sent to WordPress.
sub vcl_recv {
        if (!(req.url ~ "wp-(login|admin)")) {
                unset req.http.cookie;
        }
}
# Drop any cookies WordPress tries to send back to the client.
sub vcl_fetch {
        if (!(req.url ~ "wp-(login|admin)")) {
                unset beresp.http.set-cookie;
        }
}
```

I think the comments are pretty self explanatory.
### HOW TO : Check number of processes (including threads) being run/executed by a user in Linux
URL: https://kudithipudi.org/how-to-check-number-of-processes-including-threads-being-runexecuted-by-a-user-in-linux/
Last updated: 2012-04-11T23:50:23.000Z
Quick how to for finding out the list of processes, including threads spawned by these processes

```
ps -eLf | grep USERNAME
```

Explanation of the options

- e : Select all processes
- L : Show threads
- f : Extra full format
### Using Apache mod_rewrite for enhancing your application security
URL: https://kudithipudi.org/using-apache-mod_rewrite-for-enhancing-your-application-security/
Last updated: 2012-04-11T13:50:16.000Z
For my own notes.. very nice post on [perishablepress.com](http://perishablepress.com/?ref=kudithipudi.org) regarding using the different capabilities of mod\_rewrite to secure your website (application)

[http://perishablepress.com/eight-ways-to-blacklist-with-apaches-mod\_rewrite/](http://perishablepress.com/eight-ways-to-blacklist-with-apaches-mod%5Frewrite/?ref=kudithipudi.org)
### Thank you Mr.Tramiel, for introducing me to the world of computers..
URL: https://kudithipudi.org/thank-you-mr-tramiel-for-introducing-me-to-the-world-of-computers/
Last updated: 2012-04-10T11:19:24.000Z
When I was \~9 years old, my dad bought home a [Commodore 64K](https://en.wikipedia.org/wiki/Commodore%5F64?ref=kudithipudi.org). It was slow.. it was terrible graphics and it took for ever to load a program using it’s “tape” drive. But boy was it fascinating to load up basic and write your own programs!!. I can’t say how many summer hours were spent staring at the screen and trying to get things to work.

Looking back, I can say that I probably wouldn’t have been in the technology field, if not for that first taste of computing.

Thank you [Mr.Tramiel](http://en.wikipedia.org/wiki/Jack%5FTramiel?ref=kudithipudi.org). RIP.
### HOW TO : Redirect web traffic based on URL patterns in Apache
URL: https://kudithipudi.org/how-to-redirect-web-traffic-based-on-url-patterns-in-apache/
Last updated: 2012-04-09T23:27:51.000Z
Apache configuration to redirect traffic to a particular URL based on the pattern in the URL (AKA URI). In this particular example, I want to redirect any traffic that does not have the URL starting with /application or /content to redirect to https://domain\_name/application

- Enable the [rewrite module](https://kudithipudi.org/content/files/httpd-apache-org/docs/2-0/mod/mod%5Frewrite.xml) in Apache

Add the following conditions in the conf file

```
RewriteCond %{REQUEST_URI} !^/(application|content) [NC]
RewriteRule ^/(.*) https://%{HTTP_HOST}/application [R,L]
```

Explanation of the rule

- ! implies match if the string is not found
- ^ implies start of string
- | implies OR
- \[NC\] implies not case sensitive (no case)
- The rule will be triggered if the conditions match
- \[R,L\] means external (client side) redirection and last rule to process
### The race is on..
URL: https://kudithipudi.org/the-race-is-on/
Last updated: 2012-04-08T02:48:57.000Z
Instead of posting individual posts every day to track my progress (or lack of) in the 60 day challenge, I created this page () for the daily entries..

Wish me luck :).
### Viva la resistance
URL: https://kudithipudi.org/viva-la-resistance/
Last updated: 2012-04-06T13:15:38.000Z
I have a confession to make.. I like [Big Macs](http://nutrition.mcdonalds.com/nutritionexchange/nutritionfacts.pdf?ref=kudithipudi.org) and [Krispy Kreme Donuts](http://www.krispykreme.com/Upload/Pdfs/NutritionalTemplateUpdated2-21-2012.pdf?ref=kudithipudi.org) :). And they have contributed heavily to the increase in my .. hmm.. how do I say this.. mid section :). Plus, it doesn’t help that there is a Krispy Kreme factory and a McDonald’s right on my way to work. And add on to the fact that I haven’t been running for the last year or so, I am proud to say that I have joined the [\>65% of Americans](http://healthyamericans.org/assets/files/TFAH2011FasInFat10.pdf?ref=kudithipudi.org) that are obese.

On my way to work yesterday, I was thinking about what shape (physically) I would be in when [Virat](https://kudithipudi.org/virat-kudithipudi/) grows up. I am sure he doesn’t want to have a dad that can’t play some hoops with him :).

So here’s my 2 month resolution. I am starting with a couple of months because there is a good chance that it might [become a habit](http://www.ucl.ac.uk/news/news-articles/0908/09080401?ref=kudithipudi.org) and then go from there :).

- Exercise for 30 minutes a day (7 days a week)
- Eat dessert only once a week
- No krispy kreme
- No Big Mac
- No fries
- No pop

For every pledge I break, I am going to leave work at 5:00 PM for a week. Believe me when I say that is a tough punishment :). You see.. I love what I do :).

Viva La Resistance!!!
### HOW TO : Log all commands issued in shell to syslog
URL: https://kudithipudi.org/how-to-log-all-commands-issued-in-shell-to-syslog/
Last updated: 2012-04-05T23:41:07.000Z
Inspired from [this](http://jablonskis.org/2011/howto-log-bash-history-to-syslog/?ref=kudithipudi.org) blog post by [Vaidas Jablonskis](https://plus.google.com/112500968398778336156?ref=kudithipudi.org). This tip has been tested on Redhat and Centos distributions.

If you ever wanted to log all the commands issued by users on a server, you can edit the default profile configuration to enable this

- Log out and log back into your session
- Now all your commands are logged in the default log file (/var/log/messages)

Edit /etc/bashrc file and add the following at the end of the file

```
PROMPT_COMMAND=’history -a >(logger -t "$USER[$$] $SSH_CONNECTION")’
```
### HOW TO : Configure Jboss to send log messages to syslog
URL: https://kudithipudi.org/how-to-configure-jboss-to-send-log-messages-to-syslog/
Last updated: 2012-04-04T15:27:13.000Z
[Jboss](http://www.jboss.org/?ref=kudithipudi.org) uses the [log4j](http://logging.apache.org/log4j/index.html?ref=kudithipudi.org) framework for providing logging services. log4j is a very flexible framework and can do a lot of things. One of the features provided by log4j is to send log messages to multiple destinations. Here is a quick how to on configuring Jboss to send log messages using the syslog protocol to a syslog server. This is pretty useful, when you are trying to consolidate logs from multiple sources into a central location.

First, some background about how log4j is configured in Jboss

The log4j configuration in Jboss is managed by the file jboss-log4j.xml located at $JBOSS\_HOME/server/$JBOSS\_PROFILE/conf.

There are three parts to this configuration file

1. Appenders
  - An appender is a way to define a particular logging method. By default, Jboss provides a bunch of appenders in this config file, but only the FILE and CONSOLE appenders are enabled. The FILE appender writes the log messages to a log file and rotates them based on the criteria in the appender. The CONSOLE appender just sends messages to the console. This will come into picture, when you are not running Jboss as a service. In addition, there are appenders for syslog, snmp, email that are commented out.
2. Categories
  - A category is where you define the class you want to log messages for and which appender it should use. If you don’t specify an appender or the threshold for the logging level, logging for this class will be done at the default log levels and by the appender specified by the default (root) category.
3. Default (root) Category
  - As mentioned above, this is the catch all for classes that are not specified specifically in the categories section.

So pictorially, it would look like this

![](http://farm6.staticflickr.com/5280/6899088292_a24242b145_d.jpg "Jboss : log4j Layout")

Getting back to the reason for this post, here is how you would enable the syslog appender and then configure a category to use this appender. For this example, we will use a class names org.kudithipudi

1. Restart Jboss and you should see messages from Jboss being sent to the syslog server

Add a new category to use this appender

```




```

Enable the syslog appender by un-commenting the following section in the jboss-log4j.xml file

```











```

Couple of notes..

- Even though we are specifying the threshold of INFO in the category, because we specified a threshold of ERROR in the appender, only message of ERROR type will be sent to the syslog server. This is actually pretty useful when you want to specify two appenders to a category and log them at different levels. You can set another appender to INFO level and add it to this category. And in essence, the appender will log everything of INFO and higher, while the syslog appender will only process ERROR messages.
- The destination for the syslog messages is the SysLogHost parameter. In this example, I just used localhost.
### Never assume.
URL: https://kudithipudi.org/never-assume/
Last updated: 2012-04-04T02:28:24.000Z
When troubleshooting performance issues..never take anything for granted..yes, even if something was not touched or restarted, chances are something touching it has been and might have affected it.

This goes esp for the network (IP and fiber) which don’t change as often as the rest of the environment.
### Project Uptime : Progress Report 5 : Getting ready for Reddit and Hacker News
URL: https://kudithipudi.org/project-uptime-progress-report-5-getting-ready-for-reddit-and-hacker-news/
Last updated: 2012-04-03T02:03:30.000Z
A very [timely post](http://news.ycombinator.com/item?id=3775715&ref=kudithipudi.org) on [Hacker News](http://news.ycombinator.com/?ref=kudithipudi.org) by [Ewan Leith](http://www.ewanleith.com/?ref=kudithipudi.org) about configuring a low end server to take \~11million hits/per month gave me some more ideas on optimizing the performance of this website. Ewan used a combination of [nginx](htt://nginx.org) and [varnish](https://www.varnish-cache.org/?ref=kudithipudi.org) to get the server to respond to such traffic.

From my [earlier post](https://kudithipudi.org/project-uptime/), you might recall, that I planned on checking out nginx as the web server, but then ended up using [Apache](https://kudithipudi.org/project-uptime-progress-report-3/). My earlier stack looked like this

![](http://farm8.staticflickr.com/7059/6894483670_4f80897e59_n_d.jpg "Stack - Old")

Based on the recommendations from Ewan’s article, I decided to add Varnish to the picture. So here is how the stack looks currently

![](http://farm8.staticflickr.com/7188/6894483686_dbd524fedb_n_d.jpg "Stack - New")

And boy, did the performance improve or what. Here are some before and after performance charts based on a test run from [blitz.io](http://blitz.io/?ref=kudithipudi.org). The test lasted for 60 seconds and was for 250 simultaneous connections.

**BEFORE**

Screenshot of the analysis summary. 84% error rate!!

![](http://farm8.staticflickr.com/7241/7039058741_24785181aa_z_d.jpg "Pre Varnish - 2")

Screenshot of Response times and hit rates. Note that the server essentially stopped responding 25 minutes into the test.

![](http://farm8.staticflickr.com/7085/7039058711_ec1ee1d2de_z_d.jpg "Pre Varnish")

**AFTER**

Screenshot of summary of Analysis. 99.98% success rate!!

![](http://farm8.staticflickr.com/7125/7039058847_26f9765f78_z_d.jpg "Post Varnish - 2")

Screenshot of response times and hit rates

![](http://farm8.staticflickr.com/7126/7039058817_7a2bacb17a_z_d.jpg "Post Varnish - 1")

What a difference!!.. The server in fact stopped responding after the first test and had to be hard rebooted. So how did I achieve it? By mostly copying the ideas from Ewan :). The final configuration for serving the web pages looks like this on the server end

Varnish (listens on TCP 80) –> Apache (listens on TCP 8080)

**NOTE :** All the configuration guides (as with the previous entries of the posts in this series) are specific to Ubuntu.

1. Configure Apache to listen on port 8080
  1. Stop Apache  
  ```  
  sudo service apache2 stop  
  ```
  2. Edit the following files to change the default port from 80 to 8080
    1. /etc/apache2/ports.conf
      1. Change  
      ```  
      NameVirtualHost *:80  
      Listen 80  
      ```
      2. to  
      ```  
      NameVirtualHost *:8080  
      Listen 8080  
      ```
    2. /etc/apache2/sites-available/default.conf (NOTE: This is the default sample site that comes with the package. You can create a new one for your site. If you do so, you need to edit your site specific conf file)
      1. Change  
      ```  
        
      ```
      2. To  
      ```  
        
      ```
  3. Restart apache and ensure that it is listening on port 8080 by using this [trick](https://kudithipudi.org/how-to-find-out-which-network-port-a-program-is-using-in-linux/).
2. Install Varnish and configure it to listen on port 80
  1. Add the Varnish repository to the system and install the package  
  ```  
  sudo curl http://repo.varnish-cache.org/debian/GPG-key.txt | apt-key add –  
  sudo echo "deb http://repo.varnish-cache.org/ubuntu/ lucid varnish-3.0" >> /etc/apt/sources.list  
  sudo apt-get update  
  sudo apt-get install varnish  
  ```
  2. Configure Varnish to listen on port 80 and use 64Mb of RAM for caching. (**NOTE:** Varnish uses port 8080 to get to the backend, in this case Apache, by default. So there is no need to configure it specifically).
    1. Edit the file /etc/default/varnish
      1. Change  
      ```  
      DAEMON_OPTS="-a :6081 \

-T localhost:6082 \

-f /etc/varnish/default.vcl \

-S /etc/varnish/secret \

-s malloc,256m"  
      ```
      2. To  
      ```  
      DAEMON_OPTS="-a :80 \

-T localhost:6082 \

-f /etc/varnish/default.vcl \

-S /etc/varnish/secret \

-s malloc,64m"  
      ```
  3. Restart Varnish  
  ```  
  sudo service varnish restart  
  ```  
  and you are ready to rock and roll.

There are some issues with this setup in terms of logging. Unlike your typical web server logs, where every request is logged, I noticed that not all the requests were being logged. I guess, that is because varnish is serving the content from cache. I have to figure out how to get that working. But that is for another post :).
### 31 Days and 29 posts
URL: https://kudithipudi.org/31-days-and-29-posts/
Last updated: 2012-04-01T16:45:59.000Z
In early March 2012, I decided to write at least one blog post per day for the [whole month](https://kudithipudi.org/2012/03/). How did I do? 29 posts in 31 days. I should acknowledge that I cheated a bit :), by blogging two posts in a day, but scheduling them to be published in different days.

![](http://farm8.staticflickr.com/7072/7038679557_70018440eb_o_d.png "2012 March : Blog Posts")

My learning from the month long exercise?

- There is truth to the adage “practice makes one perfect” :). The more I wrote, the quicker I was in getting the posts completed. I used to take a couple of weeks to a month in completing a post, but now, I can crank one out in a few minutes.
- I stuck to the “perfect is the enemy of good” principal. Even though I knew that some of the posts were not as good as I wanted them to be, I kept posting them and then editing them later on.
- More content = more traffic. Even if you don’t write earth shattering articles, there is just more content for the search engines to index you on. I saw an uptick in the traffic to the site in March.

Let’s see, how long I can keep it up.

And no.. this is not an April fools joke :).
### HOW TO : Perform OCR on PDF files for free
URL: https://kudithipudi.org/how-to-perform-ocr-on-pdf-files-for-free/
Last updated: 2012-03-31T13:12:25.000Z
I had to convert a scanned PDF file into an editable document recently. You can do this using [OCR](http://en.wikipedia.org/wiki/Optical%5Fcharacter%5Frecognition?ref=kudithipudi.org) and there is a [ton](http://en.wikipedia.org/wiki/List%5Fof%5Foptical%5Fcharacter%5Frecognition%5Fsoftware?ref=kudithipudi.org) of software out there, that does this. There are even [web based services](http://www.free-ocr.com/?ref=kudithipudi.org) that do this. But each of them had limitations (either had to buy the software or limit in the number of pages that can be scanned). I didn’t want to buy the license, since this is not something I would be doing regularly and the document I had to convert was 61 pages, so none of the online services allowed me to do it. I remembered reading that Google Docs, added this (OCR) capability a while ago and since I have a Google Apps account, I decided to give it a try.

Google also has a limit of 2 pages per OCR conversion. So after some brainstorming, I came up with this quick hack to use [Google Docs](http://docs.google.com/?ref=kudithipudi.org) for converting large PDF files into editable content.

1. Split the PDF file into two page documents using [PDFsam](http://www.pdfsam.org/?ref=kudithipudi.org) (Open Source PDF Split and Merge Tool).
2. Log into your Google Docs interface at [http://docs.google.com](http://docs.google.com/?ref=kudithipudi.org) . All you need is a Google Account to use this feature
3. As you upload the files, Google creates an editable document with the text from the PDF files. You can then create a new document and copy/paste the content from all the smaller files.

Upload the PDF files you created in step 1.

![](http://farm8.staticflickr.com/7191/7038644647_0a5176e6a9_o_d.png "Google Docs : Upload Files")

Check the settings to convert PDF files to editable

![](http://farm8.staticflickr.com/7255/6892548786_b7a3f38335_z_d.jpg "Google Docs : Convert PDF to text")

Create a folder (collection) to organize your files. This is not required, but it will make searching for the files a lot easier

![](http://farm8.staticflickr.com/7080/7038644631_3201ef721f_d.jpg "Google Docs : Creation New Collection")

I think someone with more programming chops than me can improve this by using the [Google API](https://developers.google.com/google-apps/documents-list/?ref=kudithipudi.org) to do the copy/paste from the smaller docs into the final document :).
### HOW TO : List files that don't contain a string using find and grep
URL: https://kudithipudi.org/how-to-list-files-that-dont-contain-a-string-using-find-and-grep/
Last updated: 2012-03-30T20:32:34.000Z
If you run into a situation, where you need to search through a bunch of files and print the names of the files that don’t contain a particular string, here is how you do it in Linux

```
find -name PATTERN_FOR_FILE_NAMES | xargs grep -L STRING_YOU_ARE_SEARCHING_FOR
```

The -L option for grep does this (according to the manual)

> Suppress normal output; instead print the name of each input file from which no output would normally have been printed. The scanning will stop on the first match.
### HOW TO : Capture all traffic to and from a host using tcpdump
URL: https://kudithipudi.org/how-to-capture-all-traffic-to-and-from-a-host-using-tcpdump/
Last updated: 2012-03-30T15:59:02.000Z
Quick one liner for capturing traffic destined to and arriving from a host (IP address) using tcpdump and writing it to a file for analyzing later on

```
tcpdump -s0 host x.x.x.x -w destination.pcap
```
### Project Uptime : Progress Report – 4
URL: https://kudithipudi.org/project-uptime-progress-report-4/
Last updated: 2012-03-29T05:26:51.000Z
Continuing to lock down the server as part of [project uptime](https://kudithipudi.org/project-uptime/) a bit more.. I highly recommend enabling and using [iptables](http://www.netfilter.org/?ref=kudithipudi.org) on every Linux server. I want to restrict inbound traffic to the server to only SSH (tcp port 22) and HTTP(S) (tcp port 80/443). Here’s the process

Check the current rules on the server

```
sudo iptables -L
```

Add rules to allow SSH, HTTP and HTTPS traffic and all traffic from the loopback interface

```
sudo iptables -I INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m conntrack –ctstate RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp –dport ssh -j ACCEPT
sudo iptables -A INPUT -p tcp –dport http -j ACCEPT
sudo iptables -A INPUT -p tcp –dport https -j ACCEPT
```

Drop any traffic that doesn’t match the above mentioned criteria

```
sudo iptables -A INPUT -j DROP
```

save the config and create script for the rules to survive reboots by running

```
sudo su –
iptables-save > /etc/firewall.rules
```

now create a simple script that will load these rules during startup. Ubuntu provides a pretty neat way to do this. You can write a simple script and place it in /etc/network/if-pre-up.d and the system will execute this before bringing up the interfaces. You can get pretty fancy with this, but here is a simple scrip that I use

```

samurai@samurai:/etc/network/if-pre-up.d$ cat startfirewall
#!/bin/bash
# Import iptables rules if the rules file exists
if [ -f /etc/firewall.rules ]; then
iptables-restore route ADD IP_ADDRESS_OF_MAIL_SERVER MASK 255.255.255.255 127.0.0.1
```

I ran into a need to try it today and looks like the trick doesn’t work :). So here is the right command if you want to route traffic to the loopback (or blackhole) destined to a particular IP address

```
sudo route add -host IP_ADDRESS_OF_HOST/NETWORK_MASK lo
```

For example if I want to black-hole traffic destined to 74.205.216.2, I would do the following

```
sudo route add -host 74.205.216.2/32 lo
```
### Dreaming
URL: https://kudithipudi.org/dreaming/
Last updated: 2012-03-26T03:35:37.000Z
James Cameron successfully completed a deep dive into the deepest part of the ocean [today](http://www.bbc.co.uk/news/science-environment-17503395?ref=kudithipudi.org). And with it, he repeated a feat that was tried 50 years ago. I cannot wait for the documentary he is going to make out of this dive. I put this on the same scale as someone flying to the moon and back. Yes, I know it was done [before](https://en.wikipedia.org/wiki/Moon%5Flanding?ref=kudithipudi.org). But it has never been repeated again.

By doing this, Mr. Cameron has inspired to start dreaming again. That we can still fly to the moon.. that we can one day travel beyond the boundaries of our solar system

Thank you Mr. Cameron, for letting us dream again.
### Driving in Texas
URL: https://kudithipudi.org/driving-in-texas/
Last updated: 2012-03-25T04:31:27.000Z
If you are ever driving in the country of Texas (yes, for the uninitiated, Texas is a country by itself 🙂 ), drive in the left most lane if you don’t want to get off the highway and drive in the rightmost lane if you want to get off the highway. Even the folks that only drive at 55 and are always in the right lane need to heed this advice..

Or you will be getting off and on the never ending “frontage” roads 🙂

I shared by two cents!!
### DID YOU KNOW : Windows mobile and wildcard certs don't work together
URL: https://kudithipudi.org/did-you-know-windows-mobile-and-wildcard-certs-dont-work-together/
Last updated: 2012-03-24T04:32:33.000Z
Wildcard SSL certificates allow you to use one certificate for all sub domains (up to one level) of a host. Say I got a wildcard SSL certificate for \*.kudithipudi.org, I would be able to use it to provide SSL on blah.kudithipudi.org, ssltest.kudithipudi.org, youcannotbeserious.kudithipudi.org and the clients won’t complaint about it.

For some reason though, Windows Mobile phones don’t like wildcard certs. So if you are ever scratching your head, why every other client works, but windows mobile devices don’t..stop scratching and get a regular SSL certificate for your website/application.

Apparently, this is the case with

- Windows CE
- Windows Mobile 5.0
- Windows Mobile 6.0
- Windows Mobile 7.0

Don’t you get the feeling that someone keeps using the same library and never bothered to check/fix it? And searching on MSDN or any other Microsoft resource won’t provide you this information. This is my own deduction after beating my head against the wall for more than 3 days :).
### Up above the world..like a bird in the sky
URL: https://kudithipudi.org/up-above-the-world-like-a-bird-in-the-sky/
Last updated: 2012-03-22T11:27:56.000Z
![](http://farm1.staticflickr.com/188/440169254_73105942c9_z_d.jpg "Like a bird in the sky..")
### Stay Hungry.. Stay Foolish
URL: https://kudithipudi.org/stay-hungry-stay-foolish/
Last updated: 2012-03-22T03:24:29.000Z
Just read a really nice article on the [Harvard Business Review](http://www.hbr.org/?ref=kudithipudi.org) by [Walter Isaacson](http://en.wikipedia.org/wiki/Walter%5FIsaacson?ref=kudithipudi.org) on leadership lessons of [Steve Jobs](http://en.wikipedia.org/wiki/Steve%5FJobs?ref=kudithipudi.org) at [http://hbr.org/2012/04/the-real-leadership-lessons-of-steve-jobs/ar/pr](http://hbr.org/2012/04/the-real-leadership-lessons-of-steve-jobs/ar/pr?ref=kudithipudi.org) . There were a lot of points that Walter makes in the article, but the one that resonated a lot with me was the need to “**Stay Hungy.. Stay Foolish**“. This is similar to having a “hacker mentality”, which I believe is one of the key ingredient for a person to be successful (professionally and personally).

Being a hacker means..

- being inquisitive about how things work.
- always being a student
- being able to challenge “this is how we always did things”
- never stop perfecting
- remembering that one can (and used to) survive on ramen noodles 🙂
### Project Uptime : Progress Report – 2
URL: https://kudithipudi.org/project-uptime-progress-report-2/
Last updated: 2012-03-21T03:38:46.000Z
After I installed the new kernel as mentioned in this [update](https://kudithipudi.org/project-uptime-progress-report-1/), I was still seeing the server booting up with the older version. I tried to have the kernel install option (apt-get install linux-image-VERSION) to overwrite the grub config, but the server wouldn’t boot up after that.

So after a lot of head scratching and googling, I found the solution. Rather than have the install program automatically update the grub config file, you have to manually edit it.

So install the latest kernel using the commands as mentioned in my previous post ([https://kudithipudi.org/2012/03/07/project-uptime-progress-report-1/](https://kudithipudi.org/project-uptime-progress-report-1/)) and when prompted about the having an existing grub menu and if you want to overwrite it, just say no. Then do the following

- Edit the grub boot menu by editing the file /boot/grub/menu.1st and add a section for the new kernel image.
- Edit the default boot option to the new kernel image (NOTE.. the sequence starts from 0)
- Reboot the server and enjoy the new kernel

Check the new kernel image filename by running

```
ll /boot/vmlinuz*
```

Here’s my before and after comparisons for the server I am building

**BEFORE** (this is after the line ## End Default Options ##)

```

title Ubuntu 11.10, kernel 3.0.0-12-virtual
root (hd0)
kernel /boot/vmlinuz-3.0.0-12-virtual root=/dev/xvda1 console=hvc0 ro quiet splash
initrd /boot/initrd.img-3.0.0-12-virtual
title Ubuntu 11.10, kernel 3.0.0-12-virtual (recovery mode)
root (hd0)
kernel /boot/vmlinuz-3.0.0-12-virtual root=/dev/xvda1 console=hvc0 ro single
initrd /boot/initrd.img-3.0.0-12-virtual
title Ubuntu 11.10, kernel 3.0.0-16-virtual
root (hd0)
kernel /boot/vmlinuz-3.0.0-16-virtual root=/dev/xvda1 console=hvc0 ro quiet splash
initrd /boot/initrd.img-3.0.0-16-virtual
title Chainload into GRUB 2
root (hd0)
kernel /boot/grub/core.img
title Ubuntu 11.10, memtest86+
root (hd0)

```

**AFTER**

```

title Ubuntu 11.10, kernel 3.0.0-12-virtual
root (hd0)
kernel /boot/vmlinuz-3.0.0-12-virtual root=/dev/xvda1 console=hvc0 ro quiet splash
initrd /boot/initrd.img-3.0.0-12-virtual
title Ubuntu 11.10, kernel 3.0.0-12-virtual (recovery mode)
root (hd0)
kernel /boot/vmlinuz-3.0.0-12-virtual root=/dev/xvda1 console=hvc0 ro single
initrd /boot/initrd.img-3.0.0-12-virtual
title Ubuntu 11.10, kernel 3.0.0-16-virtual
root (hd0)
kernel /boot/vmlinuz-3.0.0-16-virtual root=/dev/xvda1 console=hvc0 ro quiet splash
initrd /boot/initrd.img-3.0.0-16-virtual
title Chainload into GRUB 2
root (hd0)
kernel /boot/grub/core.img
title Ubuntu 11.10, memtest86+
root (hd0)

```

BTW.. Grub is the boot manager (and a lot more) in Linux.
### HOW TO : Check SSL certificate validity using curl
URL: https://kudithipudi.org/how-to-check-ssl-certificate-validity-using-curl/
Last updated: 2012-03-19T16:01:07.000Z
If you want to check the SSL certificate validation (expiry time, hostname match, self signed etc) using curl, you can do it by running

```
curl -cacert URL_ADDRESS
```

Example : If you want to check the SSL certificate of GoDaddy

```
curl -cacert https://www.godaddy.com
```
### Love kids..
URL: https://kudithipudi.org/love-kids/
Last updated: 2012-03-19T03:54:36.000Z
We spent the weekend with Sri and family and I got a chance to capture some nice shots of Sindhu and Virat. Kids are such a pleasure to take pictures of.. innocent, dont\_care\_how\_I\_look..giggly 🙂

**Sindhu gazing at Virat**

![](http://farm8.staticflickr.com/7200/6994131345_332561ec97_z_d.jpg "Sindhu : Gazing at Virat")

**Virat loving the attention**

![](http://farm8.staticflickr.com/7068/6994208517_f098673390_z_d.jpg "Virat : Enjoying the attention")

  
**Do you want my balloons?**

![](http://farm8.staticflickr.com/7208/6994243443_4ce4d726e3_z_d.jpg "Sindhu : Playing with Balloons")

**Are you looking at me?**

![](http://farm8.staticflickr.com/7185/6994125861_cbe91850ca_z_d.jpg "Virat : Giggling..")

**One happy family.. aren’t they beautiful??**

![](http://farm8.staticflickr.com/7210/6848079324_6fbc014dcc_z_d.jpg "Paruchuri  : Family Protrait")
### HOW TO : Generate MD5 fingerprint of SSL cert
URL: https://kudithipudi.org/how-to-generate-md5-fingerprint-of-ssl-cert/
Last updated: 2012-03-17T20:10:11.000Z
Quick onliner on generating a MD5 fingerprint for a SSL certificate using openssl

```
openssl x509 -noout -md5 -fingerprint -in NAME_OF_CERTIFICATE_FILE
```

If you don’t specify the -md5 option, you will get a SHA1 fingerprint.
### DID YOU KNOW : How often the letter "e" is used?
URL: https://kudithipudi.org/did-you-know-how-often-the-letter-e-is-used/
Last updated: 2012-03-16T11:08:28.000Z
“**e**” is the most used letter in the english language. It appears \~12.7% of the time in the language.

The next popular letter is “**t**“, which appears \~ 9.1% of the time.

And “**a**” takes the third spot at 8.1%..

How did I find this out? From the free [Crypto class](http://crypto-class.org/?ref=kudithipudi.org) being provided by [Dan Boneh](http://crypto.stanford.edu/~dabo/?ref=kudithipudi.org) from the [Stanford University](http://www.stanford.edu/?ref=kudithipudi.org).
### Things to experience..
URL: https://kudithipudi.org/things-to-experience/
Last updated: 2012-03-15T14:04:00.000Z
Pictures of sunrise over I-90 (highway) in Chicago. I challenged myself to take pictures of a sunrise in the middle of the road.. while I didn’t technically take these pictures from the middle of the road :).. I did take them from the roadside.

![](http://farm8.staticflickr.com/7061/6984620109_da48f8c258_z_d.jpg "Chicago : Sunrise")

![](http://farm8.staticflickr.com/7178/6984620639_03f1a2540d_z_d.jpg "Chicago : Ohare : Sunrise")

Complete collection at [http://www.flickr.com/photos/kudithipudi/sets/72157629225713384/with/6984620639/](http://www.flickr.com/photos/kudithipudi/sets/72157629225713384/with/6984620639/?ref=kudithipudi.org)
### HOW TO : Increasing number of processes that can be run by a user in Linux
URL: https://kudithipudi.org/how-to-increasing-number-of-processes-that-can-be-run-by-a-user-in-linux/
Last updated: 2012-03-15T03:15:32.000Z
By default, most of the Linux distros limit the number of processes that a user can spawn. This is put in place to limit (un)intended cases when a process might just fork off processes without a limit and bring down a server.

For RHEL (and CentOS), the default is 1024 processes per user. In some cases, you do need to increase the number of processes that a particular user can spawn. For example if you are running a database or an application server, you definitely want to tweak this number because these apps tend to create a lot of threads.

As a side note, if you run into this limitation on a machine running jboss, you typically see an error with the following string in your server logs

```
java.lang.OutOfMemoryError: unable to create new native thread.
```

. Looking at the error, one would think it is related to memory issues :).

OK.. back to the subject at hand. Here is the process for identifying your limits and then tweaking them as required in RHEL or CentOS.

- Restart the server. The updated settings won’t take affect until this is done

Check if you have the new limits by running

```
ulimit -u
```

Edit the /etc/security/limits.d/90-nproc.conf file and update it to have the same soft limits. By default, it has 1024 as the limit. So an updated file with my new limits as in the example above would look like this

```

# Default limit for number of user’s processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
*          soft    nproc     2000
```

Edit the /etc/security/limits.conf file and add the required limits. You can get all the possible options by running man limits.conf. For example, if I wanted all the users to have a soft limit of 2000 and a hard limit of 4000, my limits.conf file wold look like this

```
# Increase the number of threads per process
*       soft    nproc   200
*       hard    nproc   4000
```

Check the current limits on the number of processes a user can run by executing

```
ulimit -u
```

You can also check the limits of a particular user by finding a process ID being executed by that user and running

```
sudo cat /proc/PROCESS_ID/limits
```
### HOW TO : Configure Jboss for writing web access logs
URL: https://kudithipudi.org/how-to-configure-jboss-for-writing-web-access-logs/
Last updated: 2012-03-14T03:08:33.000Z
One of the capabilities of Jboss is that it can serve HTTP traffic. By default Jboss does not log any of the HTTP traffic in it’s log files. Here is a quick howto on enabling this logging. This post is specific to Jboss 4.x (ancient!!) and I will post another one soon on how do it in version 5.x and newer.

Edit the server.xml file located in $JBOSS\_HOME/servers/$PROFILE/deploy/jboss-web.deployer and replace the commented out access logger section as such

FROM

```

–>
```

TO

```

```

This will start creating a file with the format localhost\_access\_log.CURRENT\_DATE.log in the $JBOSS\_HOME/server/$PROFILE/log folder

But it isn’t fun if you just leave the default logging right :). The pattern formats of common and combined are similar to the standard apache logging options. But if you wanted to have certain content and format in the log files, you have a lot of options. Jboss community has documented all the data that is exposed through this valve at [http://docs.jboss.org/jbossweb/latest/api/org/apache/catalina/valves/AccessLogValve.html](http://docs.jboss.org/jbossweb/latest/api/org/apache/catalina/valves/AccessLogValve.html?ref=kudithipudi.org)

So say, I want to log the referrer header, user agent and the value of a cookie called JSESSONID and log all this data into a file called jboss\_web\_access\_log, I setup the options as such

```

```
### HOW TO : Check the number of threads spawned (opened) by a process
URL: https://kudithipudi.org/how-to-check-the-number-of-threads-spawned-opened-by-a-process/
Last updated: 2012-03-12T22:28:39.000Z
If you ever wanted to check how many threads a particular process spawned off in Linux, you can use

Check the number of threads opened by this process by running

```
ps uH p  | wc -l
```

Find the PID of the process by running

```
ps -ef | grep -i PROCES_NAME
```
### What secrets do you carry?
URL: https://kudithipudi.org/what-secrets-do-you-carry/
Last updated: 2012-03-11T03:04:07.000Z
Guess what this is?

![](http://farm8.staticflickr.com/7052/6828055694_6130385fb2_z_d.jpg "Mystery Object")
### HOW TO : Clear unused swap memory in Linux
URL: https://kudithipudi.org/how-to-clear-unused-swap-memory-in-linux/
Last updated: 2012-03-09T15:15:54.000Z
Inspired by a [G+ post](https://plus.google.com/104551001409329971286/posts/ANqXkBeChst?ref=kudithipudi.org) by [Thomas Weeks](https://plus.google.com/104551001409329971286?ref=kudithipudi.org) .

[swap](http://en.wikipedia.org/wiki/Paging?ref=kudithipudi.org) memory is something used by the OS to essentially swap data to and forth if the main memory is not available. It is several times slower than RAM, since it uses hard disk to store the memory. And if you are constantly swapping, your system performance is going to be impacted quite a lot. You should always ensure that your system is not swapping by adding the required RAM and/or stopping your application(s) from using so much memory. At times, because of spike in utilization, the OS might briefly use swap. And when it does, it doesn’t release the memory from swap. So from an analysis prospective, it makes it difficult to check (quickly) if your system is using swap or not. This is similar to errors on an interface in a router. Unless you clear them and monitor, you don’t know when the errors happened.

I was not aware that you could turn off swap devices while the OS is running and then enable them again. So here are the commands to do that in Linux

```
swapoff -a
```

This essentially disables swap on all devices configured for swap in /etc/fstab

```
swapon -a
```

This does the opposite of the first command. Enabled swap on all devices that have swap configured.

Tom put this into a nice alias by doing the following

```
alias unswap=’sudo swapoff -a && sudo swapon -a'
```

Thx Tom…
### HOW TO : Clear screen based on OS in python scripts
URL: https://kudithipudi.org/how-to-clear-screen-based-on-os-in-python-scripts/
Last updated: 2012-03-08T14:59:46.000Z
I like shiny new toys :). Even though [perl](http://perl.org/?ref=kudithipudi.org) is pretty powerful and more than enough for the simple tasks I get to automate from time to time, I want to start learning [python](http://python.org/?ref=kudithipudi.org) and find out first hand, why the whole geek community is raving about it.

As I start to write new scripts in python, I wanted to document how I used to do some things in perl and how I implemented them in python.

One of the standard features of any script I write is to “clear” the screen before starting to send output to the console. Here is the comparison between perl and python

#### perl

```
system $^O eq ‘MSWin32’ ? ‘cls’ : ‘clear’;
```

#### python

```

# Clear screen, based on the OS
if (os.name == ‘nt’):
os.system("cls")
else:
os.system("clear")

```
### Project Uptime : Progress Report – 1
URL: https://kudithipudi.org/project-uptime-progress-report-1/
Last updated: 2012-03-07T09:05:38.000Z
Here is the first update on [Project Uptime](https://kudithipudi.org/project-uptime/). I spun up a new server (doesn’t that sound so odd.. spun up a new server!! :)) with 512MB of RAM running [Ubuntu 11.1o (Oneiric Ocelot)](https://wiki.ubuntu.com/OneiricOcelot?ref=kudithipudi.org). First order of business after spinning up the server?

- Update to the latest and greatest patches

```
sudo apt-get update
```

- Update to the latest kernel.
  - First check the version of kernel you are running

```
uname -r
```

  - Check the repository for latest version

```
apt-cache search linux-image
```

  - Install latest version

```
sudo apt-get install linux-image-LATEST-VERSION
```

  - Restart server

```
sudo init 6
```
### HOW TO : Find size of directories in current directory
URL: https://kudithipudi.org/how-to-find-size-of-directories-in-current-directory/
Last updated: 2012-03-06T15:02:45.000Z
Quick note for self. Simple bash loop to find out the size of each directory in the existing directory. This script is useful if you are running our of disk space and want to quickly find out the offending directory.

```
for dir in $(find ./ -maxdepth 1 -type d); do echo ${dir}; du -ch ${dir} | grep -i total; done
```

Breaking this down

- The find command prints out a list of directories. You can modify it to do recursive lookups by just removing the -maxdepth option. This output is fed into the bash loop
- du gets the size of all the files (and sub directories) in the directory and grepping it for total gives you the total size of the directory
### Project : Uptime
URL: https://kudithipudi.org/project-uptime/
Last updated: 2012-03-05T10:13:27.000Z
The uptime of this [blog](https://kudithipudi.org/) has been really bad recently. I switched to hosting it on a [Rackspace virtual server](http://www.rackspace.com/cloud/?ref=kudithipudi.org) last year and went with the cheapest option. A 256MB Linux virtual server that was costing me \~$12/month. I never got around to tuning the OS, so the server was always using swap and would go down pretty much every day. Last week, I upgraded the plan and moved to a 512MB server. But the uptime hasn’t been any better. Here’s a report from [Pingdom](http://www.pingdom.com/?ref=kudithipudi.org) (which by the way is a great service to track the uptime and responsiveness of your website) showing the availability of the site over the last year

![](http://farm8.staticflickr.com/7186/6954497697_ae9db5e83c_o_d.png "Pingdom Report : Kudithipudi.Org")

96%!!.. And for someone that has been working in the operations and infrastructure world, that is unacceptable :). So my new goal is to maintain at least 99.5% uptime. Here is my plan to achieve this

1. Move to a fresh [VM](http://www.rackspace.com/cloud/cloud%5Fhosting%5Fproducts/servers/pricing/?ref=kudithipudi.org) with the [latest kernel](http://samsaffron.com/archive/2012/03/01/why-upgrading-your-linux-kernel-will-make-your-customers-much-happier?ref=kudithipudi.org)
2. Upgrade to the latest version of [Apache](http://httpd.apache.org/?ref=kudithipudi.org). Initially, I wanted to move to [nginx](http://nginx.org/?ref=kudithipudi.org) or [lighttpd](http://www.lighttpd.net/?ref=kudithipudi.org), but with the [recent Apache upgrade](http://httpd.apache.org/docs/trunk/new%5Ffeatures%5F2%5F4.html?ref=kudithipudi.org), I hear good things about Apache working well in low memory situations.
3. Upgrade to latest version of [MySQL](http://mysql.com/?ref=kudithipudi.org) and tune it for memory usage
4. Configure [cloudflare](http://www.cloudflare.com/?ref=kudithipudi.org) to serve a static version of front page, in case the server goes down. Design the static page to point people to my other digital presences ([Google+](https://plus.google.com/107691341586252309757?ref=kudithipudi.org), [LinkedIn](http://www.linkedin.com/in/kudithipudi?ref=kudithipudi.org), [Flickr](http://flickr.com/kudithipudi?ref=kudithipudi.org) etc)

I plan to blog the progress and learnings as I implement this plan.
### HOW TO : Search and Replace text in a file with Perl
URL: https://kudithipudi.org/how-to-search-and-replace-text-in-a-file-with-perl/
Last updated: 2012-03-04T07:10:59.000Z
There are tons of sites (and tons of different ways to do this) about this information.. But wanted to note this down for my personal records. If you ever wanted to search for and replace certain text in a file, you can do it with perl with this quick one liner

```
perl  -p -i -e ‘s/ORIGINAL_STRING/NEW_STRING/g’ FILE_NAME
```
### Innovative Wedding Invitation
URL: https://kudithipudi.org/innovative-wedding-invitation/
Last updated: 2012-03-02T05:58:25.000Z
One of my friends, [Karthick](http://www.kprabu.com/?ref=kudithipudi.org), is getting married and he put this innovative wedding invitation together.. And yes, pls do crash his wedding, I am sure he won’t mind :).

![](http://farm8.staticflickr.com/7060/6799554212_c3b5c960e4_z_d.jpg "Karthick & Soujanya : Wedding Invitation")
### Demonstrating the power of perl
URL: https://kudithipudi.org/demonstrating-the-power-of-perl/
Last updated: 2012-03-01T06:26:05.000Z
I haven’t scripted in perl for quite some time (disadvantages of moving into management 🙂 ). Today, we had to analyze some log files at work and thought I would dust off my scripting skills..

The source data is Apache web logs and we had to find out the number of hits from a unique IP address for a particular scenario.

Pretty simple right, grep will do the job very well. As demonstrated in this [blog post](https://kudithipudi.org/how-to-sort-apache-web-logs-for-hits-by-unique-ip-addresses/). But we had to analyze the data for a ton of servers and I really didn’t want to repeat the same command again and again. Did you know that laziness is the mother of invention :). So I wrote a simple perl script to do the job for me. The biggest advantage of writing this perl script was not that it helped reduce the copy/paste job, but the speed that the script took to run. Details of the comparison below

### HOW 99% OF ENGINEERS WOULD DO IT

The analysis consisted of getting web logs for the last week (and some of these log files were already rotated/compressed). Concatenating them to create one large file and then getting the number of hits by IP for a certain condition. This can be done very simply by using a couple of commands that come standard with any \*nix system

- cp
- cat
- grep for each day we needed the data

The final grep command would look like this

```
grep -i "\[20/Feb/2012" final_log | grep -i "splash.do" | grep -i productcode | cut -d’ ‘ -f 1 -| sort |uniq -c | sort -rn > ~/2_20_2012_ip_report.log
```

Timing this command showed that it took 

\~1 min and 22 

seconds to run it.

### HOW THE 1% DO IT:)

I wrote this perl script (disclaimer : I am not a programmer :), so pls excuse the hack code).

```

#!/usr/bin/perl
# Modules to load
# use strict;
use warnings;
# Variables
my $version = 0.1;
# Clear the screen
system $^O eq ‘MSWin32’ ? ‘cls’ : ‘clear’;
# Create one large file to parse
`cp /opt/apache/logs/access_log ~/access_log`;
`cp /opt/apache/logs/access_log.1.gz ~/access_log.1.gz`;
`cp /opt/apache/logs/access_log.2.gz ~/access_log.2.gz`;
`gunzip access_log.1.gz`;
`gunzip access_log.2.gz`;
`cat access_log.2 access_log.1 access_log > final_access_log`;
# Hostname
$hostName=`hostname`;
chomp($hostName);
print "The Hostname of the server is : $hostName \n";
# Process the log file file, one line at a time
open(INPUTFILE,"< final_access_log") || die "Couldn’t open log file, exiting $!\n";
while (defined ($line = )) {
 chomp $line;
 if ($line =~ m/\[20\/Feb\/2012/)
 {
 open(OUTPUTFILE, ">> 2_20_2012_log_file") || die "Couldn’t open log file, exiting $!\n";
 print OUTPUTFILE "$line\n";
 close(OUTPUTFILE);
 next;
 }
 if ($line =~ m/\[21\/Feb\/2012/)
 {
 open(OUTPUTFILE, ">> 2_21_2012_log_file") || die "Couldn’t open log file, exiting $!\n";
 print OUTPUTFILE "$line\n";
 close(OUTPUTFILE);
 next;
 }
 if ($line =~ m/\[22\/Feb\/2012/)
 {
 open(OUTPUTFILE, ">> 2_22_2012_log_file") || die "Couldn’t open log file, exiting $!\n";
 print OUTPUTFILE "$line\n";
 close(OUTPUTFILE);
 next;
 }
 if ($line =~ m/\[23\/Feb\/2012/)
 {
 open(OUTPUTFILE, ">> 2_23_2012_log_file") || die "Couldn’t open log file, exiting $!\n";
 print OUTPUTFILE "$line\n";
 close(OUTPUTFILE);
 next;
 }
 if ($line =~ m/\[24\/Feb\/2012/)
 {
 open(OUTPUTFILE, ">> 2_24_2012_log_file") || die "Couldn’t open log file, exiting $!\n";
 print OUTPUTFILE "$line\n";
 close(OUTPUTFILE);
 next;
 }
 if ($line =~ m/\[25\/Feb\/2012/)
 {
 open(OUTPUTFILE, ">> 2_25_2012_log_file") || die "Couldn’t open log file, exiting $!\n";
 print OUTPUTFILE "$line\n";
 close(OUTPUTFILE);
 next;
 }
if ($line =~ m/\[26\/Feb\/2012/)
 {
 open(OUTPUTFILE, ">> 2_26_2012_log_file") || die "Couldn’t open log file, exiting $!\n";
 print OUTPUTFILE "$line\n";
 close(OUTPUTFILE);
 next;
 }
 if ($line =~ m/\[27\/Feb\/2012/)
 {
 open(OUTPUTFILE, ">> 2_27_2012_log_file") || die "Couldn’t open log file, exiting $!\n";
 print OUTPUTFILE "$line\n";
 close(OUTPUTFILE);
 next;
 }
 if ($line =~ m/\[28\/Feb\/2012/)
 {
 open(OUTPUTFILE, ">> 2_28_2012_log_file") || die "Couldn’t open log file, exiting $!\n";
 print OUTPUTFILE "$line\n";
 close(OUTPUTFILE);
 next;
 }
}
`rm final_access_log`;
`rm access_log`;
`rm access_log.1`;
`rm access_log.2`;
for ($day=0; $day < 9; $day++)
 {
 $outputLog = $hostName."_2_2".$day."_2012.txt";
 $inputLog = "2_2".$day."_2012_log_file";
$dateString = "\\[2".$day."/Feb/2012";
print "Running the aggregator with following data\n";
 print "Input File : $inputLog\n";
 print "Output Log : $outputLog\n";
 print "Date String: $dateString\n";
`grep -i "splash.do" | grep -i productcode | cut -d’ ‘ -f 1 -| sort |uniq -c | sort -rn > ~/$outputLog`;
# Cleanup after yourself
 `rm $inputLog`;
 }

```

I wrote a smaller script to do the same job as the command line hack that I tried earlier and compared the time. First, here is the smaller script

```

#!/usr/bin/perl
# Modules to load
# use strict;
use warnings;
# Variables
my $version = 0.1;
# Clear the screen
system $^O eq ‘MSWin32’ ? ‘cls’ : ‘clear’;
open (TEMPFILE,"< final_log");
# Match date and write to another log file
while (defined ($line = )) {
 chomp $line;
 if ($line =~ m/\[20\/Feb\/2012/)
 {
 open(OUTPUTFILE, ">> perl_speed_test_output.log");
 print OUTPUTFILE "$line\n";
 close(OUTPUTFILE);
 next;
 }
}
`grep -i "splash.do" perl_speed_test_output.log | grep -i productcode | cut -d’ ‘ -f 1 -| sort |uniq -c | sort -rn > ~/perl_speed_test_output_ip.log`;

```

Timing this script, showed that it took 

**21** 

seconds to run it. > 300% improvement in speed and more importantly, less load (RAM utilization) on the system

One has to love technology :).
### HOW TO : Sort Apache Web Logs for hits by Unique IP Addresses
URL: https://kudithipudi.org/how-to-sort-apache-web-logs-for-hits-by-unique-ip-addresses/
Last updated: 2012-02-29T07:35:56.000Z
Say you want to find out how many hits you are getting t0 a specific page from a particular source IP, you can use this quick collection of [Linux](http://en.wikipedia.org/wiki/Linux?ref=kudithipudi.org) tools to get this data

```
grep -i "URL_TO_CHECK" PATH_TO_APACHE_ACCESS_LOG | cut -d’ ‘ -f 1 -| sort |uniq -c | sort -rn > ~/ip_report.txt
```

You are using

- [grep](http://www.gnu.org/software/grep/?ref=kudithipudi.org) to filter the string of the page you want the report on
- [cut](http://www.gnu.org/software/coreutils/manual/html%5Fnode/cut-invocation.html?ref=kudithipudi.org) to get the IP address from the log file
- [sort](http://www.gnu.org/software/coreutils/manual/html%5Fnode/sort-invocation.html?ref=kudithipudi.org) and [uniq](http://www.gnu.org/software/coreutils/manual/html%5Fnode/uniq-invocation.html?ref=kudithipudi.org) to sort the unique IP addresses
- and finally sort -rn to sort the data in descending order

Example :

```
grep -i "GET /" /opt/apache/logs/access_log | cut -d’ ‘ -f 1 -| sort |uniq -c | sort -rn > ~/ip_report.txt
```

gets you the report of hits to the index page.
### Photography : Putting tips to good use
URL: https://kudithipudi.org/photography-putting-tips-to-good-use/
Last updated: 2012-02-19T18:25:00.000Z
I ran across a video of [Peter Hurley](http://peterhurley.com/?ref=kudithipudi.org), as a [guest post](http://scottkelby.com/2012/its-guest-blog-wednesday-featuring-peter-hurley/?ref=kudithipudi.org) on Scott Kelby’s blog, in which he discusses the importance of positioning the jaw lines of your subjects when taking portraits. Sri stopped by to check on [Virat](https://kudithipudi.org/virat-kudithipudi/) yesterday along with his family and I thought I should try out this tip. The effect was amazing.

**BEFORE (as I would normally take portraits)**

![](http://farm8.staticflickr.com/7197/6900122009_97ef8ab378_d.jpg "Sri : Protrait : Normal")

**AFTER (Shebang!!) 🙂**

![](http://farm8.staticflickr.com/7192/6900123783_dc1265efbf_d.jpg "Sri : Protrait : Younger!!")
### HOW TO : Find list of files used by a process in Linux
URL: https://kudithipudi.org/how-to-find-list-of-files-used-by-a-process-in-linux/
Last updated: 2012-02-07T15:01:15.000Z
Quick howto on finding the list of files being accessed by a process in Linux. I needed to find this for troubleshooting an issue where a particular process was using an abnormally high percentage of CPU. I wanted to find out what this particular process was doing and accessing.

Find the files the process is accessing at a given time by running

```
sudo ls -l /proc/PROCESS_ID/fd
```

Find the process ID (pid) of the process you want to analyze by running

```
ps -ef | grep NAME_OF_PROCESS
```

For example, if I wanted to find the list of files being accessed by mysql, the process would look as such

```
ps -ef | grep mysqld
```

which would show the output as

```
samurai@samurai:~$ ps -ef | grep mysqld
mysql     3304     1  0 Feb04 ?        00:00:23 /usr/sbin/mysqld
samurai  23389 23374  0 14:57 pts/0    00:00:00 grep –color=auto mysqld
```

I can then find the list of files being used by mysql by running

```
sudo ls -l /proc/3304/fd
```

which would give me

```

lrwx—— 1 root root 64 Feb  7 15:00 0 -> /dev/null
lrwx—— 1 root root 64 Feb  7 15:00 1 -> /var/log/mysql/error.log
lrwx—— 1 root root 64 Feb  7 15:00 10 -> socket:[4958]
lrwx—— 1 root root 64 Feb  7 15:00 11 -> /tmp/ibdu9WRh (deleted)
lrwx—— 1 root root 64 Feb  7 15:00 12 -> socket:[4959]
lrwx—— 1 root root 64 Feb  7 15:00 14 -> /var/lib/mysql/blog/wp_term_relatio                        nships.MYI
lrwx—— 1 root root 64 Feb  7 15:00 15 -> /var/lib/mysql/blog/wp_postmeta.MYI
lrwx—— 1 root root 64 Feb  7 15:00 17 -> /var/lib/mysql/blog/wp_term_relatio                        nships.MYD
lrwx—— 1 root root 64 Feb  7 15:00 18 -> /var/lib/mysql/blog/wp_term_taxonom                        y.MYI
lrwx—— 1 root root 64 Feb  7 15:00 2 -> /var/log/mysql/error.log
lrwx—— 1 root root 64 Feb  7 15:00 20 -> /var/lib/mysql/blog/wp_postmeta.MYD
lrwx—— 1 root root 64 Feb  7 15:00 21 -> /var/lib/mysql/blog/wp_term_taxonom                        y.MYD
lrwx—— 1 root root 64 Feb  7 15:00 22 -> /var/lib/mysql/blog/wp_terms.MYI
lrwx—— 1 root root 64 Feb  7 15:00 23 -> /var/lib/mysql/blog/wp_terms.MYD
lrwx—— 1 root root 64 Feb  7 15:00 3 -> /var/lib/mysql/ibdata1
lrwx—— 1 root root 64 Feb  7 15:00 4 -> /tmp/ibvANyz7 (deleted)
lrwx—— 1 root root 64 Feb  7 15:00 5 -> /tmp/ibonS0mU (deleted)
lrwx—— 1 root root 64 Feb  7 15:00 6 -> /tmp/ibcKctaH (deleted)
lrwx—— 1 root root 64 Feb  7 15:00 7 -> /tmp/ibB5DS5t (deleted)
lrwx—— 1 root root 64 Feb  7 15:00 8 -> /var/lib/mysql/ib_logfile0
lrwx—— 1 root root 64 Feb  7 15:00 9 -> /var/lib/mysql/ib_logfile1
```
### Overheard : Comment about trust and security
URL: https://kudithipudi.org/overheard-comment-about-trust-and-security/
Last updated: 2012-02-06T02:15:27.000Z
Very thought provoking comment on trust and security by [Mark Boyle](http://en.wikipedia.org/wiki/Mark%5FBoyle%5F%28Moneyless%5FMan%29?ref=kudithipudi.org), the Moneyless Man, on a recent episode of [PRI](http://www.pri.org/?ref=kudithipudi.org)‘s [To the best of our knowledge](http://www.pri.org/tothebest-ofour-knowledge.html?ref=kudithipudi.org) program (I personally transcribed this.. so pls overlook any minor typos 🙂 )

> What money has become is.. a substitute for trust. It has now become our primary source of security in the world and what I am trying to do personally is to find my primary source of security in the friendships I have and in my local community and my relationship with earth. Because most countries, such as Argentina and Indonesia and currently Zimbabwe have experienced this hyperinflation and you can have a million dollars in the bank. One day with devaluation, it can almost be worthless. No matter how badly I behave, my friend’s don’t devalue me that quickly. And I think real security comes in our relationships, whether to it be with our planet or whether with our local community. I think what we all can do is build a bit more diversity in how we meet our needs and to not be so reliant on cash.

You can get the full interview at [http://feedproxy.google.com/\~r/TTBOOK/\~3/X009WjbiqB0/tbk120205a.mp3](http://feedproxy.google.com/~r/TTBOOK/~3/X009WjbiqB0/tbk120205a.mp3?ref=kudithipudi.org). Segment with Mark starts at \~42 min.
### Overheard : Comment on Work
URL: https://kudithipudi.org/overheard-comment-on-work/
Last updated: 2012-02-02T14:16:15.000Z
I was standing in line to get into a plane yesterday and heard this comment made by a gentleman to his friend

> You know.. funny thing about work, it has to get done!!

The guys were discussing about how their wives don’t understand the pressures of work :).
### Protesting SOPA and PIPA
URL: https://kudithipudi.org/protesting-sopa-and-pipa/
Last updated: 2012-01-18T14:40:06.000Z
Unless you are living under a rock or outside the US :).. you probably heard about the crazy legislation that the US congress and senates are proposing to help protect content creators (AKA Hollywood) from privacy. While I personally don’t have any issues with giving protection to content creators, it should not be at the cost of freedom for the rest of the world. Go to http://americancensorship.org/ to get more information about why this proposed legislation are bad.

Today (1/18/2012) has been designated as “Protest SOPA/PIPA day” by the technology world. I believe in the old adage, put your money where your mouth is :).. so I checked on the [top 25 US sites (according to Alexa)](http://www.alexa.com/topsites/countries/US?ref=kudithipudi.org) to see how many of them are supporting this protest in a visible manner. Only 4 out of the 25 sites, put visible content on their websites regarding the protest. I think Google’s message was the most effective, where they did not reduce the functionality of the website, but provided a lot of visibility to the protest. I know which companies I am going to support/use moving forward :). I was very happy to see that three of the sites that I use on a regular basis (google, amazon and wikipedia) are supporting this protest. Here are screenshots of the protest from the the 4 sites that are in the top 25 visited sites in the US

[Google.com](http://www.google.com/?ref=kudithipudi.org)

![](http://farm8.staticflickr.com/7165/6720168559_0fbc3f4d94_d.jpg "SOPA protest : Google Screenshot")

[Amazon.com](http://www.amazon.com/?ref=kudithipudi.org)

![](http://farm8.staticflickr.com/7022/6720168597_b305ddf470_d.jpg "SOPA Protest : Amazon")

[Wikipedia.Org](http://en.wikipedia.org/?ref=kudithipudi.org)

![](http://farm8.staticflickr.com/7175/6720168631_9d55692113_d.jpg "SOPA Protest : Wikipedia Screenshot")

[WordPress.com](http://wordpress.com/?ref=kudithipudi.org)

![](http://farm8.staticflickr.com/7010/6720168679_ec50524df1_d.jpg "SOPA Protest : WordPress screenshot")

Screenshots of some other sites that I visit on a regular basis and are supporting the protest

[Boingboing.net](http://boingboing.net/?ref=kudithipudi.org)

![](http://farm8.staticflickr.com/7009/6720168693_8a373a3361_d.jpg "SOPA Protest : BoingBoing screenshot")

[Wired.com](http://wired.com/?ref=kudithipudi.org)

![](http://farm8.staticflickr.com/7006/6720168769_251d6c657d_d.jpg "SOPA Protest : Wired screenshot")

[Arstechnica.com](http://www.arstrechnica.com/?ref=kudithipudi.org)

![](http://farm8.staticflickr.com/7019/6720168727_e4d43bd22c_d.jpg "SOPA Protest : Arstechnica screenshot")

[Reddit.com](http://www.reddit.com/?ref=kudithipudi.org)

![](http://farm8.staticflickr.com/7158/6720168793_17426a6072_d.jpg "SOPA Protest : Reddit screenshot")

[DuckDuckGo.com](http://www.duckduckgo.com/?ref=kudithipudi.org)

![](http://farm8.staticflickr.com/7141/6720168901_50fabef8a7_d.jpg "SOPA Protect : DuckDuckGo")
### G+ or Blog
URL: https://kudithipudi.org/g-or-blog/
Last updated: 2012-01-15T21:44:36.000Z
I started using [Google Plus](http://plus.google.com/?ref=kudithipudi.org) from last November and I should say that, even though I am a big proponent of [keeping control](https://kudithipudi.org/how-to-move-your-life-into-the-cloud/) over your digital avatar, it has been very easy to make (give) quick updates on Google plus than on this blog. Plus my friends and family don’t have to specially come to this site to get updates. They get the G+ updates as part of their regular email and/or when they log into their G+ stream. It is less work on everyones part.

That is one of the reasons, I believe G+ will be one of the first real contenders to Facebook. Even though Facebook boasts of more than 800 million users, it is still a “seperate” site that folks have to log into unlike Google plus, which is fast becoming part of the regular Google experience. Esp with the tweaks that Google made last week with incorporating G+ data into the search results, the line between a Google search and using Google Plus gets blurrier.

So the question (for me) is not if it is Facebook or G+.. but if it is the blog or G+..
### Virat Kudithipudi
URL: https://kudithipudi.org/virat-kudithipudi/
Last updated: 2012-01-15T05:01:32.000Z
New year… new addition to the family :).

Virat Kudithipudi, was born on 1/9/2012 at 22:22.

We went through a lot at the end of the pregnancy. First Jhanvi got shingles and then I contracted chickenpox from her. At one point, I didn’t even know if I would be able to be at his delivery. But thankfully everything worked out and I was cured by the time, Virat decided to arrive on planet earth. When the pediatrician checked him the day after his birth and announced that he was perfectly “healthy”, I chocked up. I understand you better now mom :)..

BTW.. if you didn’t get chickenpox as a kid.. run to the drugstore and get vaccinated for it. You don’t want to go through what I went 🙂

Welcome to the world kiddo..

![Virat Kudithipudi](http://farm8.staticflickr.com/7025/6676122719_c126554876_z_d.jpg "Virat Kudithipudi")

Collection of pictures of the first few days..

[http://www.flickr.com/photos/kudithipudi/collections/72157628830321025/](http://www.flickr.com/photos/kudithipudi/collections/72157628830321025/?ref=kudithipudi.org)
### Goodbye 2011 and Welcome 2012
URL: https://kudithipudi.org/goodbye-2011-and-welcome-2012/
Last updated: 2012-01-02T18:18:09.000Z
Happy New Year!!

Wishing all of you and your families a healthy and loving 2012\. If there is one thing I learnt in 2011, it is that if you are healthy rest of the things in life will follow.

I haven’t posted any updates on my 2011 resolutions in the last few months. So here is a final recap

- Lose the gut
  - I really didn’t accomplish the goal of losing the gut. But I gained some good habits (eating breakfast, eating consistently throughout the day, keeping track of my weight)
  - I have collected some interesting data as part of tracking my weight through the year. Plan to do some analysis on it later on.
  - Final chart of my weight in 2011 ![](http://farm8.staticflickr.com/7003/6614165827_62482b5daa_z_d.jpg "2011 Weight Chart : Final")
- Increase traffic to Kudithipudi.org
  - I wrote a bit more in 2011 than in 2010, but not as much as needed.
  - Snapshot of 2011 traffic compared to 2010\. As you can see, the traffic has increased nearly 80%.. ![](http://farm8.staticflickr.com/7024/6614388399_a04a15c17f_d.jpg "2011 Site Traffic")
- CISSP Certification
  - Didn’t attempt this at all.
  - Wanted to do this in the last quarter, but things got a bit hectic :).
- Take a Vacation
  - Successfully went on a vacation to [India](http://www.flickr.com/photos/kudithipudi/collections/72157626586487156/?ref=kudithipudi.org).

Overall, 50% of the goals were accomplished. As they say, the glass is half full :). Not bad.

And yes, I am going back to my old habit of not making resolutions :).
### HOW TO : Modify iptables rules
URL: https://kudithipudi.org/how-to-modify-iptables-rules/
Last updated: 2011-12-12T20:17:16.000Z
Quick how to for my personal records. [iptables](http://en.wikipedia.org/wiki/Iptables?ref=kudithipudi.org) is an open source firewall (and it does a lot more) included with most linux distributions.

Steps to add new rule to existing configuration

- Check the list of rules and their corresponding sequence

```
sudo iptables -vL –line-numbers
```

- Add the new rule at the required location/sequence

```
sudo iptables -I INPUT LINE_NUMBER RULE
```

Example :

```
iptables -I INPUT 8 -s X.X.X.X/24 -p tcp -m state –state NEW -m tcp –dport 3128 -j ACCEPT
```

- Save the configuration

```
sudo serivce iptables save
```

Thx to Sijis for helping with the commands.
### HOW TO : Fix Jboss startup script for CentOS
URL: https://kudithipudi.org/how-to-fix-jboss-startup-script-for-centos/
Last updated: 2011-11-29T04:50:22.000Z
Quick note for myself on fixing the default startup script provided by Jboss to work on CentOS. Thx to Shankar to finding the solution.

The default startup script (/$JBOSS\_HOME/bin/jboss\_init\_redhat.sh) that Jboss provides does not work properly in CentOS. The start option works fine, but when you try to stop Jboss, it gives you a “No JBossas is currently running” message and quits.

Here’s a quick way to fix it. Edit the jboss\_init\_redhat.sh file and replace

```
JBOSSSCRIPT=$(echo $JBOSSSH | awk ‘{print $1}’ | sed ‘s/\//\\\//g’)
```

with

```
JBOSSSCRIPT=$(echo $JBOSSSH | awk ‘{print $1}’)
```
### HOW TO : Move your life into the cloud – Part 2
URL: https://kudithipudi.org/how-to-move-your-life-into-the-cloud-part-2/
Last updated: 2011-11-29T04:08:28.000Z
Following up on my previous post ([https://kudithipudi.org/2011/11/13/how-to-move-your-life-into-the-cloud/](https://kudithipudi.org/how-to-move-your-life-into-the-cloud/)) on the journey to using online services to maintain your productivity, here are some services that I use on a regular basis

**BOOKMARKING** :

- SERVICE : Every switched your computer and were frustrated of having to remember and bookmark all the links you saved up on your old computer? I use [delicious](http://delicious.com/?ref=kudithipudi.org), to save me from this frustration. Delicious is the grand daddy of online bookmarking services and even though there are several competing services with more social networking capabilities, delicious works well for me. It allows you to store all of your bookmarks in an easily accessible URL (for example, all my bookmarks are at [http://delicious.com/kudithipudi](http://delicious.com/kudithipudi?ref=kudithipudi.org)) and annotate them with tags
- COST : free
- OTHER CHOICES : [pinboard](http://pinboard.in/?ref=kudithipudi.org), [StumbleUpon](http://www.stumbleupon.com/?ref=kudithipudi.org), ~~[Google Bookmarks](https://www.google.com/bookmarks?ref=kudithipudi.org)~~ (being discontinued from Dec 2011), [Firefox Sync](http://www.mozilla.org/en-US/mobile/sync/?ref=kudithipudi.org), [EverNote](http://evernote.com/?ref=kudithipudi.org)
### Introducing the Indian Samurai
URL: https://kudithipudi.org/introducing-the-indian-samurai/
Last updated: 2011-11-21T05:58:18.000Z
Have you ever seen an Indian Samurai? No, I don’t think so :). I have been fascinated by [Samurai](http://en.wikipedia.org/wiki/Samurai?ref=kudithipudi.org) ever since I was a kid. So I asked my friend, [Buffy](http://www.handmadebybuffy.com/?ref=kudithipudi.org) (awesome artist) to create a personal profile of me in Samurai attire :). And what do you get? An Indian Samurai :).

![](http://farm7.staticflickr.com/6107/6374732913_edeed051fd_o_d.png "Indian Samurai")

Moving forward, this is going to become my profile on all online services (other than LinkedIn, because I like my job 🙂 ). Everyone can put up a picture, but very few can put up their own personalized icon :).

Want to get your own personalized profile icon? Send a note to Buffy at [http://www.handmadebybuffy.com/](http://www.handmadebybuffy.com/?ref=kudithipudi.org). You won’t regret it.
### The annual do-good request
URL: https://kudithipudi.org/the-annual-do-good-request/
Last updated: 2011-11-19T13:07:57.000Z
How many times did quote Wikipedia and/or used it for reference in the last year? Now multiply that by $0.10 and make a donation to Wikipedia. Please support their annual fund raising efforts at [https://wikimediafoundation.org/wiki/Donate](https://wikimediafoundation.org/wiki/Donate?ref=kudithipudi.org) .
### Overheard : Comment on Innovation
URL: https://kudithipudi.org/overheard-comment-on-innovation/
Last updated: 2011-11-16T02:37:30.000Z
> Innovation doesn’t come out of love, but from hate

– [Penn & Teller.](http://www.pennandteller.com/?ref=kudithipudi.org)

[Brian Brushwood](http://shwood.squarespace.com/?ref=kudithipudi.org), quoting Penn and Teller in the [327th](http://twit.tv/show/this-week-in-tech/327?ref=kudithipudi.org) episode of [TWIT](http://twit.tv/show/this-week-in-tech/?ref=kudithipudi.org) (\~1:21 hour timeframe). He goes on to say how, if you love something, you can only create a pale imitation of it (say a show or piece of art). But if you hate something, you create something that is better than the object you hate.

Profound 🙂
### HOW TO : Move your life into the cloud
URL: https://kudithipudi.org/how-to-move-your-life-into-the-cloud/
Last updated: 2011-11-14T03:41:08.000Z
Nope… I am not too late to get on the “cloud” bandwagon :). I started writing this post in Dec 2009 and here’s a screenshot of my drafts to prove it 

![](http://farm7.static.flickr.com/6045/6342840140_4a466bb77d_d.jpg "Screenshot : Blog : Drafts")

And I have finally decided that it is time to complete the post and publish it.

I change laptops every 6 months or so and a lot of my friends ask me how I manage to swap them so quickly and yet stay productive. I am sure a lot of you can relate to this. It usually take a month or so to get your workstation to a “state” that you feel comfortable with and are productive. Here are the tricks/tools I use to make the switching of a laptop/desktop to be a no-brainer activity. And I utilize the “cloud” heavily for this.

I adhere to a couple of simple rules to make sure I can be productive anywhere, even in situations, where I don’t have my workstation with me.

- Everything I produce should be searchable
- Everything I produce should be available on the web
- Everything I produce should be easy to share

With these principles in mind, here are the services I use..

**PHOTOS :**

- SERVICE : I use [flickr](http://www.flickr.com/?ref=kudithipudi.org) to store all my pictures. I have taken \~40 thousand pictures since 2003 and everyone of them is online at [http://www.flickr.com/photos/kudithipudi](http://www.flickr.com/photos/kudithipudi?ref=kudithipudi.org). I wish, flickr was around when I was a kid, so that I had a place to store all the pictures from my childhood instead of rotting away in some old cardboard box. I like Flickr for it’s simplicity and ease of use. There are other sites that offer a lot more features, but the features offered by Flickr are are more than enough for me.
- COST : $24.95/year to upload/store unlimited number of pictures
- OTHER CHOICES : There are [plenty](http://en.wikipedia.org/wiki/List%5Fof%5Fphoto%5Fsharing%5Fwebsites?ref=kudithipudi.org) of photo storing/sharing sites. Some of the popular ones are [picasa](https://picasaweb.google.com/?ref=kudithipudi.org), [photobucket](http://photobucket.com/?ref=kudithipudi.org), [facebook](http://photobucket.com/?ref=kudithipudi.org)

**ON-LINE STORAGE :**

- SERVICE : I use [dropbox](http://db.tt/cIeKiRI?ref=kudithipudi.org) to store any digital content I create. This overlaps a bit with the service I use to store documents I create. Dropbox is a service that allows you to synchronize files between different computers you have the agent installed on and at the same time stores them online for you. They offer 2GB of free space by default and you can earn more space by [referring](http://db.tt/cIeKiRI?ref=kudithipudi.org) people to the service. (note : the links to dropbox are my referral links. If you sign up for the service, I get 250Mb of free space. If you don’t want to use the referral links, you can sign up for the service directly at [www.dropbox.com](http://www.dropbox.com/?ref=kudithipudi.org)).You would think 2GB is not a lot of space. But once you remove the music, movies and photos, you really don’t need a lot of space :). For example, I haven’t crossed 1.8 GB, even though I have an electronic record of all my important files all the way from 2006\. All I do, when I switch to a new laptop is install the dropbox agent and voila all my files are downloaded and synced with the latest copies.
- COST : free. If you need more space, dropbox offers it for a [cost](https://www.dropbox.com/plans?ref=kudithipudi.org).
- OTHER CHOICES : There’s plenty of competition for dropbox, but I don’t think anyone of them have come close to making the sharing/storage work as seamless as dropbox. Some of the popular ones are [box.net](http://www.box.net/?ref=kudithipudi.org), [SugarSync](http://www.sugarsync.com/?ref=kudithipudi.org),[wuala](http://www.wuala.com/?ref=kudithipudi.org), [Amazon Cloud Drive](http://www.amazon.com/clouddrive?ref=kudithipudi.org)

**DOCUMENTS :**

- SERVICE : I use [Google Docs](http://docs.google.com/?ref=kudithipudi.org) to create and store documents, spreadsheets and presentations. Since it’s inception in 2006 as a simple online editor and spreadsheets service, Google Docs has come a long way. There are few things you cannot do in Google Docs, that you can do in a full fledged productivity suite like [Microsoft Office](http://office.microsoft.com/?ref=kudithipudi.org). Plus it gives you the capability to collaborate with other people when creating documents.
- COST : free.
- OTHER CHOICES : The only other service that comes close to Google Docs is Zoho Suites. Microsoft has a competing product, [Office Live](http://www.officelive.com/?ref=kudithipudi.org), but I think they are confused on how to market it because it will eat into their most profitable franchise (Microsoft Office)

**EMAIL :**

- SERVICE : I use [Gmail](http://gmail.com/?ref=kudithipudi.org) for my email. Although there is a standalone version, I use it as part of the services provided by [Google Apps](http://apps.google.com/?ref=kudithipudi.org) for my domain (kudithipudi.org). It offers free spam protection, 7GB of space and super fast search. What else can one ask for? 🙂
- COST : free
- OTHER CHOICES : There are several free email hosting providers. Some of the popular ones are [hotmail](http://www.hotmail.com/?ref=kudithipudi.org), [yahoo](http://mail.yahoo.com/?ref=kudithipudi.org), [aol](http://mail.aol.com/?ref=kudithipudi.org)

**ONLINE PRESENCE :**

- SERVICE : I strongly believe that all of us have to manage our online presence. And I don’t mean just for the folks that work in technology, but everyone that uses the Internet. And that is pretty much most of the people living on planet earth :). There are several ways to do this (and I think that is for a another blog post), but the simplest way is to ensure you have a place where you can broadcast your presence. I use this [blog](https://kudithipudi.org/) as a way to document my thoughts, share ideas and in general manage my on-line presence. I host this blog on a [virtual server](http://en.wikipedia.org/wiki/Virtual%5Fprivate%5Fserver?ref=kudithipudi.org) that I lease from [Rackspace](http://cloud.rackspace.com/?ref=kudithipudi.org).
- COST : $11/month
- OTHER CHOICES : I would not recommend what I am doing for most people. There are several free platforms that you can host your blog on. I just do it this way, because I like to tinker with technology. Some of the popular blogging platforms are [tumblr](http://www.tumblr.com/?ref=kudithipudi.org), [blogspot](http://blogger.com/?ref=kudithipudi.org), [wordpress](http://wordpress.com/?ref=kudithipudi.org), [squarespace](http://www.squarespace.com/?ref=kudithipudi.org).
### Happy 11/11/11
URL: https://kudithipudi.org/happy-111111/
Last updated: 2011-11-11T14:35:20.000Z
Other than a bunch of movies being released on this date.. everything seems to be normal :). Stock market is volatie, Europe seems confused, Revolutions going on in middle east.. I keep gaining weight :).. yep.. things are normal..
### HOW TO : Configure Oracle data source in Jboss
URL: https://kudithipudi.org/how-to-configure-oracle-data-source-in-jboss/
Last updated: 2011-11-08T11:57:37.000Z
Here are some quick notes on configuring a data source for an [Oracle](http://www.oracle.com/?ref=kudithipudi.org) database in [Jboss](http://jboss.org/?ref=kudithipudi.org). Data Source are common access points to different sources of data, provided by the application server framework to the applications running in it. These instructions are very specific to the 5.x EAP version. Jboss SOA has a pretty easy ant based script to configure data sources. I am not sure why Redhat didn’t think it would be good to include it as part of the EAP package too.

1. Download the latest version of the JDBC driver from Oracle at [http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html](http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html?ref=kudithipudi.org) . You can also get to this link by searching for “[download ojdbc jar](http://www.google.com/?q=download+ojdbc+jar&ref=kudithipudi.org)” in Google. In fact, I would recommend that, given that Oracle might change the link for future editions. You will need an Oracle account to download the driver file.
2. Copy the driver file to $JBOSS\_HOME/server/$JBOSSS\_PROFILE/lib
3. Disable the default [hsqldb](http://hsqldb.org/?ref=kudithipudi.org) datasource provided by Jboss. This is good for development purposes, but for any application server you want to deploy into a production environment, you need to replace it with a more robust DBMS. It will have a major impact on performance. There are two places hsqldb is referred to in the default install
  - $JBOSS\_HOME/server/$JBOSSS\_PROFILE/deploy/hsqldb-ds.xml
  - $JBOSS\_HOME/server/$JBOSSS\_PROFILE/deploy/messaging/hsqldb-persistence-service.xml
  - I usually rename these files with a DO\_NOT\_USE prefix. You can delete them too, but I leave them around just in case.
4. Configure the Oracle data source by copying from the sample files and configuring them
  - $JBOSS\_HOME/server/$JBOSSS\_PROFILE/deploy/oracle-ds.xml (you can find the sample file at $JBOSS\_HOME/docs/examples/oracle-ds.xml)
  - $JBOSS\_HOME/server/$JBOSSS\_PROFILE/deploy/messaging/oracle-persistence-service.xml (you can find the sample file at $JBOSS\_HOME/docs/examples/oracle-persistence-service.xml)
    - Comment out the following line in the file if you are not using clustering in the application server  
    ```  
    jboss.jgroups:service=ChannelFactory  
    ```

Restart Jboss and it will create all the required tables and objects in the schema provided in the connect string. It is implied that you have created a schema in Oracle with the required privileges.
### I have been tagged..
URL: https://kudithipudi.org/i-have-been-tagged/
Last updated: 2011-11-07T04:02:47.000Z
As a site linking to site which is linking to site that serves malware. And I thought it was worth a post, because that site is [twit.tv](http://twit.tv/?ref=kudithipudi.org) according to google 🙂 . 

![](http://farm7.static.flickr.com/6057/6320659625_19df1bb859_z_d.jpg "Twit : Malware")

I believe the warning is due to the fact that I linked to some video provided by twit on this post ([https://kudithipudi.org/2011/11/04/overheard-comment-about-start-upentrepreneurship](https://kudithipudi.org/overheard-comment-about-start-upentrepreneurship/)) .

I pinged [Leo](https://plus.google.com/101261243957067319422?ref=kudithipudi.org) on [Google +](http://plus.google.com/?ref=kudithipudi.org) about it and hopefully he will have his team take care of it. Wait.. let me say that again.. I pinged Leo!!! . Isn’t technology amazing. With the click of a button, I was able to send a personal message to one of the most famous tech personalities.
### HOW TO : Data Driven approach towards building a high performance team
URL: https://kudithipudi.org/how-to-data-driven-approach-towards-building-a-high-performance-team/
Last updated: 2011-11-07T03:40:06.000Z
One of the virtues of a high performance team is that they take the time to fix “problems” and allocate energy to improving themselves. And we also know that most of the people we speak with say “they are overloaded” and cannot complete their day job itself. Forgot about spending that extra time to fix “problem”. So how does one develop a team that can not only do their day job but continue to improvise? Here is a game plan, I developed over the last few years that I have been managing people. It is data driven, and while it is not perfect, it helps out :). And the only tool I use is a simple spreadsheet.

**STEP 1 : The beginning**

Evaluate (make a list of) the services being offered by the team. You need to have an good understanding of what your team is providing to your customers. This will not only help you understand what is critical, but also provides insight into services you can cut (not your core competency). This is how stage 1 looks like in the spreadsheet. 

![](http://farm7.static.flickr.com/6051/6320786440_5fb8fdeaea_d.jpg "Stage1 : High Performance Team")

**STEP 2 : Identify the SME**

Now that you know what services are being offered by the team, identify a SME (Subject Matter Expert) for each service. This is the guy/gal that knows this area in an out. If you don’t have a SME, take a resource that you know has the potential and make them the SME. Once I identify the SME, I make it very clear to them that they own that particular area and the entire team depends on them for support. This helps in creating ownership and professional pride. At this stage the spreadsheet looks like this 

![](http://farm7.static.flickr.com/6104/6320264911_11a635f23c_d.jpg "Step 2 : High Performance Team")

**STEP 3 : Backup**

Things get interesting from here. You know what you are offering and you have a SME for each of those offerings. If you get to this stage, you are probably already better than 50% of the workforce (note : This is my personal statistic :).. ). At this point, I speak with the SME and give them a simple task.

  - Document the top 3 things you do on a regular basis.
  - Identify someone from your team that you would like to make as your backup. Train them on the top 3 things.

With the backups in place, my team is probably better than 75% of the workforce. Not only do we have a SME, but we have a backup to them. I think it is futile to have the backup resource know everything about a particular service offerings. There are always going to be SMEs and no matter how hard you try there will be some knowledge that is never going to get transferred (willingly or unwillingly). That’s the reason, I concentrate on the most common activities. The spreadsheet keeps evolving :). 

![](http://farm7.static.flickr.com/6048/6320786562_fd797b8ecc_d.jpg "Step 4 : High Performance Team")

**STEP 4 : Nirvana (Backup to the Backup)**

This is where you start to become a high performance team. Have the SME and the backup identify another resource in the team to be added to their “group”. If the SME has documented the top 3 activities and trained his backup by now, I ask him/her to document the next 3 activities and train both the backup resources. At this stage, you will start to notice something amazing

  - You team will have time to fix “problems”. Because the SME is not just firefighting all the time. She has a group to fight the fire with. Which means she will get time to fix the root cause.
  - The group starts to improve the service offerings. Again, because they are a group and start taking pride in the services they own.
  - People can go on vacation and not worry about what is happening to their babies (work 🙂 ).
  - You as the manager will start seeing areas and resources that are not optimized. i.e. services not having enough backup, resources being stretched across multiple services. This gives me the chance to fix these shortcomings. And I can go to my boss with the data.

If you have come to this stage, consider yourself a hero :). As the Marines say, you have joined the ranks of “The Few and the Proud” 🙂 . By now the spreadsheet gets pretty colorful. 

![](http://farm7.static.flickr.com/6050/6320265043_9a26aaf955_d.jpg "Step 4 : High Performance Team.")

Based on the size of your team, you can continue to add backups to the SME. I try to get to a state where the entire team can do 70% of the activities and we need a SME for only 30% of the activities. Why this 70/30 ratio? Because I think that is an easily achievable (but not something most of the teams do) target and anything over that is counterproductive. i.e. you are trying to get the SME spend so much time to share the last 30% percent that they might not have time for the original reason for setting up the backups (i.e. to give time to the SMEs to improve the services).

Any suggestions on improving this?
### Overheard : Comment about start-up/entrepreneurship
URL: https://kudithipudi.org/overheard-comment-about-start-upentrepreneurship/
Last updated: 2011-11-05T01:48:29.000Z
[Eric Reis](http://theleanstartup.com/?ref=kudithipudi.org)‘ defintion of a startup

> A human institution designed to create something new under conditions of extreme uncertainty

In other words, you don’t really need to work at a startup or out of a garage to be an entrepreneur. You can do the same thing in a typical corporate setting.

BTW.. check out this very cool conversation between Leo Laporte and Eric at
### Overheard : Comment about my weight
URL: https://kudithipudi.org/overheard-comment-about-my-weight/
Last updated: 2011-11-05T00:46:57.000Z
We were getting a free t-shirt at work and I requested a medium.. response from the person giving the t-shirt

> You used to be a medium, when you started working here!!

And I was given a large..

Ouch :)..
### People, Authority and Profits..
URL: https://kudithipudi.org/people-authority-and-profits/
Last updated: 2011-11-03T04:31:27.000Z
A couple of weekends ago, I had to buy some tablets for work. So I stopped by the trusty neighborhood microcenter and told the salesguy that I wanted to buy 3 iPads. The guy says “hmm.. I don’t know if I can do that, you see, we restrict each household to one iPad because there is so much demand”. I think.. fair enough and go on to tell him that I actually need to purchase a total of 9 tablets. 3 iPads and 6 Android tablets. Assuming that he will understand I am not your typical household, but a business. He goes into the “back room” to confirm with his supervisor and comes back saying.. a policy is a policy, we cannot do it. At this point, I am a bit ticked off.. I mean, don’t these guys want to actually sell these devices. I am on my way out to find another store and see a “manager” walking the aisles. I stop him and explain the situation, assuming he would be smarter and have the authority to “break” policy. Again no luck.. the guy kept repeating,”it is our policy to restrict each household to one iPad!!!”. Totally missing the point that I want to buy 6 more Android tablets too!!

I go to the competition across the road, TigerDirect and tell the first sales person that I need to buy a total of 9 tablets, 3 of them being iPads. The guy says “hmm.. we restrict iPads to one per household, but let me check with my manager”. The manager stops by assesses, the situation and “breaks” the policy and approves the purchase. I walk out with 9 tablets under my arms and making TigerDirect a couple hundred dollars richer (hopefully!! 🙂 )

Same policy in two different stores, but the fact that the manager in TigerDirect was able to asses the situation and go against the policy was a win-win situation for both the customer and his company.

Morale of the story? Hire good people and give them the authority to make decisions. Good things will follow :).
### Visit the Indian Railway's official site for dating advice
URL: https://kudithipudi.org/visit-the-indian-railways-official-site-for-dating-advice/
Last updated: 2011-11-01T03:44:13.000Z
I was reading this post ([http://mindprince.blogspot.com/2011/10/state-of-railway-e-ticketing-in-india.html](http://mindprince.blogspot.com/2011/10/state-of-railway-e-ticketing-in-india.html?ref=kudithipudi.org)) by [Rohit Agarwal](https://plus.google.com/110953348444823955475/about?ref=kudithipudi.org) and happened to check out the [official site](http://www.indianrail.gov.in/?ref=kudithipudi.org) for the Indian Railway (which is a public enterprise).

And what do I see there? Ads for dating services and Penny Auctions!! Last I checked, the Indian Railways was one of the most profitable ventures in the pubic enterprises in India. What gives? Here’s a screenshot for proof 🙂[](http://farm7.static.flickr.com/6240/6301233122%5Ff14589e451%5Fb%5Fd.jpg?ref=kudithipudi.org)
### HOW TO : Check web services using curl
URL: https://kudithipudi.org/how-to-check-web-services-using-curl/
Last updated: 2011-10-31T20:36:40.000Z
Quick note for myself to check web services using [curl](http://curl.haxx.se/?ref=kudithipudi.org) (\[L/U\]nix utility to play with http(s) traffic)

```
curl https://URL_TO_TEST –insecure –trace-ascii debug.txt
```

Comments on options :  
–insecure is used if you are testing web services served over SSL using self signed certs  
–trace-ascii dumps all traffic between the client (curl in this case) and the server in human readable format
### Innovative Error Pages : Flickr
URL: https://kudithipudi.org/innovative-error-pages-flickr/
Last updated: 2011-10-27T15:17:59.000Z
Ran across this error message on [Flickr](http://www.flickr.com/?ref=kudithipudi.org), when I was trying to get to my photostream

![](http://farm7.static.flickr.com/6227/6285855865_37972a71f9_z_d.jpg "Flickr Error Messages")
### Help a brother out..
URL: https://kudithipudi.org/help-a-brother-out/
Last updated: 2011-10-24T19:57:49.000Z
Amit Gupta, a fellow geek and photographer, has been diagnosed with Acute Lukemia.. He needs a matching bone marrow to survive the odds. How can you help? Two (well three) simple steps

- Go visit [http://amitguptaneedsyou.com/](http://amitguptaneedsyou.com/?ref=kudithipudi.org)
- Sign up for the Marrow Registry
- Spread the message

Not a lot of things in life are free and satisfying.. This is one of them.
### Interesting (infrastructure) tidbits about Groupon
URL: https://kudithipudi.org/interesting-infrastructure-tidbits-about-groupon/
Last updated: 2011-10-23T14:11:18.000Z
I am attending the [Camp DevOps](http://campdevops.com/?ref=kudithipudi.org) conference in Chicago over the weekend and one of the speakers was [Zack Steinkamp](http://steinkamp.us/?ref=kudithipudi.org). Zack manages the operations tools group in addition to information security at [Groupon](http://www.groupon.com/?ref=kudithipudi.org). He spoke about a custom configuration management tool called “roller” ([http://steinkamp.us/campdevops.pdf](http://steinkamp.us/campdevops.pdf?ref=kudithipudi.org)) that is used at Groupon. He said the tool is scheduled to be open sourced soon. roller is very similar to puppet, chef, bcfg2 etc. I am not sure if we need yet another configuration management tool, but Zack made a good point for why there is a need for a simpler and secure configuration management tool.

Anyways.. this post is not about roller, but rather about some tidbits that Zack shared about Groupon’s infrastructure in the talk

- Groupon started out with \~100 servers
  - The operations function was outsourced to a third party
  - No automation in place.. all servers were “handcrafted”
- Currently running \~1000 servers in 6 locations (globally)
  - Building their own data center
- Running 4 different Linux distros in prod
  - [Gentoo](http://www.gentoo.org/?ref=kudithipudi.org)
  - [Unbuntu](http://www.ubuntu.com/?ref=kudithipudi.org)
  - [CentOS](http://centos.org/?ref=kudithipudi.org)
  - [RHEL](http://www.redhat.com/?ref=kudithipudi.org)
- Currently using [Amazon](http://www.amazon.com/?ref=kudithipudi.org) and another cloud provider
- Not a hugh believer in public cloud for future expansion
  - Zack spoke about how the lack of consistency in the IO/CPU performance is an issue on the public clouds
- Does not heavily use [virtualization](http://en.wikipedia.org/wiki/Virtualization?ref=kudithipudi.org) in production
- Uses Nagios for monitoring
- SW Architecture
  - Started out as a “[wordpress](http://wordpress.org/?ref=kudithipudi.org)” blog
  - Then migrated into a Rails App
  - Currently the Rails App is huge
    - Moving towards [SOA](http://en.wikipedia.org/wiki/Service-oriented%5Farchitecture?ref=kudithipudi.org) using [Rails](http://rubyonrails.org/?ref=kudithipudi.org), Java and [Clojure](http://clojure.org/?ref=kudithipudi.org)
  - [MySQL](http://www.mysql.com/?ref=kudithipudi.org) is the DB
### Embarassing Screenshots : American Express Websites admin page is open to the public
URL: https://kudithipudi.org/embarassing-screenshots-american-express-websites-admin-page-is-open-to-the-public/
Last updated: 2011-10-06T13:20:53.000Z
Details : [http://qnrq.se/full-disclosure-american-express/](http://qnrq.se/full-disclosure-american-express/?ref=kudithipudi.org)

Proof :

![](http://farm7.static.flickr.com/6222/6216812053_a6f126a5be_d.jpg "Amex : Admin Page : Public Access")
### RIP Steve..
URL: https://kudithipudi.org/rip-steve/
Last updated: 2011-10-06T01:56:21.000Z
Thank you for making the “future” a reality..

[http://en.wikipedia.org/wiki/Steve\_Jobs](http://en.wikipedia.org/wiki/Steve%5FJobs?ref=kudithipudi.org)
### Only Amazon can make free sound more free :)
URL: https://kudithipudi.org/only-amazon-can-make-free-sound-more-free/
Last updated: 2011-10-05T12:47:32.000Z
I am hoarder :).. Esp for free stuff. That’s one of the reason, I have the [Amazon Android App Store](http://www.amazon.com/mobile-apps?ref=kudithipudi.org) on my phone. [Amazon](http://www.amazon.com/?ref=kudithipudi.org) gives “away” a free app every day. Even though I don’t really use/need the app that Amazon gives away, I get it, just in case. It is free :), so why not?

The apps usually cost something if brought in the regular app store, but Amazon makes them available for free for a day. So [yesterday](http://en.wikipedia.org/wiki/October%5F4?ref=kudithipudi.org), I was surprised to see a free app appear in the free app of the day section. What gives?

![](http://farm7.static.flickr.com/6049/6214226304_90ff22732c_d.jpg "Amazon "free" free app")
### New Toy..
URL: https://kudithipudi.org/new-toy/
Last updated: 2011-10-03T14:16:53.000Z
I confess.. I am a nerd :). Pictures of my new office toy. And if you want to make your co-workers jealous, head over to Josh Welton’s site ([http://www.browndogwelding.com/](http://www.browndogwelding.com/?ref=kudithipudi.org)) and order yourself a piece of art.

![](http://farm7.static.flickr.com/6167/6207780406_5aedd8b130_d.jpg "Hotrod..")

Thx to D for the great pictures..
### RESOLUTIONS : 2011 : May – September Update
URL: https://kudithipudi.org/resolutions-2011-may-september-update/
Last updated: 2011-09-20T03:01:24.000Z
After a long hiatus :).. here’s a quick update on my 2011 resolutions. In short.. NOT GOOD.. I haven’t made progress (in fact slid back) on any of the pending items.

- Lose the gut
  - I have gained back nearly all the weight I lost.
  - I blame it mainly on my mother-in-law :).. She was visiting us for a couple of months and it is amazing what good home cooked food can do to you tummy :).
  - I passed the annual insurance discount health check (my cholesterol came down), but need to concentrate on losing the weight.
  - Here is the obligatory chart.. ![](http://farm7.static.flickr.com/6163/6164496463_345a90f5a5_z_d.jpg "2011 : Resolutions : Weight")
- Increase traffic to [Kudithipudi.Org](https://kudithipudi.org/)
  - Again no progress.. haven’t written a lot and the traffic is plateauing as a result.
- CISSP Certification
  - The books are serving as decorations for my bookshelves :).. Need I say more.

Thinks look pretty dark eh… Let’s see if we can turn them around. Anyone has ideas on how to stick to the plan?
### Coolness factor..
URL: https://kudithipudi.org/coolness-factor/
Last updated: 2011-09-19T13:34:28.000Z
You know, you are working at a [cool company](http://www.gogoair.com/?ref=kudithipudi.org), when one of your [favorite podcast](http://twit.tv/show/tech-news-today?ref=kudithipudi.org) mentions it in the show :). Check out the [September 19th](http://twit.tv/show/tech-news-today/330?ref=kudithipudi.org) episode of [Tech News Today](http://twit.tv/tnt?ref=kudithipudi.org) and [Tom](http://twit.tv/people/tom-merritt?ref=kudithipudi.org) speaks about how [Gogo](http://www.gogoair.com/?ref=kudithipudi.org) is going to improve the speed of in-flight Internet access by 4 times.

BTW.. if you want to work at a company that is changing the industry (of in-flight access and entertainment).. we are [hiring](http://www.gogoair.com/gogo/cms/careers.do?ref=kudithipudi.org) :).
### Inspiration..
URL: https://kudithipudi.org/inspiration/
Last updated: 2011-09-08T13:05:03.000Z
I love my “work” to the point that most people that know me think that I am a “workaholic” :). One of the reasons, I love my job is the ability to share my passion for technology. And I know that I am on the right path (despite the long hours), when I receive notes like this (from an ex team-mate)

> Hi Vinay,  
>  
> I hope you are doing great. I would like to take this opportunity to express my thankfulness to you, for introducing us the Modular approach in Perl Scripting during the tenure at TravelClick.  
>  
> Without your support, I probably wouldn’t have gained confidence to develop script which runs more than 500 lines. Hence I wish to dedicate this script to you.  
>  
> Btw I started writing a Technical Blog over a year “[http://ashok-linux-tips.blogspot.com](http://ashok-linux-tips.blogspot.com/?ref=kudithipudi.org)”. I request you to have a look.  
>  
> I must admit that the idea of sharing technical solutions via Blog was mainly inspired after seeing your [https://kudithipudi.org](../) J  
>  
> Once again, thanks for all the support extended to us.  
>  
> Regards  
>  
> Ashok

Nice job Ashok :).
### HOW TO : Find the clients connecting to a NFS server
URL: https://kudithipudi.org/how-to-find-the-clients-connecting-to-a-nfs-server/
Last updated: 2011-09-01T15:46:51.000Z
Quick tip to find out the clients connecting to a NFS server.

- Check the ports that NFS uses

```
grep -i nfs /etc/services
```

- Check the clients connecting to the server using the port from above

```
netstat -an | grep 2049
```
### HOW TO : Search ownership of files in Linux
URL: https://kudithipudi.org/how-to-search-ownership-of-files-in-linux/
Last updated: 2011-09-01T14:44:41.000Z
Say you have a directory with a bunch of sub directories and files and you want to see if all the files are owned by a particular user, you can use the following set of commands

```
ls DIRECTORY_PATH -l -R | awk {‘print $3’} | grep -v USER_NAME
```

The set of commands do the following

- ls -l -R shows the list of files and directories
- awk prints the name of the owner of the file (it is the third column)
- grep shows only the lines where the owner name doesn’t match

And yeah.. this works in most variants of Linux :).
### Unimaginative Error Pages : HP.com
URL: https://kudithipudi.org/unimaginative-error-pages-hp-com/
Last updated: 2011-09-01T04:22:18.000Z
One of the [largest tech company](http://www8.hp.com/us/en/hp-information/facts.html?ref=kudithipudi.org) in the world

[Fortune 100 Company](http://money.cnn.com/magazines/fortune/fortune500/2011/full%5Flist/index.html?ref=kudithipudi.org)

Supposedly [earns billions](http://h30261.www3.hp.com/phoenix.zhtml?c=71087&p=irol-irhome&ref=kudithipudi.org) in consulting services

and what happens when thousands (and let’s imagine millions) hit their web app store?

![](http://farm7.static.flickr.com/6087/6101697807_6c201ed41d_d.jpg "HP : Error Screen")
### Overheard : Comment about complex organizational structures
URL: https://kudithipudi.org/overheard-comment-about-complex-organizational-structures/
Last updated: 2011-09-01T04:13:44.000Z
> More tiers means more tears..

Keep it simple :).
### HOW TO : Apache and SELinux
URL: https://kudithipudi.org/how-to-apache-and-selinux/
Last updated: 2011-08-22T16:13:32.000Z
Quick note for future reference..

If you ever run into errors like this

```

Starting httpd: Warning: DocumentRoot [/var/www/html/static] does not exist
Warning: DocumentRoot [/var/www/html/static] does not exist
Warning: DocumentRoot [/var/www/html/static] does not exist
Warning: DocumentRoot [/var/www/html/static] does not exist
(13)Permission denied: httpd: could not open error log file /etc/httpd/logs/error_log.
Unable to open logs
                                                           [FAILED]
```

And you are scratching your head why Apache is throwing these errors, even when the said directory and files exist. And you have the right permissions!! Check if you have SELinux running and being enforced.  
On [RHEL](http://www.redhat.com/rhel/?ref=kudithipudi.org), you can check if [SELinux](http://en.wikipedia.org/wiki/Security-Enhanced%5FLinux?ref=kudithipudi.org) is running by  

```
cat /selinux/enforce
```

The two values are 0 and 1\. 0 means, SELinux is not being enforced and 1 means it is.  
You can quickly disable SELinux temporarily by  

```
echo 0 >/selinux/enforce
```

If you want to disable it permanently (i.e. survive reboots), you have to edit the file /etc/selinux/config and change the SELINUX line from enabled to disabled.
### HOW TO : Playbook for creating an effective IT team
URL: https://kudithipudi.org/how-to-playbook-for-creating-an-effective-it-team/
Last updated: 2011-08-22T13:13:53.000Z
[Tom Limoncelli](http://everythingsysadmin.com/?ref=kudithipudi.org) put together a list of questions that are essentially a cheat-sheet to creating and running a very effective IT team. He called it the Limoncelli Test (as a tribute to the [Joel Spolsky](http://www.joelonsoftware.com/AboutMe.html?ref=kudithipudi.org)‘s [Joel Test](http://www.joelonsoftware.com/articles/fog0000000043.html?ref=kudithipudi.org)) and it can be found at [http://everythingsysadmin.com/the-test.html](http://everythingsysadmin.com/the-test.html?ref=kudithipudi.org).

The only additional thing I would add to the list is to have a roadmap for the function you provide and ensure it is updated quarterly. A lot of teams spend a lot of time on what they do now, but don’t focus on what they “can” do. This is similar to IT functions spending more than 70% – 80% of their budgets on maintenance rather than innovating.
### Huh??
URL: https://kudithipudi.org/huh-2/
Last updated: 2011-08-19T13:45:39.000Z
Anything wrong with the status of this deal from Groupon??

![](http://farm7.static.flickr.com/6089/6059177848_080b0c958b_d.jpg "Groupon : Error")
### Overheard : Random comments about technology
URL: https://kudithipudi.org/overheard-random-comments-about-technology/
Last updated: 2011-08-19T13:04:59.000Z
Here are some interesting titbits from a executive summary event hosted by Redhat/Intel that I attended yesterday.

> We decreased the execution times for our orders from 1.5 seconds to 5 milliseconds

This from an executive managing the technology organization for a large trading company. Imagine the geekiness in accomplishing this :).

> For every 450 smartphones that get activated a server is added to support them

This from an Intel executive. So if there are [500000 android phones](http://twitter.com/?ref=kudithipudi.org#!/Arubin) being activated every day.. that’s around 1111 servers being added just to serve the android fans :).

> 1 in 4 servers currently runs Linux

This from a Redhat executive. If anyone doubts that Linux is mainstream.. they are living under a rock 🙂
### HOW TO : Use grep to search for credit card numbers
URL: https://kudithipudi.org/how-to-use-grep-to-search-for-credit-card-numbers/
Last updated: 2011-08-18T03:20:05.000Z
I was looking for a quick way to search for credit card numbers in a file and ran across [this](http://reluctanthacker.rollett.org/creating-regex-finding-credit-card-numbers-grep?ref=kudithipudi.org) excellent post by [Adrian Rollett](http://twitter.com/?ref=kudithipudi.org#!/acrollet). I tweaked his suggestion a bit to show some additional data.

Original suggestion

```
grep ‘\(^\|[^0-9]\)\{1\}\([345]\{1\}[0-9]\{3\}\|6011\)\{1\}[-]\?[0-9]\{4\}[-]\?\[0-9]\{2\}[-]\?[0-9]\{2\}-\?[0-9]\{1,4\}\($\|[^0-9]\)\{1\}’ FILE_TO_SEARCH
```

My modification

```
grep ‘\([345]\{1\}[0-9]\{3\}\|6011\)\{1\}[ -]\?[0-9]\{4\}[ -]\?[0-9]\{2\}[-]\?[0-9]\{2\}[ -]\?[0-9]\{1,4\}’ –color -H -n FILE_TO_SEARCH
```

The modified command will show the name of the file the number was found and at which line. You can tweak it further using additional options for grep. A good reference guide can be found [here](http://www.computerhope.com/unix/ugrep.htm?ref=kudithipudi.org).
### Innovative Error Pages : Pandora
URL: https://kudithipudi.org/innovative-error-pages-pandora/
Last updated: 2011-07-27T19:42:17.000Z
Ran across this application error message on [Pandora](http://www.pandora.com/?ref=kudithipudi.org)

![](http://farm7.static.flickr.com/6001/5981572731_e4b9370e8e_z_d.jpg "Pandora : Error Screen")
### Innovative Error Pages : Arstechnica
URL: https://kudithipudi.org/funny-error-pages-arstechnica/
Last updated: 2011-07-20T23:15:53.000Z
Snapshot of the 503 error on [Arstechnica](http://www.arstechnica.com/?ref=kudithipudi.org)

![](http://farm7.static.flickr.com/6027/5958933729_fe023b1e78_z_d.jpg "Arstechnica : Error Page")
### HOW TO : Export and import certificates using keytool
URL: https://kudithipudi.org/how-to-export-and-import-certificates-using-keytool/
Last updated: 2011-07-20T19:55:51.000Z
[Keytool](http://download.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html?ref=kudithipudi.org) is a [java](http://www.java.com/?ref=kudithipudi.org) utility to manage SSL key databases (stores). Here are a couple of options for using this tool

- List the certificates in the keystore

```
keytool -list -keystore NAME_OF_KEYSTORE_FILE
```

- Export a particular certificate from the keystore

```
keytool -export -alias ALIAS_NAME_OF_CERT -keystore NAME_OF_KEYSTORE_FILE
```

- Import a certificate into the keystore

```
keytool -import -alias ALIAS_NAME_YOU_WANT -keystore NAME_OF_KEYSTORE_FILE -file NAME_OF_CERT_FILE_TO_IMPORT
```
### HOW TO : Use netcat (nc) on Windows 7
URL: https://kudithipudi.org/how-to-use-netcat-nc-on-windows-7/
Last updated: 2011-07-14T16:28:27.000Z
[netcat](http://netcat.sourceforge.net/?ref=kudithipudi.org) is a swiss army tool for network/security professionals. You can use it to listen on certain ports or connect to certain ports. For example, say, you configured your firewall to allow [TCP](http://en.wikipedia.org/wiki/Transmission%5FControl%5FProtocol?ref=kudithipudi.org) 80 traffic to your web server. But your web server is not built yet and you want to validate the rule. You can run netcat on your workstation to listen on port 80, assign the IP address of the web server to your workstation and test the rule.

If I am not mistaken, nc comes as a default tool in most of the [Linux](http://en.wikipedia.org/wiki/Linux?ref=kudithipudi.org) distros. You can download the windows port of the tool at [http://www.securityfocus.com/tools/139](http://www.securityfocus.com/tools/139?ref=kudithipudi.org)

The command to have netcat listen on a specific port is “nc -l PORT\_NUMBER”. If you run this on a Windows 7 machine, you will get this dreaded message “local listen fuxored: INVAL”. The fix is to run it with a -L option. So the command would like this

```
nc -L -p 80
```

The -L means “listen harder, re-listen on socket close” :).. Have to dig deeper and see what it really means though. I will leave that for another blog post.

And if you want to validate that netcat is indeed listening on that port, you can connect to that port from another workstation by using [nmap](https://kudithipudi.org/scan-udp-ports-using-nmap/).
### Huh…???
URL: https://kudithipudi.org/huh/
Last updated: 2011-07-07T18:21:24.000Z
I was checking out the live feed from Facebook regd the video service they rolled out yesterday and noticed this comment on the live feed form.. all I can say is WTF 🙂

![](http://farm6.static.flickr.com/5239/5912500921_e0ba3830b9_d.jpg "Facebook : Weird Comment")
### HOW TO : for loop in bash
URL: https://kudithipudi.org/how-to-for-loop-in-bash/
Last updated: 2011-06-23T16:54:30.000Z
Quick post for my own reference down the road. the “for” loop comes in very handy, when you want to perform the same task on multiple items in a bash shell.

For example, I wanted to query the DNS results of a couple of sub domains (blog.gogoair.com, pr.gogoair.com, tracker.gogoair.com), I can do it the normal way (that 99% of us do 🙂 )

```
dig blog.gogoair.com
dig pr.gogoair.com
dig tracker.gogoair.com
```

Or, I can use the for loop function and do this

```
for i in {blog,pr,tracker}.gogoair.com; do echo "$i" ; dig +short "$i"; done
```

Got to love technology :).. Makes you lazy!!..err I meant to say productive.

Thx to Cliff for the inspiration.
### Facebook is popular…but still
URL: https://kudithipudi.org/facebook-is-popular-but-still/
Last updated: 2011-05-26T01:31:44.000Z
I wanted to signup for the service offered by the [Techcrunch 2011 Disrupt](http://disrupt.techcrunch.com/category/disrupt/2011-nyc/?ref=kudithipudi.org) winner, [GetAround](www.getaround.com) (which by the way is a pretty cool service) and went to their website. And what do I see? I need a facebook account to use their service. I know Facebook is popular, but how fair is it to require a potential customer to have a Facebook account?? 

![](http://farm4.static.flickr.com/3018/5760389634_3fe4f84ecb_d.jpg "Getaround Sign up")
### Celebrating Ugadhi
URL: https://kudithipudi.org/celebrating-ugadhi/
Last updated: 2011-05-15T00:39:44.000Z
Jhanvi and I visited India in April and were lucky to celebrate [Ugadhi](http://en.wikipedia.org/wiki/Ugadi?ref=kudithipudi.org) with our family back home. Ugadhi is the an important festival in South India and is essentially the celebration of the begenning of a new year (yep.. new year in April 🙂 ). One of the specialities of Ugadhi in Andhra Pradesh is something called “Ugadhi Pachadi”. It is a mixture of 6 ingredients (Neem Flower, Jaggery, Red Pepper, Green Mango, Salt and Tamarind) which designate the different “tastes” of life (bitter, sweet, hot, salty, tangy etc).

I haven’t been able to celebrate Ugadhi with my family for more than 10 years. So it was a special occasion. And mom went all the way to make it even more memorable. Here are some pictures.

Hanging Mango Leaves

![](http://farm6.static.flickr.com/5026/5657628428_308def4c43_d.jpg "2011 Ugadhi")

Garelu

![](http://farm6.static.flickr.com/5146/5657636368_7cb04b4106_d.jpg "2011 Ugadhi Garelu")

Ugadhi Pachadi : Ingredients

![](http://farm6.static.flickr.com/5185/5657637928_f2d8eac704_d.jpg "2011 Ugadhi Pachadi Ingrediants")

Ugadhi Pachadi : Final

![](http://farm6.static.flickr.com/5267/5657074979_b411cf7316_d.jpg "2011 Ugadhi Pachadi")

Thanking the divine ones

![](http://farm6.static.flickr.com/5190/5657083545_5cd619d822_d.jpg "2011 Ugadhi Pooja")
### RESOLUTIONS : 2011 : April Update
URL: https://kudithipudi.org/resolutions-2011-april-update/
Last updated: 2011-05-15T00:13:15.000Z
Another late update. I really want to post these updated in the first week of the month, but something or the other always stops me from doing it. Maybe one of my resolution should be to post updates on resolutions on a timely basis :).

- Lose the Gut  
  - This is the first month, where my weight at the end of the month was higher than the weight at the beginning. And I blame all of it on the yummy food I had in India.
  - This was also the first month during which I didn’t measure my weight on a daily basis for more than 80% of the time.
  - Here is how the graph looks like ![](http://farm3.static.flickr.com/2261/5720531794_3a55b3edcb_o_d.png "2011 : Resolutions : May Weight Graph")
  - I feel like I have hit a plateau in my effort to lose weight. And I think I know why. I stopped exercising (whatever little I used to do 🙂 ). One small resolutions and so many issues :).
- Increase traffic to [kudithipudi.org](https://kudithipudi.org/)  
  - Another goal I didn’t do anything about in April. In fact, this is probably the one goal where I have consistently lagged behind. I haven’t been writing as much as I want to. Plenty of ideas, but at the same time plenty of excuses 🙂 to not write. But does it really matter? I just need to get it done.
- CISSP Certification  
  - I started preparing for the certification. I think I should just schedule the exam, so that I have a deadline to meet.
- ~~Vacation~~  
  - With the r[ecent vacation](http://www.flickr.com/photos/kudithipudi/collections/72157626586487156/?ref=kudithipudi.org) in India, I think this resolution has been met. One down, three more to go 🙂
### RESOLUTIONS : 2011 : March Update
URL: https://kudithipudi.org/resolutions-2011-march-update/
Last updated: 2011-04-17T12:52:04.000Z
A bit late on posting my monthly updates :). I blame it on the travel to India and poor connectivity. Here come the updates

- Lose the gut.  
  - I continue to lose weight thanks to the simple diet technique. My lowest point so far is 179.6lbs.. That is nearly 15lbs lower than my max weight this year!! :). Here’s a graph of my daily weight.![](http://farm6.static.flickr.com/5302/5627451752_79ee5047bc_d.jpg "2011 Resolutions : March Weight")
  - I haven’t been exercising as much as I used to. Although I have multiple excuses, I don’t think it matters. I should just suck up and stick to the plan. I think my travel to India in April is going to hinder the progress. But I promise to get back on track.
- Increase traffic to [Kudithipudi.org](https://kudithipudi.org/)  
  - This is probably the one goal that I haven’t done a good job making progress on. Although I intended to write several new posts, I didn’t manage to publish them. Here’s a snapshot of March 2011 traffic compared to 2010\. It is higher, but not at the level where I want it to be at.![](http://farm6.static.flickr.com/5150/5626885641_f8b517d76c_d.jpg "2011 March Kudithipudi.Org traffic")
- CISSP Certification  
  - Although I did not make direct progress on this goal, I was able to improve my knowledge and network in the security arena by attending the [Netsecure ’11](http://www.cvent.com/events/netsecure-11-it-security-and-forensics-conference-and-expo/event-summary-cec7e81a344a40a6a140c18d1c67c0c2.aspx?ref=kudithipudi.org) seminar arranged by [IIT](http://www.iit.edu/?ref=kudithipudi.org).
- Vacation  
  - Jhanvi and I are going to be in India in April for 3 weeks. So expect a ton of pictures 🙂 in the next few weeks.
### HOW TO : Enable global reverse proxy with certain exclusions in Apache
URL: https://kudithipudi.org/how-to-enable-global-reverse-proxy-with-certain-exclusions-in-apache/
Last updated: 2011-03-09T00:37:58.000Z
Say you want to enable reverse proxy on a site powered by Apache Web Server where all traffic to the web site it reverse proxied to a different server, but you want to exclude certain paths from being reverse proxies. I don’t know why you would want to do that :).. but we ran into that scenario at work and I wanted to document the config for future reference. The picture below shows a high level view of the traffic

![](http://farm6.static.flickr.com/5058/5510872188_7a43e2316c_d.jpg "Web Reverse Proxy")

- Ensure the following modules are being loaded in Apache.

\[bash\]

LoadModule proxy\_module modules/mod\_proxy.so  
LoadModule proxy\_balancer\_module modules/mod\_proxy\_balancer.so  
LoadModule proxy\_connect\_module modules/mod\_proxy\_connect.so  
LoadModule proxy\_ftp\_module modules/mod\_proxy\_ftp.so  
LoadModule proxy\_http\_module modules/mod\_proxy\_http.so  
LoadModule rewrite\_module modules/mod\_rewrite.so

\[/bash\]

- In the virtual host configuration for kudithipudi.org add the following lines

\[bash\]

ProxyRequests Off

  
Order deny,allow  
Allow from all  


ProxyPass /static !  
ProxyPass /media !  
ProxyPass / http://INTERNAL\_SERVER:8888  
ProxyPassReverse / http://INTERNAL\_SERVER:8888

\[/bash\]
### HOW TO : Trick to find out your IP address from a web server farm
URL: https://kudithipudi.org/how-to-trick-to-find-out-your-ip-address-from-a-web-server-farm/
Last updated: 2011-03-04T16:12:19.000Z
This is a quick trick I came up with to find out the IP address of a client that is trying to access a farm of web servers that you have access to. The diagram below shows the network path for a typical web server.

![](http://farm6.static.flickr.com/5180/5497234532_70d83d5466_d.jpg "Web Server Setup")

You have a client that might be sitting behind a (or multiple) proxy server. And there is a load balancer involved because you have multiple web servers for redundancy.

We were recently working on some rewrite rules for our web servers at work and we needed to find out what IP address the web servers were seeing the client traffic come from. Couple of challenges

- Which web server do you check? The load balancer can send you traffic to any server.
- What IP address are you going to look for? Wait that is the original problem right :).

The web servers usually write an entry to the error log when they serve a [404 error](http://en.wikipedia.org/wiki/HTTP%5F404?ref=kudithipudi.org). So we can use that to figure out which web server you are hitting and what IP address the web server is seeing you as. Here’s the trick

- On the client side go to http://WEBSITE\_ADDRESS/Get\_Me\_My\_IP (or some other URL, which you know doesn’t exist on the web site)
- On the server side, grep for “Get\_Me\_My\_IP” in the web server error logs

Here is an example, I ran on this website (https://kudithipudi.org)

- Client Side : Go to 
- Server Side : grep for “what\_is\_my\_ip”

\[bash\]  
root@samurai:/var/log/apache2# grep -i what\_is\_my\_ip access\_kudithipudi.log  
199.27.130.105 – – \[04/Mar/2011:16:07:18 +0000\] "GET /what\_is\_my\_ip HTTP/1.0" 40 4 5495 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.14) Gecko/2 0110218 Firefox/3.6.14 ( .NET CLR 3.5.30729; .NET4.0E)"  
\[/bash\]

- From this entry I can figure out that my client is appearing as “199.27.130.105” to the web server.
### RESOLUTIONS : 2011 : February Update
URL: https://kudithipudi.org/resolutions-2011-february-update/
Last updated: 2011-03-03T22:59:22.000Z
Here come the monthly updates on my [2011 resolutions](https://kudithipudi.org/2011-resolutions/).

1. Lose the gut.  
  - Continuting to follow the diet in [Tim Ferri’s book](http://www.fourhourbody.com/?ref=kudithipudi.org). I seemed to have plateaued in February (between 185 – 187 lbs), so I kicked it up a notch with chemicals. OK.. no steriods. Just some good old garlic. Today, I weighed 183lbs!!.. That’s 11.5lbs in 2 months. Here’s a chart of my daily weight since 1/3/2011
  - I think the trick is to really keep the diet simple, so that you don’t have to worry about what you are eating. The 2 egg whites for breakfast is great. In March, I am planning on extending the “keep it simple” to lunch. Some beans and spinach are going to do wonders.
  - I also started practicing [Yoga](http://en.wikipedia.org/wiki/Yoga?ref=kudithipudi.org) on weekends. This is another thing, once I get up to speed and more comfortable, I plan on doing every day.
  - My running distance is up to 4 miles now.. Up from a embarrassing 1 mile :). And this is the same guy that used to run Marathons :).

![](http://farm6.static.flickr.com/5093/5494999523_a726c0ba33_d.jpg "2011 March Weight Chart")

2. Increase traffic to [kudithipudi.org](https://kudithipudi.org/)  
  - I published 7 posts in [Feb 2011](https://kudithipudi.org/2011/02/). Not as many as I wanted, but the increase in traffic has been pretty impressive so far. Here is a snapshot of a [Google Analytics](http://google.com/analytics?ref=kudithipudi.org) report comparing the first two month periods of 2010 and 2011\. [![](http://farm6.static.flickr.com/5217/5495030591_d944e22407_d.jpg "2011 March Site Traffic")](http://farm6.static.flickr.com/5217/5495030591%5F061bd792f0%5Fo%5Fd.png?ref=kudithipudi.org)(click on the image for a larger size. The blue line shows 2011 traffic and the green line shows 2010 traffic)
  - I still didn’t publish the posts I have been meaning to for sometime now 🙂
3. [CISSP Certification](http://en.wikipedia.org/wiki/CISSP?ref=kudithipudi.org)  
  - No progress on this yet :(..
  - I did start the process to form a hacker group at work to discuss and brain storm new technologies. Not close to getting certification, but something to keep the mind busy.
4. Vacation  
  - Our trip to India is finalized. I even bought the tickets!! And we are going to fly through [Abu Dhabi](http://en.wikipedia.org/wiki/Abu%5FDhabi?ref=kudithipudi.org). How abt that for a 3 hour layover vacation 🙂 ?
### Overheard : Comment about perception
URL: https://kudithipudi.org/overheard-comment-about-perception/
Last updated: 2011-03-02T23:33:56.000Z
Comment by [Mark Horstman](http://twitter.com/mahorstman?ref=kudithipudi.org) on his recent podcast regd [managing a massive workload increase](http://www.manager-tools.com/2011/02/how-manage-a-massive-workload-increase-part-4?ref=kudithipudi.org)

> We don’t see the world as it is, we see it as we are

I believe this a famous quote.. don’t know who the original author is. But wanted to note, since it is a pretty deep :).

I highly recommend Mark and his partner Mike’s podcast “[Manager Tools](http://www.manager-tools.com/?ref=kudithipudi.org)” and “[Career Tools](http://www.manager-tools.com/?ref=kudithipudi.org)” to every professional. Well worth the time.
### HOW TO : Setup Global Redirect in Lighttpd
URL: https://kudithipudi.org/how-to-setup-global-redirect-in-lighttpd/
Last updated: 2011-02-12T01:12:18.000Z
If you have ever managed a web application, you know you have to take it down at times :). And you usually want to show an simple page stating that you are down for maintenance. Here is a simple way to setup a “maintenance” splash page. The assumption is that you have a Linux server to host the maintenance page.

- Configure [lighttpd](http://www.lighttpd.net/?ref=kudithipudi.org) ([HTTP Server](http://en.wikipedia.org/wiki/Web%5Fserver?ref=kudithipudi.org)) on the server using instructions from this [article](http://www.cyberciti.biz/tips/installing-and-configuring-lighttpd-webserver-howto.html?ref=kudithipudi.org) on [Cyberciti](http://www.cyberciti.biz/?ref=kudithipudi.org).
- Edit the lighttpd.conf file and add the following line in your site configuration

\[bash\] server.error-handler-404 = "index.html" \[/bash\]

- Name your maintenance page as index.html and upload it to the document root (in this example, it is /var/www/html)

You are essentially telling the web server to display index.html whenever the user is trying to access content that is not present on the server. And since there is no content on the server other than the index.html, the web browser will always display the index.html page..
### DID YOU KNOW : Valentine's Day in Japan
URL: https://kudithipudi.org/did-you-know-valentines-day-in-japan/
Last updated: 2011-02-11T13:48:28.000Z
I was listening to NPR on my way to work today and heard this interesting snippet about a [Valentine’s Day](http://en.wikipedia.org/wiki/Valentine's%5FDay?ref=kudithipudi.org) tradition in [Japan](http://en.wikipedia.org/wiki/Japan?ref=kudithipudi.org). Apparently, [all the women give chocolate to men on Valentine’s day](http://en.wikipedia.org/wiki/Valentine%27s%5FDay?ref=kudithipudi.org#Japan) :). This just notched up Japan in my “cool country” list :).

I say, we make that a world wide tradition :).
### HOW TO : Dowload content from Oracle Metalink (Support) using wget
URL: https://kudithipudi.org/how-to-dowload-content-from-oracle-metalink-support-using-wget/
Last updated: 2011-02-10T13:57:11.000Z
The usual process for a DBA to download files from Oracle Metalink (support) site is

- Login to Metalink from his/her workstation
- Download the file
- Upload the file to the database server
- Use the file

Say your database is in a data center and your workstation doesn’t have high speed connectivity to the data center, you can use the following trick to download content to a l\[u\]inux server in the data center that has Internet connectivity (and hopefully it is not your database server 🙂 ).

- Log into Metalink from your workstation
- Grab the link to the file/content you want to download (for example, we recently tried to download clusterware for Oracle 11G, and the link was http://download.oracle.com/otn/linux/oracle11g/linux.x64\_11gR1\_clusterware.zip)
- Log into a server in your data center (it should have connectivity to the Internet and also to your database server)
- Download the file using wget

\[bash\]wget http://download.oracle.com/otn/linux/oracle11g/linux.x64\_11gR2\_clusterware.zip –user ORACLE\_ID –password ORACLE\_ID\_PASSWORD\[/bash\]

> Replace the link with the link to your content and use your Oracle ID and password.

- The file downloaded will have a strange name since wget appends the sessionID to the end of the file. In the example I used above, the name of the file was “**linux.x64\_11gR2\_clusterware.zip\\?e\\=1297470492\\&h\\=a66b265cc967a68c611052cb8e54356f**“
- Rename the file and strip off the unnecessary data in the name using mv
### HOW TO : Capture HTTP Headers using tcpdump
URL: https://kudithipudi.org/how-to-capture-http-headers-using-tcpdump/
Last updated: 2011-02-07T16:09:03.000Z
Quick how to on capturing [HTTP headers](http://en.wikipedia.org/wiki/List%5Fof%5FHTTP%5Fheader%5Ffields?ref=kudithipudi.org) using [tcpdump](http://www.tcpdump.org/?ref=kudithipudi.org) on a web server (running Linux).

- On the web server, issue the following command

\[bash\] tcpdump -s 1024 -C 1024000 -w /tmp/httpcapture dst port 80 \[/bash\]

- Stop the capture by issuing the break command (ctrl + c)
- Open the capture file (httpcapture in this example) in [wireshark](http://www.wireshark.org/?ref=kudithipudi.org) and check out the headers under the the HTTP protocol
### Inspirational : Indian National Anthem by kids with disabilities
URL: https://kudithipudi.org/inspirational-indian-national-anthem-by-kids-with-disabilities/
Last updated: 2011-02-06T19:26:55.000Z
Watch the video :)..
### Overheard : Comment about being a true Motivater
URL: https://kudithipudi.org/overheard-comment-about-being-a-true-motivater/
Last updated: 2011-02-04T16:16:26.000Z
I was interviewing a candidate for a job opening at my work. I asked him how he motivates his team and he made this comment about how you truly measure if you can motivate a person

> Think of a 16 year old working part time at a retailer. She is just working to earn money to buy some lipstick or perfume. Think how you can motivate her to work on a thanksgiving weekend!!
### The great blizzard of 2011
URL: https://kudithipudi.org/the-great-blizzard-of-2011/
Last updated: 2011-02-02T14:07:35.000Z
I have been snowed in for the first time (in the 10 years that I have been in Chicago) :). I woke up early and took some pictures. Here is one showing my car (nearly drowned in snow 🙂 ) with snow around it for some prospective

![](http://farm6.static.flickr.com/5178/5409936297_c8c72325c8_d.jpg "2011 : Snow Blizzard")

Here’s another showing how much snow we had to dig through on the footpaths to walk around

![](http://farm5.static.flickr.com/4139/5411620137_4a82d2c29e_d.jpg "2011 : Chicago Snow Blizzard")

More pictures at [http://www.flickr.com/photos/kudithipudi/sets/72157625835243633/](http://www.flickr.com/photos/kudithipudi/sets/72157625835243633/?ref=kudithipudi.org)
### RESOLUTIONS : 2011 : January Update
URL: https://kudithipudi.org/resolutions-2011-january-update/
Last updated: 2011-02-02T00:14:18.000Z
As I mentioned [here](https://kudithipudi.org/2011-resolutions/), I have made some resolutions for 2011\. As with any good task list, it is worthless unless you take a look at it periodically and update it :). I am going to publish an update on each one of the resolutions every month. Here goes the first one

1. Loose weight (AKA loose gut)  
  - I am practicing part of the diet proposed by [Tim Ferris](http://www.fourhourworkweek.com/blog/?ref=kudithipudi.org) in his [Four Hour Body](http://www.fourhourbody.com/?ref=kudithipudi.org) book. I am eating 2 egg whites for breakfast and than eating a small meal every 4 hours. I haven’t gone completely into the whole “white” carb diet he proposes though.
  - I also started tracking my weight and diet religiously on a daily basis. This is another of Tim’s ideas. He says that by tracking your weight everyday, you subconsciously start making better choices in terms of the food you eat. I this it makes sense :). I am tracking the data in a Google spreadsheet. Here is a chart of my weight for the last one month ![](http://farm6.static.flickr.com/5091/5408582503_032b9fe134_d.jpg "2011 : January : Weight")I started out at 194 lbs and am not at 188 lbs. Hopefully I will be able to keep this downward trend.
  - I also started working out (thanks to Jhanvi). We are working out at least 2 times a week.
2. Increase web traffic to [kudithipudi.org](https://kudithipudi.org/)
  - I started posting more content on the site. I posted 8 articles in January.
  - No particular strategy other than writing more content, which will hopefully bring more traffic.
  - Have the following topics to write on (and some of them have been pending for a long time)  
    - Moving your life to the cloud
    - Setting up a virtual server on the Rackspace Cloud Infrastructure
    - Configuring syslog-ng
    - Configuring nginx to reduce resource utilization on Linux server
3. Achieve CISSP certification
  - No progress on this one at all.
4. Go on a vacation
  - Jhanvi and I planned to go to the travel and adventure expo, that was held in Rosemont last weekend, but we got too lazy :).
  - Our trip to India (and it doesn’t count as a vacation 🙁 ) is planned for April.

Progress on 2 out of the 4 resolutions!!.. Not bad :).

PS : Thanks for all the support I have been getting on the first resolution :). I didn’t realize the situation was so bad :).
### HOW TO : Configure Cache Expiration in Apache
URL: https://kudithipudi.org/how-to-configure-cache-expiration-in-apache/
Last updated: 2011-02-01T02:43:21.000Z
[Cache servers](http://en.wikipedia.org/wiki/Cache?ref=kudithipudi.org#Web%5Fcache) depend on cache control headers provided by the web server. Essentially, the web server (based on the configuration) specify’s what content is cache-able and for how long. (Note: Some of the cache servers might ignore this and have a default cache period for specific content. But that is not for another post 🙂 )

Here is a quick and dirty way to configure [Apache 2.x](http://httpd.apache.org/?ref=kudithipudi.org) server to enable [cache control](https://kudithipudi.org/content/files/httpd-apache-org/docs/2-0/mod/mod%5Fexpires.xml) settings on all content in a directory

\[bash\]  
ExpiresActive On  
  
Options FollowSymLinks MultiViews  
Order allow,deny  
Allow from all  
ExpiresDefault "modification plus 1 hour"  
  
\[/bash\]

This configuration tells apache to enable cache headers for all content in the /var/www/html/static folder. The cache expiration is set to expire 1 hour from the modification time of the content.
### Analytics in the Cloud : Not there yet
URL: https://kudithipudi.org/analytics-in-the-cloud-not-there-yet/
Last updated: 2011-01-28T14:17:17.000Z
I attended a webinar hosted by [Deepak Singh](http://www.linkedin.com/in/dsingh?ref=kudithipudi.org) from [Amazon’s](http://www.amazon.com/?ref=kudithipudi.org) [Web Service](http://aws.amazon.com/?ref=kudithipudi.org) group on analytics in the cloud. He made a very compelling case for utilizing the cloud to build out your analytics infrastructure. Esp with the growing data sizes that we deal with now, I think it makes absolute sense. You can utilize different software stacks and grow (and shrink) your hardware stack as required. Great stuff..

But there is a catch. Most of the data generated by current organizations is “inside” their perimeters. Whether it is the OLAP database collecting all your data or that application that spews gigabytes of logs, most of the data is housed in your infrastructure. So if you want to use the cloud to perform analytics on this data, you have to first transfer this data to the cloud. And therein lies the problem. As Deepak mentioned in the webinar, human beings have to yet conquer the limitations of physics :). You have to have a pretty big pipe to the Internet to just transfer this data.

Amazon has come up with various means to help with this issue. They are creating copies of publicly available data sets within their cloud so that customers don’t have to transfer them. They are also working with companies to keep private data sets in the cloud for other customers to use. So similar to how you would be able to spin up a Redhat AMI, by paying some license fee to Redhat, I believe they are looking at providing customers access to this private data sets by paying some fee to the company providing this data set. It is a win-win-win situation 🙂 for Amazon, the company providing the private data set and Amazon’s web services customers. They also support a one time import of data from physical disk or tape.

Coming back to the title of this post :). I think this field is still in it’s infancy. Once companies start migrating their infrastructure to the cloud (And yes, it will happen. It is only a matter of [time](https://kudithipudi.org/cloud-computing-and-your-companys-infrastructure/) :).), it will be a lot easier to leverage the cloud to perform your analytics. All your data will be in the cloud and you start leveraging the hardware and software stacks in the cloud.
### LinkedIn Network Map
URL: https://kudithipudi.org/linkedin-network-map/
Last updated: 2011-01-27T15:16:51.000Z
[LinkedIn](http://www.linkedin.com/?ref=kudithipudi.org) (professional networking site) is providing a way to [map your networks](http://inmaps.linkedinlabs.com/?ref=kudithipudi.org) to see where you have your strongest connections. Here is a map of my networks. You can click on the image to get to the live map.

[](http://inmaps.linkedinlabs.com/share/Vinay%5FKudithipudi/132686675992091484376588261961254424673?ref=kudithipudi.org)

My strongest connections so far are at

- [Orbitz](http://www.orbitz.com/?ref=kudithipudi.org)
- [Travelclick](http://www.travelclick.net/?ref=kudithipudi.org)
- Spirian (Company Does not exist any more)
- [Aircell](http://www.aircell.com/?ref=kudithipudi.org)

I wish they came up with a map showing the location of my network too. That way, I can find out if I can get a job in [New Zealand](http://en.wikipedia.org/wiki/New%5FZealand?ref=kudithipudi.org) through my network :).
### HOW TO : Combining Perl and Zoho to produce reports
URL: https://kudithipudi.org/how-to-combining-perl-and-zoho-to-produce-reports/
Last updated: 2011-01-27T04:00:27.000Z
This HOW TO is more for my notes. We had a request at work, where we had to parse some log files and create a graph from the data in the log files.

The log files looked like this

\[bash\]  
0m0.107s  
0m0.022s  
0m0.015s  
2011-01-05\_02\_22  
0m0.102s  
0m0.024s  
0m0.014s  
2011-01-05\_02\_23  
\[/bash\]

I wrote the following perl script to get the log file to look as such

\[bash\]| 0m0.107s| 0m0.022s| 0m0.015s| 2011-01-05 | 02:22

| 0m0.102s| 0m0.024s| 0m0.014s| 2011-01-05 | 02:23 \[/bash\]

perl script

\[perl\]  
#!/usr/bin/perl  
\# Modules to load  
\# use strict;  
use warnings;

\# Variables  
my $inputFile = ‘input.txt’;  
my $version = 0.1;

my $logFile = ‘parsed\_input.csv’;

\# Sub Functions  
sub Log($$$);  
sub Trim($);

\# Clear the screen  
system $^O eq ‘MSWin32’ ? ‘cls’ : ‘clear’;

\# Open the output log file  
open(LOGFILE,"> $logFile") || die "Couldn’t open $logFile, exiting $!\\n";

\# Open the input file  
open(INPUTFILE,"< $inputFile") || die "Couldn’t open $inputFile, exiting $!\\n";

\# Process the input file, one line at a time  
while (defined ($line = )) {  
chomp $line;  
\# Check for blank line  
if ($line =\~ /^$/)  
{  
\# Start a new line in the output  
print LOGFILE "\\n";  
}  
else  
{  
\# Split the date and time  
if ($line =\~ /2011/)  
{  
@date = split (/\_/,$line);  
print LOGFILE "| $date\[0\] | $date\[1\]:$date\[2\]";  
}  
else  
{  
\# Write the value to the output  
print LOGFILE "| $line";  
}  
}  
}  
\[/perl\]  

I then took the parsed log files and imported them into the cloud based reporting engine provided by Zoho at http://reports.zoho.com 

The final result are these reports

[SERVER1](http://reports.zoho.com/ZDBDataSheetView.cc?OBJID=144766000000038450&STANDALONE=true&ZDB%5FTHEME%5FNAME=blue&REMTOOLBAR=false&INCLUDETITLE=true&INCLUDEDESC=true&ref=kudithipudi.org)

[SERVER2](http://reports.zoho.com/ZDBDataSheetView.cc?OBJID=144766000000038487&STANDALONE=true&ZDB%5FTHEME%5FNAME=blue&REMTOOLBAR=false&INCLUDETITLE=true&INCLUDEDESC=true&ref=kudithipudi.org)

Did I say, I love technology? 🙂
### Time does fly :)
URL: https://kudithipudi.org/time-does-fly/
Last updated: 2011-01-27T02:08:05.000Z
Two pictures of my nephew one year apart. Now, I feel old 🙂

![](http://farm5.static.flickr.com/4068/4243233418_1d7e4fbd83.jpg "Anish : Baby")

![](http://farm6.static.flickr.com/5212/5391955268_c058ba5250_d.jpg "Anish : Boy")
### HOW TO : Find out which network port a program is using in linux
URL: https://kudithipudi.org/how-to-find-out-which-network-port-a-program-is-using-in-linux/
Last updated: 2011-01-26T18:46:38.000Z
Quick way to figure out, which ports a particular program is using in linux

\[bash\] netstat -plan | grep -i PROGRAM\_NAME \[/bash\]

Example : Check which ports SSH is listening on

\[bash\]

samurai@samurai:\~$ sudo /bin/netstat -plan | grep sshd  
tcp 0 0 0.0.0.0:22 0.0.0.0:\* LISTEN 5257/sshd  
tcp 0 52 123.123.123.123:22 124.124.124.124:32846 ESTABLISHED 3551/sshd: samurai  
tcp6 0 0 :::22 :::\* LISTEN 5257/sshd  
unix 3 \[ \] STREAM CONNECTED 5893 3551/sshd: samurai  
unix 2 \[ \] DGRAM 5849 3551/sshd: samurai

\[/bash\]
### HOW TO : Manage startup services in Ubuntu
URL: https://kudithipudi.org/how-to-manage-startup-services-in-ubuntu/
Last updated: 2011-01-26T15:06:45.000Z
Most Redhat/Fedora users are used to chkconfig and service for controlling the services/programs that startup at boot time. Here is how you do it in Ubuntu

- Check status of a particular service

\[bash\] sudo SERVICE\_NAME status \[/bash\]

Example : Check the status of Apache Web Service

\[bash\]samurai@samurai:\~$ sudo service apache2 status  
Apache is running (pid 3496).\[/bash\]

- Add a service to start on bootup

\[bash\] update-rc.d SERVICE\_NAME add \[/bash\]

Example : Configure squid to start on bootup

\[bash\] update-rc.d squid add \[/bash\]

- Stop a service from starting on bootup

\[bash\] update-rc.d SERVICE\_NAME remove \[/bash\]

Example : Configure squid to NOT start on bootup

\[bash\] update-rc.d squid remove \[/bash\]

NOTE : You need to have a startup script in /etc/init.d for the service to ensure update-rc.d works fine.
### New lens and my mom..
URL: https://kudithipudi.org/new-lens-and-my-mom/
Last updated: 2011-01-26T14:23:00.000Z
Picture of my mom taken with my new toy (Canon 50mm F/1.8 lens). My mom is usually a shy person and this is probably the first time I saw her being comfortable in front of a camera.

![](http://farm6.static.flickr.com/5216/5385052525_83083c6043_d.jpg "Mom")

I took a photography class recently and am finally enlightened to what a good lens can do :). Prior to the class, I was always of the opinion that a zoom lens is the way to go. But my instructor opened my eyes to the world of fixed (and expensive) lenses :).

More pictures from this photo shoot at [http://www.flickr.com/photos/kudithipudi/sets/72157625773287053/with/5385052525/](http://www.flickr.com/photos/kudithipudi/sets/72157625773287053/with/5385052525/?ref=kudithipudi.org)
### Management : Is your message being heard
URL: https://kudithipudi.org/management-is-your-message-being-heard/
Last updated: 2011-01-10T19:43:07.000Z
Good article regd. communications (verbal and email) on NY Times at [http://boss.blogs.nytimes.com/2011/01/06/are-your-messages-being-heard/](http://boss.blogs.nytimes.com/2011/01/06/are-your-messages-being-heard/?ref=kudithipudi.org) . I esp liked the comment about keeping messages short and smiling. We spend some much time at work (and most of that on email) in the modern work place. And I think these two things will make your colleagues appreciate you a lot more :).
### HOW TO : Check IO speed on a Linux Machine
URL: https://kudithipudi.org/howto-check-io-speed-on-a-linux-machine/
Last updated: 2011-01-03T14:36:07.000Z
For my notes.. if you ever want to check the IO capability of a disk (local or network) on a linux machine, use the following command

\[bash\] dd if=/dev/zero of=test.file bs=4M count=1000 \[/bash\]

The above command make a copy of the output from[ /dev/zero](http://en.wikipedia.org/wiki//dev/zero?ref=kudithipudi.org) to a file called test.file (you can locate the file on the disk you want to measure) with a block size of 4M for a total file size of 4000Mb.
### 2011 Resolutions..
URL: https://kudithipudi.org/2011-resolutions/
Last updated: 2011-01-03T00:14:45.000Z
For the few folks that keep in touch with me through this website.. Happy New Year!! :). Hope this new year brings you health and love.

I am usually not a resolutions guy :).. But I wanted to give it a try this year. And I am making them public, so that I have more incentive (read pressure) to reach them. Without future adieu, here they are

1. The third resolution doesn’t have a picture :). I have always wanted to get a [CISSP certification](https://www.isc2.org/cissp/Default.aspx?ref=kudithipudi.org). Well, this year, I am going to stop thinking and act on it.
2. And finally, the fourth one is to go on a decent vacation. Ideally, some place exotic :)..And hopefully, we will have a visa to visit it.

Second picture..

![](http://farm6.static.flickr.com/5161/5317467293_55081b580f_d.jpg "2010 Traffic")

This is a picture of the traffic to [this site](https://kudithipudi.org/), according to [Google](http://www.google.com/analytics?ref=kudithipudi.org). I want to double that by the end of this year. In other words, write more often :).

Take a look at this picture

![](http://farm6.static.flickr.com/5170/5317442799_fa3fe5b51c_d.jpg "Potta")

No.. not the part, where I am eating Jhanvi’s head :).. But that big fat gut hanging out for everyone’s viewing pleasure. Loosing that is my first resolution.
### Last run for 2010?
URL: https://kudithipudi.org/last-run-for-2010/
Last updated: 2010-11-09T02:54:43.000Z
Jhanvi and I ran the 2010 Hot Chocolate 15K last Saturday (11/6/2010). I don’t know why I keep doing this.. but I don’t seem to realize that I am not a [superman](https://kudithipudi.org/i-guess-i-am-a-superman/) 🙂 and cannot run races efficiently without practicing. Anyways, here is what happens when you run a race without ANY training..

**My Results**

![](http://farm5.static.flickr.com/4083/5159652225_3bf7ec1f2d_o_d.png "2010 Hot Chocolate 15K : Vinay")

I was aiming to be the last in everything :).. but looks like some people still beat me..

**Jhanvi’s Results**

![](http://farm2.static.flickr.com/1155/5160254712_a2e855056c_o_d.png "2010 Hot Chocolate 15K : Jhanvi")

Thx to Jhanvi for making me run the race… I wanted to run the 5K and call it a day 🙂 (and no. it is not called cheating when it is 27 degrees and you are freezing your butt off!! 🙂 ).. but she encouraged me to run the 15K. Clearly not my best time.. but I am proud I completed it never the less.
### Overheard : Comment on SPAM..
URL: https://kudithipudi.org/overheard-comment-on-spam/
Last updated: 2010-10-31T15:11:21.000Z
I came across this interesting article on a MSDN blog about [why each drive has its own current directory](http://blogs.msdn.com/b/oldnewthing/archive/2010/10/11/10073890.aspx?ref=kudithipudi.org) and in addition to learning something new (that you can use cd /d option to change directories between drives) I saw this super funny response from one of the users to a spam comment :)..

![](http://farm2.static.flickr.com/1440/5132078506_c0235f8445_z_d.jpg "Humor Spam Response")
### Cloud Computing and your company's infrastructure
URL: https://kudithipudi.org/cloud-computing-and-your-companys-infrastructure/
Last updated: 2010-10-30T15:51:39.000Z
Bold forecast :).. But in 5 to 10 years, I predict the majority of a company’s infrastructure will be hosted in a “cloud”. If you recall (circa 2000..), most of the companies were hosting “anti-spam” services in house. If anyone suggested that we can outsource that service, you would get a “are-you-crazy” look :). And now, you will get the same look if anyone suggests they run the anti-spam service in house. I believe the same is going to happen for infrastructure. You might still be running some components in house, but it will get smaller and smaller. Companies will be forced to focus on their core competency rather than try to maintain an army of engineers to perform tasks that someone else might be a lot better at.

Speaking of being visionary, apparently Netflix operates most of their infrastructure in the cloud. If Netflix can operate in the cloud, a majority of us can too :). Here are some links regd their lessons from moving to a cloud.

[http://blip.tv/file/4252897](http://blip.tv/file/4252897?ref=kudithipudi.org) (Video of Netflix Director of Engineering explaining their move to the cloud) 

[https://docs.google.com/viewer?a=v&pid=sites&srcid=ZGVmYXVsdGRvbWFpbnxwcmFjdGljYWxjbG91ZGNvbXB1dGluZ3xneDo2NDc2ODVjY2ExY2Y1Zjcz&pli=1](https://docs.google.com/viewer?a=v&pid=sites&srcid=ZGVmYXVsdGRvbWFpbnxwcmFjdGljYWxjbG91ZGNvbXB1dGluZ3xneDo2NDc2ODVjY2ExY2Y1Zjcz&pli=1&ref=kudithipudi.org) (Write up by a Netflix engineer about the move to the cloud from a storage and DB prospective)
### What does it mean to be a "Proactive IT Team"?
URL: https://kudithipudi.org/what-does-it-mean-to-be-a-pro-active-it-team/
Last updated: 2010-08-10T12:59:06.000Z
This picture ([credited to Uptime Software](http://www.uptimesoftware.com/mttr.php?ref=kudithipudi.org)) shows how you can classify outages so that you know which ones to tackle first. A very good way to take stock of things and show progress over time.

![](http://farm5.static.flickr.com/4094/4878558513_d2efb0e007_z_d.jpg "IT Operations :  Magic Quadrant")
### HOW TO : Run commands at regular intervals in Linux
URL: https://kudithipudi.org/how-to-run-commands-at-regular-intervals-in-linux/
Last updated: 2010-08-07T02:07:29.000Z
There are several ways to run commands repetively in Linux.. (cron, while loop etc). Here is a simple trick. Say you want to check the size of a directory using “du” every 5 seconds, you can use the following command  
`[bash]watch -n 5 du -ch[/bash]`

Check out all the options available in watch by running “man watch” :).
### 2010 First Half Marathon
URL: https://kudithipudi.org/2010-first-half-marathon/
Last updated: 2010-08-01T22:49:03.000Z
Guess what happens, when one runs a half marathon without any training? You break all records for finishing late :). Jhanvi and I ran the 2010 Rock and Roll Half Marathon in Chicago today. It was hot and humid.. but we managed to finish the run. Am so proud of Jhanvi for finished faster than me.. She just started running last year and I think she is a natural.

![2010 August : Chicago Rock and Roll Half Marathon](http://farm5.static.flickr.com/4116/4850548637_32c4340769.jpg)
### HOW TO : Check status of bond interface in Linux
URL: https://kudithipudi.org/how-to-check-status-of-bond-interface-in-linux/
Last updated: 2010-07-30T20:03:36.000Z
For my notes.. If you ever wanted to check the status of a bonded interface configure in Linux (esp RHEL), you can check the status by running the following command

\[root@serverxyz bin\]# cat /proc/net/bonding/bond0  

i.e. assuming the name of your bond interface is bond0.

Output from the command

Ethernet Channel Bonding Driver: v3.4.0 (October 7, 2008)  
  
Bonding Mode: fault-tolerance (active-backup)  
Primary Slave: eth3 (primary\_reselect always)  
Currently Active Slave: eth3  
MII Status: up  
MII Polling Interval (ms): 100  
Up Delay (ms): 0  
Down Delay (ms): 0  
  
Slave Interface: eth3  
MII Status: up  
Link Failure Count: 0  
Permanent HW addr: 00:10:18:6e:b8:1a  
  
Slave Interface: eth0  
MII Status: up  
Link Failure Count: 0  
Permanent HW addr: 00:21:5e:11:34:32  

The configuration files involved are

/etc/sysconfig/network-scripts/ifcfg-bond0 (Bond Interface)

DEVICE=bond0  
IPADDR=10.10.40.26  
NETMASK=255.255.255.0  
ONBOOT=yes  
BOOTPROTO=none  
USERCTL=no  
GATEWAY=10.10.40.1  
NETWORK=10.10.40.0  
BROADCAST=10.10.40.255  
TYPE=Ethernet

/etc/sysconfig/network-scripts/ifcfg-eth3 (Primary Interface)

DEVICE=eth3  
BOOTPROTO=none  
ONBOOT=yes  
HWADDR=00:10:18:6e:b8:1a  
MASTER=bond0  
SLAVE=yes  
TYPE=Ethernet  
USERCTL=no

/etc/sysconfig/network-scripts/ifcfg-eth0 (Secondary Interface)

DEVICE=eth0  
HWADDR=00:21:5e:11:34:32  
USERCTL=no  
ONBOOT=yes  
MASTER=bond0  
SLAVE=yes  
BOOTPROTO=none  
TYPE=Ethernet
### Lessons of the Trade : Purging Databases
URL: https://kudithipudi.org/lessons-of-the-trade-purging-databases/
Last updated: 2010-07-13T02:33:09.000Z
We ran into an interesting issue at work recently. Documenting the solution for my records..

BACKGROUND : We had a table in one of our databases that served as a “hopping” point for some jobs. Data was inserted into this table and at jobs get kicked off at periodic intervals to “process” the data and delete it.

CURRENT METHOD : Launch multiple jobs to process the data and delete the rows as soon as the data is processed. This is causing locks on the table because there are multiple delete operations occurring at the same time. Which in turn means that the jobs cannot complete processing the data causing the table to grow in size.

PROPOSED METHOD : Add a new column to the table called “PROCESSED\_STATE” and modify the “processing” jobs to set a flag “Y” in this column as soon as the data is processed. Create a new job that will be launched periodically, which checks the PROCESSED\_STATE column and if the flag is set to “Y”, deletes the row.

Morale of the story.. 🙂 .. Multiple deletes on a table are bad. Better way is to have multiple updates and one delete.
### Makhna ve Makhna : Part II
URL: https://kudithipudi.org/makhna-ve-makhna-part-ii/
Last updated: 2010-06-17T04:07:41.000Z
Jhanvi and I spent the weekend with friends at the [2010 Andersonville Midsommarfest](http://www.andersonville.org/?ref=kudithipudi.org) where I got to see [Funkadesi](http://www.funkadesi.com/?ref=kudithipudi.org) live (for the [second time](https://kudithipudi.org/makhna-ve-makhna/)). And they were rocking as usual :). I got to get some snaps with the artists and also record some video (apologize for the poor quality).

Funkadesi’s Valroy Dawkins

![](http://farm5.static.flickr.com/4028/4696510505_de7371f381.jpg "Funkadesi : Valroy Dawkins")

Radhika Chimata Pavithra Anand

![](http://farm5.static.flickr.com/4068/4697567214_5579bd950b.jpg "Funkadesi")

And finally the opening of Makhna ve Makhna 🙂
### What happens when you get busy (lazy)?
URL: https://kudithipudi.org/what-happens-when-you-get-busy-lazy/
Last updated: 2010-06-17T03:53:09.000Z
Your site goes down 🙂

![](http://farm5.static.flickr.com/4020/4708281368_4c00542cfb.jpg "Kudithipudi.Org error")

And traffic to the site drops!!

![](http://farm5.static.flickr.com/4047/4707638083_50e9b6ba64_o.png "Google Analytics Traffic Drop")

Things have been a bit crazy at work recently, so I didn’t get a chance to fix the site as soon as it went down (due to an error I still haven’t figured out). And as a result, the traffic to the site dropped.

I finally took the chance to move the site to a dedicated server running on the RackSpace Cloud services. Am putting together a post on how I handled this migration and will publish it soon.

The bad news is that I have lost traffic to the site that I have built over a period of time.. the good news is that I am the master of my own house (website) at last :).
### Industry Jargon : Hotel Industry
URL: https://kudithipudi.org/industry-jargon-hotel-industry-2/
Last updated: 2010-05-12T14:19:16.000Z
For my records

- LAR : Last Available Room. This is the term used to define the last available room in inventory for a channel.
### I like to be in control of my destiny
URL: https://kudithipudi.org/i-like-to-be-in-control-of-my-destiny/
Last updated: 2010-05-12T13:52:41.000Z
I don’t have a [Facebook](http://www.facebook.com/) or [twitter](http://www.twitter.com/?ref=kudithipudi.org) account and that surprises a lot of my friends since I am such a geek :). And the reason I keep (kept) giving was that I want to be in control of my destiny. In this case, destiny being content. While Facebook and Twitter provide you with a easy way to connect with friends/relatives/[stalkers](http://www.facebookstalker.net/news/?ref=kudithipudi.org) etc, I believe it gives a lot of leeway on control over the content for the companies running these applications. I have all the means and ways to communicate with my friends and advertise what I need to world. How I do that? That is a blog post that I have been “drafting” for the last couple of months :)..Hope to publish it soon. And looks like the wider audience is finally waking up to it.

Check out [this](http://www.readwriteweb.com/archives/more%5Fweb%5Findustry%5Fleaders%5Fquit%5Ffacebook%5Fcall%5Ffor%5Fo.php?ref=kudithipudi.org) article on ReadWriteWeb regd how the tech leaders are calling for a boycott of Facebook and advocating for an open social networking protocol ([http://www.readwriteweb.com/archives/more\_web\_industry\_leaders\_quit\_facebook\_call\_for\_o.php](http://www.readwriteweb.com/archives/more%5Fweb%5Findustry%5Fleaders%5Fquit%5Ffacebook%5Fcall%5Ffor%5Fo.php?ref=kudithipudi.org)).

Another [article](http://www.readwriteweb.com/archives/study%5Ftwitter%5Fisnt%5Fvery%5Fsocial.php?ref=kudithipudi.org) on the same website, speaks about a study by the Advanced Institute of Science and Technology in Korea, which shows that Twitter is really not a social networking site, but more of a medium to broadcast your content ([http://www.readwriteweb.com/archives/study\_twitter\_isnt\_very\_social.php](http://www.readwriteweb.com/archives/study%5Ftwitter%5Fisnt%5Fvery%5Fsocial.php?ref=kudithipudi.org)). Doesn’t really support the argument I made earlier that [Twitter is not going to make it](https://kudithipudi.org/twitter-is-not-going-to-make-it/)..but it certainly supports the notion that once the hype is gone the influence of twitter as a medium will decrease.
### Express.com DNS outage
URL: https://kudithipudi.org/express-com-dns-outage/
Last updated: 2010-04-27T01:42:19.000Z
I am sure a lot of people shop on [express.com ](http://www.express.com/?ref=kudithipudi.org), but I probably get the credits for being the first blogger to post that express.com has not been responding to DNS queries since \~7:00 PM CST (4/26). Looks like Qwest is hosting DNS for Express. The name servers (most probably global load balancers) are not responding to DNS requests.

Here’s what I get, when I queried for www.express.com

#### Nameserver trace for www.express.com:

- Looking for who is responsible for root zone and followed h.root-servers.net.
- Looking for who is responsible for com and followed h.gtld-servers.net.
- Looking for who is responsible for express.com and followed dca-ans-01.inet.qwest.net.

#### Nameservers for www.express.com:

- **dca-ans-01.inet.qwest.net** returned (NORECORDS)
- **svl-ans-01.inet.qwest.net** returned (NORECORDS)

I feel for the poor ops team scrambling around to bring up the service :). Another reason, you want diversity in your DNS hosting.

![](http://farm4.static.flickr.com/3161/4556053235_74281750fc.jpg "Express.Com site outage")
### HOW TO : Configure mime type mappings in Jboss
URL: https://kudithipudi.org/how-to-configure-mime-type-mappings-in-jboss/
Last updated: 2010-04-12T19:44:32.000Z
Instructions for configuring the mime type mappings in Jboss. Mime types essentially tells the application processing the content (typically a browser), what the content is. More information [here](http://en.wikipedia.org/wiki/Internet%5Fmedia%5Ftype?ref=kudithipudi.org) ([http://en.wikipedia.org/wiki/Internet\_media\_type](http://en.wikipedia.org/wiki/Internet%5Fmedia%5Ftype?ref=kudithipudi.org)).

- Locate the web.xml file for your Jboss instance. It is usually in $JBOSS\_HOME/server/INSTANCE/deploy/jboss-web.deployer/conf/web.xml
- Locate the setting  and make the required edits. For example, the code for defining the mime type for javascript looks like this
  
  
`js  
application/javascript`  
  
- Restart Jboss
### True Leadership..
URL: https://kudithipudi.org/true-leadership/
Last updated: 2010-04-12T13:46:44.000Z
As I was channel browsing yesterday, I happened to run across [an episode of NOW](http://www.pbs.org/now/shows/615/index.html?ref=kudithipudi.org) on my local PBS station. It featured a Harvard educated man that decided to run for the mayor of a rundown steel belt town ([Braddock, PA](http://maps.google.com/maps?f=q&source=s%5Fq&hl=en&geocode=&q=braddock,+pa&sll=40.40328,-79.868578&sspn=0.00344,0.006968&ie=UTF8&hq=&hnear=Braddock,+Allegheny,+Pennsylvania&ll=40.403464,-79.868374&spn=0.027386,0.055747&z=15)). Besides being impressed and humbled by Mr.[John Fetterman](http://www.15104.cc/mayor?ref=kudithipudi.org), I thought he displayed all the characteristics of a true leader (IMHO).

- Having a Vision
- Committing to the Vision
- Thinking out of the box to implement vision
- Thinking objectively

Highly recommend watching the video, if you have the time 🙂
### Industry Jargon : Hotel Industry
URL: https://kudithipudi.org/industry-jargon-hotel-industry/
Last updated: 2010-04-06T22:00:48.000Z
For my records..

- **ARI** : Availability Rate Inventory. Any transaction that is querying/updating these three items is terms as ARI updates.
- **REVPAR** : Revenue Per Available Room. This is the revenue the hotel makes per room in the hotel.
- **Total Pricing** : The total price a customer has to pay to book a room in a hotel. It kinda sounds obvious..but when you understand that the total price depends on  
  1. The price the hotel wants to charge (which again depends on who is selling the room)
  2. The tax at the city/state level
  3. The price of additions (services like Internet access, breakfast etc)
  4. Commission of the middleman.

It becomes a big deal :).
### First run of 2010
URL: https://kudithipudi.org/first-run-of-2010/
Last updated: 2010-04-05T13:18:33.000Z
I kicked off the 2010 running season with the Shamrock shuffle held on March 21st. Jhanvi was going to run it with me, but was not able to due to health restrictions. She is planning on joining me for a couple of half marathons this year :). Hopefully, she won’t beat me as she did last year :).

I finished the 8K (5.1 miles) a couple seconds short of 1 hour :). Official chip time was 0:59:51\. Results are published [here](http://results.active.com/pages/oneResult.jsp?pID=78486373&rsID=90373&ref=kudithipudi.org). Looks like I am going to settle in the 12min/mile pace. That has been my pace for the last couple of races.
### Creative Genius : Graphical Form
URL: https://kudithipudi.org/creative-genius-graphical-form/
Last updated: 2010-04-02T14:26:42.000Z
Jeevan Kumar, one of my colleagues and friend, came up with this graphical form of what makes a creative genius.. And I thought, it is only fair to share this art and Jeeva’s talent with the world :)..

![](http://farm3.static.flickr.com/2783/4492797167_d79a5e54d0_o.jpg "Jeevan Kumar : Creative Mind : Art")
### Lessons of the Trade : Easy method to detect lame salespeople (companies)..
URL: https://kudithipudi.org/lessons-of-the-trade-easy-method-to-detect-lame-salespeople-companies/
Last updated: 2010-04-02T13:39:51.000Z
Some background.. I get an email from a sales rep from one of the biggest telecom provider. The sales person attached a 4 MB document that shows the services offered by the company in one page.. Yes, a one pager document that is 4MB in size!!.. And this document tells me how this company can do everything other than wash my dishes for me..that they are biggest and baddest out there.

Do you think that this person even gave a minutes thought before filling up my mailbox with a 4MB attachment? Nope.. will he be getting my business? Nope.. It is not that the sales rep sent me such a large attachment, but because the company that can supposedly offer the best technical solutions out there cannot figure out a way to show their offerings in a single page without bloating it. Shows that the company is not innovative and thinking of customers.

Maybe I am being harsh here.. but then I have pretty high standards :).
### Overheard : Comment about Ego
URL: https://kudithipudi.org/overheard-comment-about-ego/
Last updated: 2010-03-11T14:02:14.000Z
One of my friend’s IM status message

> It’s better to lose your Ego to the one you Love, than to lose the one you LOVE because of EGO
### Six Signs that you aren't cut out to be a CIO..
URL: https://kudithipudi.org/six-signs-that-you-arent-cut-out-to-be-a-cio/
Last updated: 2010-03-11T13:47:34.000Z
The first five reasons are in this video.  

The sixth reason.. you are actually watching the video above to decide if you are cut out to be a CIO :).. Come on people!!
### Foods of India
URL: https://kudithipudi.org/foods-of-india/
Last updated: 2010-03-05T13:46:57.000Z
Ran across this picture showing the best of each state’s food in India. I think I only tried 10% of these dishes… and I consider my self a food junkie on top of being an India :).

Click on the picture to get to an enlarged version

[](http://farm5.static.flickr.com/4034/4408031117%5F0a431e43d5%5Fo.png?ref=kudithipudi.org)

I will try to convert the data in this picture to an excel spreadsheet when I get some time..

The data in tabular form..(work in progress)

\[gview file=”http://spreadsheets.google.com/pub?key=tWM60O2i56vebN-13Jkel9g&single=true&gid=0&output=html”\]
### Satirical take on arranged marriages..
URL: https://kudithipudi.org/satirical-take-on-arranged-marriages/
Last updated: 2010-02-16T14:13:31.000Z
My colleague/friend KP wrote a hilarious post on arranged marriages in India. Check it out at [www.kprabu.com/2010/01/great-indian-arranged-marriages.html](http://www.kprabu.com/2010/01/great-indian-arranged-marriages.html?ref=kudithipudi.org) .

PS : Yes, people do speak with each other before agreeing to get married and No, elephants don’t walk around in the streets in India :).
### Fun day at work..
URL: https://kudithipudi.org/fun-day-at-work/
Last updated: 2010-02-15T18:35:47.000Z
A picture is worth a thousand words 🙂

![](http://farm5.static.flickr.com/4061/4359369971_ddac0d7f10.jpg "TC : Shoes")
### DID YOU KNOW : Number of weekdays in February 2010
URL: https://kudithipudi.org/did-you-know-number-of-weekdays-in-february-2010/
Last updated: 2010-02-10T03:03:38.000Z
Fun fact from a chain e-mail sent by one of my friends..

February 2010 has exactly

- 4 Mondays
- 4 Tuesdays
- 4 Wednesdays
- 4 Thursdays
- 4 Fridays
- 4 Saturdays
- 4 Sundays

And this happens once in 11 years!! 🙂
### Marketing video from work..
URL: https://kudithipudi.org/marketing-video-from-work/
Last updated: 2010-02-07T23:05:03.000Z
One of our customers at work, the Hoxton Hotels, runs a promo every quarter during which they sell a room for £1 a night.. Imagine the load on our infrastructure :). Over the last two years, were able to partner with the customer and make the promos a “non-event”. We usually sell out the rooms in less than 10 minutes.. The customers gets great visibility and we get a free load test :).

[TravelClick HOTEL CONVERSATIONS | The Hoxton](http://vimeo.com/9158858?ref=kudithipudi.org) from [AboutFace Media](http://vimeo.com/aboutfacemedia?ref=kudithipudi.org) on [Vimeo](http://vimeo.com/?ref=kudithipudi.org).
### Isn't he a cutie?
URL: https://kudithipudi.org/isnt-he-a-cutie/
Last updated: 2010-01-05T00:43:35.000Z
My nephew.. Anish Paruchuri 🙂

![](http://farm5.static.flickr.com/4068/4243233418_1d7e4fbd83.jpg "Anish")
### Burj Dubai is down..
URL: https://kudithipudi.org/burj-dubai-is-down/
Last updated: 2010-01-04T17:31:41.000Z
Not the [building](http://en.wikipedia.org/wiki/Burj%5FDubai?ref=kudithipudi.org) :).. In fact, it just opened up officially today. But it looks like the IT team of the Burj did not anticipate the traffic spike to it’e website [http://www.burjdubai.com/](http://www.burjdubai.com/?ref=kudithipudi.org), when the building opens. The site has been down since early CST.

All the free publicity the site is getting from the media is wasted because the site is down (OK.. I am exagerrating things a bit 🙂 ). Â If only the IT team at the Burj thought about this and deployed the site on a [CDN](http://en.wikipedia.org/wiki/Content%5Fdelivery%5Fnetwork?ref=kudithipudi.org), they could have averted this downtime. Using a CDN to power your site is becoming more of a norm than a luxury now a days. And with all the options in the market you have for a CDN, there is no excuse for any IT team to not implement this for a customer facing website.
### Welcoming 2010
URL: https://kudithipudi.org/welcoming-2010/
Last updated: 2010-01-02T00:02:08.000Z
Wishing everyone a Happy New Year 🙂 and hooping this [new year](http://en.wikipedia.org/wiki/Tiger%5F%28zodiac%29?ref=kudithipudi.org) will bring you joy, luck and health. Isn’t it amazing how quickly the first decade of the 21st century passed away. I usually don’t make new year resolutions, but last year for some reason, I decided to. Here’s a recap of them

## Write at least 3 times a week on this blog

How did I do with this? Not as well as I wanted to. Here’s a chart showing the postings per month

![](http://chart.apis.google.com/chart?cht=bvs&chd=t:16,8,6,2,7,5,4,1,2,3,4,5&chds=0,17&chxt=x,y&chs=350x200&chxl=0:|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sept|Oct|Nov|Dec|1:|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17&chco=76A4FB "Kudithipudi.Org 2009 Blog Posts")

I started well in January, but then as with most new year resolutions it didn’t last for [more than a month](http://www.proactivechange.com/resolutions/statistics.htm?ref=kudithipudi.org) :). But I started picking up again at the end of the year. Hope I can continue the trend.

## Run one half marathon ever month in a different state

Don’t laugh :).. seriously this was something I have been wanting to do for a long time and I thought this was the year. But alas little did I know that I had to work so many weekends :). I barely managed to run 3 half marathons and that too in only two neighboring states. Won’t make any promises..but hope to do better next year. I should mention that I did register for 3 races in different states for the first three months of 2009.. Just didn’t make it to the races 🙂

Even though I didn’t stick with my resolutions, 2009 was an interesting year. Accomplished a lot at work, but more importantly gained a life partner :).

Morale of the story.. Don’t make resolutions. Just do it!! :).
### HOW TO : Improve Jboss startup times
URL: https://kudithipudi.org/how-to-improve-jboss-startup-times/
Last updated: 2009-12-31T22:11:41.000Z
We run multiple applications in Jboss at my work and one of the applications used to take an inordinate time to come up. A typical application would take < 1 minute to get deployed and this particular application for some reason was taking \~7-8 minutes. We initially thought it was a bug in the code and gave hell to our development team :).. But on closer investigation, we found out that a feature we enabled in the Jboss server settings which allows content to be hosted on network storage was causing the issue.

I blogged the feature in Jboss to follow sym links here ([https://kudithipudi.org/2008/07/25/howto-configure-jboss-to-follow-symbolic-links/](https://kudithipudi.org/howto-configure-jboss-to-follow-symbolic-links/)). So essentially when Jboss was started, it was checking all the content in these network path to check for applications to deploy. And traversing a network share with 1000s of directories isn’t fun :)..

We fixed it by making a simple edit to the start up script. Here’s the psuedo code for the script

1. Remove soft links to network share
2. Start Jboss
3. Put soft links to network share

And now the application starts in less than a minute :).

I guess there might be other elegant ways to do this. i.e. Configure Jboss to only deploy certain applications, but this did the trick for us :).
### HOW TO : Advanced search and replace in Notepad++
URL: https://kudithipudi.org/how-to-advanced-search-and-replace-in-notepad/
Last updated: 2009-12-13T07:08:05.000Z
Jhanvi asked me to help with editing a text file recently. She had a file in the format

  
`'512'  
'345'  
'876'`  
  
and needed to convert it into the format below

  
`INSERT INTO BLAH VALUE ('512');  
INSERT INTO BLAH VALUE ('345');  
INSERT INTO BLAH VALUE ('876');`

There are multiple ways, one can do this. Here is how I did this using [Notepad++](http://notepad-plus.sourceforge.net/uk/site.htm?ref=kudithipudi.org), an open source text editor. I used the regular expression capability of Notepad++ it’s search and replace function.

- Press “Ctrl + h” to bring up the search and replace window.
- Replace the single quote at the beginning of the line by using ” ^’ “
- Replace the single quote at the end of the line by using ” ‘$ “

### Screenshots from the operation

The data in it’s original format

![](http://farm3.static.flickr.com/2759/4180092991_63bb8ba6e5.jpg "Notepad++ : Screenshot 0")

Replacing the first quote mark

![](http://farm5.static.flickr.com/4048/4180855864_e754f8a122_o.png "Notepad++ : Screenshot 1")

Data after the first search and replace operation

![](http://farm3.static.flickr.com/2723/4180855890_fa2471b362_o.png "Notepad++ : Screenshot 3")

Replacing the second quote mark

![](http://farm3.static.flickr.com/2740/4180855908_394c5dd782_o.png "Notepad++ : Screenshot 4")

Data in the final format

![](http://farm5.static.flickr.com/4037/4180855924_b1c28711a7_o.png "Notepad++ : Screenshot 4")
### HOW TO : Load/Stress test a Linux based server
URL: https://kudithipudi.org/howto-loadstress-test-a-linux-based-server/
Last updated: 2009-12-10T01:03:25.000Z
We ran into an issue at work recently, which prompted us to do some performance testing on some of our Linux servers. The requirement was to stress test the key components of the server ([CPU](http://en.wikipedia.org/wiki/Central%5Fprocessing%5Funit?ref=kudithipudi.org), [RAM](http://en.wikipedia.org/wiki/RAM?ref=kudithipudi.org), [HDD](http://en.wikipedia.org/wiki/Hard%5Fdisk%5Fdrive?ref=kudithipudi.org), Network) and prove that different servers with the same configuration were capable of performing identically. Pretty simple right :).. The challenge was to find tools that could be run to stress test each of the components. There were a lot of tools for CPU and memory (RAM) testing, but not a lot for network and hard drive (HDD) testing. After searching high and low, we found a couple of tools, that I wanted to document here for future reference.

## HDD Testing :

I found a pretty interesting tool called Iozone written by William Norcott (Oracle) and Don Capps. You can get the source code and builds for major OSs at [http://iozone.org](http://iozone.org/?ref=kudithipudi.org) . Despite installing the program using RPM, we were not able to run the program without specifying the complete path.

There are a ton of options for the program, but the easiest method to run it was in automated mode with the output going to an Excel spreadsheet (more like a glorified CSV file 🙂 ). Here is the command we used

`/opt/iozone/bin/iozone -a -Rb output_excel_file.xls`

The “-a” is to tell the program in automated mode and the “-Rb” is to tell the program to format the output in Excel format. And you can then go ahead and open the spreadsheet in Excel and create 3D graphs to check and compare the output.

## Network Testing :

Most of the information out there in terms of testing the network stack of a machine is either to copy large files over a network share or via FTP. We didn’t find that was enough to really max out a Gigport since there were protocol limitations that didn’t allow us to saturate the network port. After some searching, we stumbled across a tool called “ettcp” on Sourceforge. ettcp itself is an offshoot of ttcp. [ttcp](http://ftp.arl.mil/~mike/ttcp.html?ref=kudithipudi.org) (stands for test tcp) was created to test network performance between two nodes. I couldn’t find any place to download ttcp itself, but you can download ettcp at http://ettcp.sourceforge.net/.

We used a server, to act as a common receiver for all the servers we intended to do a performance test on. Here are the commands we used to run the test

RECEIVER (Common Server)  
`./ettcp -r -s -f M`

The options are

- “-r” for designating the machine as receiver
- “-f M” for showing the output in Mega Bytes.

TRANSMITTER (Test Servers)  
`./ettcp -t -s receiver_hostname -n 10000000 -f M`

the options are

- “-t” for designating the machine as transmitter
- “-s receiver\_hostname” to define the receiver
- “-n” to define the number of packets to send to the receiver
### Wikipedia Needs You!!
URL: https://kudithipudi.org/wikipedia-needs-you/
Last updated: 2009-12-07T15:05:33.000Z
As you check the list of charities and gifts you need to contribute to for this holiday season, please put [Wikipedia](http://en.wikipedia.org/?ref=kudithipudi.org) on your list :). I did my part by supporting the annual [Wikipedia fund raising](http://wikimediafoundation.org/wiki/Support%5FWikipedia/en?ref=kudithipudi.org) effort. It is not easy and cheap to be running one of the most popular ([6th most popular as per Alexa’s latest figures](http://www.alexa.com/siteinfo/wikipedia.org?ref=kudithipudi.org)) sites on the Internet.

Donate.. Share..Enlighten 🙂

Here is the link to the donations page [http://wikimediafoundation.org/wiki/Support\_Wikipedia/en](http://wikimediafoundation.org/wiki/Support%5FWikipedia/en?ref=kudithipudi.org)
### Gone Fishin..
URL: https://kudithipudi.org/gone-fishin/
Last updated: 2009-12-04T15:38:34.000Z
Click on the image for some great music 🙂

[](http://www.google.com/url?q=http://s0.ilike.com/play%23Louis%2BArmstrong:Gone%2BFishin%27:38179:s177399.16359.11841966.1.1.56%252Cstd%5Ff2e3b42249f436974570c54f511217b8&ei=aSwZS5atJ8GknQfvtO3QAw&sa=X&oi=music%5Fplay%5Ftrack&resnum=1&ct=result&cd=2&ved=0CAgQ0wQoADAA&usg=AFQjCNGo6vxTao7Hf04swREK59NMoWnI9g&ref=kudithipudi.org)

This picture was taken on my recent trip to Costa Rica.
### Costa Rica & Towels..
URL: https://kudithipudi.org/costa-rica-towels/
Last updated: 2009-12-04T14:59:20.000Z
Jhanvi and I went on a trip to [Costa Rica](http://en.wikipedia.org/wiki/Costa%5FRica?ref=kudithipudi.org) recently and in addition to being amazed by the nature of the country, we were also charmed with the decorating skills of the maids in our hotels :). Take a look at the pictures below to understand why..

PS : If you haven’t visited Costa Rica yet, put it on the list of places to visit in your lifetime 🙂

![](http://farm3.static.flickr.com/2771/4127501538_7b3816b819.jpg "Costa Rica : Towel Decoration : 1")

![](http://farm3.static.flickr.com/2499/4129495844_861b1acf94.jpg "Costa Rica : Towel Decoration : 2")

![](http://farm3.static.flickr.com/2521/4132495128_8f41453a66.jpg "Costa Rica : Towel Decoration : 3")

![](http://farm3.static.flickr.com/2731/4134247907_352f604cfd.jpg "Costa Rica : Towel Decorations : 4")

![](http://farm3.static.flickr.com/2514/4137367764_13f0ef700d.jpg "Costa Rica : Towel Decoration : 5")

![](http://farm3.static.flickr.com/2707/4142448024_fb64f3339a.jpg "Costa Rica : Towel Decorations : 6")
### Never Give Up : Part 2
URL: https://kudithipudi.org/never-give-up-part-2/
Last updated: 2009-11-19T15:13:34.000Z
A follow up on my [post](https://kudithipudi.org/never-give-up/), about a South Korean woman’ attempts to get a driving license despite failing it hundreds of times.. She finally passed the exam on the 11/6/2009 in her [950th](http://news.bbc.co.uk/2/hi/8347164.stm?ref=kudithipudi.org) attempt ([http://news.bbc.co.uk/2/hi/8347164.stm](http://news.bbc.co.uk/2/hi/8347164.stm?ref=kudithipudi.org)) !!!

Congratulations, Mrs Cha Sa-Soon !!

Reminder for the rest of us to never give up :).
### I don't use Twitter..
URL: https://kudithipudi.org/i-dont-use-twitter/
Last updated: 2009-11-17T02:40:01.000Z
More supporting data for my post that [Twitter is not going to make it](https://kudithipudi.org/twitter-is-not-going-to-make-it/), looks like 47% of [Lifehacker](http://www.lifehacker.com/?ref=kudithipudi.org) users (and they are tech savvy users) don’t use or care about Twitter ([http://lifehacker.com/5403214/do-you-use-twitter](http://lifehacker.com/5403214/do-you-use-twitter?ref=kudithipudi.org)).
### Humanity or Clicks?
URL: https://kudithipudi.org/humanity-or-clicks/
Last updated: 2009-11-09T05:48:56.000Z
Thought provoking article on TechCrunch ([http://www.techcrunch.com/2009/11/07/nsfw-after-fort-hood-another-example-of-how-citizen-journalists-cant-handle-the-truth/](http://www.techcrunch.com/2009/11/07/nsfw-after-fort-hood-another-example-of-how-citizen-journalists-cant-handle-the-truth/?ref=kudithipudi.org)) about how folks are obsessed with being the “ones” with the first to take a cool picture or tweet about something rather than trying to help the people in need they are taking pictures of..
### I ran for Chocolate!!
URL: https://kudithipudi.org/i-ran-for-chocolate/
Last updated: 2009-11-04T03:48:54.000Z
Jhanvi and I successfully finished the 2009 [Hot Chocolate 15K](http://www.hotchocolate15k.com/?ref=kudithipudi.org), held on the lake shore of Chicago last weekend. Not a surprise that Jhanvi beat me by 1 second :). Her finish time was [1:46:27](http://www.hotchocolate15k.com/results/15KOALL.txt?ref=kudithipudi.org) and mine was [1:46:28](http://www.hotchocolate15k.com/results/15KOALL.txt?ref=kudithipudi.org). It was a chilly day, but after a couple of miles we fell into the rhythm and enjoyed the race. The only disappointing portion of the race was the watery hot chocolate that was provided at the end of the race. I am not sure if it was a case of the organizers underestimating the crowd or if they were being cheap, the hot chocolate (which was supposed to be the attraction of the race) was pretty watery.

Yes.. people do run \~9 miles to get a cup of hot chocolate :).
### Twitter is not going to make it..
URL: https://kudithipudi.org/twitter-is-not-going-to-make-it/
Last updated: 2009-11-03T04:46:02.000Z
Pretty dramatic prognosis eh..Esp, after all the hype that twitter is getting in the media, one would think that the whole world uses twitter. Here’s why I don’t think twitter will not be such a darling 2/3 years from now. It might still exist in some shape/form (I think it is going to be acquired and integrated into a larger offering), but it won’t be the buzz word anymore.

First the good part.. Let’s take a look at some data from [Compete](http://www.compete.com/?ref=kudithipudi.org) and [Alexa](http://alexa.com/?ref=kudithipudi.org) (companies that provide web statistics about sites) in comparison to facebook and myspace (the 800 lbs Gorillas of social networking)

**Traffic Ranking :**

![](http://grapher.compete.com/twitter.com+facebook.com+myspace.com_rank_460.png "Compete Ranking : Twitter.com, Facebook.com, Myspace.com")

Similar data from Alexa (where the long term data is available for free, unlike Compete)

![](http://traffic.alexa.com/graph?&w=400&h=220&o=f&c=1&y=t&b=ffffff&r=max&u=twitter.com&u=facebook.com&u=myspace.com& "Alex : Traffic Ranking")

No surprises here. We see that the ranking of Twitter has gone up drastically and is staying there..

**Reach :**  

![](http://traffic.alexa.com/graph?&w=400&h=220&o=f&c=1&y=r&b=ffffff&r=max&u=twitter.com&u=facebook.com&u=myspace.com& "Alexa : Traffic Reach")

Interesting trend. One would expect that the reach (i.e. the number of people accessing the site) would go up as drastically as the ranking, but it is not as linear. Facebook is doing pretty well in this statistic.

**Page Views :**  

![](http://traffic.alexa.com/graph?&w=400&h=220&o=f&c=1&y=p&b=ffffff&r=2y&u=twitter.com&u=facebook.com&u=myspace.com& "Alexa : Page Views")

I think this is to be expected. Twitter does not rely as much on page view due to the design and nature of the site.

Looking at all the data above, it looks like twitter is in a good place right. Now let’s add another dimension to the analysis. Let’s take a look at how Google views twitter. “Google Insights” is a service offered by Google to help analyze the “search” volume of keywords across regions and timelines. Since Google has \~70% of the search engine traffic, this is a good way to observe the trends.

Here is a graph showing the “interest” starting from 2004…  

![](http://farm3.static.flickr.com/2532/4194248784_a7509cd138_o.png)

  
Zooming into the last 12 months..

![](http://farm3.static.flickr.com/2744/4194248808_313a9f6141_o.png)

Interesting to see that while facebook is getting more and more “interesting”, twitter is not catching up. This might be due to two reasons.

1. Twitter really did not promote it’s search function until [July 2009](http://blog.twitter.com/2009/07/new-front-page.html?ref=kudithipudi.org), meaning the search engines did not have a way to scrape the site and as such did not have a lot of content to show to users.
2. Twitter partnered with [Google](http://blog.twitter.com/2009/10/google-nice.html?ref=kudithipudi.org) and [Bing](http://blog.twitter.com/2009/10/bing-goes-dynamite.html?ref=kudithipudi.org) in Oct 2010 2009 to index it’s posting. Again, this means that the search engines just got to the data and it might take some time for them to start showing the data in the search results.

I don’t know if this is conclusive evidence to show that Twitter will not make it. Twitter definitely has its place, but I don’t think it is all that the media has hyped it to be. Even though the media hype has driven more and more users to Twitter, the company has to yet come out with an viable business plan. I think that businesses are flocking towards twitter, because users are.. but once the fad passes on, the world is also going to move on.

P.S : I don’t think I need to mention to anyone looking at the data presented above that MySpace is on a downward spiral :). Who still uses Coldfusion to run a site?? That is so 90s!! :).
### Microsoft's confusing online strategy
URL: https://kudithipudi.org/microsofts-confusing-online-strategy/
Last updated: 2009-10-28T04:02:32.000Z
First there was [msn.com](http://msn.com/?ref=kudithipudi.org), Microsoft’s first attempt to become a major online player. Users were told that this would become the one portal that they would need to go to for all their needs. At that time, it was a competition to portals like Netscape and AOL.

Then came along [live.com](http://home.live.com/?ref=kudithipudi.org)..Microsoft’t second attempt to bring all it’s on-line properties into one place. And live had(s) some really good features (skydrive, sync, spaces). Esp the revamped hotmail, now called live mail. Life was good right..

No..Microsoft then decides to spend a couple hundred million dollars to launch and promote [Bing](http://bing.com/?ref=kudithipudi.org), it’s new search engine.

So you might be wondering, where is the confusion!! msn.com is for content, live.com is for services and bing.com is the search engine. Makes sense right?? Well, for some reason, Microsoft decides to redirect anyone going to live.com (the site that was once promoted as the only home page you ever need to visit) to the bing site. What about average Joe, that just wants to get to his e-mail and goes to live.com? Well, he gets redirected to bing. And can he at least get a link to his old mail services from the bing home page? NO!! One would think that is common sense, but then I am not smarter than the marketing/product folks at Microsoft :). Or is this just a clever way to drive more traffic to bing to increase it’s exposure? I think that is the case. Take a look at the web ranking from Alexa, comparing bing to live.com and msn.com

![](http://traffic.alexa.com/graph?&w=400&h=220&o=f&c=1&y=t&b=ffffff&r=2y&u=bing.com&u=live.com&u=msn.com& "Alexa : Bing.com")

Now, if you dig deeper into the clickstream data for bing.com ([http://www.alexa.com/siteinfo/bing.com#clickstream](http://www.alexa.com/siteinfo/bing.com?ref=kudithipudi.org#clickstream)), you will see that roughly 70% of the traffic originating from live.com is going back to live.com (p.s. : This is a back of the napkin calculation 🙂 ).

Let’s compare that to the all knowing Google God’s way of doing things? If you go to Google.com and click on More at the top you can see links to all the services Google offers. And if you do the same thing on Bing.com, you don’t get the big picture of what Microsoft can offer..

All I am asking Microsoft is to put a link to [http://home.live.com](http://home.live.com/?ref=kudithipudi.org) (the home page for all live services) on Bing.

Also, it would help Microsoft to start backing up all those millions of dollars in ad money with real content in it’s search engine. I used “kudithipudi” (yes.. I am pretty selfish 😉 ) as a search term in the major search engines and here is the ranking by the number of results

![](http://farm4.static.flickr.com/3514/4071018250_0d6e4bc36f.jpg "Search Results for Kudithipudi")
### Last half marathon of 2009
URL: https://kudithipudi.org/last-half-marathon-of-2009/
Last updated: 2009-10-27T03:08:13.000Z
I ran the last (at least for now) half marathon of 2009 this weekend along with Jahnavi and Sri. We ran the Northface Endurance Challenge Half Marathon. The [Northface Endurance Challenge](http://www2.thenorthface.com/endurancechallenge/?ref=kudithipudi.org)s are a collection of races which take place in the wilderness across the US throughout the year. The race in Wisconsin, held each October, is the easiest out of them. I ran this race [last year](https://kudithipudi.org/official-time-for-the-2008-north-face-endurance-challenge/) and wanted to make this of my annual races.

My official time for the race was [3:01:09](http://www.sportstats.ca/find-an-athlete-find-a-race-search.php?lang=eng&first=VINAY&last=KUDITHIPUDI&ref=kudithipudi.org) (\~31 minutes slower than my time from last year). So this makes it my slowest half marathon ever. How do I continue to keep breaking these [slow records](https://kudithipudi.org/i-guess-i-am-a-superman/)? 🙂 Well, by not practicing :).

While the run itself was painful (reminder for self.. never ever run a half marathon in the woods without practicing!!), it was fun to have Jahnavi accompany me on her first half marathon. She was a real trooper and kept me company throughout the race. I also took some videos of the race (that again tells you how poorly I prepared for the race 🙂 ). Here is a snippet from my last mile, I was delusional by this point 🙂

The obligatory pre and post race pictures 🙂

**Pre Race**

![](http://farm3.static.flickr.com/2766/4044883530_07edca49b1.jpg "2009 : Northface Endurance Challenge")

**Post Race**

![](http://farm3.static.flickr.com/2456/4044157459_424d01806f.jpg "2009 : Northface Endurance Challenge")
### Overheard : Comment about weather
URL: https://kudithipudi.org/overheard-comment-about-weather/
Last updated: 2009-10-27T02:51:45.000Z
Comment from a lady coming out of a portable toilet, during the Northface Endurance Challenge Half Marathon this weekend

> You know, it is cold, when you don’t want to come out of the porta-potti!!

![](http://farm3.static.flickr.com/2686/4044884864_bf87f81368.jpg "Portable Toilets")

It was 36 degrees!! 🙂
### RECIPE : Palathalikalu
URL: https://kudithipudi.org/recipe-palathalikalu/
Last updated: 2009-10-17T13:35:46.000Z
Recipe for Palathalikalu, a dessert from the [Guntur](http://en.wikipedia.org/wiki/Guntur%5Fdistrict?ref=kudithipudi.org) region in the state of [Andhra Pradesh](http://en.wikipedia.org/wiki/Andhra%5FPradesh?ref=kudithipudi.org) in [India](http://en.wikipedia.org/wiki/India?ref=kudithipudi.org). It is a classical dish and is usually made during the [Sankranthi](http://en.wikipedia.org/wiki/Sankranthi?ref=kudithipudi.org) festival. This used to be a “must have” dish in my childhood, but it has become into a exotic dish in recent times. My brother in law made some recently and I was surprised, how easy it is to make the dish. Here is an attempt to share the knowledge :).

**Ingredients :**

- Rice Flour (1.5 cups)
- Brown Sugar (2 cups)
- Milk (1/2 Gallons)
- Butter (Ghee) (3 tablespoons)
- Cashew Nuts (1/2 cup)
- Cardamom Seeds (eilachi) (\~15)

**Preparation :**

- Knead the rice flour into a dough by adding 1 cup of brown sugar and some warm milk.
- Add the rest of the brown sugar to the milk and bring it to a boiling point
- Put the prepared dough in a [cookie press](http://www.amazon.com/s/ref=nb%5Fss?url=search-alias%3Daps&field-keywords=cookie+press&x=0&y=0&ref=kudithipudi.org) and drop it into the milk as short noodles (use the cookie press template with round holes of \~0.25 inches in diameter)
- Roast the cashews slightly in butter and them to the milk (along with the butter)
- Crush the cardamom seeds and add them to the milk.
- Let all the ingredients boil for \~15 minutes and you are ready to enjoy palathalikalu

Wasn’t that easy? :).. You can also add raisins to the dish based on your preference.

**Visuals :**

**The Ingredients**

**![](http://farm3.static.flickr.com/2471/3998682252_96f411bd45_m.jpg "Rice Flour")![](http://farm3.static.flickr.com/2613/3997923987_e94b665477_m.jpg "Brown Sugar")![](http://farm3.static.flickr.com/2657/3998743112_4034db8749_m.jpg "Ghee")** 

**The Cookie Press (Indian Version 🙂 )**

![](http://farm4.static.flickr.com/3508/3997927181_155ac3fa0d_m.jpg "Cookie Press")

**Creating the noodles**

![](http://farm4.static.flickr.com/3044/3997978937_9f1f72484c.jpg "Palathalikalu")

**Yummy!!**

**![](http://farm4.static.flickr.com/3465/3998756524_0c4aae8888.jpg "Palathalikalu, in all its glory...")**
### New job proposition..
URL: https://kudithipudi.org/new-job-proposition/
Last updated: 2009-09-22T13:08:32.000Z
I got the following offer via (spam) e-mail :). Am seriously contemplating it..  
[](http://farm3.static.flickr.com/2630/3944644006%5F5b71c75bf0%5Fo.jpg?ref=kudithipudi.org)
### I guess I am a superman :)
URL: https://kudithipudi.org/i-guess-i-am-a-superman/
Last updated: 2009-09-20T06:52:28.000Z
I successfully completed the Chicago Half Marathon held on 9/13 in [2 hours and 44 minutes](http://results.active.com/pages/oneResult.jsp?pID=65076451&rsID=83938&ref=kudithipudi.org). I know that is nothing to brag about 🙂 (in fact my worst time so far for a half marathon).. but considering that I didn’t train for it at all and had a couple shots of tequila and some beer the night before, I think I did OK. But boy was I hurting at the end.

I ran the race with my friend Sri and his friend Rama Krishna. Obviously, I was the late finisher in the team.

Here is our pre-race picture

[](http://www.flickr.com/photos/kudithipudi/sets/72157622414899364/?ref=kudithipudi.org)

p.s : Please don’t take this as advice to start drinking before embarking on a long run :).
### It is never too late..
URL: https://kudithipudi.org/it-is-never-too-late/
Last updated: 2009-08-15T05:37:03.000Z
Ran across this post on the BBC ([http://news.bbc.co.uk/2/hi/africa/8202378.stm](http://news.bbc.co.uk/2/hi/africa/8202378.stm?ref=kudithipudi.org)) regarding a 90 year old Nairobian man who recently expired. He decided to get himself educated and enrolled in school at the age of 85\. Next time, you think it is too late to start something, reconsider it 🙂
### MisCommunication
URL: https://kudithipudi.org/miscommunication/
Last updated: 2009-07-24T05:53:58.000Z
Another picture from a chain mail :). My friend, [Shashi](http://www.holidaymantra.com/?ref=kudithipudi.org), forwarded this via e-mail. Sarcastic look into communications in the corporate world. Not sure which publication this is from, so apologies in advance if this looks like palgarism. Click on the image to view a larger and legible image.

[![](http://farm4.static.flickr.com/3435/3750884423_f139111daf.jpg "Mis Communication")](http://farm4.static.flickr.com/3435/3750884423%5F1f82c667a0%5Fo.jpg?ref=kudithipudi.org)
### Cabling Mess
URL: https://kudithipudi.org/cabling-mess/
Last updated: 2009-07-17T19:42:14.000Z
My friend passed on this picture from a e-mail thread.. I would love to meet the person managing this network :). Imagine having to trace a cable…

![](http://farm4.static.flickr.com/3505/3729677549_88c4649740_o.png "Cabling Mess")
### HOW TO : Install Wireshark on Windows 7
URL: https://kudithipudi.org/how-to-install-wireshark-on-window-7/
Last updated: 2009-07-17T14:45:47.000Z
**\[UPDATE\]** Wireshark works without any issues as of version [1.2.3](http://www.wireshark.org/docs/relnotes/wireshark-1.2.3.html?ref=kudithipudi.org#WhatsNew). This release includes [WinPcap 4.1.1](http://www.winpcap.org/install/default.htm?ref=kudithipudi.org#graph%5Finstaller4%5F1%5F1), which has support for Windows 7 and 2008\. Looks like the issue was with the drivers not being signed digitally.

I recently upgraded my laptop to Windows 7 RC from the [beta version](https://kudithipudi.org/beta-for-the-beta/) I was testing earlier. As part of installing my standard set of tools, I tried to install [Wireshark](http://www.wireshark.org/?ref=kudithipudi.org) (open source network capture tool), and ran into an error due to the UAC security settings. Essentially, Windows was blocking the install of WinPcap (network capture driver). I solved it by enabling compatibility mode on the install executable. Here are the steps to install Wireshark on Windows 7.

- Download the install file from [http://www.wireshark.org/download.html](http://www.wireshark.org/download.html?ref=kudithipudi.org)
- Right click on the install file (I happened to download the 64 bit install) and click on properties
- In the properties window, click on the compatibility tab and change the option for “Run this program in compatibility mode for” to “**Windows Vista (Service Pack 2)**” and click on OK. Here’s a screenshot for reference

![](http://farm4.static.flickr.com/3422/3729732598_ec87cd6f24_o.png "Wireshark Install")

- Right click on the install and click on “Run as Administrator”
- Make sure you choose the option to install the NPF as a service during the install prompts. This will allow all users on the machine to use Wireshark without admin privileges.

P.S : WinPCap is apparently going to come out with a new version soon that is compatible with Windows 7.
### HOW TO : Convert mpg files to flv format using ffmpeg
URL: https://kudithipudi.org/how-to-convert-mpg-files-to-flv-format-using-ffmpeg/
Last updated: 2009-07-09T04:08:57.000Z
For my documentation. Here is the command line parameters, I used to convert a video file in mpg format to flv (flash video) format using ffmped (open source format converter)

```
ffmpeg -i Original_Video.mpg -deinterlace -ar 44100 -r 25 -qmin 3 -qmax 6 Converted_Video.flv
```

I will post details on where to get software and such, when I have time :).
### HOW TO : Improve performance on Samba
URL: https://kudithipudi.org/how-to-improve-performance-on-samba/
Last updated: 2009-07-09T02:02:42.000Z
Adding the following options to the \[Global\] section in the [samba](http://www.samba.org/?ref=kudithipudi.org) (open source software providing windows compatible file sharing for \*nix operating systems) will most likely speed your throughput

```
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=8192 SO_RCVBUF=8192
```

The receive and send buffer seem to do the trick.
### You know the city is hurting
URL: https://kudithipudi.org/you-know-the-city-is-hurting/
Last updated: 2009-06-18T03:36:58.000Z
When you get a ticket for

- $120 for not displaying the city sticker in your windshield
- $60 for parking over 4 minutes on a street that prohibits parking from 7:00 AM – 9:00 AM (the ticket was issued at 7:04AM!!)

I know there is a budget deficit and all.. but come on!!!

Needless to say, I am one pissed off resident :).

P.S : That $180 could have [fed a kid for more than a year in the third world](http://www.feedthechildren.org/site/PageServer?pagename=org%5Ffeed%5Fa%5Fchild&ref=kudithipudi.org)!!
### Places to visit : Letchworth State Park
URL: https://kudithipudi.org/places-to-visit-letchworth-state-park/
Last updated: 2009-06-14T07:10:20.000Z
If you are ever in the [Rochester, NY](http://en.wikipedia.org/wiki/Rochester,%5FNew%5FYork?ref=kudithipudi.org) area and have some time to kill, I highly recommend visiting the nearby [Letchworth State Park](http://nysparks.state.ny.us/parks/info.asp?parkID=12&ref=kudithipudi.org). It is less than a hours drive from Rochester and is (as the brochure states) “the grand canyon of the east”. It covers an area of \~27K acres and has a varied landscape. You can enjoy a peaceful picnic in the lush green meadows, hike in the forest or get awed by a train running \~100 feet up in the air over a waterfall. The park was not crowded and is not as “commercialized” as the nearby world famous [Niagara Falls](http://en.wikipedia.org/wiki/Niagara%5FFalls?ref=kudithipudi.org). Here are some pictures from my recent trip to the park.

**The falls with the train tracks**

![](http://farm4.static.flickr.com/3374/3623546443_c4b6125919.jpg "Letchworth State Park")

**Second Waterfall**

![](http://farm4.static.flickr.com/3598/3624523924_104453f178.jpg "Letchworth State Park")

**Train crossing the bridge**

![](http://farm3.static.flickr.com/2471/3624392762_3f0315ef59.jpg "Letchworth State Park")

**Drive into the park**
### RECIPE : Beerakaya Royyalu
URL: https://kudithipudi.org/recipe-beerakaya-royyalu/
Last updated: 2009-06-14T05:46:45.000Z
Receipe for beerakaya royyalu (Shrimp with Ridged Gourd). This dish is mainly cooked in the [Krishna district](http://en.wikipedia.org/wiki/Krishna%5Fdistrict?ref=kudithipudi.org) of [Andhra Pradesh](http://en.wikipedia.org/wiki/Andhra%5FPradesh?ref=kudithipudi.org). Meat and vegetables are usually not mixed in Andhra dishes..so I thought this one deserves a blog entry.

**Ingredients :**

- Shrimp (uncooked, medium size)
- [Beera Kaya](http://en.wikipedia.org/wiki/Loofah?ref=kudithipudi.org) (Ridged Gourd.. you can get it at an Indian grocery)
- Red Onions
- Red Chilli Powder
- Salt
- Ginger Garlic Paste
- Coconut Milk (check out the ethnic aisle in any grocery)
- Cloves
- Cardamoms
- Cilantro
- [Garam Masala](http://en.wikipedia.org/wiki/Garam%5Fmasala?ref=kudithipudi.org) (ground spices..another thing you can get at an Indian grocery)
- Vegetable Oil

**Preperation :**

- Peel and cut the ridged gourd into medium sized cubes and the onions into small pieces.
- Cook the shrimp (2lbs) in coconut milk (3 tablespoons) and ginger garlic paste (2 teaspoons) without adding any water for \~20 minutes. There is no need to add water, since the shrimp has a lot of water in it. This process helps with cooking the shrimp and elimninating the “fishy” odour.
- Heat some vegetable oil in a skillet and fry the cloves, cardamoms. Add the onions after a couple of minutes.
- When the onions turn golden, add the shrimp.
- Add some more ginger garlic, red chilli powder and salt
- Wait for a couple of minutes and add the ridge gourd
- Let the whole disk cook for \~15 minutes (let the water evaporate).
- Add the garam masala and cilantro
- Serve hot with rice.

**Visuals  :**

Shrimp being boiled with coconut milk and ginger garlic

![](http://farm3.static.flickr.com/2422/3624214094_d5dd81458e.jpg "Beera Kaya Royyalu")

Chopped Onion and peeled beera kaya

![](http://farm4.static.flickr.com/3374/3623397031_8f71b7deab.jpg "Beera Kaya Royyalu")

Shrimp and Beera Kaya cooking together

![](http://farm3.static.flickr.com/2453/3624250020_cd9c67642d.jpg "Beera Kaya Royyalu")

Beerakaya Royyalu served hot with rice

![](http://farm4.static.flickr.com/3400/3624258688_3cdf59c59d.jpg "Beera Kaya Royyalu")
### Overheard : Comment about Greencard
URL: https://kudithipudi.org/overheard-comment-about-greencard/
Last updated: 2009-06-10T20:24:07.000Z
You have to be an immigrant to the USA, to understand this :).

My friend, [Hareesh](http://hareeshachi.blogspot.com/?ref=kudithipudi.org), sent this posting on an online forum related to immigration matters

> I am so HAPPY today. My lawyer told me that my daughter can sponsor both me and my wife once she is 18\. She is only 3 now, so thats 15 years away only. It would have taken 20+ years with my EB2-based case (PD May 2008). I am so HAPPY today.
### Places to visit : Cruise on Michigan Lake
URL: https://kudithipudi.org/places-to-visit-cruise-on-michigan-lake/
Last updated: 2009-06-08T05:14:54.000Z
Some [pseudocode](http://en.wikipedia.org/wiki/Pseudocode?ref=kudithipudi.org) first 🙂

- If you live in Chicago
- If you are looking for a place to have a small get together

{OR}

- Take your significant other on a special date
- Just trying to impress a girl/guy 🙂

{AND}

- It is summer

Check out the private sail charters offered on Lake Michigan. Unlike the giant cruise boats that you can get onto, at the [Navy Pier](http://en.wikipedia.org/wiki/Navy%5FPier?ref=kudithipudi.org), these trips offer a more intimate and unique experience. The gaint cruise boats are for the tourists :).

I got to take a trip on one of the sail boats this weekend. The Red Witch, name of the boat we sailed on, is a topsail schooner. Unfortunately, we were not able to raise the sails, since the owners were waiting on an updated “certification” for a new engine they installed this year. But we still got spend a couple of hours on the lake. We brought our own food and drinks, so it was like a picnic on the lake. You can get information on booking tickets with them at [http://www.redwitch.com/](http://www.redwitch.com/?ref=kudithipudi.org).

Here are some pictures from the trip

**\[The Boat\]**

![](http://farm3.static.flickr.com/2453/3600139157_40c67b07eb.jpg "Michigan Cruise : Red Witch")

**\[The Crew\]**

![](http://farm4.static.flickr.com/3562/3600953366_6f2fef0fa6.jpg "Micigan Cruise : Red Witch : The Crew")

**\[The Moon\]**

![](http://farm4.static.flickr.com/3391/3600955774_2c3e239a18.jpg "Michigan Cruise : Red Witch : The Moon")

**\[The City\]**

![](http://farm4.static.flickr.com/3322/3600152423_f2c76e4d3c.jpg "Michigan Cruise : Red Witch : City")
### No comments!!!
URL: https://kudithipudi.org/no-comments/
Last updated: 2009-06-05T03:46:14.000Z
Screenshot of a Google Ad over a video of [Sharukh Khan](http://en.wikipedia.org/wiki/Shahrukh%5FKhan?ref=kudithipudi.org) 🙂

![](http://farm4.static.flickr.com/3389/3597263430_262a98d2ae.jpg "Sharukh Khan Video on Youtube")
### Places to eat : 90 Miles Cuban Cafe
URL: https://kudithipudi.org/places-to-eat-90-miles-cuban-cafe/
Last updated: 2009-05-31T06:29:22.000Z
If you are ever in Chicago and looking to get some great breakfast or good cuban sandwiches, try out the [90 Miles Cuban Cafe](http://www.90milescubancafe.com/?ref=kudithipudi.org) at [3101 North Clybourn, Chicago, IL 60618](http://maps.google.com/maps?f=q&source=s%5Fq&hl=en&geocode=&q=3101+N+clybourn,+60618&sll=37.0625,-95.677068&sspn=32.885543,72.685547&ie=UTF8&ll=41.938999,-87.685769&spn=0.007534,0.017745&z=16&iwloc=A). I was looking for a place to get some brunch today and Rich recommended that we go to this cafe. I really liked the decor and the simple menu. The food was visually pleasing and tasty. Here are some pictures of the food (credited to [Rich](http://flickr.com/photos/richgo?ref=kudithipudi.org)).

**Rich’s Lechon** (Roast pork, Romaine lettuce, grilled onions, sweet plantain, garlic sauce)

![](https://kudithipudi.org/content/images/farm3-static-flickr-com/2452/3579658397_b7f72e2639_d.jpg "90 Mile Cuban Cafe : Lechon")

**Janvi’s Cuban** ( 

Cuban ham, roast pork, swiss cheese, pickles, mustard)Â 

![](https://kudithipudi.org/content/images/farm4-static-flickr-com/3645/3579660715_a1330290c4_d.jpg "90 Mile Cuban Cafe : Cuban")

**My Frita Cubana** ( 

Cuban hamburger, Romaine lettuce, tomato, shoestring potatoes)

![](https://kudithipudi.org/content/images/farm4-static-flickr-com/3159/3579661265_41b4661298_d.jpg "90 Miles Cuba Cafe : Frita Cubana")

And to top it all.. some **Banana pudding**

![](http://farm3.static.flickr.com/2460/3580488994_2a051ff958_d.jpg "90 Miles Cuban Cafe : Banana Pudding")
### Overheard : Comment about expensive stores
URL: https://kudithipudi.org/overheard-comment-about-expensive-stores/
Last updated: 2009-05-31T06:02:29.000Z
Comment by my friend, Rich, on expesive stores

> Whole Foods = Whole Paycheck  
>  
> Neiman Marcus = Needless Markup

🙂
### Live and Learn : Collar Stays
URL: https://kudithipudi.org/live-and-learn-collar-stays/
Last updated: 2009-05-24T01:11:07.000Z
I just discovered that the plastic/metal thingys placed in men’s shirt collars to make them stand up are called c[ollar stays](http://en.wikipedia.org/wiki/Collar%5Fstays?ref=kudithipudi.org) :). I discovered that during a recent trip to Kohl’s.. Here’s how the conversation looked like

**Me** : hmm.. you know those things in the collar.. that make them stiff.. you know..those things!!

**Clerk** : What things?

**Me** : Well.. those things that are made of  plastic and white in color.. you know…those things.

**Clerk** : Oh..Sir.. “those things” are called “Collar Stays”

**Me** : Thank you.. I feel enlightened now 🙂

BTW.. IMHO.. every gentleman should have some spare collar stays in his kit. And you can get them for cheap on [Amazon](http://www.amazon.com/s/ref=nb%5Fss%5Fa?url=search-alias%3Dapparel&field-keywords=collar+stays&x=0&y=0&ref=kudithipudi.org).
### HOW TO : Perl subfunction to unmount a partition in Linux
URL: https://kudithipudi.org/how-to-perl-subfunction-to-unmount-a-partition-in-linux/
Last updated: 2009-05-23T02:18:23.000Z
For my record…here’s a snippet of [perl](http://perl.org/?ref=kudithipudi.org) code that can be called as a sub function to unmount a partition in Linux. Â The magic is in the line “grep m{$mountPoint}, qx{/bin/mount}”, which essentially lets you check if the partition is already mounted or not.

```
sub UnMountVolume($)
{
    my $mountPoint = $_[0];

    print "Unmounting $mountPoint\n";
	# Check if the mount point exists
	if ( grep m{$mountPoint}, qx{/bin/mount} )
	{
		#Let's try to unmount it
		system("/bin/umount $mountPoint");
	}
	else
	{
		print "$mountPoint is not mounted, so didn't have to do anything\n";
	}
}

```

As with any perl code, I am sure there are a tons of ways to do this in a more efficient and “cool” way.
### {awk} – One Liners
URL: https://kudithipudi.org/awk-one-liners/
Last updated: 2009-05-22T22:37:26.000Z
I ran across a [cached Google entry](https://kudithipudi.org/misc/awk%5Fone%5Fliners.txt) for a good collection of [awk](http://en.wikipedia.org/wiki/AWK?ref=kudithipudi.org) one liners by Eric Pemant. Since I thought the original site was down, I decided to host it on my domain at . But I did some digging and looks like Eric has his own [site](http://www.pement.org/?ref=kudithipudi.org) now and hosts a lot more resources related to [awk](http://en.wikipedia.org/wiki/AWK?ref=kudithipudi.org) at [http://www.pement.org/awk.htm](http://www.pement.org/awk.htm?ref=kudithipudi.org). Thx for the great collection Eric..
### HOW TO : Find which interface a particular IP address is configured on
URL: https://kudithipudi.org/how-to-find-which-interface-a-particular-ip-address-is-configured-on/
Last updated: 2009-05-22T19:28:53.000Z
There are a ton of scripts to find how many IP addresses  are configured on a system, but I could not find one, whic would show me which particular network interface an IP address was configured on. Here is a one liner, that will give you this information in [Linux](http://en.wikipedia.org/wiki/Linux?ref=kudithipudi.org)

`/sbin/ifconfig | grep -B1 10.10.10.10 | awk '{if (NR==1) print $1}'`

The same script can be changes a bit to support other operating systems too. Essentially, I am doing a grep (search) of the output of ifconfig, which shows all the network information on the system for a particular IP. At the same time, I am using the -B1 option, which will show the line above the matching line. Finally, I am piping this to awk and printing the first row in the first column.
### Travelocity down due to power outage..
URL: https://kudithipudi.org/travelocity-down-due-to-power-outage/
Last updated: 2009-05-22T05:31:51.000Z
Looks like Travelocity was down early today due to a power outage. Here is a screenshot of the site, right after they came up

![](http://farm3.static.flickr.com/2449/3550975091_a7d265f707.jpg "Travelocity : Error Page")

According to [Pingdom](http://uptime.pingdom.com/site/detailed%5Fdowntime%5Flog/site%5Fname/www.travelocity.com/year/2009/month/May?ref=kudithipudi.org), the site was down for \~1 hour and 29 minutes. If they did come up at an alternate site, I personally think that is a pretty good response time. Running a high transaction web site (and one that is as complicated as Travelocity) is no easy feat and when you throw DR into the mix, it gets pretty nasty. The site is primarily hosted out of the [EDS](http://en.wikipedia.org/wiki/Electronic%5FData%5FSystems?ref=kudithipudi.org)/[Sabre](http://en.wikipedia.org/wiki/Sabre%5F%28computer%5Fsystem%29?ref=kudithipudi.org)/[Travelocity](http://www.travelocity.com/?ref=kudithipudi.org) [datacenter](http://wikimapia.org/1845416/EDS-Sabre-Travelocity-Tulsa-Secured-Datacenter?ref=kudithipudi.org) in [Tulsa, Okhlahoma](http://en.wikipedia.org/wiki/Tulsa,%5FOklahoma?ref=kudithipudi.org).
### 2009 Webware winners
URL: https://kudithipudi.org/2009-webware-winners/
Last updated: 2009-05-21T05:34:40.000Z
If you are an Internet junkie like me, here is a list of the 2009 Webware winners.

  .

You will recognize a lot of the names and might also discover some new cool sites.
### HOW TO : Pass environment variables when using sudo
URL: https://kudithipudi.org/how-to-pass-environment-variables-when-using-sudo/
Last updated: 2009-05-21T04:27:17.000Z
Say you need to sudo as a particular user and run a command and at the same time you need to pass an environmental variable to the command, you can do it by passing the command in doublequotes.

For example, I want to start Oracle while I am logged in as another user (vinay), I can start the database using dbstart by issues

`"sudo su - oracle -c "dbstart /$ORACLE_HOME"`

$ORACLE\_HOME is an environmental variable listed under user oracle’s environment.

Needless to say, you need to ensure that you have sudo configured to allow your userID to su to oracle.
### HOW TO : Block outbound e-mails in Postfix
URL: https://kudithipudi.org/how-to-block-outbound-e-mails-in-postfix/
Last updated: 2009-05-15T23:49:23.000Z
I ran into a challenge at work, where we had to allow e-mail delivery for certain domains, but block all other domains. But at the same time, we had to ensure that the clients sending e-mails did not get a delivery error. We were using [Postfix](http://www.postfix.org/?ref=kudithipudi.org) as the [MTA](http://en.wikipedia.org/wiki/Mail%5Ftransfer%5Fagent?ref=kudithipudi.org) running on [Redhat Linux](http://en.wikipedia.org/wiki/Redhat%5FLinux?ref=kudithipudi.org). Here’s how I resolved it

- Edit the main.cf file (the default location is in /etc/postfix) and add “transport\_maps = hash:/etc/postfix/transport” (without the quotes) to the file.
- Create a file named “transport” in /etc/postfix, if it doesn’t exist
- Add the following at the end of the transport file

`DOMAIN1 :  
DOMAIN2 :  
* discard:`  

- Run “postmap /etc/transport” to create a hash of the transport file
- Run “service postfix restart” to restart the postfix service

This configuraiton will ensure that all e-mails address to DOMAIN1 and DOMAIN2 are delivered normally, but the rest of the e-mails are silently discarded.

Note : Ensure that you follow the syntax for where to place the : verbatim.
### Google knows that I am Indian..
URL: https://kudithipudi.org/google-knows-that-i-am-indian/
Last updated: 2009-05-15T23:33:01.000Z
I logged into [Gmail](http://gmail.com/?ref=kudithipudi.org) today and noticed this small icon on the left hand side of the rich editing option, a small icon showing the letter “a” in my native tounge ([Telugu](http://en.wikipedia.org/wiki/Telugu%5Flanguage?ref=kudithipudi.org)).. Me being the curious kind, clicked on it and found out that I can now compose e-mails in multiple [Indian](http://en.wikipedia.org/wiki/India?ref=kudithipudi.org) languages ([Hindi](http://en.wikipedia.org/wiki/Hindi%5Flanguage?ref=kudithipudi.org), [Tamil](http://en.wikipedia.org/wiki/Tamil%5Flanguage?ref=kudithipudi.org), [Kannada](http://en.wikipedia.org/wiki/Kannada%5Flanguage?ref=kudithipudi.org), [Telugu](http://en.wikipedia.org/wiki/Telugu%5Flanguage?ref=kudithipudi.org) & [Malyalam](http://en.wikipedia.org/wiki/Malyalam%5Flanguage?ref=kudithipudi.org)) by typing in English. Something that Google calls “[transliteration](http://en.wikipedia.org/wiki/Transliteration?ref=kudithipudi.org)“. Here are some screenshots of me using the feature

 

![Screenshot of Gmail showing multiple language options..](http://farm3.static.flickr.com/2434/3534030909_3b4b18c77b.jpg)

Screenshot of Gmail showing multiple language options..

 

![Screenshot of Telugu in Gmail](http://farm3.static.flickr.com/2059/3534030937_2c81bbd0ed.jpg)

Screenshot of Telugu in Gmail

Pretty cool.. but scary too 🙂 that Google guessed I am Indian.
### HOW TO : Redirect default home page on Jboss
URL: https://kudithipudi.org/how-to-redirect-default-home-page-on-jboss/
Last updated: 2009-05-15T00:43:48.000Z
If you want to redirect the default home page on Jboss (which has links to the Jboss site and also the JMX Console), you can do it by editing the index.html file in

`$JBOSS_HOME/server/$INSTANCE/deploy/jboss-web.deployer/ROOT.war`.

The $INSTANCE is the mode you are running Jboss in (default, all, messaging etc).
### HOW TO : More examples of grep
URL: https://kudithipudi.org/how-to-more-examples-of-grep/
Last updated: 2009-05-06T12:14:31.000Z
For my reference.. good article about command line usage of grep . [http://arstechnica.com/open-source/news/2009/05/command-line-made-easy-five-simple-recipes-for-grep.ars](http://arstechnica.com/open-source/news/2009/05/command-line-made-easy-five-simple-recipes-for-grep.ars?ref=kudithipudi.org) . Older how to articles on my site related to this topic are [here](https://kudithipudi.org/howto-use-grep-to-exclude-a-pattern/) and [here](https://kudithipudi.org/howto-user-find-and-grep-together/).
### HOW TO : Setup SOCKS proxy using SSH/Putty and configure Pidgin to use SOCKS proxy
URL: https://kudithipudi.org/how-to-setup-socks-proxy-using-sshputty-and-configure-pidgin-to-use-socks-proxy/
Last updated: 2009-04-10T06:45:46.000Z
I ran into a challenge recently, when I tried to connect to my IM services (Yahoo, MSN, AOL, GTalk) using Pidgin in a secured network. For some reason, the network administrator thought that he/she should make life hell for people trying to log into IM. I will have a whole new rant about companies trying to lock down networks thinking they are making the employees productive..

Here’s what I did to connect to my IM services.

1. Configure Putty/[SSH](http://en.wikipedia.org/wiki/SSH?ref=kudithipudi.org) to act as a [SOCKS](http://en.wikipedia.org/wiki/SOCKS?ref=kudithipudi.org) proxy.  
  - Most people might not be aware, but a typical SSH client can act as a SOCKS proxy. So I decided to leverage this functionality.
  - You will need access to a SSH server and [Putty](http://en.wikipedia.org/wiki/Putty?ref=kudithipudi.org) (Opensource Windows SSH client)
  - Launch Putty
  - Setup a new server connection profile. I used FREE\_MY\_IP as the profile name in this screen shot, but you can name it anything you want

![](http://farm4.static.flickr.com/3595/3428537022_64b60da576.jpg "SOCKS Proxy Server")

1. - Expand the SSH option in the left column and click on Tunnels
  - Choose any port higher than 1024 as source port (unless you are running some kind of server software on your workstation, it is safe to use any port above 8000) and enter the SSH server in the Destination field. Then choose the “Dynamic” option and click on Add.. the screen shot below shows the options I used  
![](http://farm4.static.flickr.com/3617/3428536918_f53b15dcf8.jpg "SOCKS SSH Proxy")

  - The tunnel will show up as below  
![](http://farm4.static.flickr.com/3370/3427728161_26f0ef9dd9.jpg "SOCKS SSH Proxy")

  - Click on Open and establish the SSH tunnel
2. Configure [Pidgin](http://www.pidgin.im/?ref=kudithipudi.org) (open source IM client) to use the SOCKS proxy  
  - Launch Pidgin
  - Click on Tools -> Preferences in the menu
  - Click on the network tab
  - Choose SOCKS4 as the proxy type and enter localhost in the host field. In the port field enter the port you selected when setting up the tunnel in Putty.

![](http://farm4.static.flickr.com/3567/3427728235_7b0feceb0a.jpg "Pidgin SOCKS Proxy")

1. Connect to your IM services.. chat away and be unproductive 🙂
### Overheard : Comment about progress
URL: https://kudithipudi.org/overheard-comment-about-progress/
Last updated: 2009-04-08T13:28:03.000Z
Comment by a colleague about progress

> Somebody told me once that getting it right the first time is accident, second time is coincidence and the third time is consistence.
### First race of 2009..
URL: https://kudithipudi.org/first-race-of-2009/
Last updated: 2009-03-30T16:20:09.000Z
It was cold (35 F), Windy (30 mph) and snowing (3 inches) for the Shamrock Shuffle 8K race yesterday…. But I was determined not to miss yet another race this year. Thx to Sri for pushing me during the race, I finished it in [51:28](http://results.active.com/pages/oneResult.jsp?pID=51806403&rsID=76170&ref=kudithipudi.org) minutes. Thats an average of 10:22/mile.

![](http://farm4.static.flickr.com/3459/3396643704_dc3652d8db.jpg "Shamrock Shuffle 2009 : Snow..")

\[Photo Credit : [Kieffer](http://www.flickr.com/photos/kieffer/sets/72157616094387948/?ref=kudithipudi.org)\]

This is how the course looked like. The road was so slushly that my feet were frozen and I couldn’t feel them till the 2nd mile.

[![](http://farm4.static.flickr.com/3632/3398345061_360da3ba90.jpg "Shamrock Shuffle : Team Asha..")](http://www.flickr.com/photos/kudithipudi/sets/72157616038038497/?ref=kudithipudi.org)\[ I have to make fun of Sri’s new moustache 🙂 \]
### HOW TO : Force expire sudo security permissions..
URL: https://kudithipudi.org/howto-force-expire-sudo-security-permissions/
Last updated: 2009-03-26T07:11:54.000Z
Ever run into a situation when you thought you had sudo rights on a machine and tried to issue the sudo command and upon finding that you don’t have them..get your name added to the sudoers list by begging the sysadmin.. and then frusrated when sudo keeps throwing an error that you are not part of the sudoers list? Hmm.. that is a long sentance :)..

To expire any cached security permissions, so that sudo is forced to check the sudoers files, issue the following command

`sudo -k`
### Open Source Education
URL: https://kudithipudi.org/open-source-education/
Last updated: 2009-03-26T06:35:19.000Z
If you have time on your hand and want to learn something useful, head on over to Academic Earth ([http://academicearth.org/](http://academicearth.org/?ref=kudithipudi.org)) and view lectures from some of the best professors in the world..

I liked this one by Alan Blinder about the cause of the current economic crisis

 

Quote from his lecture.. NINJA (No Income, No Job \[and\] Asset\] loans are bad 🙂
### I am officially a trillionaire
URL: https://kudithipudi.org/i-am-officially-a-trillionaire/
Last updated: 2009-03-24T13:10:36.000Z
Following up on my previous [posting](https://kudithipudi.org/?p=468) about what you can buy with a trillion dollars, I actually bid on some Zimbabwean currency on ebay.. I just received my freshly minted Zimbabwean currency and can officially say that I am a trillionaire :).. As any trillionaire would wonder.. what do I do with all this money now :)..

![](http://farm4.static.flickr.com/3436/3381495819_40e03ce4e8.jpg "Zimbabwe : Trillion Dollars")
### Lessons of the Trade : Simple way to deter web scrapers
URL: https://kudithipudi.org/lessons-of-the-trade-simple-way-to-deter-web-scrapers/
Last updated: 2009-03-17T01:11:28.000Z
If your website is a target of web scrapers ([http://en.wikipedia.org/wiki/Screen\_scraping](http://en.wikipedia.org/wiki/Screen%5Fscraping?ref=kudithipudi.org)), here’s a simple way to keep them on their toes..

Every few days (or weeks) make a small change to the web page format. The trick is to make the change in such a way so that your users do not notice it or are not annoyed by the change. Most of the simple scrapers use, screen scraping and this would confuse the hell out of them 🙂 and usually deters the most abusive ones. The smart ones would have approached you in the first place, requesting permission to scrape or get authorized for an interface.
### OverHeard : Comment about contribution
URL: https://kudithipudi.org/overheard-comment-about-contribution/
Last updated: 2009-03-17T01:04:42.000Z
Comment by a colleague about how useful your contributions are at work..

> Yesterdays recipe is today’s shit

In other words, there is no end to the race :)..
### Lessons of the trade : Troubleshooting database perfromance
URL: https://kudithipudi.org/lessons-of-the-trade-troubleshooting-database-perfromance/
Last updated: 2009-03-11T06:46:38.000Z
If you have ever worked in an IT shop, you will know that the one thing you cannot escape from is issues related to Database performance. Now, I am no DBA in any way or fashion, but thought I should record some of the common issues and ways they have been overcome in my career so far. More for self records than trying to teach someone :).

- Network Related  
  - Check if the NIC (network interface) on the DB server has any speed mis match with the network device (most probably a switch) that it is connected to.
  - Check the latency between the application and the DB (pertains to applications connecting to DB over WAN links)
- System Related  
  - Check if a rouge process is using all the system resources.
  - Check if the disk sub system is performing optimally  
    - Recommend using RAID 10 for transactional systems.
    - Don’t forget to check those batteries on the RAID controllers 🙂
  - Check if the DB is just running out of gas.  
    - Long term capacity trending records come in handy here.
- Database Related  
  - Views are evil.. if created the wrong way. Esp, on data that is accessed frequently. Remember that you are now making two calls to the database. One to read the data, One to create the view.
  - Ensure your logs are not being writted ot (thx Ray for pointing out the typo) written to the same disk subsystem as your data files.
  - Indexes are good.. But only to an extent. If the size of your indexes is twice the size of your data.. you have an issue.
  - Check for invalid objects. You will be surprised how many times, people overlook this.
  - Sometimes, it helps to flush the SGA (Oracle specific). Be aware that it will slow down the response time for a while (until the cache gets populated again).
  - Avoid excessive monitoring. Esp. with tools that query the system tables quite frequently. This has a negative impact on the database performance.

Did you run into any strange situations and figured out a solution? Please feel free to add your comments below…
### A picture speaks a thousand words
URL: https://kudithipudi.org/a-picture-speaks-a-thousand-words/
Last updated: 2009-03-09T13:44:34.000Z
Here’s a picture from a BBC [photo essay](http://news.bbc.co.uk/2/hi/in%5Fpictures/7920314.stm?ref=kudithipudi.org) about the [attack](http://news.bbc.co.uk/2/hi/uk%5Fnews/7920586.stm?ref=kudithipudi.org) on the [Sri Lankan](http://en.wikipedia.org/wiki/Sri%5FLanka?ref=kudithipudi.org) [cricket](http://en.wikipedia.org/wiki/Cricket?ref=kudithipudi.org) team by terrorists in [Pakistan](http://en.wikipedia.org/wiki/Pakistan?ref=kudithipudi.org)

![](https://kudithipudi.org/content/images/newsimg-bbc-co-uk/media/images/45528000/45528384_006965416-1.jpg "Bomb Expert!!")

(Bomb Disposal Expert working on disarming a bomb : Credit – BBC)

Need I say more? I admire the bravery of the expert, but the guy is “disarming” a bomb without any protection..For comparision, look at the outfit of a bomb disposal in the US..

![](http://farm4.static.flickr.com/3061/2832571870_43a2db8944_d.jpg "Bomb Disposal Expert")

(Credit – [Chad Davis](http://www.flickr.com/photos/chadwho1ders/?ref=kudithipudi.org))
### Can you still write?
URL: https://kudithipudi.org/can-you-still-write/
Last updated: 2009-02-27T06:20:23.000Z
i.e. Can you still write with your hand? I ran across this article ([http://news.bbc.co.uk/2/hi/uk\_news/magazine/7907888.stm](http://news.bbc.co.uk/2/hi/uk%5Fnews/magazine/7907888.stm?ref=kudithipudi.org)) on the [BBC](http://news.bbc.co.uk/?ref=kudithipudi.org), which predicts that we will have forgotten the art of handwriting in another 100 years or so. Imagine, a specialist having to decipher handwritten notes, although I should confess that I think it takes a specialist to read my handwriting now :).

As with most people of my age, I actually went through a formal “handwriting” class. I remember, we used to have special assignments, where all you did was write 🙂 . I used to write a lot of handwritten letters during my childhood, but as I grew up and started to use computers, my need to hand write something became less and less. If I remember correctly, the last handwritten letter I wrote was \~6 years ago!! It is so easy to type up an e-mail and send it off, but writing a letter makes you think and reflect on what you are writing. I do miss it 🙂

Speaking of things that are going to be “things of past”, I also think that most of the regional languages in this world will fade away in another 200-300 years. Everyone will speak some form of English :)..

So when was the last time, you wrote something (meaningful) with a pen or pencil?
### New Toy : Kindle 2.0
URL: https://kudithipudi.org/new-toy-kindle-20/
Last updated: 2009-02-25T04:42:47.000Z
I have been looking at getting an e-book reader for some time now (yes.. even though I don’t have time, I still like to think I can read 🙂 ).. My sister and brother in law surprised me by getting me the newly released Kindle 2.0 (Thx Guys!!).. I think I am one of the first few people to receive it!!. Here are some pictures of the unpacking and the device itself

The Kindle in it’s original packing.. Getting pretty close to being as cool as Apple packaging

![](http://farm4.static.flickr.com/3327/3308483486_32e739e9ec_d.jpg "Kindle 2.0 : Unpacking")

The most amazing thing (for me).. the USB/Power Cable.. Look how small the power brick is!!

![](http://farm4.static.flickr.com/3586/3308483834_5aafc287bc_d.jpg "Kindle 2.0 : Power/USB Cable")

![](http://farm4.static.flickr.com/3576/3307654345_081c3a4e01_d.jpg "Kindle 2.0 : Power Brick")

 

First Thoughts??

Since, I didn’t have a previous e-book or the Kindle 1.0, I don’t have anything to compare it to. I think the styling of the device is very sleek and sexy. I like the alumunium backend (Reminds you of the first gen iPhone). The interface is OK.. Was not very impressed with it. I love the fact that you can browse Wikipedia anytime/anywhere with the built-in wireless connection for free!!

My next task is to figure out a way to get some content onto this baby. There are several books in the public domain (like the ones on [Gutenberg.org](http://gutenberg.org/?ref=kudithipudi.org)) that I would like to get onto the Kindle first. Once, I feel comfortable with the unit, I will try some e-books from the Kindle store.
### HOW TO : Simple perl script to replace lines in file
URL: https://kudithipudi.org/how-to-simple-perl-script-to-replace-lines-in-file/
Last updated: 2009-02-19T06:11:26.000Z
Nothing fancy.. but here is a simple perl script to open a file, search for specific content in the a line and replace it with some other content.  
  
`open (SOURCE, "< source.xml") or die "Could not open file source.xml: $!\n"; open (DESTINATION, ">modfile.xml")  
or die "Could not open file modfile.xml: $!\n";`

while (defined($line =)) {  
if ($line =\~ m/YYYYYYYY/i) {  
$line = "XXXXXXXXXXXXXXXXXXX\\n";  
}  
print DESTINATION "$line";  
}

close (SOURCE);  
close (DESTINATION);  

You are opening a file named source.xml, reading every line and if there is some text that matches “YYYYYYYY”, you are replacing the whole line with “XXXXXXXXXXXXXXXXXXX”. I am sure there are more elegant ways to write this :).. but this will do the trick too..
### HOW TO : Spice up your digital pictures..
URL: https://kudithipudi.org/howto-spice-up-your-digital-pictures/
Last updated: 2009-02-13T07:25:06.000Z
- Go to [http://www.befunky.com](http://www.befunky.com/?ref=kudithipudi.org)
- Upload, grab a picture
- Play with different options
- Save, Print, Enjoy 🙂 Â (you can print the manipulated pictures on mugs, t-shirts, keychains, magnets etc..).

Here’s an example

**ORIGINAL**

![](http://farm4.static.flickr.com/3530/3245959977_f1c4f214d2_d.jpg "Swami Narayan Temple : Enterance")

**AFTER PLAYING AROUND IN BEFUNKY**

![](http://farm4.static.flickr.com/3340/3275457951_a6b0a4a95b_o_d.jpg "BeFunky Swami Narayan Temple")
### I am a Disco Dancer..
URL: https://kudithipudi.org/i-am-a-disco-dancer/
Last updated: 2009-02-06T06:36:34.000Z
What am I listening to now a days on my runs? This classic from the 1982 movie “[Disco Dancer](http://en.wikipedia.org/wiki/Disco%5FDancer?ref=kudithipudi.org)“..

Love the bling bling shiny dress of Mithun and the side kick girls with their saxophones and shorts 🙂

Check out two crazy moves… One is at 4:35 and the other at 7:10

And yes.. I love Disco 🙂
### Never give up..
URL: https://kudithipudi.org/never-give-up/
Last updated: 2009-02-05T18:24:51.000Z
Ran across this story on the BBC ([http://news.bbc.co.uk/2/hi/asia-pacific/7871989.stm](http://news.bbc.co.uk/2/hi/asia-pacific/7871989.stm?ref=kudithipudi.org)) about a 68 year old women in South Korea, who has attempted to get a car driving learning permit for the last 3 years. She attempted the exam 771 times, but hasn’t been able to score the minimum required score. What did she say, after failing again? “I will continue trying!!”.

All of us run into difficult situations from time to time. It can be a simple thing as trying to give up on a favorite food to reduce weight or attempting to reach a certain position in your career. And many times than not, we just give up.

I printed this news story and posted it in my office to remind me every day.. “Never Give Up!!”

P.S : Yes.. I do get my news from the BBC 🙂
### RECIPE : Bokkala Pulusu
URL: https://kudithipudi.org/recipe-bokkala-pulusu/
Last updated: 2009-02-04T03:42:18.000Z
Recipe for Goat soup (AKA known as Bokkala Pulusu in [Telugu](http://en.wikipedia.org/wiki/Telugu%5Flanguage?ref=kudithipudi.org)). Credit goes to Banda and his mom. This dish is mainly prepared in the [Telangana](http://en.wikipedia.org/wiki/Telangana?ref=kudithipudi.org) region of the state of [Andhra Pradesh](http://en.wikipedia.org/wiki/Andhra%5FPradesh?ref=kudithipudi.org). It is a spicy soup made from Goat meat with bones. Hence the name Bokkala Pulusu. Bokkala means bones and Pulusu means soup in Telugu.

**Ingredients :**

- Goat Meat (with bones)
- Onions
- Green Chilli
- Cloves
- Cinnamon
- Cardamoms
- Garam Masala
- Oil
- Turmeric
- Salt
- Chilli powder
- Tamarind Paste

**Preperation :**

- Cut the meat into medium chunks. Don’t skin the meat from the bones. Let the meat cling onto the bones.
- Heat some oil in a skillet and gently roast the cloves, cinnamon and cardamoms after crushing them.
- After a minute, add the sliced onions and half cut green chilli.
- When the onions turn golden, add the meat and gently turn it around until it becomes light pink.
- Sprinkle some turmeric and add salt, chilli powder (according to your taste).
- Let the meat cook for another 3-4 minutes and add garam masala.
- Add plenty of water (should be at least 2 inches about the level of the meat) and the tamarind paste.
- Let the meat cook for at least 1 hour on medium flame.
- Serve hot with white rice..

**Visuals :**

The meat..

![](http://farm4.static.flickr.com/3208/3071226719_be7f2e58aa_m.jpg "Bookala Pulusu - 1")

**Â** 

Cinnamon, Cloves & Â Cardamoms

![](http://farm4.static.flickr.com/3291/3072060350_a6e54e82a3_m.jpg "Bokkala Pulusu - 2")

Onions & Chilli

![](http://farm4.static.flickr.com/3186/3072062074_b5f7a0be9b_m.jpg "Bokkala Pulusu - 3")

All mixed together..

![](http://farm4.static.flickr.com/3165/3071228663_04f0dce9bc.jpg "Bokkala Pulusu - 4")

Served with a bunch of other dishes 🙂

![](http://farm4.static.flickr.com/3047/3072860072_63f55d5a55.jpg "Bokkala Pulusu - 5")
### $6 T-Shirts..
URL: https://kudithipudi.org/6-t-shirts/
Last updated: 2009-02-03T19:02:17.000Z
Want cool and cheap t-shirts? Check out [http://www.6dollarshirts.com/t-shirts/](http://www.6dollarshirts.com/t-shirts/?ref=kudithipudi.org)
### Places to Visit : Shri Swami Narayan Mandir : Bartlett, IL
URL: https://kudithipudi.org/places-to-visit-shri-swami-narayan-mandir-bartlett-il/
Last updated: 2009-02-02T06:48:36.000Z
I am going to start a new category of postings called “Places to Visit”.  I will be documenting various places that I visited and think that they would be of interest to other people.. 

The first one on the list is the [Swami Narayan Mandir](http://chicago.baps.org/?ref=kudithipudi.org) (temple) in [Bartlett](http://en.wikipedia.org/wiki/Bartlett,%5FIllinois?ref=kudithipudi.org), IL. Although, this temple is dedicated to [Swami Narayan](http://en.wikipedia.org/wiki/Swaminarayan?ref=kudithipudi.org) (one of the Gods in the [Hindu](http://en.wikipedia.org/wiki/Hinduism?ref=kudithipudi.org) religion), it is open to anyone that wants to visit. The temple is built completely out of marble and was completed in a record 16 months. 

As it stands now, it is the largest Hindu temple in North America 

 (Thx to Deepti for correcting me.. Looks like the newly built Swami Narayan temple in Atlanta, GA is the largest temple in North America now.. [http://en.wikipedia.org/wiki/BAPS\_Shri\_Swaminarayan\_Mandir\_Atlanta)](http://en.wikipedia.org/wiki/BAPS%5FShri%5FSwaminarayan%5FMandir%5FAtlanta?ref=kudithipudi.org). It was built in accordace to ancient architectural practises, which means that no steel or iron was used in building it. The temple is located at 

4N739 IL Route 59,  
Bartlett , IL 60103 USA

An added bonus to visiting the temple, in addition to be able to view an amazing architectural wonder and (if you are inclined) a chance to sooth your spirit, you also get good vegetarian food :). It is cooked right in the temple.

Photography is not allowed inside the temple.. Here are some pictures I was able to take from outsite the temple

**The Haveli**

![](http://farm4.static.flickr.com/3493/3246765624_893cd79e8d.jpg "Swami Narayan Temple : Haveli")

**Intricate wood carving on the Haveli’s enterance**

![](http://farm4.static.flickr.com/3089/3246768354_19867ce45c.jpg "Swami Narayan Temple : Wood Carving")

**The temple, in snow..**

![](http://farm4.static.flickr.com/3126/3246781512_4cb2d27734.jpg "Swami Narayan Temple in snow..")

**Front view of the temple**

![](http://farm4.static.flickr.com/3258/3245960721_0a701f7270.jpg "Swami Narayan Temple : Front View")

**The entrance of the temple**

![](http://farm4.static.flickr.com/3116/3245958987_1e4fcf20ca.jpg "Swami Narayan Temple : Enterance")
### Timeless classic by Pushikin..
URL: https://kudithipudi.org/timeless-classic-by-pushikin/
Last updated: 2009-02-02T06:12:04.000Z
I was introduced to this poem by Pushkin, when I was studying in Russia by one of my friends.. I forgot it’s title and could only remember a few works.. So, I put up this [post](https://kudithipudi.org/?p=512), earlier on this blog. Thx to Dima.. I found it again :).. Here’s one of my favorite poem’s by Russia’s greatest author.. [Alexander S. Pushkin](http://en.wikipedia.org/wiki/Alexander%5FPushkin?ref=kudithipudi.org)Â ,

[ПРИЗНАНИ](http://feb-web.ru/feben/pushkin/texts/push10/v02/d02-302-.htm?ref=kudithipudi.org)Е (translates to Confession)

Я вас люблю,- хоть я бешусь,  
Хоть это труд и стыд напрасный,  
И в этой глупости несчастной  
У ваших ног я признаюсь!  
Мне не к лицу и не по летам.....  
Пора, пора мне быть умней!  
Но узнаю по всем приметам  
Болезнь любви в душе моей:  
Без вас мне скучно, - я зеваю;  
При вас мне грустно, - я терплю;  
И, мочи нет, сказать желаю,  
Мой ангел, как я вас люблю!  
Когда я слышу из гостиной  
Ваш легкий шаг, иль платья шум,  
Иль голос девственный, невинный,  
Я вдруг теряю весь свой ум.  
Вы улыбнетесь, - мне отрада;  
Вы отвернетесь, - мне тоска;  
За день мучения - награда  
Мне ваша бледная рука.  
Когда за пяльцами прилежно  
Сидите вы, склонясь небрежно,  
Глаза и кудри опустя, -  
Я в умиленьи, молча, нежно  
Любуюсь вами, как дитя!......  
Сказать ли вам мое несчастье,  
Мою ревнивую печаль,  
Когда гулять, порой в ненастье.  
Вы собираетеся в даль?  
И ваши слезы в одиночку,  
И речи в уголку вдвоем,  
И путешествия в Опочку,  
И фортепьяно вечерком?...  
Алина! сжальтесь надо мною.  
Не смею требовать любви.  
Быть может, за грехи мои,  
Мой ангел, я любви не стою!  
Но притворитесь! Этот взгляд  
Всё может выразить так чудно!  
Ах, обмануть меня нетрудно,  
Я сам обманываться рад!

English translation can be found here ([http://members.tripod.com/\~halonine/1824-26.htm#confession](http://members.tripod.com/~halonine/1824-26.htm?ref=kudithipudi.org#confession))
### 2009 Superbowl
URL: https://kudithipudi.org/2009-superbowl/
Last updated: 2009-02-02T05:34:53.000Z
The only cool thing that came out of the [2009 Superbowl](http://www.nfl.com/superbowl/43?ref=kudithipudi.org) (Other than the fact, that the Cardinals played their heart out.. but still lost), were the 3D ads!! Dreamworks and NBC partnered up with Pepsi to show two ads in [3D](http://news.cnet.com/8301-13577%5F3-10152801-36.html?ref=kudithipudi.org) after the first half.. I don’t know if the hype generated by the ads justified the millions of dollars spent to create them.. I am sure the picture below was reflected in most of the households across America 🙂

![](http://farm4.static.flickr.com/3368/3245907967_f3c71272b8_d.jpg "Superbowl 43 : 3D Ads")

Thx to Sri and Kirthi for hosting this year’s Superbowl party.. The Guacamole and Haleem were yummy..Pictures from the party ([http://flickr.com/photos/kudithipudi/sets/72157613256281176/](http://flickr.com/photos/kudithipudi/sets/72157613256281176/?ref=kudithipudi.org))
### Можете ли Вы мне помочь?
URL: https://kudithipudi.org/-d0-bc-d0-be-d0-b6-d0-b5-d1-82-d0-b5--d0-bb-d0-b8--d0-b2-d1-8b--d0-bc-d0-bd-d0-b5--d0-bf-d0-be-d0-bc-d0-be-d1-87-d1-8c/
Last updated: 2009-01-31T17:07:01.000Z
Если вы из России, вы можете мне помочь найти это стихотворение Пушкина? Я считаю, что имеет несколько линий, как этого ..

“Lublu ya vas..

..Chivo ze bolshe”
### You know you are addicted…
URL: https://kudithipudi.org/you-know-you-are-addicted/
Last updated: 2009-01-31T16:53:32.000Z
- When you check your [blackberry](http://en.wikipedia.org/wiki/BlackBerry?ref=kudithipudi.org) every minute, even when there is no e-mail waiting for you..
- When you are in a social gathering and keep checking your blackberry rather than mingle with people..
- When you are in a drive-thru lane at a fast food place and have to think “I will not check my blackberry until, I get to the window and get my food” (that takes an average of 30 seconds!!)..

I think I need to get some help here :-).. And looks like this is not a new phenomenon.. Here are some stories about the addiction

[http://www.informationweek.com/blog/main/archives/2007/03/just\_how\_far\_do.html](http://www.informationweek.com/blog/main/archives/2007/03/just%5Fhow%5Ffar%5Fdo.html?ref=kudithipudi.org)

[http://www.dailymail.co.uk/news/article-401646/Blackberry-addiction-similar-drugs.html](http://www.dailymail.co.uk/news/article-401646/Blackberry-addiction-similar-drugs.html?ref=kudithipudi.org)

Any ideas? 🙂
### HOW TO : View HTML pages in Linux (command line)
URL: https://kudithipudi.org/howto-view-html-pages-in-linux-command-line/
Last updated: 2009-01-31T01:07:24.000Z
If you are stuck in a terminal on a Linux workstation and need to view a html file.. you can use the following command

`links NAME_OF_HTML_FILE`

Links displays the HTML code in the page by default..If you want to just view the rendered HTML, press “\\” and you can toggle between HTML and Text views.

P.S : You need to have [links](http://elinks.or.cz/?ref=kudithipudi.org) installed to use it :).. But most of the new distributions have it installed by default.
### Lessons of the trade : Data purge in databases..
URL: https://kudithipudi.org/lessons-of-the-trade-data-purge-in-databases/
Last updated: 2009-01-28T03:47:44.000Z
Quick note to myself.. If you have a high volume transactional database and are looking to purge data from a table(s).. make sure you purge the data in small chunks. If you purge the data in larger chunks (rows), other processes trying to access the data on those tables have to go to the redo logs to access the data, since the purge job will put a lock on the table. This obviously adds latency to the queries.. So purge the data in smaller chunks (rows), forcing the database to flush the redo logs.
### Why I added 5lbs of weight in 3 weeks…
URL: https://kudithipudi.org/why-i-added-5lbs-of-weight-in-3-weeks/
Last updated: 2009-01-27T04:26:32.000Z
[Five Guys](http://www.fiveguys.com/home.aspx?ref=kudithipudi.org), a burger chain from the east coast opened their first franchise in Chicago… If you want some fresh juicy burgers and peanuts to eat while the burger is being made, this is the place to go to. I first tasted the Five Guys burger when I was in Washington DC, a couple of years ago, on work.. I thought how cool, it would be to open one in Chicago. Looks like some enterprising entrepreneur actually took my idle thought and opened one :-).. It is located at [2140 N. Clybourn Ave](http://maps.google.com/maps?f=q&source=s%5Fq&hl=en&geocode=&q=five+guys&sll=41.879535,-87.624333&sspn=0.836387,1.403503&gl=us&g=chicago,+il&ie=UTF8&ll=42.226484,-87.600861&spn=0.831834,1.403503&z=10&iwloc=A).

Coming to the title of this post.. Why did I add 5 lbs of weight? These three pictures should tell you why..

YUM

![](https://kudithipudi.org/content/images/farm4-static-flickr-com/3422/3224190601_208117b39a_d.jpg "Five Guys : Burger")

YUMMM  

![](https://kudithipudi.org/content/images/farm4-static-flickr-com/3484/3225049068_bcc33b8594_d.jpg "Five Guys : Burger Open")

YUMMMMMY

![](https://kudithipudi.org/content/images/farm4-static-flickr-com/3386/3224193683_611f87f0d2_d.jpg "Five Guys : Rich")

OK.. That is my friend Rich.. but you get the idea :-)..
### SourceForge : Project of the Month
URL: https://kudithipudi.org/sourceforge-project-of-the-month/
Last updated: 2009-01-24T21:19:05.000Z
[SourceForge.net](http://sourceforge.net/?ref=kudithipudi.org) is an online community supporting [open source](http://en.wikipedia.org/wiki/Open%5Fsource?ref=kudithipudi.org) projects by providing hosting, distribution and [subversion](http://en.wikipedia.org/wiki/Subversion%5F%28software%29?ref=kudithipudi.org) services. They choose a project every month from the hundreds of thousands of projects that are hosted on SourceForge based on popularity and activity. Most of the projects are the who is who of the Open source community. This is a good link to bookmark.. [http://sourceforge.net/community/index.php/potm/](http://sourceforge.net/community/index.php/potm/?ref=kudithipudi.org)
### OverHeard : Comment about conflicts
URL: https://kudithipudi.org/overheard-comment-about-conflicts/
Last updated: 2009-01-23T15:05:02.000Z
Comment by [George Mitchell](http://en.wikipedia.org/wiki/George%5FJ.%5FMitchell?ref=kudithipudi.org), new US envoy for Middle East [appointed](http://news.bbc.co.uk/2/hi/uk%5Fnews/northern%5Fireland/7846211.stm?ref=kudithipudi.org) by [President Obama](http://en.wikipedia.org/wiki/Barack%5FObama?ref=kudithipudi.org) and [Secretary of State Clinton](http://en.wikipedia.org/wiki/Hillary%5FClinton?ref=kudithipudi.org), about conflicts

> Conflicts are created, conducted and sustained by human beings; they can be ended by human beings..
### Have idle time??
URL: https://kudithipudi.org/have-idle-time/
Last updated: 2009-01-23T07:26:37.000Z
Then check out Futility Closet ([http://www.futilitycloset.com/](http://www.futilitycloset.com/?ref=kudithipudi.org)), a blog by [Greg Ross](http://www.futilitycloset.com/about/?ref=kudithipudi.org) with misc. tidbits about math, language, puzzles etc. Did you know that [Karoshi](http://en.wikipedia.org/wiki/Kar%C5%8Dshi?ref=kudithipudi.org) means “death from overwork”.. And this is a statistic that the Japanese Government tracks annually.. See, now you are smarter than before reading this post :-)..
### Be careful what you put up on Facebook..
URL: https://kudithipudi.org/be-careful-what-you-put-up-on-facebook/
Last updated: 2009-01-23T02:51:22.000Z
Ran across this story on BBC ([http://news.bbc.co.uk/2/hi/uk\_news/england/staffordshire/7845946.stm](http://news.bbc.co.uk/2/hi/uk%5Fnews/england/staffordshire/7845946.stm?ref=kudithipudi.org)) about a women being stabbed to death by her husband because she changed her status to “single” from “married” on Facebook.. WTF????? What is wrong with people!!

Morale of the story : Be careful.. what you put up on the Internet.. :-).

P.S : As you can see.. that rule doesn’t apply to me :-).
### HOW TO : Delete duplicate lines in Linux/Unix
URL: https://kudithipudi.org/how-to-delete-duplicate-lines-in-linuxunix/
Last updated: 2009-01-22T06:22:29.000Z
If you have a large text file and want to quickly delete any duplicate lines, you can use the following option of sort in \*nix..

`sort -u filename > newfilename`

If you want to get even funkier :), like only checking duplicates on a particular column, feel free to check out this link [http://www.gnu.org/software/coreutils/manual/html\_node/sort-invocation.html#sort-invocation](http://www.gnu.org/software/coreutils/manual/html%5Fnode/sort-invocation.html?ref=kudithipudi.org#sort-invocation).
### HOW TO : Microsoft Windows – Routing to /dev/null
URL: https://kudithipudi.org/microsoft-windows-routing-to-devnull/
Last updated: 2009-01-21T05:06:43.000Z
Ran into an interesting issue at work today and wanted to document it. We had a rouge process in one of our applicatoins and it was trying to send e-mails via one of our mail gateways at an alarming rate..There was no customer impact, since the mail server was rejecting all the connections. But the high number of connections were causing a strain on our firewalls..

If this was Linux, we would have done something simple like adding a route to point all the traffic destined to mail server to /dev/null by running “`route add IP_ADDRESS_OF_MAIL_SERVER MASK /dev/null`”

A search on Google showed that you can achieve similar results by doing the following “`route ADD IP_ADDRESS_OF_MAIL_SERVER MASK 255.255.255.255 127.0.0.1`“. 127.0.0.1 being the IP address of the loopback interface in this case. But when we ran the command, we got an error “incorrect gateway 127.0.0.1”.. So there is NO way to route traffic in Microsoft Windows to a null device..

Finaly, we figured out a round about way to achieve this.. Since the main aim was to reduce the load on the firewall, we identifid an un used IP in the same network as the application server and added a static route to point all traffic going to the mail server to this IP. We ran the following command “`route ADD IP_ADDRESS_OF_MAIL_SERVER MASK 255.255.255.255 UN_USED_IP_ADDRESS`”

For example, if you application server is in the range 192.168.1.0/24, the mail server is 192.168.2.20.. and an unused IP in the application server range is 192.168.1.10.. the command would look like this “`route ADD 192.168.2.20 MASK 255.255.255.255 192.168.1.10`“.. You will see a lot of SYN\_SENT status in the network connections, since the application is trying to connect t othe mail server via an IP address that doesn’t exist..

Might not be the smartest way to achive this.. but it did the trick.
### Windows 7 : Installer Issues
URL: https://kudithipudi.org/windows-7-installer-issues/
Last updated: 2009-01-20T01:49:19.000Z
As posted here, I have been playing around with the Beta version of Windows 7\. Everything was working great, until I started getting  a mysterious error “Installer stopped working”, when I tried to install any new software. A Google search, led me to this site ([http://www.sevenforums.com/general-discussion/2349-windows-installer-cant-install-any-msi-package-4.html](http://www.sevenforums.com/general-discussion/2349-windows-installer-cant-install-any-msi-package-4.html?ref=kudithipudi.org)) . Here’s the solution to the issue. 

> start regedit  
> navigate to HKLM\\Software\\Microsoft\\SQMClient\\Windows\\DisabledSessions  
> rename MachineThrottling to \_MachineThrottling
### Chi Towns homemade comedy..
URL: https://kudithipudi.org/chi-towns-homemade-comedy/
Last updated: 2009-01-19T04:56:22.000Z
This is so politically incorrect.. but funny as hell.. Be warned that this is NSFW..

 

Check out MrChiCity’s other video’s at [http://www.youtube.com/user/MrChiCity3](http://www.youtube.com/user/MrChiCity3?ref=kudithipudi.org).
### What does one trillian dollars get you?
URL: https://kudithipudi.org/what-does-one-trillian-dollars-get-you/
Last updated: 2009-01-17T02:35:09.000Z
If you are a Zimbabwean, it will get you USD30 worth of stuff!! Ran across this story ([http://news.bbc.co.uk/2/hi/africa/7832601.stm](http://news.bbc.co.uk/2/hi/africa/7832601.stm?ref=kudithipudi.org)) on BBC, about the government of Zimbabwe releasing a trillian dollar note to cope with inflation. Zimbabwe was one of the most stable and prosporous country in Africa, until [Robert Mugabe](http://en.wikipedia.org/wiki/Robert%5FMugabe?ref=kudithipudi.org), started to enforce his lunatic policies. I can never understand, why people allow such morons to rule them..

BTW, One[ trillion](http://www.grc.nasa.gov/WWW/K-12/Numbers/Math/Mathematical%5FThinking/how%5Fbig%5Fis%5Fa%5Ftrillion.htm?ref=kudithipudi.org) has 12 zeros in it :-).. It looks like this..

> $1000000000000

I would like to get my hands on one of these notes.. just to look at it :). I tried a [search](http://shop.ebay.com/items/%5FW0QQ%5FnkwZzimbabweQ20100Q20billionQQ%5FarmrsZ1QQ%5FfromZR40QQ%5FmdoZ?ref=kudithipudi.org) on [Ebay](http://www.ebay.com/?ref=kudithipudi.org) and it looks like there is an active market for the Zimbabwean currency. At least Robert Mugabe managed to make a Zimbabwean product desirable :).
### Beta for the Beta
URL: https://kudithipudi.org/beta-for-the-beta/
Last updated: 2009-01-17T02:00:27.000Z
I got a copy of the [Windows 7](http://www.microsoft.com/windows/windows-7/?ref=kudithipudi.org) Beta copy from my colleague and installed it on my [Lenovo X61 tablet](http://www-307.ibm.com/pc/support/site.wss/MIGR-68040.html?ref=kudithipudi.org). The install went through pretty smoothly and . upon booting up the computer, me and my colleague had the following conversation..

Colleague : Thats a Beta!!

Me : Yes.. it is Beta..

Colleague : No.. No.. that”s a beta!!

Me : Dude.. seriously.. it is Beta.. I know it..

Colleague : (almost smacking me on my head) No..that is a Beta Fish!!

Looks like a smart programmer (or marketing person) put the picture of a[ Beta fish](http://en.wikipedia.org/wiki/Beta%5FFish?ref=kudithipudi.org) as the default background for Windows 7 Beta :-).. Here’s a screenshot.

![](http://farm4.static.flickr.com/3532/3202915506_d69d383dd4.jpg "Windows 7 Beta Screenshot")

Hopefully, Windows 7 will finally convince us [XP](http://en.wikipedia.org/wiki/Windows%5FXP?ref=kudithipudi.org) lovers to upgrade. Vista is a failed operating system as far as I am concerned. Not in the league of “[Windows Millenium](http://en.wikipedia.org/wiki/Windows%5FMe?ref=kudithipudi.org)“, but it is going to be shoved away into the annals of history soon if Windows 7 delivers as promised.
### Stomach Stimulus Package
URL: https://kudithipudi.org/stomach-stimulus-package/
Last updated: 2009-01-13T06:09:21.000Z
I stopped at [Hippos](http://www.yelp.com/biz/hippos-elk-grove-village?ref=kudithipudi.org), a [hot dog](http://en.wikipedia.org/wiki/Hot%5Fdog?ref=kudithipudi.org) place in [Elk Grove](http://en.wikipedia.org/wiki/Elk%5FGrove%5FVillage,%5FIllinois?ref=kudithipudi.org) for lunch today. I was using the drive through and saw this sign on the drive through window

![](http://farm4.static.flickr.com/3340/3192315573_04e52bd7e9.jpg "Stomach Stimulus Package")

The owner put together a combo for $15.99, which will get you a meal for 4 people. The sign reads “Feed a Family of 4 for under four bucks per person!!! Times are Tough. Hippo’s will help you get through it with our stomach stimulus package.”

After I pay for my lunch, the hostess hands me an envelope which looks like this

![](http://farm4.static.flickr.com/3106/3192315631_f620691a6b.jpg "Hippos Envelope")

Simple but brilliant marketing. First connect with your customers in this tough time.. then give them an incentive to come back. I would go back to the place to check out if I won anything.. and guess what, even if I don’t win anything, I will most probably end up getting something to eat there. I am sure this joint is going to survive
### Tools of the trade : Postfix Configuration
URL: https://kudithipudi.org/tools-of-the-trade-postfix-configuration/
Last updated: 2009-01-13T03:11:09.000Z
Good link with information on configuring a custom transport link in [Postfix](http://en.wikipedia.org/wiki/Postfix%5F%28software%29?ref=kudithipudi.org). A transport link in a [SMTP](http://en.wikipedia.org/wiki/Simple%5FMail%5FTransfer%5FProtocol?ref=kudithipudi.org) server is a way to define a communiction/delivery channel with particular settings. Example, you want all e-mails for a particular domain to be sent to a particular server at a particular time.

[http://linuxnet.ca/postfix/dedicated\_transport.html](http://linuxnet.ca/postfix/dedicated%5Ftransport.html?ref=kudithipudi.org)

In this particular link, the author shows the steps to configure a transport link for sending e-mails to servers/domains with high latency.
### Tools of the Trade : Perl script to manage Postfix mail queues
URL: https://kudithipudi.org/tools-of-the-trade-perl-script-to-manage-postfix-mail-queues/
Last updated: 2009-01-13T02:48:36.000Z
Simple and elegant script by a Bulgarian author (name unknown) for managing queues in Postfix.

[http://www.ustrem.org/en/articles/postfix-queue-delete-en/](http://www.ustrem.org/en/articles/postfix-queue-delete-en/?ref=kudithipudi.org)
### Visual outlook of Kudithipudi.org
URL: https://kudithipudi.org/visual-outlook-of-kudithipudiorg/
Last updated: 2009-01-12T21:40:06.000Z
I ran across an interesting app called Wordle, that the BBC news service, used to show a visual representation of all the words president Bush used in his state of Union speeches ([http://news.bbc.co.uk/2/hi/americas/7813432.stm](http://news.bbc.co.uk/2/hi/americas/7813432.stm?ref=kudithipudi.org)).

Wordle (http://www.wordle.net/) take text or a URL as input and automatically generates a visual representation of the text based on the number of times a term appears. Very cool application of Web 2.0Â technology.

Here’s how this website looks after wordle analyzed it.

[](http://www.wordle.net/gallery/wrdl/433093/kudithipudi.org?ref=kudithipudi.org)

Wordle is a “toy” created by [Jonathan Feinberg](http://www.mrfeinberg.com/?ref=kudithipudi.org). Here is a good interview with him regdarding Wordle and how he created it ([http://domino.research.ibm.com/comm/research.nsf/pages/d.compsci.can\_i\_have\_a\_wordle\_with\_you.html)](http://domino.research.ibm.com/comm/research.nsf/pages/d.compsci.can%5Fi%5Fhave%5Fa%5Fwordle%5Fwith%5Fyou.html?ref=kudithipudi.org).
### Biggest Dosa I ate so far..
URL: https://kudithipudi.org/biggest-dosa-i-ate-so-far/
Last updated: 2009-01-10T06:08:04.000Z
If you want to eat this..

![](http://farm4.static.flickr.com/3336/3184301168_8c020ba6d0.jpg "Paper Masala Dosa..")

You need to go here in Sunnyvale, CA

![](http://farm4.static.flickr.com/3494/3184300950_7bf4620baf.jpg "Sarvana Bhavan, Sunnyvale, CA")
### Why SouthWest gets it..
URL: https://kudithipudi.org/why-southwest-gets-it/
Last updated: 2009-01-09T12:45:59.000Z
Another reason to fly [SouthWest](http://finance.google.com/finance?client=ob&q=NYSE:LUV&ref=kudithipudi.org).. Look at the picture of the chairs they are providing their customers at the [Midway airport](http://en.wikipedia.org/wiki/Chicago%5FMidway%5FInternational%5FAirport?ref=kudithipudi.org) in [Chicago](http://en.wikipedia.org/wiki/Chicago?ref=kudithipudi.org).

![](http://farm4.static.flickr.com/3338/3182316170_325fe0fff0.jpg "SouthWest Customer Chair")

This is good marketing and customer care. Not only did Southwest take the time to put in comfortable seating at their gates, but also took the extra step to provide power outlets and listen to this.. USB charging outlets. How many of you have had to run around airports looking for a power socket to charge your dying battery? :-).. I am going to fly SouthWest moving forward.. whenever I can.

Yes.. that is my laptop getting charged :-).
### HOW TO : Configure AT&T 3G on Windows Vista without Communication Manager
URL: https://kudithipudi.org/howto-configure-att-3g-on-windows-vista-without-communication-manager/
Last updated: 2009-01-08T13:49:02.000Z
This is a howto for the geek in you :-). You can easily configure a [AT&T](http://www.att.com/?ref=kudithipudi.org) 3G Wireless card on your workstation using the [Communication Manager](http://www.wireless.att.com/businesscenter/solutions/wireless-laptop/software.jsp?wtLinkName=CommunicationManager&wtLinkLoc=LN&WT.svl=5&ref=kudithipudi.org) software provided by AT&T.. But then I have always been against using bloated software for something you can configure on your own.

I recently got a 3G card at work and needed to install it on my laptop. I figured that the AT&TÂ provided software was just setting up a dial-up connection with specific settings. Guessing that some Linux geek might have already figured out what the settings where, I used the following search term in [Google](http://www.google.com/?ref=kudithipudi.org) “Linux Ubuntu Configure AT&T 3G card”.. Lo and behold, the following link showed up [http://redmonk.com/sogrady/2008/12/07/how-to-use-an-att-ericsson-f3507g-card-on-ubuntu-intrepid/](http://redmonk.com/sogrady/2008/12/07/how-to-use-an-att-ericsson-f3507g-card-on-ubuntu-intrepid/?ref=kudithipudi.org).

Here are the steps, I follwed to configure the card in Microsoft Vista

- Insert card into the laptop and use the “search online” feature for installing the required drivers.
- Open “Network and Sharing Center”.
- Click on “Setup up a connection or network”.
- Choose “Connect to the Internet” option and click on Next.
- If you are already connected to the Internet, you will get a message stating the same, but choose the “Setup a new connection anyway”.
- If you already have existing dial-up or DSL connections, choose “No, create a new connection” and click on Next
- Choose “Dial-up”
- Choose the modem related to your 3G card.. For example, mine was “Sierra Wireless AirCard 875 HSDPA Modem”
- Enter the following information in the ISP Information  
  - Dial-up phone number : \*99#
  - User name : \*
  - Password : \*
  - Connection Name : Whatever you want to name it

![](http://farm4.static.flickr.com/3510/3178995149_97fba265e1.jpg "AT&T Connection Settings")

- Click on Connect and enjoy the broadband speed without bloatware :-).
### OverHeard : Comment about Software development
URL: https://kudithipudi.org/overheard-comment-about-software-development/
Last updated: 2009-01-08T03:01:55.000Z
Comment by an esteemed colleague when discussing the need to purchase hardware to fix performance issues..

> Software is like a gas.. it expands to fill all the space (capacity) available to it”

This is derived from Myhrvold’s law which states “As the software becomes more complex, the likelihood of problems tend to increase”. The original article is on Wired.com at [http://www.wired.com/wired/archive/3.09/myhrvold.html](http://www.wired.com/wired/archive/3.09/myhrvold.html?ref=kudithipudi.org).
### Happy New Year – 2009
URL: https://kudithipudi.org/happy-new-year-2009/
Last updated: 2009-01-02T23:59:20.000Z
Wishing everyone a happy new year.. While 2008 treated me well professionally, it was a tough one on the personal end. If anything, it made me realize the importance of our near and dear ones. How much we take them for granted..

So let’s tip our glasses to the year of [Ox](http://en.wikipedia.org/wiki/Ox%5F%28zodiac%29?ref=kudithipudi.org). Hoping that this year will bring us peace, love and health..

Take a moment to say “hello” to those near and dear ones you haven’t called in the last few years :-)..
### Winter time parking in Chicago
URL: https://kudithipudi.org/winter-time-parking-in-chicago/
Last updated: 2008-12-22T23:33:45.000Z
If you ever see a open spot on the streets of Chicago, during winter time, and it looks like this.

![](http://farm4.static.flickr.com/3237/3123828677_fa58cabc16_d.jpg "Chicago : Winter : Snow : Parking")

Don’t think you got lucky and park there.. You might end up with a broken windshield or worse yet, be beaten up with a baseball bat :-). And the cops won’t even sympathize with you, if you file a complaint. There is an unspoken rule in Chicago.. If a (wo)man spends time to shovel snow on the street and put their chair/basket/table/crap to mark their spot, they are entitled to it, until the snow melts! :-).

As Chris Tucker say’s in the movie [Friday](http://www.imdb.com/title/tt0113118/?ref=kudithipudi.org) “Never come around here again..never, never,ever,ever,ever come around here again…can you do that?” :-).
### Bulls game for 2008
URL: https://kudithipudi.org/bulls-game-for-2008/
Last updated: 2008-12-21T06:55:42.000Z
I was able to go to the [Bulls](http://www.bulls.com/?ref=kudithipudi.org)/Jazz game tonight when my cousin offered me tickets to the game.. The Bulls won by 8 points (106 – 98) :). Â Here are some pictures from the game.  

![](http://farm4.static.flickr.com/3090/3123798247_88b9b954b8.jpg "Da Bulls")

![](http://farm4.static.flickr.com/3128/3123828083_827b146984.jpg "United Center")
### Support WikiPedia
URL: https://kudithipudi.org/support-wikipedia/
Last updated: 2008-12-20T17:43:17.000Z
It is the season of giving.. And who else can be more eligible than the [WikiPedia](http://wikipedia.org/?ref=kudithipudi.org) Foundation. For those that use the Internet regularly, you know that WikiPedia has become an indispensable resource. This is collaboration and sharing in it’s purest sense. How many of your arguments end now with.. “I checked WikiPedia and I am correct” :).

I know that times are tough for many people, but if you do have the opportunity..take a minute to donate to the WikiPedia foundation. Click on the this link to go to the donation page .. [http://wikimediafoundation.org/wiki/Donate/Now/en](http://wikimediafoundation.org/wiki/Donate/Now/en?ref=kudithipudi.org)

They are aiming to raise $6MM and are up to $3.8MM now.
### Loose the shackles..
URL: https://kudithipudi.org/loose-the-shackles/
Last updated: 2008-12-20T16:44:36.000Z
If you need to edit documents, create spreadsheets and presentations… and don’t want to spend $$$ for [Microsoft Office](http://office.microsoft.com/?ref=kudithipudi.org), download the latest version of [OpenOffice](http://www.openoffice.org/?ref=kudithipudi.org) for free and give it a try. You might be pleasantly surprised.

I wrote a [post](https://kudithipudi.org/?p=382) earlier about using OpenOffice as a free PDF Editor.. And that is just the tip of the iceberg of what you can do with OpenOffice.

Most of the people that use Microsoft Office, only use the basic functionality. As my old boss used to say, “95% of the people use 5% of the functionality in Office”. And switching to OpenOffice would be a breeze for then. OpenOffice is available for Microsoft Windows, Linux and Apple Mac OS X.

Since OpenOffice 3.0 was released back in October, the software has been downloaded more than 10 million times. And we are close to hitting 20 million downloads..Here’s a live counter from the OpenOffice website

![](https://kudithipudi.org/content/images/www-openoffice-org/news/thermometer.png "Open Office Downloads")
### OverHeard : Comments about relationship and life
URL: https://kudithipudi.org/overheard-comment-about-relationships-and-life/
Last updated: 2008-12-19T22:27:37.000Z
**Relationship** : “It you work too hard to make it happen, it is not worth it.”

**Life** : “Life is what you make out of it”

Credit goes to Huma :)..
### Makhna ve makhna
URL: https://kudithipudi.org/makhna-ve-makhna/
Last updated: 2008-12-13T06:50:42.000Z
Last weekend, I attended my first concert by a fusion band named [Funkadesi](http://www.funkadesi.com/?ref=kudithipudi.org). They play a fusion of Bhangra and Reggae. The band definitely knew how to keep the crowd entertained.. They also introduced another band “[The Afromotive](http://www.theafromotive.com/?ref=kudithipudi.org)” as their opening act. I thought that this band had great talent. I rarely buy music.. but was so impressed by the talent of both the bands that I bought their CDs on the spot. I forgot to take my camera with me.. but this video kinds shows how fun the band was  

And the best part of it? The percussionists did an improve of [Boney M](http://en.wikipedia.org/wiki/Boney%5FM?ref=kudithipudi.org)‘s “Rivers of Babylon” to close the concert. To say the least… I was stoked!! :-).

If you get a chance.. definitely check them out.
### Stephen Colbert.. I envy you.
URL: https://kudithipudi.org/stephen-colbert-i-envy-you/
Last updated: 2008-12-13T06:09:47.000Z
I thought long and hard before writing this post.. but finally thought, the topic was too funny not to share it with others :-). Warning that this post contains sexual content and is NSFW..

I was browsing (I swear) through the channels on my TV, the other night, and came upon a program called “[Katie Morgan’s Sex Tips](http://www.hbo.com/apps/schedule/ScheduleServlet?ACTION%5FDETAIL=DETAIL&FOCUS%5FID=667110&ref=kudithipudi.org)” on HBO. And yes, it was purely coincidental :-).. So anyways, one of the viewers asks Katie about multiple orgasms. Katie brought a guest on the show by the name [Marenna Lindberg](http://www.myspace.com/zaneblue?ref=kudithipudi.org) to answer the question. Apparently this women can experience an orgasm in a few seconds!! Katie asks her to give a demo on screen and voila.. Marenna whips out a picture of Stephen Colbert.. yes, [The Stephen Colbert](http://en.wikipedia.org/wiki/Stephen%5FColbert?ref=kudithipudi.org) 🙂 .. looks at the photo for a few seconds..closes her eyes and in a few seconds whimpers out an orgasm!!! I was literally rolling on the floor as I watching this :-). And Marenna attributes this to her diet and her crush on Stephen Colbert. She even wrote a book about it.. “[The Orgasmic Diet](http://www.amazon.com/Orgasmic-Diet-Revolutionary-Libido-Orgasm/dp/030735265X?ref=kudithipudi.org)”

So ladies.. start eating fish oil, stop drinking and smoking. Make the “not-so-better” side of you happy 🙂
### How does the iPod touch detect your location?
URL: https://kudithipudi.org/how-does-the-ipod-touch-detect-your-location/
Last updated: 2008-12-02T04:50:46.000Z
If you are the proud owner of an [iPod touch](http://www.apple.com/ipodtouch/?ref=kudithipudi.org), you would have noticed that the Google maps application on it identifies your current location with scary preciseness. Every wonder, how the touch manages to do that without a [GPS](http://en.wikipedia.org/wiki/Global%5FPositioning%5FSystem?ref=kudithipudi.org) or cellular receiver? Apparently, Apple uses a service from a company called [Skyhook Wireless](http://www.skyhookwireless.com/?ref=kudithipudi.org) to do this. And how does Skyhook achieve this? They drive around in vehicles scanning for wi-fi signals and create a database that matches the SSID and MAC Address with the physical address. Put on your tin hats folks!! 🙂

Some interesting links

Apple’s use of Skyhook : [http://www.skyhookwireless.com/inaction/apple.php](http://www.skyhookwireless.com/howitworks/wps.php?ref=kudithipudi.org)

How Skyhook does it : [http://www.skyhookwireless.com/howitworks/wps.php](http://www.skyhookwireless.com/howitworks/wps.php?ref=kudithipudi.org)
### New land of opportunity for baseball..
URL: https://kudithipudi.org/new-land-of-opportunity-for-baseball/
Last updated: 2008-11-25T05:27:09.000Z
Sri sent this link ([http://sportsillustrated.cnn.com/2008/baseball/mlb/11/24/pirates.indians.ap/index.html?cnn=yes#](http://sportsillustrated.cnn.com/2008/baseball/mlb/11/24/pirates.indians.ap/index.html?cnn=yes&ref=kudithipudi.org)) from Sports Illustrated about a story of how the [Pittsburgh Pirates](http://pittsburgh.pirates.mlb.com/?ref=kudithipudi.org) signed up two 20 year old men from India as free agents to be part of their farm. These two guys never touched a baseball in their life!! Other than pitching at a reality show called “The Million Dollar Arm”.

Imagine.. it is the bottom of the ninth, The Pirates are leading by a run and the opposing team has all the bases loaded. 1 strike and 2 balls.. The manager calles in Patel as a closer.. the crowd goes crazy yelling “Patel.. Patel..Patel..” LOL :). Cannot wait to see that..
### What next??
URL: https://kudithipudi.org/what-next/
Last updated: 2008-11-24T05:00:09.000Z
I ran across this report from BBC ([http://news.bbc.co.uk/2/hi/asia-pacific/7743312.stm](http://news.bbc.co.uk/2/hi/asia-pacific/7743312.stm?ref=kudithipudi.org)) about some clerics in [Malaysia](http://en.wikipedia.org/wiki/Malaysia?ref=kudithipudi.org) issuing a [fatwa](http://en.wikipedia.org/wiki/Fatwa?ref=kudithipudi.org) against [Yoga.](http://en.wikipedia.org/wiki/Yoga?ref=kudithipudi.org) Why?.. To quote the reason…Yoga would “destroy the faith of a Muslim”.

Excuse me?? Even though Yoga started out in India as an Hinduism practice, most know that Yoga is practiced today mostly as a stress reliever and workout. I just wonder, what goes through the minds of these so called enlightened gentlemen, when they come out with such ridiculous decisions.

**P.S** : This note has nothing to do about Islam or Hinduism. We have “enlightened” people like these in all walks of life. It is more about how we let crazy decisions like this divide us.
### HOW TO : Recover deleted SSL certs from IIS
URL: https://kudithipudi.org/howto-recover-deleted-ssl-certs-from-iis/
Last updated: 2008-11-23T22:56:51.000Z
Here’s the situation.. you installed SSL cert on a website in IIS. You think you don’t need that site anymore and delete the site from IIS. The moment you delete it, you bite your tounge and remember that you are supposed to back up the SSL cert for future purposes.. But since the site has been deleted from IIS, you cannot export the key from the IIS manager!!.

Thx to Microsoft’s oversight (or potentially by design), you can still recover the certificate from the server.. Here’s how

1. Open a MMC console by typing “mmc” in the Start –> Run prompt
2. In the MMC console, click on File -> Add/Remove Snap-in
3. In the “Add/Remove Snap-in” window, click on Add
4. Choose Computer Account in the certificate snap-on window and click on Next.
5. Click on close and go back to the MMC console
6. You will see all the certificates installed on the server
7. Expand the “personal certificates” folder and you will see the SSL certificate from the website you deleted from IIS. Follow standard steps to export the certificate.

Choose “Local Computer” (Note : If you want to recover from a remote computer, you can put in the UNC path. But you need to have admin rights on that machine) and click on Finish.

![](http://farm4.static.flickr.com/3002/3053579229_2ff7ea19b7.jpg "Recover SSL cert from IIS")

Choose the “certificate” snap-on and click on Add.

![](http://farm4.static.flickr.com/3206/3053579233_8ba35e4751.jpg "Recover SSL Cert from Windows")
### Note to self : Audio conference providers
URL: https://kudithipudi.org/note-for-self-audio-conference-providers/
Last updated: 2008-11-23T07:41:53.000Z
If you you are ever looking to deploy an audio conference solution, make sure you go with a solution that doesn’t have more than 7 digits as the conference passcode. The human brain is not capable of remembering anything longer without writing it down!! :-)..
### HOW TO : Sync files using FTP
URL: https://kudithipudi.org/howto-sync-files-using-ftp/
Last updated: 2008-11-14T05:47:50.000Z
If you ever run into a situation, where you need to sync two different directories and need to do that in a batch mode, try using [FTPSync](http://www.cyberkiko.com/page/FTPSync.aspx?ref=kudithipudi.org).

FTPSync is a freeware tool written by [Kristof Gajsek](http://www.cyberkiko.com/page/about.aspx?ref=kudithipudi.org). The tool has a bunch of options, like being able to operate in GUI and batch mode. Also good automated sync capabilities.

Only limitation is that it is windows based.
### Overheard : Comment about life
URL: https://kudithipudi.org/overheard-comment-about-life/
Last updated: 2008-11-11T05:21:50.000Z
Comment by a survivor of the [1972 Uruguayan Air Force](http://en.wikipedia.org/wiki/Uruguayan%5FAir%5FForce%5FFlight%5F571?ref=kudithipudi.org) crash on the Andes..

> Plan to live for a 100 years, but be ready to die today..

Heard this on NPR during a review of the documentary [Stranded](http://www.imdb.com/title/tt1157720/?ref=kudithipudi.org)..
### Yes we can..
URL: https://kudithipudi.org/yes-we-can/
Last updated: 2008-11-05T07:13:43.000Z
My voice is horse… I can barely talk or rather croak. I was at the post election celebration organized by the Democratic party in Chicago. It was a historic moment. \~150 thousand people turned up to watch the election results and celebrate the first African American president of the United States of America.. Barack Obama.

I went there with Sri and Hafsa.. It was exciting to watch the results come in real time and with each state that Obama won, the crowd went wild. And we went wild with them :). Hence.. the state of my voice.

I thought John McCain was very gracious in his speech accepting his defeat and congratulating Obama. One could clearly see how much this man loves this country and is a class act.

Barack Obama was thrilling in his acceptance speech. This was my first live speech by Obama. And all I can say is that he is as inspiring in person as he is on TV.

Here’s a quote from his victory speech, that got me close to tears..

> This election had many firsts and many stories that will be told for generations. But one that’s on my mind tonight is about a woman who cast her ballot in Atlanta. She’s a lot like the millions of others who stood in line to make their voice heard in this election except for one thing – Ann Nixon Cooper is 106 years old.  
>  
> She was born just a generation past slavery; a time when there were no cars on the road or planes in the sky; when someone like her couldn’t vote for two reasons – because she was a woman and because of the colour of her skin.  
>  
> And tonight, I think about all that she’s seen throughout her century in America – the heartache and the hope; the struggle and the progress; the times we were told that we can’t, and the people who pressed on with that American creed: **Yes we can**.  
>  
> At a time when women’s voices were silenced and their hopes dismissed, she lived to see them stand up and speak out and reach for the ballot. **Yes we can**.  
>  
> When there was despair in the dust bowl and depression across the land, she saw a nation conquer fear itself with a New Deal, new jobs and a new sense of common purpose. **Yes we can**.  
>  
> When the bombs fell on our harbour and tyranny threatened the world, she was there to witness a generation rise to greatness and a democracy was saved. **Yes we can**.  
>  
> She was there for the buses in Montgomery, the hoses in Birmingham, a bridge in Selma, and a preacher from Atlanta who told a people that “We Shall Overcome”. **Yes we can**.  
>  
> A man touched down on the moon, a wall came down in Berlin, a world was connected by our own science and imagination. And this year, in this election, she touched her finger to a screen, and cast her vote, because after 106 years in America, through the best of times and the darkest of hours, she knows how America can change. **Yes we can**.

Check out the full text of the speech here ([http://news.bbc.co.uk/2/hi/americas/us\_elections\_2008/7710038.stm](http://news.bbc.co.uk/2/hi/americas/us%5Felections%5F2008/7710038.stm?ref=kudithipudi.org))

And for the first time in my life.. I didn’t have a camera with me!!! Aaah.. the irony :).
### Another great star fades away..
URL: https://kudithipudi.org/another-great-star-fades-away/
Last updated: 2008-11-02T02:04:34.000Z
[Jacques Piccard](http://en.wikipedia.org/wiki/Jacques%5FPiccard?ref=kudithipudi.org), the hero who showed us the depths of the oceans, passed away today.. I was always mesmerized by his programs on Discovery. His son, Bertrand Piccard, said it well..

> One of the last great explorers of the 20th Century, a true Captain Nemo who went deeper than any other man, Jacques Piccard passed away on Saturday

If you don’t know who, Jacques Piccard is.. check out the entry on Wikipedia about him at [http://en.wikipedia.org/wiki/Jacques\_Piccard](http://en.wikipedia.org/wiki/Jacques%5FPiccard?ref=kudithipudi.org)
### Official time for the 2008 North Face Endurance Challenge
URL: https://kudithipudi.org/official-time-for-the-2008-north-face-endurance-challenge/
Last updated: 2008-11-01T01:49:14.000Z
The [results](http://results.sportstats.ca/res2008/madison21k.htm?ref=kudithipudi.org) are in for the [2008 North Face Endurance Challenge](http://www2.thenorthface.com/endurancechallenge/?ref=kudithipudi.org), which I [ran last weekend](https://kudithipudi.org/?p=373). My official time was

### 2:28:24.5

Not bad for a first cross country half marathon. At least thats what I am going to think :-).

Full list of results can be found here [http://results.sportstats.ca/res2008/madison21k.htm](http://results.sportstats.ca/res2008/madison21k.htm?ref=kudithipudi.org)
### Saints and IT Professionals..
URL: https://kudithipudi.org/saints-and-it-professionals/
Last updated: 2008-11-01T01:40:29.000Z
My friend sent this to me today

> I think this applies to you.  
>  
>  
>  
> Long back, a person who  
>  
> were called “Saints”  
>  
> But now they are called..”IT professionals”
### Free PDF editor
URL: https://kudithipudi.org/free-pdf-editor/
Last updated: 2008-10-30T05:25:44.000Z
There are tons of free tools to create PDFs. Some of the ones I use on a regular basis are

1. PDFCreator ([http://sourceforge.net/projects/pdfcreator/](http://sourceforge.net/projects/pdfcreator/?ref=kudithipudi.org))
2. PDF addon for Microsoft 2007 ([http://www.microsoft.com/downloads/details.aspx?FamilyId=F1FC413C-6D89-4F15-991B-63B07BA5F2E5&displaylang=en](http://www.microsoft.com/downloads/details.aspx?FamilyId=F1FC413C-6D89-4F15-991B-63B07BA5F2E5&displaylang=en&ref=kudithipudi.org))
3. PDF save option in OpenOffice ([http://www.openoffice.org](http://www.openoffice.org/?ref=kudithipudi.org))

Now.. thx to the good folks at [Sun](http://www.sun.com/?ref=kudithipudi.org), you can edit PDF files too for free now. Although this is not full fledged PDF editing, you can make simple text changes and move blocks of texts around.

You can get a free PDF editor solution by

1. Download OpenOffice 3.0 at [http://www.openoffice.org](http://www.openoffice.org/?ref=kudithipudi.org)
2. Download the PDF Import Extension at [http://extensions.services.openoffice.org/project/pdfimport](http://extensions.services.openoffice.org/project/pdfimport?ref=kudithipudi.org)
3. Install OpenOffice (pretty simple click next process)
4. Install the PDF Import extension, by launching OpenOffice and adding the extension by going to Tool -> Extension Manager in the file menu
5. Open a PDF file, edit, save and enjoy.

Love Open Source :-)..
### Deepavali Subhakankshalu
URL: https://kudithipudi.org/deepavali-subhakankshalu/
Last updated: 2008-10-29T04:18:09.000Z
Wishing you and your family a happy Diwali.. (festival of light). Wishing this year, brings you love, peace and prosperity.
### Knight Rider : The old and new
URL: https://kudithipudi.org/knight-rider-the-old-and-new/
Last updated: 2008-10-26T22:03:38.000Z
Someone remixed the theme music of the old Knight Rider series with the intro video of the new Knight Rider series on NBC.

Enjoy…
### Response to "Is this the end of affordable flying in India?
URL: https://kudithipudi.org/response-to-is-this-the-end-of-affordable-flying-in-india/
Last updated: 2008-10-26T18:19:10.000Z
My friend, Ravi, responded via e-mail to my ranting about the end of [affordable flying in India and the note that we might be slipping back to socialism](https://kudithipudi.org/?p=355)..

> I understand that there will be no Rs.99/- deals in future (Yes, Rs.99! + Taxes, which are close to 20 times the price of the ticket). There should not have been such deals in the first place. Many airlines to gain market share have priced their fares dirt cheap and are now facing the consequences. If they are not even making money to pay the salaries, how are they going to become profitable by bearing operating costs and considering all loans they are unable to repay even after 5-10 years of starting their operations.In a way I feel it is good that the airline sector is making some adjustments at-least now but the managements made some blunders in implementation of their ideas. If you followed the story of Jet employees getting sacked, it looks ridiculous and shows how stupid the management was. This is a perfect example as to how a company will have to take back it’s decisions due to social pressures if it makes decisions without proper implementation plan. People like Raj Thackeray making comments like the Jet airways will not be allowed to land if the employees are not taken back, etc and his previous hatred comments against North Indians shows how narrow minded politicians are able to speak whatever they want and can come to limelight and ENJOY their actions.Read the below article which describes how a CEO of a company was attacked and killed recently in India. There may be various versions of the same story but what bothers me most is people get away with no one being held accountable for the crime.[http://www.timesonline.co.uk/tol/news/world/asia/article4810644.ece](http://www.timesonline.co.uk/tol/news/world/asia/article4810644.ece?ref=kudithipudi.org)Also, there are so many political games in all states in India that it has become difficult to feel secure to do any business though you abide by the law, unless you have local support. Recent move of Tata Nano plant from Singur in W.Bengal to Gujarat is a perfect example of how things can turn due to political gains.Yes, there is corruption anywhere in the world but in India you can get away with relatively easily, even if caught. This is a major setback and I fear things will get much worse before some radical decision comes out later to tackle such situations.Sorry for going into social aspect of the problem rather than financial aspect.Anyways, we need to have political power to do anything better for the society on the large scale and to get there we will face the same issues of combating corrupt and dangerous politicians who are ready to do anything to regain their position.I will go back and spend money for the betterment of the system if I win BigGame 🙂
### First half marathon of 2008
URL: https://kudithipudi.org/first-half-marathon-of-2008/
Last updated: 2008-10-26T15:54:50.000Z
I succesfully completed my first [half marathon](https://kudithipudi.org/content/files/www2-thenorthface-com/endurancechallenge/races/2008/mdw%5Foverview.html) of 2008 yesterday. And to top it off, it was my first official cross country trail race. Although I signed up for multiple half marathons this year, as part of training for the Chicago Marathon, I was not able to run any of them due to conflicts with work.

Sri and I signed up for the North Face Endurance Challenge on a whim a couple of months ago. Looking back, it sounds crazy :-). Why would anyone want to run a half marathon, 2 weeks after running a marathon and that too in the woods. But I am so glad we did it and that I got to finish it.

Sri, Hafsa and Joy came along with me to cheer me on during race. We took off at \~6:00 AM in the morning and had breakfast at a small diner along the way. The drive to [Kettle Moraine state Forest](http://www.dnr.state.wi.us/org/land/parks/specific/kms/?ref=kudithipudi.org), where the race was held, was senic. Esp with the fall colors. I never realized that Wisconsin was such a beautiful state. I guess that is what happens, when the only places you visit in a state are the touristy places (Wisconsin Dells).

The weather was perfect for the run (\~40 degrees) and I got time before the run to warm up. Joy ran the first 1.7 miles with me to the first aid station. The first mile had a killer hill. We had to elevate \~1000 feet in a matter of 200 meters. We started off strong up the hill, but then got our senses and walked the second half of the hill :-).

The race had two loops of \~4.9 miles. The first loop was not as hilly as I expected (or maybe I wasn’t as tired 🙂 ), but was slushy and had a lot of barriers. The second loop was a lot more hilly. I never trained in the trails or hills this year. So this was a new experience. But the beautiful scenery around me kept me distracted and moving forward.

Joy joined me again for the last mile. I switched to “[Supreme Hero.. Sweet Heart](https://kudithipudi.org/?p=365)” 🙂 for the last half mile on my iPod and sprinted to the final. It was a photo finish ..

![](http://farm4.static.flickr.com/3223/2974058420_81d98cbd32.jpg "I am done...")

Some pictures from the race

Warm up

![](http://farm4.static.flickr.com/3228/2973872542_6710388c1d.jpg "Warm up..")

Take Off

![](http://farm4.static.flickr.com/3214/2973046937_19a7fe6e60.jpg "Start Strong")

The easy part of the trail

![](http://farm4.static.flickr.com/3178/2974010900_0dbac1fb18.jpg "Trail")

Fall Colors

![](http://farm4.static.flickr.com/3074/2973194947_7478c47a06.jpg "Fall Colors")

More pictures can be found [here](http://www.flickr.com/photos/kudithipudi/sets/72157608376845295/?ref=kudithipudi.org) ([http://www.flickr.com/photos/kudithipudi/sets/72157608376845295/](http://www.flickr.com/photos/kudithipudi/sets/72157608376845295/?ref=kudithipudi.org))

**P.S** : I came first in the race. i.e. in the desi category :-).
### Supreme Hero.. Sweet Heart..
URL: https://kudithipudi.org/supreme-hero-sweet-heart/
Last updated: 2008-10-23T02:44:19.000Z
I came across a compilation of songs from [Chiranjeevi](http://en.wikipedia.org/wiki/Chiranjeevi?ref=kudithipudi.org)‘s (Cinema Actor in [Tollywood](http://en.wikipedia.org/wiki/Telugu%5Fcinema?ref=kudithipudi.org)) 1980s movies. And I forgot how much I loved these songs :).. Esp this [one](https://kudithipudi.org/patalu/Yamudiki%5FMogudu%5FAndam%5FHindolam.mp3) ([https://kudithipudi.org/patalau/Yamudiki\_Mogudu\_Andam\_Hindolam.mp3](https://kudithipudi.org/patalu/Yamudiki%5FMogudu%5FAndam%5FHindolam.mp3)) from the movie [Yamudiki Mogudu](http://en.wikipedia.org/wiki/Yamudiki%5FMogudu?ref=kudithipudi.org).. I guess I was in middle school then. And this was the kool aid we used to drink :).

What can I say.. I love disco :-).. and I am not ashamed to say it..

I wish I can find the video for this song 

. Chiru was cool in those days :).

Sri found the video for this song on youtube.. the quality is not good.. but you can enjoy the tight pants and shiny shoes 🙂

Even if you don’t know who Chiranjeevi is and what telugu is. Go ahead, download the song and listen to it. The music is discolicious :).
### LOL..
URL: https://kudithipudi.org/lol/
Last updated: 2008-10-18T13:39:26.000Z
If you have [HBO](http://www.hbo.com/?ref=kudithipudi.org), you have to check out their new series “[The life and times of Tim](http://www.hbo.com/tim?ref=kudithipudi.org)”
### I want them..
URL: https://kudithipudi.org/i-want-them/
Last updated: 2008-10-18T04:11:03.000Z
This is what I am drooling for now a days..

- Apple Macbook : [http://gizmodo.com/5063336/all-the-new-macbook-details-in-one-place](http://gizmodo.com/5063336/all-the-new-macbook-details-in-one-place?ref=kudithipudi.org)
- T-Mobile G1 : [http://gizmodo.com/5062977/t+mobile-g1-google-android-phone-review](http://gizmodo.com/5062977/t+mobile-g1-google-android-phone-review?ref=kudithipudi.org)
### Is this the end of affordable flying in India?
URL: https://kudithipudi.org/is-this-the-end-of-afforable-flying-in-india/
Last updated: 2008-10-18T03:52:07.000Z
The Indian airline industry went through explosive growth for the last 4-5 years. Not long ago, Indians had to deal with only one state owned airline (Air India) to fly around India. With the free market reform of the Indian economy by Prime Minister [P.V. Narasimha Rao](http://en.wikipedia.org/wiki/Narasimha%5FRao?ref=kudithipudi.org), back in the late 90s, a lot of private air lines opened shop.

Flying has historically been relegated to the rich and influential in India. But with the opening of these private air lines a lot more people could suddenly afford to fly. These air lines initially offered cheap rates to grab market share. They were so successful that the state owned Air India had to start getting it’s act together and a new air line was opening shop ever day. There was King Fisher, Air Deccan, Go Air, Indico, Sahara and the list goes on..

Cheap Rates, Explosive Coverage Growth, Competition.. what more could the Indian customer ask for? Life was good :-)..

The Government finally got off it’s back end and started building new airports (they should have done it back in the 70s) and privatizing them.. India was going to enter the group of “developed” countries.

And then came the fuel cost increases of 2007/2008 and the credit crunch that is currently affecting every economy on this planet. These airlines have started to raise prices, merge with competition and lay off people (gasp!!) And customers, being the fickle ones :), are going back to the cheaper and trusty railways \[[http://news.bbc.co.uk/2/hi/business/7669301.stm](http://news.bbc.co.uk/2/hi/business/7669301.stm?ref=kudithipudi.org)\]. This is a crucial period for this nascent industry in India. They just showed ordinary people the joy and productivity of flying. They created a new customer base. But if this economic slowdown continues for another year or so, I am afraid, we are going to go back to the old way of high prices, bad service and monopoly..

P.S : I followed this interesting story about some lay offs at Jet Airways and wonder if we are are moving back from capitalism to socialism in India..

- Economy is bad.. Jet Airways lays off 800 air crew \[[http://news.bbc.co.uk/2/hi/south\_asia/7670874.stm](http://news.bbc.co.uk/2/hi/south%5Fasia/7670874.stm?ref=kudithipudi.org)\]
- Layed off staff hold protests and the local politician proclaims “we will not let any flight to take off” \[[http://news.bbc.co.uk/2/hi/south\_asia/7672463.stm](http://news.bbc.co.uk/2/hi/south%5Fasia/7672463.stm?ref=kudithipudi.org)\]
- The chairman of Jet Airways (Naresh Goyal) apologizes and reinstates the jobs \[[http://news.bbc.co.uk/2/hi/south\_asia/7675202.stm](http://news.bbc.co.uk/2/hi/south%5Fasia/7675202.stm?ref=kudithipudi.org)\]

While I am happy for the folks that got their jobs back.. I don’t know if this will allow the company to tighten it’s belt and survive the economic slowdown.
### I realized that I am not superman!!
URL: https://kudithipudi.org/i-realized-that-i-am-not-superman/
Last updated: 2008-10-13T22:15:36.000Z
I successfull completed the 2008 Chicago Marathon in 6 hours and 57 seconds. My worst time so far (2004 was 04:46:01 and 2005 was 05:14:41), but boy am I so glad to finish it. It was hot (lower 80s) and humid, two things that I cannot stand. Despite my lack of consistant training, I thought I could finish the marathon in < 5 hours. By the time, I got to the 14th mile, I realized that I wasn’t superman and had to start walking :-). It was all downhill from there.. my walks got longer and my runs got shorter. By the time, I got to mile 22, I was ready to give up.. but then I remembered why I was running the marathon and picked myself up. Not to mention, my personal cheering squad (my sis, brother-in-law, Sri, Hafsa, Ravi, Deepthi, Achi, Madhavi, Sujana, Byna and Joy) were there to keep me going.

Thanks to everyone that supported my cause and provided moral support. You guys are the BEST!!!

Although I might have come 28472 out of 45000 people that ran the marathon, I was the ONLY guy (as far as I could tell) who ran with the Indian flag :).

![](http://farm4.static.flickr.com/3044/2938898459_8809a3519f.jpg "2008 Chicago Marathon")

I have to thank the wonderful folks at [Team Asha](http://www.ashanet.org/chicago/marathon/?ref=kudithipudi.org), for putting together a great program for a worthy cause.

Finally, thanks to the folks at [CARA](http://www.cararuns.org/?ref=kudithipudi.org) for running a great training program. I was confused througout the program on what my pace group was, I kept jumping from 12 to 11:30 to 11:00 to 12 to 11:30 :).. but that was my issue :).

This is how a grown man cries in pain after running 26.2 miles!! 🙂

![](http://farm4.static.flickr.com/3015/2939814358_c7d77aeb1d.jpg "Pain!!!")
### Insipirational text..
URL: https://kudithipudi.org/insipirational-text/
Last updated: 2008-10-09T05:22:08.000Z
Got this from a colleague

**Subj : BUTTERFLY**

A man found a cocoon of a butterfly. One day a small opening appeared. He sat and watched the butterfly for several hours as it struggled to force its body through that little hole. Then it seemed to stop making any progress. It appeared as if it had gotten as far as it could, and it could go no further. So the man decided to help the butterfly. He took a pair of scissors and snipped off the remaining bit of the cocoon. The butterfly then emerged easily. But it had a swollen body and small, shriveled wings. The man continued to watch the butterfly because he expected that, at any moment, the wings would enlarge and expand to be able to support the body, which would contract in time. Neither happened! In fact, the butterfly spent the rest of its life crawling around with a swollen body and shriveled wings. It never was able to fly. What the man, in his kindness and haste, did not understand was that the restricting cocoon and the struggle required for the butterfly to get through the tiny opening were God’s way of forcing fluid from the body of the butterfly into its wings so that it would be ready for flight once it achieved its freedom from the cocoon.

Sometimes struggles are exactly what we need in our lives. If God allowed us to go through our lives without any obstacles, it would cripple us. We would not be as strong as what we could have been. We could never fly! – So embrace those struggles that come your way, become stronger and soar higher.
### Overheard : Comment about embassies
URL: https://kudithipudi.org/overheard-comment-about-embassies/
Last updated: 2008-10-03T02:08:07.000Z
Comment by historian [Thoman Naftali](http://www.theworld.org/?q=node/21430&answer=true&ref=kudithipudi.org), on [NPR](http://www.npr.org/?ref=kudithipudi.org)‘s [The World](http://www.theworld.org/?ref=kudithipudi.org) program, about the decision by the US state department to sell the building that the US embassy in the London is housed in currently due to security reasons..

> Embassies are supposed to be the frontdoors of our counrty, but unfortunately, they have become the frontlines.
### Week 16 training and my first outdoor camping trip
URL: https://kudithipudi.org/week-16-training-and-my-first-outdoor-camping-trip/
Last updated: 2008-09-30T05:55:19.000Z
After the rough 20 miler last weekend, I was not able to run any of the mid week runs this week. But I did manage to run the 12 miler weekend in the hilly (compared to flat arse Illinois) roads of Wisconsin. Looking back at it, I don’t know, if it was prudent to run on a county highway at night without any visual alerts (reflective dressing, LED etc) on me. It was a tough run, but I took it one hill at a time and I have two proud bleeding nipples to show for it!! :).

![](http://chart.apis.google.com/chart?cht=bvg&chs=400x200&chtt=Week+16+Training&chdl=Recommended+Miles|Actual+Miles&chco=ff0000,00ff00&chxt=x,y&chxl=0:|Mon|Tue|Wed|Thu|Fri|Sat|Sun|&chd=t:0,5,8,4,0,12,0|0,0,0,0,0,12,0&chds=0,15&chxr=1,0,15&chbh=10 "Week 16")

I was in Wisconsin (Wisconsin Dells to be precise) over the weekend on a camping trip with the good folks from Team Asha. It was great to see all the runners at one place and it was my first outdoor camping trip. I did stay in log cabins before, but this was the first time I had to pitch a tent. And for those that haven’t done it before.. it is NOT so difficult :). You just have to spend a hour of so, figuring out what the hell you are doing, or take a few minutes and read the instructions :).

Much fun was had with food, liquor and music!! 🙂

![](http://farm4.static.flickr.com/3051/2897548597_7c01f23841.jpg "The gang..")

**\[The Gang\]**

![](http://farm4.static.flickr.com/3143/2897387787_b8c50be719.jpg "Putting the tent together..")

**\[How many runners does it take to pitch a tent??\]**

![](http://farm4.static.flickr.com/3171/2897335701_5cc26288f5.jpg "Cool New T-Shirts")

**\[Cool new Asha Running Shirts\]**

![](http://farm4.static.flickr.com/3085/2897322469_1d90d501d0.jpg "Importante..")

**\[Important Stuff\]**

![](http://farm4.static.flickr.com/3216/2898378744_eab681bbac.jpg "Some Volleyball")

**\[Rohit showing off his volleyball skills\]**

![](http://farm4.static.flickr.com/3213/2898203740_4fcbc8abda.jpg "Sri and his omlettes")

**\[Sri getting ready to make killer omlettes\]**

![](http://farm4.static.flickr.com/3121/2898487680_5d4ccb4cf8.jpg?v=0 "The Girls")

**\[Is that fun or what??\]**

More pictures here..\[[http://flickr.com/photos/kudithipudi/sets/72157607569023137/](http://flickr.com/photos/kudithipudi/sets/72157607569023137/?ref=kudithipudi.org)\]
### Skyscrapers, McDonald's and weasels…
URL: https://kudithipudi.org/skyscrapers-mcdonalds-and-weasels/
Last updated: 2008-09-30T03:32:06.000Z
During dinner with a friend recently, we brooded on these three topics..

1. **Skyscrapers :** My friend lives on the 34th floor of a 47(?) floor high rise and we were discussing if that constituted her living in a skyscraper. Both of us couldn’t remember how many floors a building had to have, to be designated as a skyscraper. Intrigued, I fired up my trusted friend, [Google](http://www.google.com/?ref=kudithipudi.org), and found out that there is **NO** precise definition of how many stories or what height makes a building a skyscraper!! So in essence, if you are living in a 10 story building in middle of North Dakota (no offense intended to people living in this state), you are considered to be living in a skyscraper :-). Was proud to find out that Chicago had one of the first skyscrapers in the world!! ([http://en.wikipedia.org/wiki/Skyscraper](http://en.wikipedia.org/wiki/Skyscraper?ref=kudithipudi.org)).
2. **McDonalds :** The Rock N Roll McDonald’s at 600 North Clark Street in Chicago used to be one of the highest grossing McDonald’s in the world, before the one in Red Square, Moscow, Russia opened up..This used to be one of my favorite McDonald’s. You could always count on some fresh fries after a night of clubbing in the gold coast :). ([http://en.wikipedia.org/wiki/Rock\_N\_Roll\_McDonald%27s](http://en.wikipedia.org/wiki/Rock%5FN%5FRoll%5FMcDonald%27s?ref=kudithipudi.org))
3. **Weasels :** Finally, we spoke abt Weasels and wondered why the weasels got associated with weasels!! :).. For an animal that looks so cute, I cannot for the life of me figure out why it got associated with such a bad meaning.. I haven’t been able to find the history of this yet. If any of you do, pls post a comment.
### HOWTO : Use find and grep together
URL: https://kudithipudi.org/howto-user-find-and-grep-together/
Last updated: 2008-09-23T05:23:45.000Z
If you ever wanted to search for a particular text in certain types of files in Linux, you can use the following combo of find and grep

**find / -name \\\*.xml -type f | xargs grep -i “text\_to\_search”**

I used \*.xml (note the \\ before \*) as the mask in the filename to look for all XML files.. then I piped this to grep using xargs.

A colleague pointed out that I can do the same by using

**grep -r o-i “text\_to\_speech”**
### A couple thousand more reasons to run the marathon
URL: https://kudithipudi.org/a-couple-thousand-more-reasons-to-run-the-marathon/
Last updated: 2008-09-23T05:11:23.000Z
I was watching a recent episore of “[Real Sports with Bryant Gumbel](http://www.hbo.com/realsports/stories/2008/episode.138.s1.html?ref=kudithipudi.org)” (sports show on HBO), which had a [story ](http://www.hbo.com/realsports/stories/2008/episode.138.s1.html?ref=kudithipudi.org)about the plight of “debt” children from India. These children (in the cities of Meerut and Jalandhar) are forced into child labor due a debt their family got into. The terms of the debt so bad that the family never gets to pay it off. The children are then forced to work for nickels to stitch footballs. While the poverty of the family plays a role in this situation, an educated parent wouldn’t have allowed this to happen. If these folks had access to programs run by organizations like [ASHA](http://www.ashanet.org/?ref=kudithipudi.org), they would have probably have gotten better paying jobs and their children wouldn’t have to be in this situation.

Running a marathon is a hard task, but nothing compared to the plight these children go through. I am proud to be helping eradicate such things from happening in the future. Help me raise money for [ASHA,](http://www.ashanet.org/?ref=kudithipudi.org) by clicking on this link ([http://ashanet.org/chicago/teamashawiki/index.php/Runners/VinayKudithipudi](http://ashanet.org/chicago/teamashawiki/index.php/Runners/VinayKudithipudi?ref=kudithipudi.org)) and donating whatever amount you feel is appropriate.

I have found my inspiration.. have you?
### Week 14 & 15 training update
URL: https://kudithipudi.org/week-14-15-training-update/
Last updated: 2008-09-23T04:25:02.000Z
The last two weeks had been a bit crazy at work due to the recent hurricane hoopla we exeprienced here in the US. I was barely able to keep up with the mid week and weekend long runs. And I oficially missed the 4th race I registered for this year. I planned to run the Banco Half Marathon, last weekend, but wasn’t able to due to a hectic work schedule. I am so proud of the folks that ran it though. It was pouring all morning and I can only imagine how difficult it would have been to run in soggy shoes and clothes.

The 20 miler this weekend was tough. I started off strong and ran \~13 miles without any issues. Then the heat and humidity started to kick in and I had to literally walk the last 3 miles.

![](http://chart.apis.google.com/chart?cht=bvg&chs=400x200&chtt=Week+14+Training&chdl=Recommended+Miles|Actual+Miles&chco=ff0000,00ff00&chxt=x,y&chxl=0:|Mon|Tue|Wed|Thu|Fri|Sat|Sun|&chd=t:0,5,8,5,0,14,0|0,5,8,5,0,0,0&chds=0,15&chxr=1,0,15&chbh=10 "Week 14")

![](http://chart.apis.google.com/chart?cht=bvg&chs=400x200&chtt=Week+15+Training&chdl=Recommended+Miles|Actual+Miles&chco=ff0000,00ff00&chxt=x,y&chxl=0:|Mon|Tue|Wed|Thu|Fri|Sat|Sun|&chd=t:0,5,8,5,0,20,0|0,0,0,0,0,20,0&chds=0,15&chxr=1,0,15&chbh=10 "Week 15")
### What does some good Italian susage and corn on cob make you do?
URL: https://kudithipudi.org/what-does-some-good-italian-susage-and-corn-on-cob-make-you-do/
Last updated: 2008-09-09T04:31:51.000Z
A BIG EAR TO EAR SMILE :).

![](https://kudithipudi.org/content/images/farm4-static-flickr-com/3173/2838225199_540636569a.jpg "El Stupido Smile..")
### Did anyone notice?
URL: https://kudithipudi.org/did-anyone-notice/
Last updated: 2008-09-09T04:19:06.000Z
That the folks at McDonald’s are once again aggressively pushing the “super size” meals? It was interesting that, they stopped doing that after the backlash against the “high calories” and the obesity caused by these meals a couple of years ago. Do you remember the “[Super Size Me](http://www.imdb.com/title/tt0390521/?ref=kudithipudi.org)” movie from 2004?

Looks like it is back to business as usual :-).
### Quotable quotes from the Conventions..
URL: https://kudithipudi.org/quotable-quotes-from-the-conventions/
Last updated: 2008-09-06T18:16:14.000Z
Quotes from the recent Democratic and Republican Conventions..

**Democrats** : **Bill Clinton** “People the world over have always been more impressed by the power of our example than by the example of our power.”

**Republicans** : **Sarah Palin** “‘In politics, there are some candidates who use change to promote their careers, and then there are those, like John McCain, who use their careers to promote change.
### Joys of running and week 13 training
URL: https://kudithipudi.org/joys-of-running-and-week-13-training/
Last updated: 2008-09-06T18:05:17.000Z
You know what one of the biggest joys of running is?? You can eat a full sized steak, some mussels with beer and top it all of with a tripe fudge chocolate with caramel and ice cream… and still not feel guilty about it :-). That was my dinner last night with my friend Brian and I was able to run 18 miles today without breaking a sweat (alright.. I am exaggerating here 🙂 ).

Another successful week of training. Was able to do all the mid week runs and the long run. Hopefully, will be able to keep it up till the marathon.

![](http://chart.apis.google.com/chart?cht=bvg&chs=400x200&chtt=Week+13+Training&chdl=Recommended+Miles|Actual+Miles&chco=ff0000,00ff00&chxt=x,y&chxl=0:|Mon|Tue|Wed|Thu|Fri|Sat|Sun|&chd=t:0,4,7,5,0,18,0|0,4.5,7.1,5,0,18,0&chds=0,15&chxr=1,0,15&chbh=10 "Week 13 Training.")
### Confessions and Week 12 training..
URL: https://kudithipudi.org/confessions-and-week-12-training/
Last updated: 2008-09-03T04:23:40.000Z
As most of you saw, I only ran 10 miles in week 11\. I was supposed to run 16 miles that Saturday. I ran for 10 miles and did the one thing that any runner would dread to do.. I stopped, gave up and took a cab back to the starting point. I was exhausted from running in the sun and thought that I would have a sun stroke.. Everyone, I spoke with said that I did the right thing by listening to my body..But long distance running is as much (or more of) a mental challenge as it is a physical one. I felt crappy the whole day when I remembered that I gave up..

That night I was going through my e-mails and read all the encouraging and supportive e-mails, I received from friends and familly when I told them that I was running the marathon this year, to raise money for uneducated and unprivileged kids in India.. I felt that I had a mission to accomplish and that I couldn’t give up on these kids. And did I kick butt this week :).. I woke up at 4 in the morning on Saturday and ran the 16 miles I missed last week. And not only that.. I also increased my speed to an average of 10 min/mile.. Thx guys..

![](http://chart.apis.google.com/chart?cht=bvg&chs=400x200&chtt=Week+12+Training&chdl=Recommended+Miles|Actual+Miles&chco=ff0000,00ff00&chxt=x,y&chxl=0:|Mon|Tue|Wed|Thu|Fri|Sat|Sun|&chd=t:0,4,7,5,0,12,0|0,5.5,7.7,5.4,0,16,0&chds=0,15&chxr=1,0,15&chbh=10 "Week 12 Training..")
### Week 9, 10 & 11
URL: https://kudithipudi.org/week-9-10-11/
Last updated: 2008-08-26T05:54:03.000Z
I was out of country for the first two weeks of August and could not keep up with my running schedule. And boy, has it been taking a toll on me on the long runs. If there is one thing, I would advise to folks that want to run a marathon, it is to keep up with the training schedule.

![](http://chart.apis.google.com/chart?cht=bvg&chs=400x200&chtt=Week+9+Training&chdl=Recommended+Miles|Actual+Miles&chco=ff0000,00ff00&chxt=x,y&chxl=0:|Mon|Tue|Wed|Thu|Fri|Sat|Sun|&chd=t:0,3,5,4,0,10,0|0,0,0,0,0,0,0&chds=0,15&chxr=1,0,15&chbh=10 "Week 9")

![](http://chart.apis.google.com/chart?cht=bvg&chs=400x200&chtt=Week+10+Training&chdl=Recommended+Miles|Actual+Miles&chco=ff0000,00ff00&chxt=x,y&chxl=0:|Mon|Tue|Wed|Thu|Fri|Sat|Sun|&chd=t:0,3,6,4,0,15,0|0,0,0,0,0,0,0&chds=0,15&chxr=1,0,15&chbh=10 "Week 10")

![](http://chart.apis.google.com/chart?cht=bvg&chs=400x200&chtt=Week+11+Training&chdl=Recommended+Miles|Actual+Miles&chco=ff0000,00ff00&chxt=x,y&chxl=0:|Mon|Tue|Wed|Thu|Fri|Sat|Sun|&chd=t:0,4,6,4,0,16,0|0,0,4,6,0,11,0&chds=0,15&chxr=1,0,15&chbh=10 "Week 11")

_Includes the latest 500 public posts. Use `/sitemap.xml` for the complete archive of public content._