Fog Creek Software
Discussion Board

what problems do your code address?

Most, if not all of us, work by applying computer science concepts and engineering knowledge to a problem.  We talk are about obscure issues that the much of the world don't really care about.  But ultimately what we do is to provide solutions to problems.  When everything is distilled, what is produced are solutions to specific real world problems. 

it has been talked about and discussed that 80-90% of the software created are typically in-house software.  The remaining percentage of software written is commercial software.  As a result, we don't hear about these 80-90% of the problems being solved in the companies.  So what sort of problems are you solving underneath the iceberg?  Most of the time, it is the job description.  Other times, it is not.  Folks at FogCreek provide solutions for Content Management and Software Defect Tracking.  For the layman, that is very informative.

Without breaking your NDA, can people give a rough idea of what you are coding for?

Hoang Do
Friday, March 28, 2003

For my current contract, I'm writing a desktop Java application for creating and editing hyperlinks in an XML document. The XML document is content to be consumed by human beings. (i.e. it will be transformed to HTML for online viewing or transformed to postscript for printing into books).

The links are stored in an external database (which I also designed and implemented). Adding and editing links is one of the steps in the process to take the XML content from the content management system and render it in the target medium.

It's an internal application for the writers in the technical writing division of the company. Kinda cool, and I'm learning a lot doing it.

Lauren B.
Friday, March 28, 2003

I make credit union statements (the paper side), put those statements online, and i also make utility bills and sundry other monthly statements.  things tend to get hairy around the beginning of the month...

Friday, March 28, 2003

I work on a grant reporting system for the US Department of Health and Human Services. It allows grantees to report their progress to the government and congress over the web. This information is gathered and used by the department to determine whether to continue funding. Congress uses it to determine where the money goes specifically and how it helps their constituents.

Ian Stallings
Friday, March 28, 2003

Im doing banking stuff. Economy related programming.

Friday, March 28, 2003

I was hired to extract data from SAP/R3 and create a data wharehousing system, besides making some calculations SAP wasn't able to do. This project was estimated to take 4-5 months, we're near the end at the 12th month. largely due to APAB programmers ineptude to provide what we needed.

Kinda cool, we have all sales transactions data and do some calculations (royalties, commissions, et al) according to provided parameters, printing reports or exporting raw data to Excel. Next step will be clean up the data, and make cubes in MS Analysis Server. Then it will be a true DW system.

Mauricio Macedo
Friday, March 28, 2003

My last project involved cutting clips out of mpeg videos and joining them back in a new video.

Took me less to do the video stuff (no decoding involved of course) than to create a reasonably working GUI, damn windows :-)

That also gave me the chance to learn something new, which is always welcome.

Friday, March 28, 2003

I'm working on porting all existing systems to J2EE within a national governmental statistical organisation.

John Topley
Friday, March 28, 2003

I write software that flies UAVs (unmanned aircraft) for surveillance purposes.

happy to be working
Friday, March 28, 2003

Ian - I'm pretty sure I interviewed for that job!

Right now I'm working two projects - by day I'm working on a case management system for a law enforcement agency. By night I'm working on projects for a transportation buying cooperative (negotiate rebates with suppliers based on volume purchasing). Right now I'm just doing their website, but before this I got to build the user interface for their Invoicing and Purchase Order system.


Friday, March 28, 2003

1st job, integrating various (15-20) computer systems around the university (library card system, door card access systems, meal plan account system, univeristy registration system, to name a few) to work with the then new smart card.

2nd job, creating a web based/kiosk type student account/class registration system

3rd job (current) develop public safety software.  We model the public safety process from the time the dispatcher picks up the phone for a 911 call to the time the criminal gets out of jail and all the stuff in-between

Friday, March 28, 2003

I'm writing a airport passenger flow simulation package for some architects in London.

Tom (a programmer)
Friday, March 28, 2003

I develop mobile applications which run on PDAs or Tablets using GPS and/or a geographic information system (GIS) (aka maps).

Friday, March 28, 2003

i sell shareware audio software
i write research code that analyzes DNA
i write infrastructure code that creates a big brother database of all your health problems for statistical surveillance purposes

Friday, March 28, 2003

It is interesting how people work in diverse areas not directly related to computing.

Well, since I started this, let me see if I can put my two cents on the table and verbalize the solutions I have worked on.  I'm retired so the only bits I'm fiddling with now is learning Python.  My background is heavily embedded programming so I have worked on PBX'es and Data switches.  Both sorts of equipment connect people together with voice and data.  Most of what I saw at the time were flying interrupts.  Then there was a period of consulting where I worked on cable modems.  Another gig got me working on spot lasers for Lasik equipment.  Then there was some research working with a product like TIVO on a PC with an MFC based interface.

My point is that most of us work at the level so deep in the woodgrains that it is natural for us to lose the big picture.  Most of the time, we aren't as grounded on earth as we would like.  Not Mars, not Venus, maybe in a galaxy of our imagination far far away.  Those that do work near the surface are actually very lucky.  You get to SEE how your work impacts the customers.

Hoang Do
Friday, March 28, 2003

I work on a energy commodities trading system.  My company is an energy brokerage firm.  We bring buyers and sellers of energy commodities together.  When they argree, they make a deal.  That deal gets inserted into our system.

A confirmation is sent to both parties, the deal is available for viewing on our web site.  At the end of the month, it is imported into our accounting system (Best MAS 500).  We then generate invoices that are sent to the customer.

The customer pays the invoice and we then print payroll checks to the brokers that brought the buyer and seller together.

Bryan Shaw
Friday, March 28, 2003

"Enterprise Process and Program Management"

fool for python
Friday, March 28, 2003

The last not-really-for-sale thing I worked on was a utility to print out an interlaced display of assembly and source code, with relocations relocated and source reference for every line of assembly.

Last one before that was writing a converter for Compaq/ALPHA's twisted ecoff64 debug format.

Steven C.
Friday, March 28, 2003

Online publishing and intranet.

The Real PC
Friday, March 28, 2003

Commercial software development, specifically development tools including core technologies in the CodeWarrior IDE and specific tools and SDKs targeting Palm OS devices

Ben Combee
Friday, March 28, 2003

Things I Do:

1) Drivers for embedded data aquisition and DSP boards.  Every board we make needs drivers for DOS, Windows, Linux, VxWorks, etc.  Every driver needs a manual documenting how it works.  We do a boatload of testing, and all tests have to be documented (damn ISO9000).

2) Example programs and function libraries for those boards.  For DSP boards, this means writing both a DSP program, and a program for the host PC.  The example programs have to be very obvious, and well-commented.

3) BIOS for our embedded PC's.  We license the source code from a major BIOS company, but we do a LOT of customization, and add several unique features.  It's all in assembler :-(

Most of our code is never seen by the end-user (typically a soldier in the field).  We don't do the actual application for the embedded system (not yet anyway), just the hardware.  The code I write makes it as easy as possible for our customers to develop their own applications.

Most of our customer can get started on their project simply by modifying one of our examples.  My job is to make life easier for other developers :-)

Myron Semack
Friday, March 28, 2003

The company I work for has jobs to do information exchange over the internet, in part using the RosettaNet partner interface process.  I use Java to help me perform data extraction from an AS/400 database.  I use the Inovis package to write a process in Java script or VBScript to describe how I want my group of Java programs to work together.  I try to make the code robust, but so far I've attempted but failed to incorporate connection pools and threads into adoption by my coworkers.  I am still working on that.   

Thinking in Java
Saturday, March 29, 2003

Embedded computer company - development and maintenance of:

Language compilers (we have our own proprietary version of Basic).

Associated language runtimes for various embedded computer boards

Drivers/interfaces for peripheral boards

Example programs to show customers how to do things with our boards

Boot monitors (roughly equivalent to a BIOS for our embedded SBCs)

Code for smaller, special-purpose boards (servo controllers, R/C channel monitors, video controllers, etc. used in UAVs)

Code for customer applications (ranging from simple data loggers to industrial equipment and robots)

Steve Wheeler
Tuesday, April 1, 2003

*  Recent Topics

*  Fog Creek Home