Jun. 23rd, 2006
06:55 pm - Fantastic online resource for C++
06:07 pm - Better C++
I have put together some suggestions for beginner to intermediate C++ programmers who want to make their applications more robust and spend less time debugging. Also, there is a big difference between classroom code and production code. I have included some suggestions for people who have not yet made the transition between the code they hand in to professors and real-life working code.
1. Put the constant on the left in a conditional.
2. Wrap your header files in #ifdefs.
3. Handle errors, not bugs.
4. Use asserts in debug builds.
5. Use exceptions.
6. Don't ignore API function return values.
7. Make your code const-correct.
8. Comment before you code.
9. Be consistent.
10. Design a minimal interface.
These are very very important, so that a programmer can actually exploit all the powers of the tool!
Jun. 16th, 2006
01:33 pm - Busy times postponed!
My busy times had been just postponed by another 3 months.
Protel translator does not go in EDAconduit 2.1.0 release. Instead it has been shifted to 3.0 release.
Though all development efforts stands complete, its lack of time for QA certification, that has forced such a move.
Well my baby has to wait for 3 more months to hit the EDA market!
Its kinda good, so that I can stabilize it to greater extent by teh time of the actual product release.
Now, focus on EDAConduit Licensing and roll that out by next weekend.
Make sure it goes for build on 23rd June 2006, so that I can have a peaceful vacaton for the first week of July!
Well, first tennins then trekkings' been planned for this weekend!
11:46 am - QT stays
The Optimus Release Vision states that there should be no dependency on MainWIn and MFC (Microsoft Foundation Classes) in Optimus, yet enable portability between Windows, Unix and Linux.
Also, UNICODE should be supported.
This was achieved by replacing COM with Corba, and using Qt class libraries instead of Microsoft's MFC. For example, CString was replaced by QString and QCString.
We launched an experiment to see if an Optimus reader/parser could (easily) be developed using freeware or open source libraries, and not use Qt nor MFC. This is because parser-development may be contracted out, and Qt may not be available.
The Optimus parsers/readers currently use the QT headers:
qstring.h, qdatetime.h, qfile.h, qvaluevector.h, qstringlist.h, qmap.h and qregexp.h
and Qt libraries:
qt-mt334.lib and qtmain.lib.
The Allegro parser was chosen, to loose Qt, for the experiment. The non-parser parts of Optimus (ICM, Corba interface, UI, graphics) would still use Qt. The Api interface to the new ICM database was enhanced to accept char* strings instead of QStrings, and file input changed to use ifstream instead of QFile. QDateTime was ignored (we can always use time.h). A search was launched to find libraries with a similar functionality to QSting (or CSting).
After searching many websites, such as freshmeat , sourceforge , codeguru , I found several classes derived from the C++ Standard Template Library . Here are links to the most promising:
• BasicString - Unite the best features from the STL's basic_string and MFC's CString classes using an STL-based template string class. Allows all classes based on this template to be completely interactive with each other.
• ApxString - A non-MFC alternative to CString.
• CStdString - CString like class using STL.
• CStr - Fast and efficient CString replacement.
All four supports UNICODE (wide char), and have CString like functionality (TrimLeft, Find etc). The source is fully available with a free download. This software is "freeware" and "as-is", developed by individual persons, and therefore no support is guaranteed.
I searched for (free) Open Source, supported packages for string manipulations, and found only this from Silicon Graphics:
• basic_string - Generic Standard Template Library.
This package lacks some of the QString/CString functionality we want.
The CStdString from above was chosen to (temporarily) replace QString in the Optimus Allegro reader. The conversion went fairly smoothly. It compiled and ran with the CORBA interface and the char* Api, and populated the ICM with 90% data before it crashed on a ApiRefMapGetObj problem (not debugged yet).
It is possible to replace Qt in a reader/parser on Windows and probably Solaris, but it is painful to have to debug, fix and maintain an unsupported package. I recommend using Qt for all parsers, as it is tested, supported, used all over Optimus and we have confidence in it. The price of a license is reasonable. We also have the Qt source code in case of a disaster at TrollTech.
May. 31st, 2006
06:01 pm - mundane stuff....
ok... so whats up this week .... lets see...
First reviews of Protel translator expected by next Week start!
So get ready for a flood of SPRs.
Internal code freeze fixed on June 25th. So make sure all functonality issued are promptly discussed and fixed.
Yeah.. IDX .. lotsa R&D to be done on IDX format..
work more on ECAD, MCAD Collaboration!
Get an inside out preview on IDF Format to understand the IDX Format completely.
try and get pro's and con's of using QT against UI Tool Kit, a short presentation would be very helpful indeed.
Ok check out this
and c how useful it is...
its looks gud but check for implimentation issues!
make it a point to go for the treck this weekend.. not to miss out on this!
May. 18th, 2006
02:08 pm - QT maintaiance release update...
Qt 4.1.3 - the latest maintenance release to the Qt 4.1 series - is now available, incorporating numerous bug fixes and optimizations.
Qtopia Core 4.1.3 has also been released to Qtopia Core customers.
For detailed information, please consult the changes-4.1.3 file found in the package, or visit http://www.trolltech.com/developer/note
May. 11th, 2006
Get some sleep... lotsa work in the last 2 months...
u need to unwind...
Ok am planning a vacation in the 1st week of July...
This weekend... Things to do...
#1. Not to come to Work!
#2. Get ur ass to MUMBAI! Have fun...
#3. Go para gliding.... Some theme park.. water park.. what eva...
#4. Get a hair cut!!!!
#5. Hmm... nothin else left...
10:24 am - Targets met!!!!
Protel goes to build on Friday... Pat on my back for that. But COMPPIN goes in only on next Friday's build, a kick on my ass for that!
But am pretty satisfied with it... was one heck of a translator...
So here's what I did to get it up and running:
#1. Develppoed some crude algorithm to read in the netlist and hit a coordinate comparison method to compare wire and pin points.
#2. Fixed that pain in my ass... yup... the component rotation. The point transformation algorithm was pretty screwed up, so once I fixed that, things fell in place.
#3. A decent work in regenerating the sheet/border informaton/geometries.
#4. took a lot of help from PAVAN...
So here's what I missed out during this whole Translator /Parser thing:
#1. Did not go to c off, mom n dad... too bad - a kick on my ass!
#2. Did not go to c off, dear lil sis to London... three bad...
#3. Did not catch up with a lot of friends... four bad...
#4. Missed my first DATE.... hmm seems like I deserve this....
#5. Most Important... did't go to GYM!!!!
So now here's what I will be doin in th erecent future:
#1. Stop Procastinating! Do whatcha havta do... and do it now!(domestic work... my flat stinks!)
#2. Take a vacation as soon as sear lil sis, mom n dad r back in Bangalore... Get ur ass to Bangalore! which means no vacation till 1st week of July...
#3. Get ur ass to the Gym daily and work out dude!...
#4. Go get a break 4 ur self... a trip to the Water park! or a go para gliding... u gottoo do some thing to unwind! ur ass is stressed up!
May. 7th, 2006
01:07 pm - MCAD+ECAD ---------------> IDX
Working on an MCAD/ECAD collaboration effort that includes an integration effort with Pro/E product.
Inline with this specific collaboration effort, attempting to define a new file format by utilizing those ideas abstracted from the IDF format.
The new file format (which will be a PTC proprietary format) is currently named, IDX.
The proposed content of this file will be XML-based (backed by an XML schema definition) and it will extend those features and/or ideas that are part of the IDF format.
Therefore, in order to obtain a better idea of what the IDX format will contain it is necessary to understand the IDF format.
01:02 pm - JAVA PLUGIN WEB CONTROL
I will start discussion case with SUN rep on this soon. Patricia Lutsky would be a good resource ?
As a short summary for this issue so far - there are 3 more or less feasible workarounds :
1) uninstall MS JVM if it is present.There is an official MS tool that can do this, plus WinXP installed with SP2 from scratch does not have MS JVM in the first place.
2) do "setenv JAVA_PLUGIN_WEBCONTROL_ENABLE true" before running the application.This is current SUN's suggestion for resolving this issue, as per http://developer.java.sun.com/devel
3) reuse the logic of generating proper "applet" vs "object" tag for the component as done in WC.
Navigate: (Previous 10 Entries)