You can contact me thru the Realeyes forums on Sourceforge. The areas where I could use some help include:
- The sensor has its own memory management because of buffering requirements. This and the ways buffers are used and released by the analysis engine need improvement.
- I would like to port the DB interface from Java to C or C++.
- I would like to improve the DB exporting capabilities for better reporting and interfacing with other systems, such as problem ticketing systems.
- There are several features I would like to add to the user interface.
Later . . . Jim
Gene left the company and took much of his team with him. He got funding from several investors, including Fujitsu and built an IBM 370 clone that ran circles around the IBM machine. IBM's response was to redesign the architecture, which forced Amdahl to focus on keeping up with the changes instead of improving performance. Still, the company gave IBM some serious competition which was good for customers.
I doubt that this could happen in today's 'IP hoarding' world.
Later . . . Jim
However, space exploration won't work in onesies and twosies. Historically exploration has been done by small groups venturing out beyond the known limits of their territory in search of something to add value to their community. Each new group then builds on the experience of previous groups and increases the depth and breadth of knowledge about the unknown territory.
There needs to be a permanent presence in local space that can function as a stepping stone to the next destination. This means at least 2 space stations (preferably more) that can hold several hundred workers. And there needs to be regular flights between the stations and Earth (monthly at a minimum, preferably weekly). This accomplishes several things:
1) We learn how to "live" in space, especially dealing with solar radiation and similar issues.
2) We can accumulate large payloads for journeying to the Moon and other planets.
3) Space travel becomes viable for private business, which will drive it much faster and further than gov't.
4) Public support of space travel/exploration will increase because there will be a realistic idea that, "Hey, I (or my kid) could work in space," as opposed to, "Stop wasting my tax dollars on something that doesn't get me anything," (the 'I don't like Tang' argument).
Until space travel becomes somewhat routine, manned space exploration is not accomplishing much more than a kid throwing a parachute up in the air to watch it float back down. And that will never happen as long as we have to start from the Earth every time.
Later . . . Jim
From a performance perspective, a program that works well on a standalone system or even a LAN might be a dog over the web. There is also the issue of scalability. When you start pumping huge amounts of data into an app, it should not grind to a halt if the algorithms are as efficient as possible. BTW, you can learn a lot about writing efficient code by working in assembler.
From a security perspective, you should not only be validating inputs and outputs based on the underlying infrastructure, but you should also provide the admins of your app with all the info you can to help them safely configure and maintain it.
Unfortunately, this is not limited to the self-taught. I have not met anyone who took a course devoted to secure programming. And the level of detail in various CS programs is all over the map.
Later . . . Jim
Also, language matters in choosing a career path. If you want to work on virtualization or embedded systems, you should have a good knowledge of C/C++. But if you want to work on web/cloud apps, you should know Perl/PHP/Python and/or Java. And that doesn't mean just being able to compile successfully. You need to understand in depth such things as exception handling, libraries, file and memory management, data validation, web and database interfaces, etc., etc., etc. Sure you learn this on the job, but knowing about it coming out of school puts you ahead of the competition.
Several other people have mentioned working on a project on your own. I suggest that you look for a project that interests you at SourceForge. Even if your work doesn't end up being used, you should at least learn something.
Finally, there are two issues that I think get too little attention, both in school and at work: documentation and security. For these, you need to do some research. Everyone I know has complained about the doc or stupid error messages for apps they are trying to use. But most of those same people also complain about having to keep doc up to date whether they are programmers or admins. It's up to all of us to make it better.
Security is more complicated. Everyone talks about best practices, but if you ask 10 different people what that means, there will only be a little bit of overlap. Those of us who consider ourselves to be professionals (ie. expect a paycheck for doing the work) need to take responsibility for improving computer security. Leaving it up to the anti-virus vendors doesn't cut it. For programmers, here is a great start:
http://dwheeler.com/secure-programs/
So think about where you would like to go in your career, do some research on the skills needed for that, and take advantage of the opportunity to learn more than the minimum you need to get the job done (the OJT credo).
Later . . . Jim
My question is, "Do you also convert the CICS calls embedded in the code (and possibly 3270 terminal commands?!?) or is there a Java library to interface with CICS?" My experience with converters is that they follow the 90-10 rule, where they do great with 90% of the code, but that's the easiest, and could almost be done with global Find/Replace. The remaining 10% is why the conversion wasn't already done.
Later . . . Jim
"I prefer the blunted cudgels of the followers of the Serpent God." -- Sean Doran the Younger