Categories
Customization Programming Ruby Tutorial

IRB Console with History and Logging

I spend most of my time working with IRB (Interactive Ruby) or Rails console. Over time, I've settled on a configuration that provides essential features like persistent command history, autocompletion, and Rails-specific logging. These improvements make the Ruby REPL much more productive for daily development work.

What is IRB?

IRB (Interactive Ruby) is Ruby's built-in REPL (Read-Eval-Print Loop) – an interactive shell for experimenting with Ruby code. It's invaluable for testing code snippets, debugging, and exploring APIs. When working with Rails, the Rails console is essentially IRB with your application's environment loaded.

Categories
Arduino Platform Projects

Arduino Ethernet Shield and Webclient

When you first get an Ethernet Shield for your Arduino (I'm using a Duemilanove), the natural thing to do is upload the example sketches to test it out. Everything was working perfectly until I hit the WebClient sketch—it just wouldn't connect.

The Problem

The WebClient example sketch that comes with the Arduino Ethernet library is designed to connect to a web server and fetch a page. The default example tries to connect to Google, but it kept failing on my setup. The frustrating part was that the WebServer sketch worked flawlessly, so I knew the shield itself was fine.

Categories
Cloud Deployment Heroku Ruby

Deploying Ruby Apps to Heroku: Git Push to Production

Introduction

Deploying web applications used to be painful. Set up a server, configure Apache, install dependencies, manage databases, worry about scaling. It was complex and time-consuming.

Heroku changes this. It's a cloud platform that runs your Ruby applications with minimal configuration. Deploy with git push. Scale with a slider. Focus on code, not infrastructure.

Categories
Development Tools Firefox Web Development

Essential Firefox Extensions for Web Developers

Introduction

If you're a web developer, you're probably using Firefox. While Internet Explorer still dominates market share, Firefox has become the browser of choice for developers. Why? Extensions.

Firefox's extension architecture allows developers to build powerful tools that integrate directly into the browser. These extensions can inspect HTML, debug JavaScript, test CSS changes live, and much more.

Categories
Firefox Projects

Spiderzilla

We surf the internet. We do it every day. Nowadays, I have a 2Mbps broadband connection, but life needs more.

I used to have a slow connection of 56Kbps a few months back. Bandwidth was a big issue at that time (It’s still an issue 😂). But India is “shining” we have a cheap broadband connection now.

When I was on 56Kbps, I had this habit of making an offline cache of useful pages. I usually used the HTTrack Website Copier

“It allows you to download a World Wide website from the Internet to a local directory,building recursively all structures, getting html, images, and other files from the server to your computer. Links are rebuilt relatively so that you can freely browse to the local site (works with any browser). You can mirror several sites together so that you can jump from one to another. You can, also, update an existing mirror site, or resume an interrupted download””

SpiderZilla is intended to be a Firefox and Mozilla Suite extension for offline browsing. It is only a front-end for the open-source command-line program HTTrack Website Copier.

SpiderZilla is not under active development. The creators have stopped developing it more and updating it for the latest version. So I thought why don’t do it myself. You can find it on my Labs page.

Categories
C++ Programming Projects

Desktop Calculator

I always appreciate coding in standard C++. There's something elegant about working with a language that's both powerful and standardized, where you can write portable code that runs anywhere.

Desktop Calculator is an application I've developed in standard C++, based on the calculator example (6.1) from "The C++ Programming Language", Third Edition by Bjarne Stroustrup. If you've read the book, you know it's one of the most comprehensive examples in the text, demonstrating how to build a complete, interactive program with proper error handling and architecture.