Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@nathanpc
Last active March 8, 2020 19:44
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nathanpc/7334449 to your computer and use it in GitHub Desktop.
Save nathanpc/7334449 to your computer and use it in GitHub Desktop.
Everything that I've built so far.

Table of Contents

Desktop

Ultimate Old School Console

A very simple example

The ultimate old school console. Think of this as a launcher, it's supposed to give you a "Big Picture"-like mode for enjoying your favorite old school games.

tinyplot

tinyplot

A lightweight, embeddable, graph plotting tool.

Bookmarked

Bookmarked

A Qt application to help you keep track of your real bookmarks (those made of dead trees).

SQLite Browser

A Qt-based applicaton to browse and manage SQLite databases.

Pinned

Pinned in the Command-Line

A Pinboard client for hackers.

leafIRC

leafIRC awesomeness

The awesome lightweight IRC client for your command-line.

This is not just another IRC client. It's not meant to replace your irssi, this is meant to be a powerful lightweight IRC client. The idea is to be lightweight and at the same time extremely powerful, for example it doesn't use ncurses, which means it won't give you that little window, instead you'll be able to check all your history just by scrolling your terminal logs.

This client is as command-line friendly as possible, instead of providing a "GUI in the command-line" (aka TUI) it makes you feel at home without dragging you to a different kind experience.

Whisper

A simple and awesome utility written in Perl to send documents to a Kindle.

build-bom

An example showing the extended view

A simple Perl script to build BOMs from schematic files.

Sheets

A tool to quickly organize, browse, and search for your datasheets.

parse-parts

A program to help you organize and keep track of all the electronics parts you've ordered.

tdo

The easiest and geekiest way to manage your TODOs.

stashes

A simple application to keep track of your bookmarks, notes, etc.

Android

CherryNotes

CherryNotes List CherryNotes Editing

The text editor for everyone that lives in the cloud but wants control over local and cloud text files.

The text editor of your dreams is here. With CherryNotes you can easily manage your notes and select which ones will get synced to the cloud and which ones should stay local. With one click you back up notes to the cloud and with another click bring any note from the cloud back to your device, and all the notes that are on both locations get synced effortlessly.

As a multitasker I always wanted a text editor that let me keep notes on the device but at the same time sync some of them with a cloud storage solution. After a year looking for the perfect app I couldn't find it, so I decided to build my own, that's how CherryNotes was invented.

build.prop Editor

build.prop Editor

build.prop Editor was created to make your life as a Android geek a lot easier. If you have a rooted device this app will love to be able to let you easily edit the incredible build.prop file.

The main idea was to create an editor that would be perfect for the job, was simple enough so anyone could use it, and worked as advertised. The interface is easy to use, straight forward, and takes advantage of the awesome Holo look introduced in Android 3.0 Honeycomb.

RubyGems Browser

RubyGems Browser

This awesome app is perfect for everyone that is a RubyGems.org enthusiast. It lets you browse the awesome RubyGems.org repository that has almost 50.000 Ruby libraries (gems) available.

The main features include the Dashboard view where you can keep track of all the gems you've subscribe, so you know if you're always on the latest version. It also lets you keep track of the gems you own, so you can always check your download count. And of course it includes search, so you can find new awesome gems for your projects.

BlackBerry

CherryNotes

CherryNotes BlackBerry

The text editor for everyone that lives in the cloud but wants control over local and cloud text files.

The text editor of your dreams is here. With CherryNotes you can easily manage your notes and select which ones will get synced to the cloud and which ones should stay local. With one click you back up notes to the cloud and with another click bring any note from the cloud back to your device, and all the notes that are on both locations get synced effortlessly.

As a multitasker I always wanted a text editor that let me keep notes on the device but at the same time sync some of them with a cloud storage solution. After a year looking for the perfect app I couldn't find it, so I decided to build my own, that's how CherryNotes was invented.

Bookmarked

Bookmarked

If you love to organize your bookmarks using Pinboard and was waiting to enjoy the experience in your BlackBerry, this is the program for you. Bookmarked is the best Pinboard experience for BlackBerry users and a must-have.

Requests

Requests

With Requests you'll have a very simple and easy-to-use HTTP debugger that will let you do HTTP/REST API requests using your BlackBerry PlayBook.

I developed this app to make it easy to debug my changes to a server API by just letting my PlayBook on the side of my computer, make the changes on the server, and run the query on the PlayBook to check if it's working.

Web Applications

dirlist+

dirlist+

dirlist+ is a fully-featured directory listing web application. The idea was to recreate the Apache Directory Listing but with a better, responsive, interface and add more functionalities like previews, EXIF data, ID3 tags, movie information, and etc.

rCalc

rCalc

A simple yet cool resistance color code calculator. The idea of this WebApp is to serve as a awesome (and useful) experiment for things like Offline WebApps, Firefox OS, and Chrome Packaged Apps.

TI Calculators

calc555

calc555

This is a simple, but very useful, 555 timer calculator written in TI-Basic. You can calculate values for the astable and monostable topologies.

Voltage Divider Calculator

RESDIV

A simple (resistive) voltage divider calculator.

Windows CE

SerialComm

SerialComm

A serial communication and debugging application for Windows CE.

Libraries

Amazon::SendToKindle

A Perl library to send documents to Amazon's personal document service.

This is my first module for the Perl community. It was created to be used in one of my projects called Whisper. It's a extremely easy and straight forward way to send documents to Amazon's Kindle Personal Documents Service (aka "Send to Kindle").

use Amazon::SendToKindle;
my $kindle = Whisper::SendToKindle->new(
    "document.pdf",
    "your@email.com",
    "smtp.server.com",
    $port,
    "username",
    "password");
$kindle->send("amazon_username", 0);  # Do not include the @kindle.com

libinet++

A networking library for humans that code in C++.

// Setup the connection.
HTTP http("localhost", 80);
HTTP_Response response;

http.add_header("User-Agent", "libinet++/0.1");
response = http.request("POST", "/test.php", "Testing the POST body stuff.");

// Print the response status (hope it's 200 OK).
cout << response.status_code << " " << response.status_message << endl;

// Print the headers.
for (size_t i = 0; i < response.headers.size(); i++) {
    vector<string> header = response.headers.at(i);
    cout << header.at(0) << ": " << header.at(1) << endl;
}

// Print body.
cout << endl << response.body << endl;

Yes, this is another networking library, but I promise, this one is different. This library was created for humans to use. cURL is great, but there's one huge problem with it: It's a C library, which means it looks like a alien designed the API (just like everything that involves C).

This library was built using one of the worst library ever invented in the face of this planet: The GNU Sockets Library. This means I tortured myself to carve this library so you'll never have to torture yourself dealing with C libraries for networking.

pinboard.js

The Pinboard library for JavaScript.

var pinboard = new Pinboard("username");
pinboard.login("password", function (token, error) {
    if (error) {
        return alert("ERROR: " + error.status + " - " + error.message);
    }

    pinboard.list_posts(function (posts, error) {
        console.log(posts);
        for (var i = 0; i < posts.length; i++) {
            document.getElementById("list").innerHTML += "<li><a href=\"" + posts[i].href + "\">" + posts[i].description + "</a></li>";
        }
    }, [{ name: "results", value: "3"}]);  // Optional array of parameters.
});

ascii-image

A Ruby gem to convert images into ASCII for your awesome command-line applications.

# Print a local image using 20 columns.
ascii = ASCII_Image.new("~/my_image.jpg")
ascii.build(20)

# Print a remote image using 60 columns.
ascii = ASCII_Image.new("http://www.levihackwith.com/wp-content/uploads/2011/10/github-logo.png")
ascii.build(60)

APIs

Hacker News API

This API was created after a huge frustration with the iHackerNews API, which sadly at the time looks abandoned and also doesn't support authentication, which means you can't up vote or comment. This API is intended to be a successor of the iHN one. Open source, and with authentication support.

Sadly I still haven't got around to upload it to Heroku.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment