<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-23708180</id><updated>2011-06-08T14:11:55.821+08:00</updated><title type='text'>Fuzzy Space</title><subtitle type='html'>Two Confused Minds, One Eye-Opener.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://fuzzy-space.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23708180/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://fuzzy-space.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>carine~swan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-23708180.post-114577651633782589</id><published>2006-04-23T15:13:00.000+08:00</published><updated>2006-05-01T09:14:13.060+08:00</updated><title type='text'>Developing Safety Critical Software</title><content type='html'>&lt;span style=";font-family:verdana;font-size:85%;"  &gt;I attended a sharing session by a colleague who worked on a project which is of safety critical level. It was an enriching session and I was suddenly reminded of all the Software Testing techniques taught in University. How I wish I get to work in their team...

Anyway, here's some of the stuff which I want to share with you.

Steps Taken
===========

1. System Safety Analysis -&gt; identify the components which may cause hazards
2. Fault Tree Analysis (FTA) -&gt; Identify the factors which caused the hazards
3. Analysis of System Functional Processes
4. Analysis of Software Capabilities Requirement
5. Software Top Level Design
6. Design &amp;amp; Coding
7. Software Testing (which includes everything from unit, integration to system testing)

Critical or not?
================
The critical level of the software is determined by a formal analysis based on the system requirement, safety mechanism (redundancy and precaution), hazard list and use case document. For example, the critical level of a software component decreased if you have taken precaution and implement another background plan for failure. The hazard list will give you the mishap severity level (risk index). Depending on the risk index, different testing efforts are required. For functions with high critical level, unit testing with 100% coverage is required.

Testing methods
===============
Code Review - conducted by the whole team of developers, domain experts and Software Quality Assurant (SQA). They even go down into the details of removing unnecessary initialisation of variables. For embedded systems, it will be a waste of processing time.
Static Testing - Conducted using PC-Lint. It will generate a list of warning whether you code contains variables not initialised or not used at all etc.
Unit Testing - Performed using IBM Rational Test Real-Time. It helps to ensure 100% coverage.

As for integration and system testing, the presenter did not cover that as their project is still ongoing. Hope they will have another sharing session after their project closure.

P.S: Just a guideline for project managers, a 9.5K code requires around 5 man months to code and test it.
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23708180-114577651633782589?l=fuzzy-space.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuzzy-space.blogspot.com/feeds/114577651633782589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23708180&amp;postID=114577651633782589' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23708180/posts/default/114577651633782589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23708180/posts/default/114577651633782589'/><link rel='alternate' type='text/html' href='http://fuzzy-space.blogspot.com/2006/04/developing-safety-critical-software.html' title='Developing Safety Critical Software'/><author><name>carine~swan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23708180.post-114494583160468834</id><published>2006-04-14T01:31:00.000+08:00</published><updated>2006-04-14T01:42:20.650+08:00</updated><title type='text'>HOWTO: Java Swing Custom TableCellRenderer.</title><content type='html'>&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Great apologies to everyone (&lt;span style="font-style: italic;"&gt;or anyone at all&lt;/span&gt; ;op) who had long awaited for my first tech entry. More importantly, apologies to my co-contributor of this blog. She has done much more for this blog than me! Thanks! ;o&gt;

The first entry is always difficult. I am not sure  whether the topic is too basic. However, I will try to keep my entries short and simple, as I think whoever finds it useful like the important points to be clearly presented. The first topic I am going to cover is a common Swing component, JTable.

Typically, JTables are used to display data. The &lt;a href="http://java.sun.com/docs/books/tutorial/uiswing/components/table.html#renderer" target="_blank"&gt;Sun Java Tutorial&lt;/a&gt; is a great source of information on how to accomplish some common table-related tasks. One of the key feature of JTable is the default cell renderer. There is an automatic mapping between the column class type and the predefined cell renderer used. For example, a Boolean class type data will be displayed as a JCheckBox, which is more intuitive than displaying the words "true" or "false". All you need is to do is to override the &lt;span style="font-weight: bold; font-style: italic;"&gt;getColumnClass&lt;/span&gt; in your TableModel class. The code snip below shows an example of the overridden class.

&lt;/span&gt;&lt;div  style="text-align: center;font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img src="http://static.flickr.com/1/127989901_e499404307.jpg?v=0" /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;
Below is a simple table from the Java Tutorial that is implemented using the default renderer. The Boolean "vegetarian" column is rendered as a JCheckBox. However, if you noticed, the columns are all of same size and text aligned to the left.

&lt;/span&gt;&lt;div  style="text-align: center;font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img src="http://static.flickr.com/48/127999336_ac240a798b.jpg?v=0" /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;
In order to fix this problem, you'll need to use a custom table cell renderer in which you can specify the horizontal alignment. You'll probably use the &lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold;font-family:verdana;font-size:85%;"  &gt;DefaultTableCellRenderer&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt; to do the job. The following code snip shows how,

&lt;/span&gt;&lt;div  style="text-align: center;font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img src="http://static.flickr.com/44/127997997_63543cb020.jpg?v=0" /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;
Be sure to set the default renderer to your custom renderer or turn off the auto-create-column option. Otherwise, you'll have twice the number of columns, one by the default renderer and one by your custom renderer.

&lt;/span&gt;&lt;div  style="text-align: center;font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img src="http://static.flickr.com/52/127989899_4646b1f9fa.jpg?v=0" /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;
This works fine for String columns, but you'll realise the predefined renderers are not used. A Boolean column will be displayed as "true" or "false", instead of a JCheckBox. This is because the "default cell renderer" is not "DefaultTableCellRenderer". Therefore you'll actually need to write your own custom renderer to display the cells the way you want.

The trick to writing a custom renderer class is to either extend from the &lt;span style="font-style: italic;"&gt;DefaultTableCellRenderer&lt;/span&gt; or extend the component class you want to render and implement the &lt;span style="font-style: italic;"&gt;TableCellRenderer&lt;/span&gt; class, then override the &lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;font-family:verdana;font-size:85%;"  &gt;getTableCellRendererComponent&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt; method. Using the same method, you can also define color to render the cell.

&lt;/span&gt;&lt;div  style="text-align: center;font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;&lt;img src="http://static.flickr.com/51/127989900_33b050b7a6.jpg?v=0" /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;
Below are some useful resources you need to construct your perfect JTable,

IBM Developer Article: &lt;a href="http://www-128.ibm.com/developerworks/java/library/j-jtable/" target="_blank"&gt;Rendering cells in Swing's JTable component&lt;/a&gt;
Javadoc: &lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JTable.html" target="_blank"&gt;JTable&lt;/a&gt;
Java Tutorial: &lt;a href="http://java.sun.com/docs/books/tutorial/uiswing/components/table.html" target="_blank"&gt;How to Use Tables&lt;/a&gt;
Sample Code from CSUN: &lt;a href="http://www.csun.edu/%7Erenzo/cs585/Java/TableDemo.java" target="_blank"&gt;TableDemo with Custom TableCellRenderers&lt;/a&gt;

Hope that you find this entry useful! :o&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23708180-114494583160468834?l=fuzzy-space.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuzzy-space.blogspot.com/feeds/114494583160468834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23708180&amp;postID=114494583160468834' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23708180/posts/default/114494583160468834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23708180/posts/default/114494583160468834'/><link rel='alternate' type='text/html' href='http://fuzzy-space.blogspot.com/2006/04/howto-java-swing-custom.html' title='HOWTO: Java Swing Custom TableCellRenderer.'/><author><name>egeus</name><uri>http://www.blogger.com/profile/01724888561318066352</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23708180.post-114362507309135924</id><published>2006-03-29T17:36:00.001+08:00</published><updated>2006-04-14T01:36:05.270+08:00</updated><title type='text'>The 'IN' radio technology - Ultra Wide Band.</title><content type='html'>&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;span style="font-weight: bold;"&gt;Today's Straits Time:&lt;/span&gt;

" The Bluetooth wireless standard used in cell phones and other small devices will take a leap in transmission speed, broadening its scope to enable high-definition video and files for digital music players like the iPod.

The industry group behind Bluetooth said Tuesday that it would boost transfer speeds in the next few years by incorporating a new radio technology, known as ultra-wideband, or UWB.

Currently, Bluetooth works only for low-speed uses like headsets and wireless keyboards. UWB, which has yet to appear in consumer devices, enables wireless transmissions at speeds equivalent to USB or FireWire cables at distances up to 10 feet. "

So I did a research on what exactly is UWB and found this site by Intel. (http://www.intel.com/technology/comms/uwb/index.htm)

In summary,

UWB is defined as any radio technology having a spectrum that occupies a bandwidth greater than 20 percent of the center frequency, or a bandwidth of at least 500 MHz. Modern UWB systems use other modulation techniques, such as Orthogonal Frequency Division Multiplexing (OFDM), to occupy these extremely wide bandwidths. UWB's combination of broader spectrum and lower power improves speed and reduces interference with other wireless spectra.

UWB could eliminate those wires connecting electronic devices, allowing people to "unwire" their lives in new and unexpected ways. Intel listed a few examples of what we can achieve through UWB and here is one of my favourite one.

   * An office worker could put a mobile PC on a desk and instantly be connected to a printer, scanner and Voice over IP (VoIP) headset. (I really like this cos behind my computer table is whole bunch of wires!)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23708180-114362507309135924?l=fuzzy-space.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuzzy-space.blogspot.com/feeds/114362507309135924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23708180&amp;postID=114362507309135924' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23708180/posts/default/114362507309135924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23708180/posts/default/114362507309135924'/><link rel='alternate' type='text/html' href='http://fuzzy-space.blogspot.com/2006/03/in-radio-technology-ultra-wide-band_29.html' title='The &apos;IN&apos; radio technology - Ultra Wide Band.'/><author><name>carine~swan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23708180.post-114311596063273556</id><published>2006-03-23T20:11:00.000+08:00</published><updated>2006-04-14T01:36:29.776+08:00</updated><title type='text'>Reminder: What #define really means.</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;I found a very stupid bug in my code today. I think most programmers are aware of this fact, but may simply overlook sometimes.&lt;/span&gt;

&lt;span style="font-family:verdana;"&gt;Here's an extract of the code.

&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:verdana;"&gt;The value for num_int_read is supposed to be 56/4=14. However, I realised it is actually 59 when I
printed out its value during debugging.

&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Find the bug!&lt;/span&gt;&lt;/span&gt;
&lt;span style="font-size:100%;"&gt;
&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(102, 102, 102);font-family:courier new;font-size:100%;"  &gt;#define symbols     480&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102);font-size:100%;" &gt;
&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102);font-family:courier new;font-size:100%;"  &gt;#define num_bytes_read     symbols/8 -4     //calculated result is 56&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102);font-size:100%;" &gt;

&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102);font-family:courier new;font-size:100%;"  &gt;void function ()&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102);font-size:100%;" &gt;
&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102);font-family:courier new;font-size:100%;"  &gt;{&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102);font-size:100%;" &gt;
&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102);font-family:courier new;font-size:100%;"  &gt;    int num_int_read = num_bytes_read/4;   //since integer is 4*1 byte     &lt;/span&gt;      &lt;span style="color: rgb(102, 102, 102);font-size:100%;" &gt;
&lt;/span&gt;             &lt;span style="color: rgb(102, 102, 102);font-family:courier new;font-size:100%;"  &gt;//num_int_read is used in this function&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102);font-size:100%;" &gt;
&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(102, 102, 102);font-size:100%;" &gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span style="font-family:verdana;"&gt;
Found the bug?

Now for the explaination to why num_int_read turned up to 59...

&lt;span style="font-family:verdana;"&gt;The compiler &lt;span style="font-weight: bold;"&gt;does not compute&lt;/span&gt; the value and substitute into the &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:verdana;"&gt;"num_int_read = num_bytes_read/4" expression. It &lt;span style="font-weight: bold;"&gt;replaces&lt;/span&gt; the 'num_bytes_read' with its definition. Hence the
expression becomes "num_int_read = symbols/8 -4/4" which is equals to 60-1. &lt;/span&gt;

&lt;span style="font-family:verdana;"&gt;Yeah. Nice bug heh. &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:verdana;"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23708180-114311596063273556?l=fuzzy-space.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuzzy-space.blogspot.com/feeds/114311596063273556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23708180&amp;postID=114311596063273556' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23708180/posts/default/114311596063273556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23708180/posts/default/114311596063273556'/><link rel='alternate' type='text/html' href='http://fuzzy-space.blogspot.com/2006/03/reminder-what-define-really-means.html' title='Reminder: What #define really means.'/><author><name>carine~swan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23708180.post-114284222197807214</id><published>2006-03-20T16:08:00.000+08:00</published><updated>2006-04-14T01:36:54.313+08:00</updated><title type='text'>MIMO.</title><content type='html'>&lt;span style=";font-family:verdana;font-size:85%;"  &gt;Recently I am involved in some MIMO waveform implementation. I am in charge of the application layer and integration. So naturally I did some research on what is MIMO and decide to share with you.

Below is some background on MIMO systems in communication terms.

In communication theory, MIMO refers to radio links with multiple antennas at the transmitter and the receiver side. Given multiple antennas, the spatial dimension can be exploited to improve the performance of the wireless link. The performance is often measured as the average bit rate (bit/s) the wireless link can provide or as the average bit error rate (BER). Which one has most importance depends on the application.

Multiple-Input Multiple-Output (MIMO) wireless systems represent an economical way to increase user capacity in a variety of environments. The use of antennas at both transmitter and receiver allows

   * Multiplicative increase in capacity and spectral efficiency
   * Dramatic reductions of fading thanks to diversity
   * Increased system capacity (number of users)
   * Lower probability of detection
   * Improved resistance to interference

MIMO can also be used in conjunction with OFDM, and it will be part of the IEEE 802.11n High-Throughput standard, which is expected to be finalized in mid 2006.

MIMO and information theory

It has been shown that the channel capacity (a theoretical upper bound on system throughput) for a MIMO system is increased as the number of antennas is increased, proportional to the minimum number of transmit and receive antennas. This basic result in information theory is what led to a spur of research in this area.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23708180-114284222197807214?l=fuzzy-space.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuzzy-space.blogspot.com/feeds/114284222197807214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23708180&amp;postID=114284222197807214' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23708180/posts/default/114284222197807214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23708180/posts/default/114284222197807214'/><link rel='alternate' type='text/html' href='http://fuzzy-space.blogspot.com/2006/03/mimo.html' title='MIMO.'/><author><name>carine~swan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23708180.post-114269314356760184</id><published>2006-03-18T22:36:00.000+08:00</published><updated>2006-03-18T22:49:10.586+08:00</updated><title type='text'>A Brand New Skin.</title><content type='html'>&lt;span style=";font-family:verdana;font-size:85%;"  &gt;I have not got time to post my first technical entry yet. Did some quick customization using a blog skin from &lt;a href="http://blogger-templates.blogspot.com/" target="_blank"&gt;Blogger-Template&lt;/a&gt;, and made some tinny-winny changes. Although I am not very satisfied with it (there's no room for links, profile and stuffs), but it'll stay for awhile till I find a better one. Anyway I like the theme so far - "An eye-opener for both of us as who seek for knowledge to fill our potholes of ignorance". Just in case I decided to change the skin, below is a picture of how it looks like at the time of this post.

&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;&lt;img src="http://static.flickr.com/46/114130052_04af633789.jpg?v=0" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23708180-114269314356760184?l=fuzzy-space.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuzzy-space.blogspot.com/feeds/114269314356760184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23708180&amp;postID=114269314356760184' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23708180/posts/default/114269314356760184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23708180/posts/default/114269314356760184'/><link rel='alternate' type='text/html' href='http://fuzzy-space.blogspot.com/2006/03/brand-new-skin.html' title='A Brand New Skin.'/><author><name>egeus</name><uri>http://www.blogger.com/profile/01724888561318066352</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23708180.post-114224423416193409</id><published>2006-03-13T18:01:00.000+08:00</published><updated>2006-04-14T01:37:13.800+08:00</updated><title type='text'>C++ fioread vs read.</title><content type='html'>&lt;pre&gt;&lt;span style="font-size:130%;"&gt;int fioRead
(
int    fd,      /* file descriptor of file to read */
char * buffer,  /* buffer to receive input */
int    maxbytes /* maximum number of bytes to read */
)&lt;/span&gt;&lt;/pre&gt;   &lt;h4  style="font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;DESCRIPTION&lt;/span&gt;&lt;/h4&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt; This routine repeatedly calls the routine &lt;/span&gt;&lt;b style="font-family: verdana;"&gt;&lt;i&gt;&lt;a href="http://www.slac.stanford.edu/exp/glast/flight/docs/VxWorks/docs/vxworks/ref/ioLib.html#read"&gt;read&lt;/a&gt;&lt;/i&gt;( )&lt;/b&gt;&lt;span style="font-family:verdana;"&gt; until &lt;/span&gt;&lt;i style="font-family: verdana;"&gt;maxbytes&lt;/i&gt;&lt;span style="font-family:verdana;"&gt; have been read into &lt;/span&gt;&lt;i style="font-family: verdana;"&gt;buffer&lt;/i&gt;&lt;span style="font-family:verdana;"&gt;.  If EOF is reached, the number of bytes read will be less than &lt;/span&gt;&lt;i style="font-family: verdana;"&gt;maxbytes&lt;/i&gt;&lt;span style="font-family:verdana;"&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:verdana;"&gt;Normally fioread is used when receiving data from sockets, when the data is coming from an unreliable source. But it may post a problem if you do not know the maximum number of bytes to read. It will wait forever.
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23708180-114224423416193409?l=fuzzy-space.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuzzy-space.blogspot.com/feeds/114224423416193409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23708180&amp;postID=114224423416193409' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23708180/posts/default/114224423416193409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23708180/posts/default/114224423416193409'/><link rel='alternate' type='text/html' href='http://fuzzy-space.blogspot.com/2006/03/c-fioread-vs-read.html' title='C++ fioread vs read.'/><author><name>carine~swan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23708180.post-114191914180780702</id><published>2006-03-09T22:47:00.000+08:00</published><updated>2006-03-18T21:15:51.293+08:00</updated><title type='text'>Let the Ball Roll.</title><content type='html'>&lt;span style=";font-family:verdana;font-size:85%;"  &gt;First of all, before I start a quick entry of the background (my side of the story), I want to thank my girlfriend, &lt;a href="http://carine-swan.blogspot.com/" target="_blank"&gt;carine~swan&lt;/a&gt;, for starting this little space. In fact, after reading several tech blogs in the past few months, I had wanted to start one for my project team, in which we can share the lil' tips we pick up during the course of our work. However, the official idea was put down as my manager thought it wasn't the right time for such a blog yet (we have occasional sharing sessions). I thought why not just deploy one on my own machine, get some interest and let the idea grow among my colleagues. Alas, I was either &lt;span style="font-style: italic;"&gt;too busy&lt;/span&gt; or lazy (???) and procastinated. So it is great to start off with this space now!

Despite focusing on different aspects of technology in our jobs, I feel that we still speak the same language, the &lt;span style="font-style: italic;"&gt;CE-Language&lt;/span&gt;, the &lt;span style="font-style: italic;"&gt;hardware-software-combo&lt;/span&gt;. =p

And now, for my side of the story... basically what I will be posting in this space  little tips and knowledge that I want to share. I am no expert, so there will be nothing in depth, but basic tips which will be useful to beginners, and which we may often overlook. As I do Java in my daily work, so you'll probably see many "&lt;span style="font-style: italic;"&gt;Java Best Practices&lt;/span&gt;". The main motivation of sharing is not to "&lt;span style="font-style: italic;"&gt;showoff&lt;/span&gt;" (anyway, there's nothing to), but hopefully to help java programming beginners code better, and remind myself what I learnt. It is not meant to replace any books but to create more fun for the readers and myself. Tech books are still one of the best resource to learn.

And if you are reading this blog, and thinking "hey this is chicken feet &lt;span style="font-style: italic;"&gt;lah&lt;/span&gt;, you don't know all these &lt;span style="font-style: italic;"&gt;meh&lt;/span&gt;?", I guess the content is too low-level for you. But if you think it helps you, or you find any mistakes in the posts, please feel free to comment!

Hope to update the site design, and post the first very soon (once I get a bit of time off work)! Meantime, you can visit my &lt;a href="http://lastsplash.blogspot.com" target="_blank"&gt;regular blog&lt;/a&gt;. =)

Oh yah, one more thing, I like the name of this space. Creative and well-thought! Do you think so too? Cheers!
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23708180-114191914180780702?l=fuzzy-space.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuzzy-space.blogspot.com/feeds/114191914180780702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23708180&amp;postID=114191914180780702' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23708180/posts/default/114191914180780702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23708180/posts/default/114191914180780702'/><link rel='alternate' type='text/html' href='http://fuzzy-space.blogspot.com/2006/03/let-ball-roll.html' title='Let the Ball Roll.'/><author><name>egeus</name><uri>http://www.blogger.com/profile/01724888561318066352</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23708180.post-114187755701238001</id><published>2006-03-09T12:01:00.000+08:00</published><updated>2006-04-14T01:37:33.496+08:00</updated><title type='text'>Knowledge Seeders.</title><content type='html'>&lt;span style=";font-family:verdana;font-size:85%;"  &gt;This site is started off to serve as a pool for me and my friends to dump our technical knowledge into it.

The background (from the &lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;font-size:85%;"  &gt;swan&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt; side of the story)
===============================================
I was striken by egeus, who is also my boyfriend, last night over a telephone conversation when he told me about the growing trend of developers sharing technical ideas and knowledge over the internet by blogging. Then he began to tell me the many tips which he learnt from other people by reading their blogs. So I think back and felt really sad. "What have I learnt over these 9 months in my job as a software engineer?"

So in order not to face this problem again in future, and also to constantly remind myself that I've learnt SOMETHING afterall, this blog is created.

Another important reason is to broaden my knowledge. I want to gain knowledge outside my field of work. Although we graduated with the same degree, ending up in different jobs very much shape how we think now. For example, &lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;egeus &lt;/span&gt;&lt;span style=";font-family:verdana;font-size:85%;"  &gt;is such a Java person now. Constantly talking about good programming practices, ".jar", "OO" and "beans" etc. On the other hand, I am still a C++ programmer, dealing with communication architecture and data routing here and there from one dsp or fpga to another. Each and every one of us are gaining very different knowledge everyday. There may be a point when I can no longer understand what my boyfriend is talking about when he is happily telling me how he solved a bug. I don't want that day to come!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23708180-114187755701238001?l=fuzzy-space.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fuzzy-space.blogspot.com/feeds/114187755701238001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23708180&amp;postID=114187755701238001' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23708180/posts/default/114187755701238001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23708180/posts/default/114187755701238001'/><link rel='alternate' type='text/html' href='http://fuzzy-space.blogspot.com/2006/03/knowledge-seeders.html' title='Knowledge Seeders.'/><author><name>carine~swan</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
