View on GitHub

programming-ideas

I created this repository to develop solutions for the "Programming Ideas 2" app, developed by Mbah Clinton

Networking

  1. Fetch Current Weather

    Difficulty: Intermediate

Get the current weather for a given zip/postal code.

  1. Chat Application (IRC or MSN Style)

    Difficulty: Expert

Create a chat application that can create simple chat rooms like on Internet Relay Chat (IRC) or a more direct chatting style like MSN. For added complexity, create your own protocol to facilitate this chatting.

  1. P2P File Sharing App

    Difficulty: Expert

Create a program like LimeWire, FrostWire, Bearshare, or a torrent style application.

  1. FTP Program

    Difficulty: Expert

A file transfer program which can transfer files back and forth from a remote web sever.

  1. Port Scanner

    Difficulty: Intermediate

Enter an IP address and a port range where the program will then attempt to find open ports on the given computer by connecting to each of them. On any successful connections mark the port as open.

  1. Mail Checker (POP3 / IMAP)

    Difficulty: Intermediate

The user enters various account information include web server and IP, protocol type (POP3 or IMAP) and the application will check for email on several accounts at a given interval.

  1. Packet Sniffer

    Difficulty: Expert

A utility program that will read packets coming in and out of the machine along with related information like destination and payload size.

  1. Country from IP Lookup

    Difficulty: Intermediate

Enter an IP address and find the country that IP is registered in.

  1. Whois Seach Tool

    Difficulty: Intermediate

Enter an IP or host address and have it look it up through whois and return the results to you.

  1. Zip / Postal Code Lookup

    Difficulty: Intermediate

Enter a zip or postal code and have it return which city/cities that are in that zip code.

  1. Remote Login

    Difficulty: Expert

Create a remote desktop style application which can see and control the remote computer (given you have permissions). It may require the use of your own private network and a second computer to test with.

  1. Site Checker with Time Scheduling

    Difficulty: Intermediate

An application that attempts to connect to a website or server every so many minutes or a given time and check if it is up. If it is down, it will notify you by email or by posting a notice on screen.

  1. Small Web Server

    Difficulty: Expert

A simple web server that can serve HTML files that contain Javascript and other forms of non-code executing code. Added complexity would be to try and implement streaming video, create a server-side language, or serve up other stream types.

  1. Web Bot

    Difficulty: Expert

An automated program which carries out tasks on the web including checking websites, page scraping, and summarization of data or web posting.

  1. Get Atomic Time from Internet Clock

    Difficulty: Intermediate

International Atomic Time (TAI, from the French name Temps Atomique International is a high-precision atomic coordinate time standard based on the notional passage of proper time on Earth’s geoid. Develop a program will get the true atomic time from an atomic time clock on the Internet. There are various clocks across the world. Do a search for a list of them and use one.

  1. Youtube Subscriber Notification

    Difficulty: Expert

The user inputs the link to any Youtube channel’s account and the program will track the subscriber count. Ideally, it should check every 10 minutes and play a tone if the subscriber count has increased. For added complexity, allow users to be able to set the check interval and subscriber increased tone. Also, add a checkbox that when selected makes the subscriber increment notification realtime.

To be able to implement this idea, you’d need to have a firm grasp of querying APIs, JSON and REST. To know how to get the subscriber count of an account, browse the Youtube API documentation > https://developers.google.com/youtube/v3/docs

Submitted by Xelostar