Yesterday, I was lamenting that my Treo earphones broke. And even asked the lazy web what would be an inexpensive in-ear alternative aw my ears weren't designed for regular earphone designs (i lack a docking station). The cheapest would be the hard to find Sony Fontopia EX71 (street price 2k - 2.8K) or the readily available Philips SHE9501 (street price 1.4K - 1.7K). Now, even at that price, it would still have a hard time convincing my budget conscious wife.
Now whilst wandering around Circle C waiting for the girls having their hair trimmed, I stumbled upon this in-ear with a brand-i-dont-know-because-its-written-in-frackin-whatever. I asked for the price and the kind sales lady said it can be had for 300 pesos only! And I could test drive it! (yucky I know, this being in-ear-shove-it-in-your-ear-canal design). And so I tested it and it sounds quite good. Way better than my previous earphone. And so I put on my cutest smile and haggled till the mesmerized sales lady finally agreed to sell it for 200 pesos. Now at that price, I won't be required to undergo the justification process.
One major gripe tho is that it only comes with one size earbud. And it doesn't come with a spare pair. Other than that, its sweet music.
Treonox
- rockin in Circle C
Saturday, July 08, 2006
Thursday, July 06, 2006
shop.brando.com.hk - Sony MDR-EX71SL Earphone
Frack! My good ol' SE 2-in-1 earphones just broke. Right earphone doesn't work anymore. And since its an old model, stores don't carry it anymore, sigh, that was a steal for P400 bucks. Although apparently, Norah Jones voice and other jazz type music pushes the poor thing to the limit, complains in the form of crackling noise.
And so I asked the lazy web which in-ear noise isolating earbud is best for a cheapskate like me?
And thus it answered.
This seems to be the most practical, quality, best bang for the buck, in-ear for the moment. Its also getting good reviews. The only problem is where to find it locally. Sincerely hoping that its priced closer to reality.
And so I asked the lazy web which in-ear noise isolating earbud is best for a cheapskate like me?
And thus it answered.
This seems to be the most practical, quality, best bang for the buck, in-ear for the moment. Its also getting good reviews. The only problem is where to find it locally. Sincerely hoping that its priced closer to reality.
Sunday, July 02, 2006
Java Practices: Immutable objects
Defensive copying. Just like defensive driving, can save you from a major head break.
You really have to stick this in your head. Parameters being passed or returned from methods. Else you suddenly have unpredictable objects acting more strangely than the last zombies from the resident evil movie.
There is a big difference between:
public Date getDateOfDiscovery() {
return new Date(fDateOfDiscovery.getTime());
}
and the wimpy version of above:
public Date getDateOfDiscovery() {
return fDateOfDiscovery.getTime();
}
And likewise should always remember that "setters are evil (tm)".
E.g.
You have a domain object named account. And naturally you want to do insert some good old strategy pattern to implement the behaviour of your debit method. So that you have:
account.debit();
Which encapsulates all the technical wizardry known to man to securely do a debit transaction. After which, it stores it to a transaction table associated to your account object.
Now if you have a setter for that transaction table like:
account.setTransactions(Set _transactions).
The crooked descendant of green lantern coder can just as easily do something with the transactions table without going thru the carefully crafted debit function mentioned previously.
So thats our lesson for today, Defensive Copying, and Setters are Evil.
codingnox
- (bitten by the un-defensive copying bug...)
You really have to stick this in your head. Parameters being passed or returned from methods. Else you suddenly have unpredictable objects acting more strangely than the last zombies from the resident evil movie.
There is a big difference between:
public Date getDateOfDiscovery() {
return new Date(fDateOfDiscovery.getTime());
}
and the wimpy version of above:
public Date getDateOfDiscovery() {
return fDateOfDiscovery.getTime();
}
And likewise should always remember that "setters are evil (tm)".
E.g.
You have a domain object named account. And naturally you want to do insert some good old strategy pattern to implement the behaviour of your debit method. So that you have:
account.debit(
Which encapsulates all the technical wizardry known to man to securely do a debit transaction. After which, it stores it to a transaction table associated to your account object.
Now if you have a setter for that transaction table like:
account.setTransactions(Set _transactions).
The crooked descendant of green lantern coder can just as easily do something with the transactions table without going thru the carefully crafted debit function mentioned previously.
So thats our lesson for today, Defensive Copying, and Setters are Evil.
codingnox
- (bitten by the un-defensive copying bug...)
WriteRoom | Hog Bay Software
When you are a writer and you just dont have enough will power to fight back procastination. then Writeroom just might be the tool you are looking for.
Distraction free writing. For developers, distractiong free code writing. Although this Writeroom app isn't that suitable for code writing. A full screen terminal with Vi is a handy substitue.
Nowadays, I too try to to turn off all apps not needed to do the task at hand. Unitasking sometimes helps a lot in getting things done (GTD).
Distraction free writing. For developers, distractiong free code writing. Although this Writeroom app isn't that suitable for code writing. A full screen terminal with Vi is a handy substitue.
Nowadays, I too try to to turn off all apps not needed to do the task at hand. Unitasking sometimes helps a lot in getting things done (GTD).
Subscribe to:
Posts (Atom)