The CORBA messages are carried over TCP. Inside, each message consist of message header and message data.
The structure of message header is :
char[4] magic;
octet[2] GIOP_version;
octet flags;
octet message_type;
unsigned long message_size;
First 4 octets contain "GIOP", then followed with 2 octets of GIOP version (high byte is for Major version, low byte is for minor version).
flags (in GIOP 1.1, 1.2, and 1.3) is an 8-bit octet. The least significant bit indicates the byte ordering used in subsequent elements of the message (including message_size). A value of FALSE (0) indicates big-endian byte ordering, and TRUE (1) indicates little-endian byte ordering. The byte order for fragment messages must match the byte order of the initial message that the fragment extends.
The second least significant bit indicates whether or not more framents follow. A value of FALSE (0) indicates this message is the last fragment, and TRUE (1) indicates more fragments follow this message. The most significant 6 bits are reserved. These 6 bits must have value 0 for GIOP version 1.1, 1.2, and 1.3.
message_type indicates the type of the message; these correspond to enum values of type MsgType.
message_size contains the number of octets in the message following the message header, encoded using the byte order specified in the byte order bit (the least significant bit) in the flags field (or using the byte_order field in GIOP 1.0). It refers to the size of the message body, not including the 12-byte message header. This count includes any alignment gaps and must match the size of the actual request parameters (plus any final padding bytes that may follow the parameters to have a fragment message terminate on an 8-byte boundary).
MsgType definition:
enum MsgType_1_1 {
Request,
Reply,
CancelRequest,
LocateRequest,
LocateReply,
CloseConnection,
MessageError,
Fragment // GIOP 1.1 addition
};
So, message_type may containt 0 for "Request", octet 1 (00000001) for Reply an so on.
Sunday, June 5, 2005
Forget My Ignorance! (answer to Bad Documentation...)
I am supposed to write this blog a while ago, but with all workload and family life, no time to update this blog. Anyway, a few days after I wrote the blog "Bad Documentation of Compaq Products", I went to CompUSA. A salesperson approached me and asked what he could help.
I told him that I was looking for FireWire cable for my new Compaq laptop. He then brought me to a rack full of different kind of cables. I told him that I had bought one (4-pin to 4-pin), but somehow could not fit to the laptop.
He asked me what kind of laptop I have. I explained to him that it is Compaq Presario R3000. He then brought me to computer section and we found the kind. He then tried the cable. In the beginning, it could not go all the way to the socket. He then carefully reinserted, and amazingly it fitted!.
I was stunned! How could this cable fits to the connector, while mine does not. Rushing back home (after saying to the salesperson that I will buy the cable if mine still does not fit), I carefully inserted it. First, it's kinda hard. I tried again, but now really align it and with little force. Voila!, it worked!
So, with this blog I would like to revise my previous blog. But, still Compaq does not provide a complete detail about some parts of the laptop.
I told him that I was looking for FireWire cable for my new Compaq laptop. He then brought me to a rack full of different kind of cables. I told him that I had bought one (4-pin to 4-pin), but somehow could not fit to the laptop.
He asked me what kind of laptop I have. I explained to him that it is Compaq Presario R3000. He then brought me to computer section and we found the kind. He then tried the cable. In the beginning, it could not go all the way to the socket. He then carefully reinserted, and amazingly it fitted!.
I was stunned! How could this cable fits to the connector, while mine does not. Rushing back home (after saying to the salesperson that I will buy the cable if mine still does not fit), I carefully inserted it. First, it's kinda hard. I tried again, but now really align it and with little force. Voila!, it worked!
So, with this blog I would like to revise my previous blog. But, still Compaq does not provide a complete detail about some parts of the laptop.
Sunday, May 8, 2005
Bad Documentation on Compaq Products
I had been wondering why my old video camera's I.LINK (or Firewire or IEEE 1394, either one as they are identical) cable could not fit to my Compaq Presario R3000z port. I thought, "aah...o course it does not fit, the other end that goes to the camera is Female 4-pin, while another end that goes to PC has 6-pin. I getta buy a 4-pin to 4-pin cable then".
I rushed to BestBuy (which is the closest electronic superstore from my home) and found one made by Sony. Suprised with its higher-than-expected price, I asked a salesperson overthere whether there is another option. He told me to go to Cable & Networking aisle. Gotcha! I found one with 10 bucks less than the Sony one (it's $32 or something, forgot). The cable is 4-pin M to 4-pin M.
Getting back home, I opened the box and then tried to connect it to the laptop. Suprisingly I could not make it!. After checking the pins and the shape I then realize the cable's connector is slightly in difference shape than the the laptop'. Damn! I had wasted 35 bucks for useless cable.
I went to compaq.com, but could not find anything related to this issue. I then went to google. After skipping some pages, I spot a page from hp.com documenting the laptop (forgot what's the title of the PDF file). But still could not figure out what kind of connector it requires.
I really am dissapointed to see a big company as HP misses this small-but-important thing. Their product documentation is bloody bad too. Hope they change that. I like their products (I have HP printer and later this R3000z). But the recent problem affects my rating of their quality to about below-average in term of documentation.
I rushed to BestBuy (which is the closest electronic superstore from my home) and found one made by Sony. Suprised with its higher-than-expected price, I asked a salesperson overthere whether there is another option. He told me to go to Cable & Networking aisle. Gotcha! I found one with 10 bucks less than the Sony one (it's $32 or something, forgot). The cable is 4-pin M to 4-pin M.
Getting back home, I opened the box and then tried to connect it to the laptop. Suprisingly I could not make it!. After checking the pins and the shape I then realize the cable's connector is slightly in difference shape than the the laptop'. Damn! I had wasted 35 bucks for useless cable.
I went to compaq.com, but could not find anything related to this issue. I then went to google. After skipping some pages, I spot a page from hp.com documenting the laptop (forgot what's the title of the PDF file). But still could not figure out what kind of connector it requires.
I really am dissapointed to see a big company as HP misses this small-but-important thing. Their product documentation is bloody bad too. Hope they change that. I like their products (I have HP printer and later this R3000z). But the recent problem affects my rating of their quality to about below-average in term of documentation.
Tuesday, May 3, 2005
Next Generation DVD battle
There are two groups of next generation DVD which are battling to win as standard for next generation DVD. One group with Sony and Philips as ones of its members is proposing Blu-Rays, another one while Toshiba and others is proposing HD-DVD. To summarize the differences between them, I put a table here:
HD-DVD
Standardization Body www.dvdforum.org
Key Hardware Supporters Toshiba, NEC, Sanyo
Key Hollywood Studio Backers Paramount, New Line, Universal, Time Warner
ROM Capacity 15 GB (SL), 30 GB (DL)
Laser Pickup Blue Laser
Numerical Aparture of Lens 0.65
Design Emphasis Download compatibility with existing DVD standard
CODEC MPEG-2, ITU H.264 (AVC), VC-1
Copy Protection Advanced Access Content System (AACS)
Interative Software Based on derivative of Microsoft's MSTV
Blu-Ray
--------
Standardization Body www.blu-raydisc.com
Key Hardware Supporters Sony, Hitachi, LG, Mitsubishi, Panasonic, Pioneer,
Philips, Samsung, Sharp, Thomson, Apple, Dell, HP
Key Hollywood Studio Backers Sony Pictures, Tri-Star, Disney, MGM
ROM Capacity 25 GB (SL), 50 GB (DL)
Numerical Aparture of Lens 0.85
Design Emphasis Larger Storage Capacity
CODEC MPEG-2, ITU H.264 (AVC), VC-1
Copy Protection Advanced Access Content System (AACS)
Interative Software Based on Java-based MHP/GEM
HD-DVD
Standardization Body www.dvdforum.org
Key Hardware Supporters Toshiba, NEC, Sanyo
Key Hollywood Studio Backers Paramount, New Line, Universal, Time Warner
ROM Capacity 15 GB (SL), 30 GB (DL)
Laser Pickup Blue Laser
Numerical Aparture of Lens 0.65
Design Emphasis Download compatibility with existing DVD standard
CODEC MPEG-2, ITU H.264 (AVC), VC-1
Copy Protection Advanced Access Content System (AACS)
Interative Software Based on derivative of Microsoft's MSTV
Blu-Ray
--------
Standardization Body www.blu-raydisc.com
Key Hardware Supporters Sony, Hitachi, LG, Mitsubishi, Panasonic, Pioneer,
Philips, Samsung, Sharp, Thomson, Apple, Dell, HP
Key Hollywood Studio Backers Sony Pictures, Tri-Star, Disney, MGM
ROM Capacity 25 GB (SL), 50 GB (DL)
Numerical Aparture of Lens 0.85
Design Emphasis Larger Storage Capacity
CODEC MPEG-2, ITU H.264 (AVC), VC-1
Copy Protection Advanced Access Content System (AACS)
Interative Software Based on Java-based MHP/GEM
Sunday, May 1, 2005
AMD Clock and Voltage
After almost a month having the laptop, I have not been able to make my R3000Z laptop utilize the maximum clock frequency and voltage allowed on the CPU. So far, I have downloaded AMD PowerNow Deskboard to monitor CPU utilization, clock and its voltage. It keeps using 36% of the maximum CPU speed. The voltage has been hanging at 1.1 volts. Although, this really saves the batteries alot (90%).
I tried Rightmark CPU Clock Utility. I could pump up the clock and voltage automatically, or by manual. By so far, why the pre-installed AMD driver could not adjust frequency and clock to what I want. I tried to overload the CPU with a lot of processes, but still no change.
I tried Rightmark CPU Clock Utility. I could pump up the clock and voltage automatically, or by manual. By so far, why the pre-installed AMD driver could not adjust frequency and clock to what I want. I tried to overload the CPU with a lot of processes, but still no change.
Sunday, April 10, 2005
Compaq Presario R3000Z
Last week my order of new laptop I ordered from hpshopping.com arrived. It is Compaq Presario R3000Z with AMD64 3400+ MHz processor, WinXP home edition, 1 GB RAM, 80 GB 5400 RPM harddisk, 12 cell battery, 54g broadcom wifi + bluetooth, 64 MB Nvidia 440 Go, and 12680x1050 screen resolution. Not bad at all for total 1460 USD which I got 12 months interest-free loan from HP. The price is Employee Promotion Program as my employer has special with HP for their employees.
I did some tests such as leaving the closing and reopening the lid, ethernet (wired) link and wifi. They went OK, although sometimes the wifi interfered with my Linksys PCMCIA card that was on my another laptop (Tecra 8000. See my other blog about where and when I got this free laptop :-).
After a few days trying and installing some applications, I then repartitioned the harddisk using Norton's Partition Magic 8.0. I partitioned about 12 GB for Linux, 512 MB for its swap disk. I used Novell SuSe Linux Pro 9.2 for the Linux. Most of the hardware got detected (I was suprised that the touchpad even did work. I read somewhere on the Internet, the guy said it was kinda hard to make the touchpad work, but it was OK on my Linux. Perhaps because I use SuSe Linux 9.2?). For the wifi, as usual Broadcom does not provide the driver for Linux, but thanks to Ndiswrapper it could use the driver from Windows instead. But I still have problem even with ndiswrapper. Somehow, dhcp client could not get IP address, although the Wi-Fi recognized and found my Access Point (which is Netgear 802.11b) and found its MAC Address. I am not sure whether this is because of the kernel I use (oh, forget to mention that SuSE 9.2 comes with kernel 2.6.9, so I upgrade the kernel to the latest at this time, 2.6.11.7)
When I compiled the kernel and ndiswrapper, I used all the processor-specific optimizations by defining the environment variable CFLAGS and CPPFLAGS. My CFLAGS contains "-mcpu=athlon64 -mfpmath=sse -msse3 -m3dnow -m64 -mthreads", so is CPPFLAGS. No errors during compilation and everything went well. But I was still wondering why gcc could not recognize -m64 when I tested by creating a small C program and compiled it with CFLAGS as above?
The laptop's software packages come with Microsoft Works (not bad for many daily simple uses), Microsoft Money 2005 Standard Edition, InterDVD 4, RecordNow! CD&DVD burning software, Muvee Autoproducer and some other programs. Yes, I custom ordered the laptop with dual layer DVD writer.
The most I like from the laptop is its screen. It's so cool!. It is WSXGA 15'4 in screen, so it is so bright and displayed fonts are so crispy and bold. Even on Linux (which I set the resolution also to its maximum allowed, 1680x1050), it really rocks!
The processor uses powerNow technology from AMD. During normal use (which takes most of the time), the clock is adjusted to low (about 700 MHz). According to AMD spec, the maximum clock on Athlon64 3400+ Mobile is 2.2 GHz. But I haven't been able to test to make the processor reach its maximum speed. I think when it is rendering video it may go to that speed. When the CPU increases its CPU clock, the laptop gets hotter and this will trigger the CPU fan to blow the hot air. So far, I have not experienced the laptop goes too hot. May be if I am running Doom3 or Half-Life 2?
What think I don't like from the laptop is its weight. It is 2 times heavier than my IBM T40 laptop at-work. Well, what the heck, I don't really intend to use this laptop for mobile, but mostly to make me more flexible wanding around with it and still be able to do my hobby (hacking :-)
Overall, I love this laptop. I really recommend this for people are seeking a balance between budget and performance. Besides, it supports 64-bit processing, so when Microsoft finally releases its WinXP officially we still are not behind and not need to upgrade our hardware so the workhorse can still be used for few years (until IA32 finally obsoletes and a new architecture comes).
I did some tests such as leaving the closing and reopening the lid, ethernet (wired) link and wifi. They went OK, although sometimes the wifi interfered with my Linksys PCMCIA card that was on my another laptop (Tecra 8000. See my other blog about where and when I got this free laptop :-).
After a few days trying and installing some applications, I then repartitioned the harddisk using Norton's Partition Magic 8.0. I partitioned about 12 GB for Linux, 512 MB for its swap disk. I used Novell SuSe Linux Pro 9.2 for the Linux. Most of the hardware got detected (I was suprised that the touchpad even did work. I read somewhere on the Internet, the guy said it was kinda hard to make the touchpad work, but it was OK on my Linux. Perhaps because I use SuSe Linux 9.2?). For the wifi, as usual Broadcom does not provide the driver for Linux, but thanks to Ndiswrapper it could use the driver from Windows instead. But I still have problem even with ndiswrapper. Somehow, dhcp client could not get IP address, although the Wi-Fi recognized and found my Access Point (which is Netgear 802.11b) and found its MAC Address. I am not sure whether this is because of the kernel I use (oh, forget to mention that SuSE 9.2 comes with kernel 2.6.9, so I upgrade the kernel to the latest at this time, 2.6.11.7)
When I compiled the kernel and ndiswrapper, I used all the processor-specific optimizations by defining the environment variable CFLAGS and CPPFLAGS. My CFLAGS contains "-mcpu=athlon64 -mfpmath=sse -msse3 -m3dnow -m64 -mthreads", so is CPPFLAGS. No errors during compilation and everything went well. But I was still wondering why gcc could not recognize -m64 when I tested by creating a small C program and compiled it with CFLAGS as above?
The laptop's software packages come with Microsoft Works (not bad for many daily simple uses), Microsoft Money 2005 Standard Edition, InterDVD 4, RecordNow! CD&DVD burning software, Muvee Autoproducer and some other programs. Yes, I custom ordered the laptop with dual layer DVD writer.
The most I like from the laptop is its screen. It's so cool!. It is WSXGA 15'4 in screen, so it is so bright and displayed fonts are so crispy and bold. Even on Linux (which I set the resolution also to its maximum allowed, 1680x1050), it really rocks!
The processor uses powerNow technology from AMD. During normal use (which takes most of the time), the clock is adjusted to low (about 700 MHz). According to AMD spec, the maximum clock on Athlon64 3400+ Mobile is 2.2 GHz. But I haven't been able to test to make the processor reach its maximum speed. I think when it is rendering video it may go to that speed. When the CPU increases its CPU clock, the laptop gets hotter and this will trigger the CPU fan to blow the hot air. So far, I have not experienced the laptop goes too hot. May be if I am running Doom3 or Half-Life 2?
What think I don't like from the laptop is its weight. It is 2 times heavier than my IBM T40 laptop at-work. Well, what the heck, I don't really intend to use this laptop for mobile, but mostly to make me more flexible wanding around with it and still be able to do my hobby (hacking :-)
Overall, I love this laptop. I really recommend this for people are seeking a balance between budget and performance. Besides, it supports 64-bit processing, so when Microsoft finally releases its WinXP officially we still are not behind and not need to upgrade our hardware so the workhorse can still be used for few years (until IA32 finally obsoletes and a new architecture comes).
Subscribe to:
Posts (Atom)