Thread: Coolest project?

  1. #1
    Registered User jeffcobb's Avatar
    Join Date
    Dec 2009
    Location
    Henderson, NV
    Posts
    875

    Coolest project?

    I am not sure if this is the right place for this question but think it could be an interesting conversation-starter and maybe we learn about each other in the process. What is the coolest (for varying definitions of "cool" C or C++ project you have ever authored? What did it do and what made it "cool"? I will answer with mine once I see a few answers here...

    Peace
    C/C++ Environment: GNU CC/Emacs
    Make system: CMake
    Debuggers: Valgrind/GDB

  2. #2
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300

    Cool

    I've got all my fingers crossed for 3D FIRST PERSON BREAK-OUT!!!! Play it on your iPhone!!!!
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  3. #3
    Registered User jeffcobb's Avatar
    Join Date
    Dec 2009
    Location
    Henderson, NV
    Posts
    875
    Quote Originally Posted by MK27 View Post
    I've got all my fingers crossed for 3D FIRST PERSON BREAK-OUT!!!! Play it on your iPhone!!!!
    Sweet!
    C/C++ Environment: GNU CC/Emacs
    Make system: CMake
    Debuggers: Valgrind/GDB

  4. #4
    Registered User jeffcobb's Avatar
    Join Date
    Dec 2009
    Location
    Henderson, NV
    Posts
    875
    I think my "coolest" or the one I am most proud of was part of a contest within a previous employer. I have always had an interest in machine learning and automated problem-solving. In any event, I wrote a cross-platform distributed problem-solving system that ran on Intel and CellBE hardware. All was done in C++ using a custom component model. It featured a unique 128-bit IPC system, virtual memory management and most importantly a dynamic services system. It might be easier to describe using situational description. Say machine A has the data and components (in the form of shared objects) to solve a particular problem; further say this is an Intel machine. Upon startup, the proper shared objects are loaded and the machine goes to work on solving the problem. Then say a PS3 (running even a skeletal version of the framework) powers up on the network; it broadcasts to other machines what it is, what capacity it has to do work and what services it has. Machine A reciprocates the announcement and notices that the PS3 is available for work but needs (say) a neural net component. Since Machine A has binaries for a handful of machine architecture components, it sends the right CellBE module to the PS3 which then activates the component, then Machine A ships the problem-solving components needed along with any data needed to solve the problem (think: disease marker research). Now the Intel and the PS3 are cooperatively working on the problem. Then an iPhone or more likely an Android-based device enters the network. Since it can do proportionally less work, a smaller unit of work is handed off to the phone. I had this system running dynamically on a network with PS3s, Linux, WinXP and an Android phone. It was difficult b/c I was teaching myself how to get the most out of the CellBE (and that was a feature of the system: if a machine had effectively 2 or 4 cores work would be put on them but if it had say 7 (a la SPUs on Cell) then those would be put to work.

    At the end of the day it was a lot of work and I was pretty burnt out but at the same time, it was one of the projects of which I am most proud.
    C/C++ Environment: GNU CC/Emacs
    Make system: CMake
    Debuggers: Valgrind/GDB

  5. #5
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    My most exciting job to date (and I doubt I will ever get anything like that again) was not written on C or C++.

    It was the pride of making part of the multi-national team that, while under a project subsidized by the World Bank, developed 15 years ago the national budget control system for Angola. 4 years on the making. Clipper, Visual Basic and Delphi 2 depending on the subsystems being implemented. But essentially, Clipper for much of the grunt data entry and reporting subsystems as well as core database, visual basic and delphi for management and administrative tasks.
    Last edited by Mario F.; 12-19-2009 at 11:45 PM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  6. #6
    Malum in se abachler's Avatar
    Join Date
    Apr 2007
    Posts
    3,195
    I wrote an application that catches people cheating at roulette by analyzing raw video feed from a security camera. The coolest thing about it was that I got to meet the real guy that Laurence Fishburne's character in 21 is based on. He taught me quite a few ways to cheat, and during the project we figured out a few more. It was an interesting problem, so many things to take into consideration that the system had to figure out on the fly.
    Last edited by abachler; 12-20-2009 at 02:36 AM.

  7. #7
    Registered User jeffcobb's Avatar
    Join Date
    Dec 2009
    Location
    Henderson, NV
    Posts
    875
    Quote Originally Posted by Mario F. View Post
    My most exciting job to date (and I doubt I will ever get anything like that again) was not written on C or C++.

    It was the pride of making part of the multi-national team that, while under a project subsidized by the World Bank, developed 15 years ago the national budget control system for Angola. 4 years on the making. Clipper, Visual Basic and Delphi 2 depending on the subsystems being implemented. But essentially, Clipper for much of the grunt data entry and reporting subsystems as well as core database, visual basic and delphi for management and administrative tasks.
    I heard good things about Clipper but at the time I had a chance to get into it, was seduced by Delphi. I had never coded in Pascal prior to that but as someone who was struggling with the Win31 API, Delphi was like a breath of fresh air. I was at the SD conference in Chicago when Phillippe Kahn (sp) introduced Delphi and I bought a copy on the spot. The cool thing about him was that unlike most other "executives" of the day, PK really knew his stuff when it came to programming and that sold me on the system almost immediately. He was one smart fellow.

    The odd thing about Delphi is that the same guy who wrote it wrote .NET stuff and where the Delphi stuff seems obvious and natural in implementation, .NET does not. No idea why.......

    As for the project itself it must have been cool because for the first 5-7 years I was in the biz I did a lot of business applications, none of which I would call "interesting". Big and complex, yes but interesting, no. Not saying yours was not; only that mine were boring insurance and billing apps and so on.

    J.
    C/C++ Environment: GNU CC/Emacs
    Make system: CMake
    Debuggers: Valgrind/GDB

  8. #8
    Registered User jeffcobb's Avatar
    Join Date
    Dec 2009
    Location
    Henderson, NV
    Posts
    875
    Quote Originally Posted by abachler View Post
    I wrote an application that catches people cheating at roulette by analyzing raw video feed from a security camera. The coolest thing about it was that I got to meet the real guy that Laurence Fishburne's character in 21 is based on. He taught me quite a few ways to cheat, and during the project we figured out a few more. It was an interesting problem, so many things to take into consideration that the system had to figure out on the fly.
    That sounds pretty cool! It sounds like the kind of app that has you up at all hours when BFOs strike you about adding non-obvious approaches to the problem...^__^
    C/C++ Environment: GNU CC/Emacs
    Make system: CMake
    Debuggers: Valgrind/GDB

  9. #9
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by jeffcobb View Post
    The odd thing about Delphi is that the same guy who wrote it wrote .NET stuff and where the Delphi stuff seems obvious and natural in implementation, .NET does not. No idea why.......
    I wouldn't call Delphi obvious and natural. But maybe I'm reading you wrong.
    In any case, neither is C#, I agree. In fact, been thinking for a while to write here about C# and what I'm perceiving as the good and the bad of the language. I've been learning it for the past months. An while I'm generally very impressed, there's a few annoying aspects to it.

    In any case "obvious and natural" is pretty much only a problem during the apprenticeship phases. Once the rules of the language are known and some experienced was obtained, those internal idiosyncrasies all languages share (some just more than others) tend to not matter.

    As for the project itself it must have been cool because for the first 5-7 years I was in the biz I did a lot of business applications, none of which I would call "interesting". Big and complex, yes but interesting, no. Not saying yours was not; only that mine were boring insurance and billing apps and so on.
    There's a whole world of entirely different business applications out there. Fortunately I could afford to be picky about my career at the time, so only a small portion of it was actually spent doing "billing apps".

    - With LightShip and Command Center++ (a cross between Pascal and C, both then developed by Pilot Software), I had the pleasure of developing EIS and DSS systems for banks and large corporations for the good part of the 3 years that preceded my traveling to Angola to participate on that project I spoke before.

    - I specialized on Data Analysis, and by extension database-driven programming. Consequently, I've been involved on all sorts of projects, from custom-made stock management systems to whole SCMs, from adding code to existing Global Trade Management Solutions or participating in the development of Workload Automation solutions, to mundane GUI applications serving as the window to these systems.

    And judging from my years on this forum, I'm not even the most exciting person around.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  10. #10
    Registered User jeffcobb's Avatar
    Join Date
    Dec 2009
    Location
    Henderson, NV
    Posts
    875
    Quote Originally Posted by Mario F. View Post
    I wouldn't call Delphi obvious and natural. But maybe I'm reading you wrong.
    This is why there are different languages; what makes sense to one person seems obtuse to another and vice-versa. To me, at that time the way that Delphi interacted with objects (GUI, database, IO ports, etc) made perfect sense whereas the Win31 SDK for C at the time seemed needlessly complex and you had to work twice as hard to get the same result.

    In any case "obvious and natural" is pretty much only a problem during the apprenticeship phases. Once the rules of the language are known and some experienced was obtained, those internal idiosyncrasies all languages share (some just more than others) tend to not matter.
    I am sorry but I disagree. I have been coding Perl for 10 years and there are aspects of it I still find tedious and definitely unnatural.

    As for the apprenticeship remark, I assume you meant that as a compliment b/c after 25+ years doing this, I am still always learning and will forever be a student. To be anything else is to stagnate.

    - I specialized on Data Analysis, and by extension database-driven programming. Consequently, I've been involved on all sorts of projects, from custom-made stock management systems to whole SCMs, from adding code to existing Global Trade Management Solutions or participating in the development of Workload Automation solutions, to mundane GUI applications serving as the window to these systems.
    Well as they say one mans meat is another mans poison. I have always found embedded and systems (OS) software the most interesting stuff to code, with machine learning coming in second. I am sure that you and MK27 would rather die than do this all the time whereas for me, I go to work everyday with a smile on my face because of it. To each his own, as they say. I never meant to imply that business apps are boring in an of themselves; rather they do not challenge me in ways that I enjoy being challenged. I like working with prototypical silicon and non-Intel hardware for example.

    If you are happy in that which you do, then be content. I am happy with what I do in my line. This is why I started this thread, to learn what other coders think is interesting, not to cast disparaging remarks upon anyone's choice.

    Cheers,
    Jeff
    C/C++ Environment: GNU CC/Emacs
    Make system: CMake
    Debuggers: Valgrind/GDB

  11. #11
    Malum in se abachler's Avatar
    Join Date
    Apr 2007
    Posts
    3,195
    Quote Originally Posted by jeffcobb View Post
    I heard good things about Clipper.
    ........ Clipper, and its momma too. Worst implementation ever, it wouldn't run properly on anything but a genuine Intel processor because they used undocumented and unsupported features of the processor. Although it did make us a lot of money when our competitor sold 100 Cyrix processors to a state agency, and then they corrupted the database

    I think one of the biggest kludges they used had to do with writing a timing loop that basically used the loop instruction and expected it to behave the same each iteration. Cyrix for one had pipelining that made loops run faster after the first run, which caused clippers deprecated methods to fail. Particularly if the loop contained nothing but NOP's the cyrix completely optimized it out and just continued.
    Last edited by abachler; 12-20-2009 at 09:09 PM.

  12. #12
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Never did have much problems with it or heard of anyone having problems. And... we used Clipper extensively. But it's possible we never installed our apps on non Intel processors. I couldn't possibly remember.

    That said, Clipper did have a few annoying problems. I remember it did. I just don't remember which. I kinda moved on.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  13. #13
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by jeffcobb View Post
    As for the apprenticeship remark, I assume you meant that as a compliment b/c after 25+ years doing this, I am still always learning and will forever be a student. To be anything else is to stagnate.
    *shrug*
    I meant something else entirely.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  14. #14
    Registered User jeffcobb's Avatar
    Join Date
    Dec 2009
    Location
    Henderson, NV
    Posts
    875
    <Smile> I know; your attempt to be boorish, arrogant and insulting was obvious; now it is obvious to everyone. I came here to share what I know and to learn what I don't. Why you have taken the path you have is beyond me but I no longer care; go find someone else to attack.
    C/C++ Environment: GNU CC/Emacs
    Make system: CMake
    Debuggers: Valgrind/GDB

  15. #15
    Malum in se abachler's Avatar
    Join Date
    Apr 2007
    Posts
    3,195
    Quote Originally Posted by jeffcobb View Post
    <Smile> I know; your attempt to be boorish, arrogant and insulting was obvious; now it is obvious to everyone. I came here to share what I know and to learn what I don't. Why you have taken the path you have is beyond me but I no longer care; go find someone else to attack.
    Funny that the nature of all your many hundred posts doesn't seem to convey to others that you have any knowledge to share or desire to learn anything. I really fail to see where Mario warrants this level of attack. As much as I disagree with him on occasion, at least he seems to have actual experiences even if they differ from my own. You sound like a poser.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Problem Displaying a Struct
    By rockstarpirate in forum C++ Programming
    Replies: 16
    Last Post: 05-05-2008, 09:05 AM
  2. added start menu crashes game
    By avgprogamerjoe in forum Game Programming
    Replies: 6
    Last Post: 08-29-2007, 01:30 PM
  3. Dynamic Binding
    By gpr1me in forum C++ Programming
    Replies: 1
    Last Post: 03-24-2006, 09:01 AM
  4. Game Independent Anti-cheat Project Needs Programmers
    By GIA Project Lea in forum Projects and Job Recruitment
    Replies: 3
    Last Post: 09-15-2005, 07:41 PM