Mar
7
Towards a greener computer–but what does that really do?
Filed Under cleantech, did you know, geeky, hardware, ideas, innovation, technology, things to ponder about | Leave a Comment

MSI announced that the company has recently invented the world’s first powerless air cooler for computer motherboards. For those new to computer hardware, as we ignore Moore’s Law and advance computer technologies by making them faster and store more data, cramming more and more transistors into a piece of silicon, the heat generated by all these components start becoming a non-negligible problem–as anyone managing a data center with hundreds of computers will identify with.
There are many ways to cool the insides of a computer, but the most common is through the use of heatsinks and fan’s. Computer hardware junkies prefer a more advanced hack: liquid cooling, a more quiet and efficient (and l33t) way of dissipating heat from their overclocked CPU’s. This invention by MSI makes the fan inside your computer power-free, thus less power drawn from the computer power supply.
The basic idea employed here is one derived from the Stirling Engine. MSI’s invention captures the heat from the component, whose energy is then converted to push the fan blades around, which in turn cools the heatsink.
From their press release:
The “Air Power Cooler” transfers the chipset heat into air momentum, when the air becomes hot, the air will expand then push the fan to rotate and In doing so cooling the heatsink immediately. After the air moves from the bottom to top of the piston, the air will become heavy to push the up piston down. The better air piston design can transfer over 70% heat power and transfer to air power, that’s great efficiency transfer from Stirling engine theory. In a comparison with solar power the transfer rate is only around 20~30% requiring more surface and as a result cost.
I think the claim of besting solar power is interesting, but would like to see some independent tester verify that statement (just for my assurance that this isn’t the typical corporate PR mudslinging nonsense).
This actually reminds me of Tesla Motors’ regenerative braking system. Energy from deceleration is captured and stored for later use in acceleration. Genius!
In a battery-powered electric vehicle, regenerative braking (also called regen) is the conversion of the vehicle’s kinetic energy into chemical energy stored in the battery, where it can be used later to drive the vehicle. It is braking because it also serves to slow the vehicle. It is regenerative because the energy is recaptured in the battery where it can be used again.
Tesla Motors is an interesting electric car startup in Silicon Valley headed up by Elon Musk (of PayPal fame), who also started SpaceX and SolarCity (I’m an admirer!).
But I digress.
Read more
Feb
21
Don’t be afraid of the machines!
Filed Under automation, changing the world, geeky, ideas, innovation, technology | Leave a Comment
A BINARY STEP COUNTER?! OH MY! This is *amazing*, you have to see it. This reminds me of a rudimentary transistor, and how we keep cramming more and more of them into a piece of silicon we call a microprocessor, on top of which we have this thing called a computer, on top of which we have this thing called web two dot oh, … and ..
From TED. Watch his commercial here:
Feb
13
A simple solution to a difficult challenge
Filed Under changing the world, did you know, ideas, innovation, poverty | Leave a Comment
A simple solution that impact the lives of others by solving a seemingly difficult problem!
From the blog of Guy Kawasaki.
Jan
26
Entrepreneurship Week 2008
Filed Under changing the world, ideas, innovation, people i like, stanford, startup, things to ponder about | Leave a Comment
At Stanford, nonetheless. Best youtube clip I have seen all week
The star-studded cast in this short video clip includes the likes of, Tina Seelig, Ann Winblad, Steve Jurvetson, Randy Komisar, Guy Kawasaki, and many more. I had the opportunity of meeting Ann Winblad from Hummer Winblad Ventures. She’s so nice, knowledgeable, and totally driven. I like her.
I love this quote from Tina Seelig: “Entrepreneurship is an extreme sport. You gotta get out and do it!” Maybe that’s why I have a thing for this!
Tina’s voice sounds familiar to me although I’ve never met her. That’s because her talk at STVP is one of my favourite that I listen to over and over from time to time. Tina is awesome, I hope to meet her in person one day.
Jan
25
Infecting malware with malware
Filed Under ideas, security research | Leave a Comment
This story on \. today reminds me of a “what if” thought that I’ve had once before.
Wired story about scientists who plan to use genetically modified mosquitoes to reduce the population of Dengue-carrying insects. The altered genes cause newly born mosquitoes to die before they are able to breed if they are not supplied with a crucial antibiotic. This is a more aggressive approach than the anti-Malaria work we discussed last year
In the security arms race against black-hat hackers, it’s common for them to copy our security measures and use it against us. Perhaps it’s time we did the same. What if we made malware to infect their malware? I mean, they make malicious stuff to infect victims, so how about us infecting their malware with our payload (malware for malware? If the two terms cancel out, does that make it goodware?) — just like the genetically modified mosquitoes?
Read more
Nov
28
Aquarium of viruses and malware goodness
Filed Under geeky, humor, ideas, security research, websense | Leave a Comment
I love pets but am too busy to tend to one. I could take care of a plant, but I can’t take a cactus for a walk. This, seems to be right within my realm! I do security research for Websense, I don’t know why I didn’t think of this earlier!
xkcd is my kinda comic. It’s funny and nerdy. Hmm.. I wonder how I can implement this.
The flatscreen LCD would be the most expensive. Then I’d need a pretty beefy machine (as host) to run that many virtual machines. For visualization, I guess I need to translate their actions into a network graph; for instance, if one machine DDoS’s another machine, the graphic would show one node firing small bullets at another machine rapidly. This sounds pretty cool, actually! MMmmmmm …………..
Update: I liked it so much I stuck up a print out of it on my cube wall:
Sep
17
Third-world stats and myths
Filed Under changing the world, did you know, ideas, microfinance, passion, people i like, things to ponder about, winds of change | Leave a Comment
The following TED video clip is AWESOME. 20 minutes well worth your time, I personally guarantee it.
Key points for myself:
- It’s better to be healthy first, then wealthy later (vs. the other way around)
- GDP per capita is tied directly to infant mortality rate
- We’re moving towards 1 world, 3rd world countries are slowly pushing out of poverty
- Cookie-cutter approaches don’t always work, 1 size fits all cannot be applied everywhere
- Some people are unwilling to share data that can help change the world
- $100 dollar OLPC initiative is truly changing the world
Amazingly cool graphs! Makes me believe even more in why the non-profit microfinance I am helping out with can really make the world a better place. I would love to one day meet Hans Rosling in person.
Aug
26
Holding a program in your head
Filed Under engineering, hacks, ideas, innovation, project management, self improvement, stanford, startup, things to ponder about | Leave a Comment
Here’s some good advice from Paul Graham writes about good practices that any good programmer can relate to.
-
Avoid distractions. Distractions are bad for many types of work, but especially bad for programming, because programmers tend to operate at the limit of the detail they can handle.
The danger of a distraction depends not on how long it is, but on how much it scrambles your brain. A programmer can leave the office and go and get a sandwich without losing the code in his head. But the wrong kind of interruption can wipe your brain in 30 seconds.
Oddly enough, scheduled distractions may be worse than unscheduled ones. If you know you have a meeting in an hour, you don’t even start working on something hard. - Work in long stretches. Since there’s a fixed cost each time you start working on a program, it’s more efficient to work in a few long sessions than many short ones. There will of course come a point where you get stupid because you’re tired. This varies from person to person. I’ve heard of people hacking for 36 hours straight, but the most I’ve ever been able to manage is about 18, and I work best in chunks of no more than 12.
The optimum is not the limit you can physically endure. There’s an advantage as well as a cost of breaking up a project. Sometimes when you return to a problem after a rest, you find your unconscious mind has left an answer waiting for you. -
Use succinct languages. More powerful programming languages make programs shorter. And programmers seem to think of programs at least partially in the language they’re using to write them. The more succinct the language, the shorter the program, and the easier it is to load and keep in your head.
You can magnify the effect of a powerful language by using a style called bottom-up programming, where you write programs in multiple layers, the lower ones acting as programming languages for those above. If you do this right, you only have to keep the topmost layer in your head. - Keep rewriting your program. Rewriting a program often yields a cleaner design. But it would have advantages even if it didn’t: you have to understand a program completely to rewrite it, so there is no better way to get one loaded into your head.
- Write rereadable code. All programmers know it’s good to write readable code. But you yourself are the most important reader. Especially in the beginning; a prototype is a conversation with yourself. And when writing for yourself you have different priorities. If you’re writing for other people, you may not want to make code too dense. Some parts of a program may be easiest to to read if you spread things out, like an introductory textbook. Whereas if you’re writing code to make it easy to reload into your head, it may be best to go for brevity.
- Work in small groups. When you manipulate a program in your head, your vision tends to stop at the edge of the code you own. Other parts you don’t understand as well, and more importantly, can’t take liberties with. So the smaller the number of programmers, the more completely a project can mutate. If there’s just one programmer, as there often is at first, you can do all-encompassing redesigns.
-
Don’t have multiple people editing the same piece of code. You never understand other people’s code as well as your own. No matter how thoroughly you’ve read it, you’ve only read it, not written it. So if a piece of code is written by multiple authors, none of them understand it as well as a single author would.
And of course you can’t safely redesign something other people are working on. It’s not just that you’d have to ask permission. You don’t even let yourself think of such things. Redesigning code with several authors is like changing laws; redesigning code you alone control is like seeing the other interpretation of an ambiguous image.
If you want to put several people to work on a project, divide it into components and give each to one person. - Start small. A program gets easier to hold in your head as you become familiar with it. You can start to treat parts as black boxes once you feel confident you’ve fully explored them. But when you first start working on a project, you’re forced to see everything. If you start with too big a problem, you may never quite be able to encompass it. So if you need to write a big, complex program, the best way to begin may not be to write a spec for it, but to write a prototype that solves a subset of the problem. Whatever the advantages of planning, they’re often outweighed by the advantages of being able to keep a program in your head.
Disclosure: Paul Graham runs the Y Combinator Startup School held annually at Stanford, so he does have a vested interest in helping startups succeed.
Now that I’ve got that upfront disclosure out of the way, I want to include Paul’s two observations which I agree with, simply because I feel what he says is true.
On why single solo great programmers are productive and get great products out the door,
It’s striking how often programmers manage to hit all eight points by accident. Someone has an idea for a new project, but because it’s not officially sanctioned, he has to do it in off hours—which turn out to be more productive because there are no distractions. Driven by his enthusiasm for the new project he works on it for many hours at a stretch. Because it’s initially just an experiment, instead of a “production” language he uses a mere “scripting” language—which is in fact far more powerful.
He completely rewrites the program several times; that wouldn’t be justifiable for an official project, but this is a labor of love and he wants it to be perfect. And since no one is going to see it except him, he omits any comments except the note-to-self variety. He works in a small group perforce, because he either hasn’t told anyone else about the idea yet, or it seems so unpromising that no one else is allowed to work on it. Even if there is a group, they couldn’t have multiple people editing the same code, because it changes too fast for that to be possible. And the project starts small because the idea is small at first; he just has some cool hack he wants to try out.
On why large software companies sometimes don’t realize that they work against these good practices for programmers,
Even more striking are the number of officially sanctioned projects that manage to do all eight things wrong. In fact, if you look at the way software gets written in most organizations, it’s almost as if they were deliberately trying to do things wrong. In a sense, they are. One of the defining qualities of organizations since there have been such a thing is to treat individuals as interchangeable parts. This works well for more parallelizable tasks, like fighting wars. For most of history a well-drilled army of professional soldiers could be counted on to beat an army of individual warriors, no matter how valorous. But having ideas is not very parallelizable. And that’s what programs are: ideas.
It’s not merely true that organizations dislike the idea of depending on individual genius, it’s a tautology. It’s part of the definition of an organization not to. Of our current concept of an organization, at least.
He then concludes,
Perhaps the optimal solution is for big companies not even to try to develop ideas in house, but simply to buy them. But regardless of what the solution turns out to be, the first step is to realize there’s a problem. There is a contradiction in the very phrase “software company.” The two words are pulling in opposite directions. Any good programmer in a large organization is going to be at odds with it, because organizations are designed to prevent what programmers strive for.
There is some truth to that. Established software companies have their own marketing departments. However, they sometimes tap outside marketing firms for help in their programs. Some things are just better when produced outside of the company. Are ideas and rapid-prototype software development one of them?
Aug
25
Value creation by opportunity cost
Filed Under business, ideas, innovation, startup, strategy, technology, things to ponder about | Leave a Comment
I was thinking about Tivo earlier. While it’s no rocket science product, it certain has become a common standard in households in the US now. In fact, Tivo has achieved the status of Google in the sense that people now use it as a verb. How many times have you heard, “I tivo’d that show”, “I will tivo that movie tonight”, “wanna come over, I have that game tivo’d”?
Anyway, I just thought it was interesting to note that one of the ways Tivo creates value for its users, is by reducing/eliminating the opportunity cost for its users. Opportunity cost or economic cost, is the cost of something in terms of an opportunity forgone (and the benefits which could be received from that opportunity), or the most valuable forgone alternative (or highest-valued option forgone), i.e. the second best alternative.
For instance, if there were two shows on two different channels that will show at the exact same time. If you only had one TV, you must pick only 1 show to watch. Even if you had 2 TV’s, you can’t really watch both at the same time. So in the pre-Tivo and DVR days, you would pick the show you liked better. The opportunity cost for viewers would be that other show that they unfortunately could not watch. Tivo fixed that. And good for them, because this is a pain that customers were willing to pay in order to get rid of. Just as a contrast, there are plenty of problems that aren’t painful enough such that customers aren’t willing to pay for a solution.
I like problem solving, and am on the lookout for interesting ways to create value. This is one way, so from now on, I will keep my eyes peeled for opportunity cost problems that can be solved.
Jul
2
Cell phones for multiple factor authentication
Filed Under hacks, ideas, technology, things to ponder about | Leave a Comment
So I was thinking about this today, you know how people carry around those key chains with a seemingly random number generator that’s used as a password? I have one issued by my company, and the way it works is, to access this thing (this resource, whatever, I’m trying to be generic about it), I type in the number showing up on my key chain at that very second, PLUS my password. You can read up more about two-factor authentications here.

Basically, the upside of using this RSA SecurID key chain I have, is that even if someone were to find out what my password is, without knowing the number showing up on the key chain (which changes every 60 seconds), my password is useless. So they would require physical possession of my RSA SecurID token. This is great, because if my password got leaked to say, some random guy in Russia, and I’m here in the US — he is going to have to come a long way to get my token, that is, if he can get it out of my kung fu grip. Likewise, the possession of my SecurID token without knowing my password is equally useless. I could show you the number on the token, but without my password you can’t gain access to anything.
I realize that some banks actually issue these hardware random number generator “tokens” to customers. Now that’s a great security practice, but these tokens are not cheap. I think they cost about $20-40 per unit. I’d imagine how costs would stack up once the number of customers start growing. Anyway, so my idea is this — we know that most people today have cell phones, and most people have a cell phone service where they have caller-ID (the ability to see the number that is calling them). Let’s say a big bank here in the US were to buy up 1,000 phone numbers. Then, whenever their customer wants to login to their website online — one of these 1,000 phone numbers would call the customer’s cell phone. This number would be then used in conjunction with their password to access the site.
Basically, we’re turning your cell phone into a RSA SecurID token. If some bad guy knew your password, UNLESS they also have possession of your phone, they won’t know the right number to punch in. They could guess, but first of all, they would need to know the 1,000 numbers the bank first possesses. That’s hard to figure out. The bank could do better than 1,000, perhaps 10,000. And, they could rotate the numbers. Meaning, buy 1,000 phone numbers, use these for 2 weeks, sell off these phone lines for another new 1,000 numbers.
The other requirement would be that after one of these 1,000 numbers call you, if you do not login to the website within say, 3 minutes, it will be invalid. So if you take longer than 3 minutes (perhaps you got interrupted, picked up a phone call, whatever), then the bank will just have to call you from another number.
So let’s recap how difficult it is to break this system. An online bank robber would have to know your password, and steal your phone. What if they have your password but dont have the guts to steal your phone? Can they do without the phone? Let’s see what they would have to guess without your phone.
- US phone numbers have 10 digits. Each digit goes from 0 through 9. So anything from 000-000-0000 to 999-999-9999 is possible. That’s 10 billion numbers
- Of these 10 billion numbers, you have to figure out how many of these actually belongs to the bank. Let’s take a conservative approach and say the bank has 1,000. So your odds are 1,000 divided by 10 Bil or a chance of 0.0000001. That’s a pretty darn small number. As a virtual bank robber, you wouldn’t know this exact number anyway. Unless you have an insider working for you who knows. This should be a highly guarded secret
- Now let’s say, these 1,000 numbers change on a bi-weekly basis. The numbers were hard to guess to begin with, and now they are constantly changing. So if you knew that a bank had 123-456-7890 as one of it’s numbers today, that may no longer be true tomorrow.
The added security benefit is this: If you were at the beach and you saw one of these numbers call you, you would know instantly that someone is trying to login to your bank account online.
There are many variations of this, such as, you could have a bank call up your cell phone from the same number over and over, but instead of looking at the number that just dialed you via caller ID, you pick up the phone, and a machine’s voice reads out loud at 10 digit number to you (great for customers with no caller-id). Or, the bank sends you a SMS text message with some number (also great for people with no caller ID). Whatever. The point is, your cell phone could be used by the bank as a second authentication mechanism.
For customers who don’t have cell phones, they probably don’t have electric in their homes. So they probably won’t need a bank account anyway. Or if they did, they wouldn’t have computers, so there would be no need for this anyway
And this business model “scales” very well. The bank pays the initial cost of having such a service in place, and then for every new customer, there’s virtually no additional cost. With the RSA SecurID token, they’re paying $20-40 for EVERY single customer they sign up.
Perhaps now that I’ve said this, I’ll hear of a startup doing exactly this, and then selling it to banks.
Update 7/5/2007 - http://www.pcbanker.com/ has some of the best interest rates for CHECKING (not savings) account, and they provide their customers with the RSA SecurID tokens. Thanks Nigel.



