Tuesday, March 09, 2010
Linux device drivers
Monday, March 01, 2010
HDB flat types and floor plan
http://singaporewatch.org/?p=582
(Part of "The Almost Complete Goondu's Guide to Buying a HDB Flat in Singapore"series.)
Did you know that there are different HDB flat types? And within each flat type, there are varying models:
2 bedroom flat
Consists of 1 bedroom, kitchen, living room:
2 'I' (Improved) 45 sqm/484sqft
2 'S' (Standard) 41 sqm/441sqft (floor plans: 1)
3 bedroom flat
Consists of 2 bedrooms, kitchen, living room:
3 'A' (Modified) 90sqm/969sqft
3 'NG' (Modified) 83sqm/896sqft
3 'A' 75sqm/807sqft
3 'NG' (New Generation) 69sqm/743sqft (floor plans: 1)
(2 toilets, master bedroom with attached bathroom)
3 'I' (Modified) 70sqm/750sqft
3 'S' (Simplified) 65sqm/700sqft
3 'I' (Improved) 60sqm/646sqft
(No attached bath, toilet and bath separated, no storeroom)
3 'STD' (Standard) 54sqm/581sqft
(No attached bathroom/storeroom. Upgraded units have extra utility room or toilet)
4 bedroom flat
Consists of 3 bedrooms, kitchen, living room.
4 'A' 105sqm/1130sqft
(2 bathrooms, master bedroom with attached toilet, storeroom)
4 'NG' (New Generation) 92sqm/990sqft (floor plans: 1)
4 'S' (Simplified) 85sqm/914sqft (floor plans: 1)
(2 bathrooms, master bedroom with attached toilet, storeroom)
4 'I' (Improved) 83sqm/893sqft
(toilet and bath separated, no storeroom)
4 'STD' (Standard) 73sqm/786sqft
5 bedroom flat
Consists of 3 bedrooms, kitchen, dining room, living room, storeroom.
Master bedroom comes with attached bathroom.
5 'A' 135sqm/1453sqft
5 'I' 123sqm/1313 sqft (floor plans: 1, 2, 3, 4, 5)
5 'S' 121sqm/1300sqft (floor plans: 1)
Executive flat
EA (Exec Apartment) 141sqm/1518sqft (single storey) (floor plans: 1)
EM (Exec Maisonette) 145sqm/1560sqft (double storey) (floor plans: 1)
(double story, 3 bedroom/bath upstairs, balcony+additional room)
MG (Multi-Generation) 165sqm/1776sqft
Miscellaneous
Miscell Flats (varies) – These are flats created by purchasing and joining 2 adjacent units. Such units are considered as one and have one address, utility meter and so on.
eg. a 3+3 is created by combining (2) 3-rm units and building a passageway through.
—–
Not all flat types exist in each estate, and a 4 'A' layout in one estate might differ from another.
Also, floor area are estimates as newer flats are generally smaller, while upgrading of older flats would have added additional rooms/balcony/toilet.
Do you have a floorplan that you would like to contribute? Email us!
Interested in purchasing your floorplan for renovation purposes? You can buy it onlinefrom HDB for $5.
First posted on June 29th, 2008 on juzproperties.sg
Thursday, February 18, 2010
open drain circuit
attach a pull up resistor.
active low or high impedance state
"Open-collector/open-drain devices sink (flow) current in their low voltage active (logic 0) state, or are high impedance (no current flows) in their high voltage non-active (logic 1) state. These devices usually operate with an external pull-up resistor that holds the signal line high until a device on the wire sinks enough current to pull the line low."
- Open-Collector/Open Drain FAQ (view on Google Sidewiki)
Open-drain circuit
attach a pull up resistor.
active low or high impedance state
"imp"
- Open-Collector/Open Drain FAQ (view on Google Sidewiki)
Wednesday, February 10, 2010
lsof - examples and tips
ya, lsof is a powerful and useful command to me ...
in reference to:"Search for Open Files"
- lsof - examples and tips (view on Google Sidewiki)
Friday, January 29, 2010
Steps to Init Block Device Driver on Linux
1.
Registers the block device using register_blkdev(). This block library
routine assigns an unused major number to myblkdev and adds an entry for
the device in /proc/devices.
2.
Associates a request method with the block device. It does this by
supplying the address of myblkdev_request() to blk_init_queue(). The
call to blk_init_queue() returns the request_queue for myblkdev. Refer
back to Figure 14.2 to see how the request_queue sits relative to the
driver. The second argument to blk_init_queue(), myblkdev_lock, is a
spinlock to protect the request_queue from concurrent access.
3.
Hardware performs disk transactions in units of sectors, whereas
software subsystems, such as filesystems, deal with data in terms of
blocks. The common sector size is 512 bytes; the usual block size is
4096 bytes. You need to inform the block layer about the sector size
supported by your storage hardware and the maximum number of sectors
that your driver can receive per request. myblkdev_init() accomplishes
these by invoking blk_queue_hardsect_size() and blk_queue_max_sectors(),
respectively.
4.
Allocates a gendisk corresponding to myblkdev using alloc_disk() and
populates it. One important gendisk field that myblkdev_init() supplies
is the address of the driver's block_device_operations. Another
parameter that myblkdev_init() fills in is the storage capacity of
myblkdev in units of sectors. This is accomplished by calling
set_capacity(). Each gendisk also contains a flag that signals the
properties of the underlying storage hardware. If the drive is
removable, for example, the gendisk's flag field should be marked
GENHD_FL_REMOVABLE.
5.
Associates the gendisk prepared in Step 4 with the request_queue
obtained in Step 2. Also, connects the gendisk with the device's
major/minor numbers and a name.
6.
Adds the disk to the block I/O layer by invoking add_disk(). When this
is done, the driver has to be ready to receive requests. So, this is
usually the last step of the initialization sequence.
Wednesday, January 27, 2010
What users comment on this bonding technic
Ya, I this product is definitely using bonding technique. For the uploading problem, it's quite reasonable. Because packages from the same TCP connection go to different path to reach the destination with different delay. So in the destination side, the package may fell out of TCP window and cause the retransmit of the same TCP package. It's not easy to solve the problem I think. One way is to bind the TCP connection to a specified interface so that the packages cease to reach in order. But user can not benefit from this design if there is only one connection.
in reference to:"We have a portabella and really love it. We rent the porcini (the other magic mushroom that makes this possible) from mushroom networks and it really is very reasonably priced compared to the other limited options out there. The only flaw is it needs UDP to do solid video streaming right now which is not possible for some reason with flash video streaming. We get INCREDIBLE download speeds and file transfers but less than impressive upload speed via TCP. Its an issue that they are working on very hard. The biggest benefit to something like this is for tradeshows. Those bastards will rape you for $1,000 a day for a decent connection. We have bandwidth to spare on our own WiFi now, run skype, live broadcast, make sales, play videos etc etc while our competition spends more for internet in one day than we spend for 4 months."
- Mushroom Networks announces new wireless "Broadband Bonding" technology -- Engadget (view on Google Sidewiki)
