What have you programmed?

Mucman

Diamond Member
Oct 10, 1999
7,246
1
0
So many topics on cool utilities, but let's hear what you have done! I am sure some of you have programmed so slick utilities, scripts, or games!

Here's my list :

For work :
- SSL Cert order form doing realtime CC transaction along with a database driven admin interface to keep track of all the certifcates, post the cert submission CSR to thawte, and a way to store the certificate backups in a SQL database.
- Very sophisticated Transaction report web page. It has a search engine section where you can search via dates, or by order id, name, credit card,
and can report in cdn/us funds, by batch or by transacition, and seperates transaction by types (SSL order, webhosting, domain purchase). It returns
results instantly and returns a very nice display summarizing the transactions. If you select a transaction you get a nicely formatted receipt.
- Reseller/Affilliate framework. I have a complex admin area for in house and a script (perl) that generates monthly reports and sends them to the
resellers.

All of the above was done using VBScript (ASP). I've only known ASP for a year so I think I've done pretty good. My programs please the boss, so I guess that's all that counts :). The all use some pretty sweet SQL queries... nothing makes you feel giddy like an efficient SQL query :)

For fun/home/school :

- Java program that trawl the web searching for E-mail address embedded in HTML. The program learns new licks as it trawls the web and will
go on forever. It is multithreaded, distributed, uses xml, mysql. We did this for our software engineering class. We had to do a live demo, and we started it by seeding it with our schools website.... the class got a chuckle when our profs e-mail address came up :)
- perl script that will randomly grab mp3s from my collection, re-encode it to a lower bitrate, generate a php file, and uploads the files to my webserver. This script is how the playlist is generated for my radio station linked in my sig.
- A multithreaded C program to emulate a 2 elevator system. This was for my OS course. It was supposed to be a group project, but I elected to do it on my own because I loathe group work :).

I've done some OpenGL stuff, but I am not really proud of it :).






 

Nocturnal

Lifer
Jan 8, 2002
18,927
0
76
Originally posted by: Mucman
So many topics on cool utilities, but let's hear what you have done! I am sure some of you have programmed so slick utilities, scripts, or games!

Here's my list :

For work :
- SSL Cert order form doing realtime CC transaction along with a database driven admin interface to keep track of all the certifcates, post the cert submission CSR to thawte, and a way to store the certificate backups in a SQL database.
- Very sophisticated Transaction report web page. It has a search engine section where you can search via dates, or by order id, name, credit card,
and can report in cdn/us funds, by batch or by transacition, and seperates transaction by types (SSL order, webhosting, domain purchase). It returns
results instantly and returns a very nice display summarizing the transactions. If you select a transaction you get a nicely formatted receipt.
- Reseller/Affilliate framework. I have a complex admin area for in house and a script (perl) that generates monthly reports and sends them to the
resellers.

All of the above was done using VBScript (ASP). I've only known ASP for a year so I think I've done pretty good. My programs please the boss, so I guess that's all that counts :). The all use some pretty sweet SQL queries... nothing makes you feel giddy like an efficient SQL query :)

For fun/home/school :

- Java program that trawl the web searching for E-mail address embedded in HTML. The program learns new licks as it trawls the web and will
go on forever. It is multithreaded, distributed, uses xml, mysql. We did this for our software engineering class. We had to do a live demo, and we started it by seeding it with our schools website.... the class got a chuckle when our profs e-mail address came up :)
- perl script that will randomly grab mp3s from my collection, re-encode it to a lower bitrate, generate a php file, and uploads the files to my webserver. This script is how the playlist is generated for my radio station linked in my sig.
- A multithreaded C program to emulate a 2 elevator system. This was for my OS course. It was supposed to be a group project, but I elected to do it on my own because I loathe group work :).

I've done some OpenGL stuff, but I am not really proud of it :).

I truly envy you. I so wish I could become a programmer like that. That's my dream job.
 

Mucman

Diamond Member
Oct 10, 1999
7,246
1
0
Nocturnal, you envy an anti-social computer nerd? :p Programming is funncy because sometimes you end up spending 20 minutes learning something in order to do a 10 minute job :). Programming is definitely handy though. I used to lean towards real programming (compile binarys etc...) but now I am really drawn into scripting languages. ASP.NET is my next stage at work, and I am really looking forward to learning that as well.
 

Haden

Senior member
Nov 21, 2001
578
0
0
I've got only to big projects Chem3D: program to learn chemistry for pupil (fits for some students too) and M3 (Math M Matic) mainly math tests and graphics drawing/analyzing.
Some DirectDraw programs (used for products demo, actually just blending images/showing video etc.).

Some scripts and small programs :) :
- Bash scripts with supportive C programs (for speed) to search for video reviews of films we got (generates html with screenshots from video and reviews if any)
- Scripts to scan network and collect OS statistical data (who uses what)
- Perl and supportive scripts to search for music in all network shares (scans shares and gathers lists to be searched later).
Now I'm working on HChat cross platform LAN chat program...
 

Adrian Tung

Golden Member
Oct 10, 1999
1,370
1
0
For work:
- A 3D level editor for level designers to design their scenes and put in objects, spawn points, etc.
- The game client for my company's upcoming MMORPG - this isn't actually as big as it sounds because it's actually a combination of a bunch of other libraries like the 3D renderer, UI system and networking system written by my colleagues. I just take it all and lump it into a single EXE and then make these systems do stuff when the player moves around, does stuff and when the client receives messages from the server.

For fun/personal use:
Nothing big yet, just a small collection of apps like a dice roller and MFC front-end for LAME. My own DirectX 3D game engine is still work in progress....


:)atwl
 

VBboy

Diamond Member
Nov 12, 2000
5,793
0
0
I am sorry, but that information is classified :)

Eh, ok.

1. TaskSwitcher process manager (VB)
2. FlashOut Flash disabler (VC++)
3. FileOrganizer (VB)
4. Space Fighters DirectX game (VB)
5. Lots of database apps (VB)
6. AllAdvantage assistants (VB)
7. IE BHOs, Outlook add-ins (VB)
8. Bookmark/Favorites analyzer/uploader (at work) (VB)
9. Sync app between our site and Outlook/PalmPDA (PumaTech Intellisync engine, VC++)
10. Internet Explorer picture saver (double-click a pic to save) (VB)

Ok, I'm too tired from all this typing. Maybe I'll finish later.
 

Barnaby W. Füi

Elite Member
Aug 14, 2001
12,343
0
0
Right now at work I'm doing alot. We are moving all contacts into an ldap directory, for use in ximian evolution, and all sales/revenue/etc (everything) that is now done in an excel spreadsheet, is being moved to a mysql database, with a php frontend tying the two together in a fairly seamless fashion. People can add someone to their address book in evolution, refresh their browser, and that person shows up in the webapp.

Lately I've been getting into python, I made a little mp3 player with py-mad, and now I'm working on a web driven interface for it, so I can run it on a little mp3 server-type box and control it from any machine on the lan (or from across the internet - the machine's port 80 is forwarded to port 82 on my firewall, and I'm gonna stick an apache password on that directory, so I can fiddle with it from anywhere). source - artist listing, click on the play buttons and it plays all songs from that artist on shuffle, click on the artist's name and it takes you to this screen where you can pick songs you want to hear. Lots of ideas I have for it, but for now it already works nicely for what I usually listen to (all songs, on shuffle, or just a single artist, or just an individual song). Basically it communicates by writing to a file in /tmp and HUPing the player, the player, when HUP'ed, checks that file and proceeds based on the "instructions" in it. Kinda ghetto, I should be doing sockets stuff or something elaborate like that, but whatever. :) Oh yeah, it is designed to look like audiogalaxy, what fond memories I have of that... :-/

For work I did something similar to what you did, a script that crawled pages and sucked out info, except it sucked out names, addresses, etc, it was just for one specific site, a site that had listings of all of these different companies that pertained to something work-related. I won't explain it more because it's kinda complex and I ramble enough already ;)

I wrote this recursing directory tree thing, neat experiment, but hard to make practical.

These super neat looking gradient things in html (look at the mid-to-later ones, some people just look at the first couple and don't realize the later ones are way different ). The colors in lots of them are randomized and the speckling effect is totally randomized. I had a little "random" binge a short while back :p

I guess you would call these html rorschach tests, another product of the randomness obsession. Some of these suckers take a while to process, big arrays + lots of loops + php + p233 = slow ;)

Homebrew traffic graphs

Same thing except in html, not generated images (whoa that sucker's buggy, scroll to the bottom ;))

result of a google obsession, and probably one of the neater things I've done ("done" as in "actually finished"). Although since google changes stuff around so much, some of the referral url parsing and user agent detecting has gotten a tad stale, I've been meaning to get back to it and update it.

McData, my first real project of any sort, and the project I forced myself to do to learn SQL. McPics is McData's cousin or something, very similarly designed markup-wise and structure-wise (i.e. almost no structure, KISS ;)) - both of these things were done last summer when I was really starting to get into php. I've since realized that packaging/documenting/idiot-proofing/releasing stuff is WAY less fun that just writing it for yourself, so I tend to just write stuff and let it lay around and not really worry about adding to the mounds of crappy little projects out there already ;)

Lately I made a little image caching script, so I can just set up directories on the web server, throw the script in, mkdir .thumbs, chown -R myusername:www currentdir; chmod -R 775 currentdir; and from then on I can just scp over images and upon the next view of the gallery it will create the thumbnails. Kinda slow since it's only a p233, but I'm always the first person to go look anyways so no one else ever experiences the wait. Here (_NOT_ a bandwidth friendly page ;) ) and here

This little thing I just made within the past couple weeks, I figured that over the course of time, you solve so many problems, yet most of the time you never write them down and you end up forgetting alot. The theory was for me to add an entry to that for every non-trivial problem I solved, or also for just general help/faq type stuff (like the mini linux kernel howto thing), and also to sort of give back to google, considering all of the help I've gotten from it. I know there are plenty of things that I've had trouble with that I couldn't find on google, so I figured I could help the situation by doing this - well, so far I've added a whopping three, so much for that theory
rolleye.gif


Oh damn, almost forgot this, my first python project. Worked out pretty well, for what it was intended for: a non-bloated, feature limited, netbsd-specific, x86/ide specific replacement for phpsysinfo :)

More little stuff, RTFM and figlet.

Tons of little shell scripts and stuff.

Geez.. think I got it all.
 

singh

Golden Member
Jul 5, 2001
1,449
0
0
Too many to list, although I can't think of a single one which I am truly satisfied with. However, I am in the planning stages of a long term project (2-4 years of development time) that I think I may be proud of one day :)
 

Buddha Bart

Diamond Member
Oct 11, 1999
3,064
0
0
1.) On-line voting system for Student Government elections at my college. Involved REXX and JCL to extract the students info from a CICS database (if you can call it that). Perl scripts to parse it out and insert it into a MySQL database. A PHP application for the voting that displayed the proper candidates for you based on your date of enrollment, number of credits, transfer status, and a few other things. Another PHP application so that the candidates for each position can be entered/deleted by the elections comissioner. Also so they can see the results of the elections and referendum questions. Lastly an interface for them to "fudge" what class/status a student is ranked as (the SGA's definition of say "sophmore" was so wishy washy there was no way to accuratly determin what students counted).

2.) A mini-monster-dot-com for the Job Location and Development department of the college. Allows local employers to post job opportunities for students, displays the listing of jobs in a searchable/catagorized way on the website. Also has an interface for students to apply to be part of the JLD program, upload their resume, and select which categories of jobs they are interested in, and any specific jobs they want to apply for now. Also lets them opt in to be emailed when a job in their prefered catagory becomes available. Also generates print outs for the departments bulletin board, and a number of analytical reports for submission to the feds. Its a federally funded program, so we have to show them estimates of how many jobs were 'arranged' through the program, approx how many hours were worked at those jobs, and approx how much money in general the program enabled students to make for themselves.

3.) Log-analysis sytem for users of mod_log_sql. Mod_log_sql allows you to log directly to a mysql table rather than a flat-file. It allows for instantanious and downright nifty statistical analysis of your sites traffic. Only problem is at 6 million records a month, the table got so gigantic that it took 2min 30sec to answer a query (bad time to go "oh sh!t I meant decend not ascend). I'm writing a system now that parses out the main logging table into seperate tables-per-day. Its not as simple as it sounds because due to the fact that a couple hundred hits could come in during the time the script is running, and mysql's lack of transactions, it has to be very tricky and fault tolerant. Then on top of that I'm writing an log-analysis package that provides usefull stats like 'pageviews', what search terms led a user to what pages, what refererers drove the most traffic, what the statistical breakdown of browsers is, what time periods traffic came in, etc etc.

Funny thing is... I fcuking hate programming. HATE it. Its just everyone else in the department is to dumb to even think most of this stuff up, let alone try it.

bart
 

Mucman

Diamond Member
Oct 10, 1999
7,246
1
0
BingBongWongFooey, Those are pretty nifty. I've done my fair share of scripts that really have no use as well :). Some are actually useful too but they are so proprietary that they would be useless to anyone else. I want to start programming my stuff so that they will be of more use to the public. I got half a dozen CommuniGate Pro perl scripts that I've written. I am going to clean them up and post them to their mailing list because people keep on asking me for them.

singh, I think you are working at much higher standard that me :). I find scripting gives a more instant gratification than does programming. I'm happy to say that I am actually 99.9% happy with some of my work projects. Hopefully you will feel happy after that multi-year project! That would suck to work on something for so long and not be pleased with it.

Buddha Bart, luckily I love programming :). I know what you mean though; So many times I hear people wanting to do something that sounds like a long night of tedium for them, but wouldn't be with less than an hours programming. I like your sql logging!

 

bsobel

Moderator Emeritus<br>Elite Member
Dec 9, 2001
13,346
0
0
I've done quite number of projects, but some of my favorites:

Norton Desktop for Windows
Norton Utilities for Windows
Norton Antivirus

Bill
 

Mucman

Diamond Member
Oct 10, 1999
7,246
1
0
Originally posted by: bsobel
I've done quite number of projects, but some of my favorites:

Norton Desktop for Windows
Norton Utilities for Windows
Norton Antivirus

Bill

You were part of the programming team for those products?!?! Nice work! I had to write a basic C program that emulated scandisk software. That was a lot
of fun. I've never really pursued it further because there are so many apps that do this stuff already. I guess you get a better understanding of the uderlying OS when you worked on those applications, eh?

 

Descartes

Lifer
Oct 10, 1999
13,968
2
0
I couldn't possibly note them all as I do literally hundreds of projects a year. The most recent notable ones:

- CTI (computer telephony integration for the uninitiated) application written in C++ that integrated with Dialogic hardware. It concurrently dials up to 128 lines at once and feeds the calls through to live agents. I have a VoIP implementation in the mix...

- Pocket PC-based inventory/receivings tracking program that integrated with their accounting system that ran on SCO OpenServer using a Debian Linux box as the communications gateway. You have no idea how proud I was to mimic Microsoft's ActiveSync on a Linux box. Unfortunately, Pocket PC 2002 broke my integration, and Microsoft won't confirm why. I had figured out the communications protocol that Microsoft used when syncing handheld devices over PPP, so I altered PPPD on Linux to mimic the same behavior.

- An EDI ANSI.X12 data transformation engine. It would transform the *amorphous* EDI data into XML which would then be processed by my engine. EDI is generally a pain because the business rules change so often. From this I created my own XML vernacular to support volatile business rules. The vernacular supports (and highly uses) regular expressions to extrapolate the data from the source document. I've worked on trying to make this an XML standard, but it's too hard to articulate at the moment. I created reports for the EDI documents by applying XSLT stylesheets to the transformed XML data.

- Full e-commerce framework utilizing a typical Windows DNA style architecture. We had UPS/FedEx integration (pre-web services), tax data integration, etc.. The "selling feature" of the framework was that we integrated with any existing accounting platform. In other words, we would integrate with it so that orders received online would appear in the system as though they were placed at your brick-and-mortar store. It was completely transparent. We still have clients running on the framework.

- An application that interfaces with a CNC machine by one of our clients who specialize in cabinetry. They would scan the barcoded dimensions from a specification sheet which would feed into my application. My application would then plot the dimensions on the screen to give them a visual of the cabinet. The dimensions would then be sent to the CNC machine to cut the wood.

- Countless barcoding integration applications.

Those were recently.

I do a lot of "fun" projects, mostly in .NET:

- "DataTransform." This is my extension of the XML vernacular facet of the EDI project above. I created a general class that mimic Microsoft's XslTransform class in .NET to allow the transformation of ANY data to XML or arbitrary flat file. I deal a lot with data conversion from antiquated systems, so I use this data to help normalize the data and put it into a consistent format (XML) that I can use.

- GPS integration platform. I wrote a framework to handle the monitoring of GPS information from any NMEA 0183 protocol supporting device. The framework will fire events for every "sentence" (as it's called in NMEA) that it receives. I wrote a sample application that utilizes my framework to call a web service over a GSM modem to "plot" the coordinates of a given device. I used it for a poor man's tracking device, but I have plans to use it for fleet tracking.

- Using the same framework myself and a friend were playing with using it on an NMEA 0183 supporting fish finder :D
 

bsobel

Moderator Emeritus<br>Elite Member
Dec 9, 2001
13,346
0
0
You were part of the programming team for those products?!?! Nice work! I had to write a basic C program that emulated scandisk software. That was a lot
of fun. I've never really pursued it further because there are so many apps that do this stuff already. I guess you get a better understanding of the uderlying OS when you worked on those applications, eh?

Yep, worked in development for the first 8 or so years I was at Symantec. I was on the core team for NDW (about 4 of us), and an architect on the other projects (and a zillion others, those where some of the funnest). Last few years I've been doing other work for them (mergers and acquisitions) so I have to get my coding fix on some side projects (like my home control system ;))

Bill


 

Spamela

Diamond Member
Oct 30, 2000
3,859
0
76
all kinds of stuff, here are a few:

various data acquisition systems for the world's most powerful laser system.
software to control machines that cut large crystals for world's most powerful laser system.
windows device drivers for frame grabbers & i/o adapters.

object-oriented dbms for my graduate thesis.
multi-user pc dbms system in the 80's (before such things were common)
nuclear system criticality simulator
 

notfred

Lifer
Feb 12, 2001
38,241
4
0
At work:
1) Content Management system for our website. It allows anyone with an email address at our organization to sign up and get basic access rights to update a few things. There's a whole user permissions system in place to allow certain users access to update certain parts of the site, while other users can only update other parts of the site. Anyone with access to the user manager is basically root, as they can change permissions for anyone, including themselves.
After regular users add or modify content on the site, it sends out email to adminitrators who are responsible for validating that that content is correct and appropriate. If they deem that it is, they can just check a box marked "approved" and it will show up on the website. If they don't like it, they are free to edit it until they do.
It has different permissions for people updating the list of employee contact information, updating a lsit of reports we publish, updating news on the main page, updating our online database of photos, etc.
2) Parser to turn PDF files into HTML pages. It's fairly proprietary, and is only designed to work wirth a certain format of PDF files that we make.
3) Online map software. It looks kinda like mapquest, in that you go to a webpage and it shows a map. You can zoom in and out on the map, and move yourself around the map similarly to mapquest too. It allows you to draw points or polygons on the map, and tells you information about the area of the map you've highlighted. Currently it jsut tells you congressional and assembly districts for the area, but we'll be adding hydrological and geological data to it as well.
4) Lots of various small things.... Random image selector script, script that grabs data off a calendar and puts it in a little "What's happening today:" box on a webpage, headers and footers for pages that keep track of the date last updated, etc...

Personal:
1) All the software for this website, which I'm rather proud of. The coolest things about it are plugin support for adding support for various file types to be uploaded to the site, and the zip file plugin I wrote that will decompress an uploaded zip file, and pass each decompressed file off to the correct plugin for that file type. It also does lots of other stuff, but you can sign up and play with it if you want to know what it all is.
2) Remote control for apple's iTunes - allows you to play/pause/switch tracks/etc in apple's iTunes MP3 player from across a network. You could have a mac hooked up to your stereo, and wander around the house with your laptop and still be able to control the music. You could even control the music playback across the internet, if you so desired.
3) A png decoder and image viewer. I wrote my own png decoder that was not dependant on libpng. You go file -> open choose a png file and it displays it on the screen. It was noticeably slower than libpng, but it worked properly, and would display files jsut as they were meant to be viewed, with full alpha support and everything.
3) Lots of little stuff. Program that converts between number bases, utility scripts for various things, other stuff...

School:
Regular school stuff: self balancing trees, linked lists, solving the "knight's tour" problem recursively, stuff like that...
 

Mucman

Diamond Member
Oct 10, 1999
7,246
1
0
notfred, you ought to be proud of that site! You did a pretty awesome job on it!
 

Armitage

Banned
Feb 23, 2001
8,086
0
0
Software for me is typically a tool to accomplish something else rather then the final product. But here's some things I've written myself...

Genetic algorithm based code to find optimal satellite constellations. Single-CPU & distributed (ie. beowulf cluster) versions.

Genetic algorithm based code to optimize a complex scheduling problem (think of a traveling salesman problem with moving cities & multiple salesmen nested inside a job-shop scheduling problem). Again distributed for a Beowulf cluster. This ones kind of interesting as I'm working on an island model GA to test against the more typical master-slave distributed architecture.

Some other interesting projects involving optimization and astrodynamics...

Data acquisition, conditioning, & databasing system for an operational space related system.

Ported a largish (~300 KLOC mixed C/C++/fortran) simulation related to BMD from Irix to Linux.

Stuff I've worked on:
A project that searchs for potential collisions between orbiting objects. single-cpu & cluster based versions.

RADAR & IR data fusion algorithms

Lots of quick & dirty, single purpose analysis programs of course. And scripts for parsing files, extracting & conditioning data, etc. are a daily occurence. Most of that stuff I do in Python now. By choice, I use C/C++ for the big stuff, but have to work with alot of legacy fortran sometimes.