Category Archives: geek


Must find a way to clean mouse point.

Ah, yes, the wireless card. =) I am a very lucky girl. My parents got me a wireless card for my Christmas gift (in addition to my beautiful subnotebook, of course). One of the things I really like about my parents is that they won't actually wait until Christmas to give it to me, since I can very well use it before then. =) I have clueful parents.

Got my wireless card working. There was a bit of confusion about eth0 and eth1 - turned out to be my fault. Once I had gotten my dhclient all sorted out (I was mistakenly calling it from intuitively, and that turned out to be a Bad Thing), it Just Worked. For reference, I've got a Linksys WPC-11 Instant Wireless card. It's supposed to be a Prism2, so has limited functionality but can act as a wireless access point with the hostap tools. Coverage in Faura is not bad, but I haven't checked other areas for decent signal. Should improve if Dr. Sarmenta manages to get Microsoft to agree to blanket the campus with wireless access points.

Speaking of Dr. Sarmenta... He was in a meeting earlier, so we didn't have ThesisProject class. I want to change advisors. ;)

Microsoft and wasted PR opportunities

Back to Microsoft. I really, really hope they push through with the wireless thing. I don't understand why Microsoft isn't very actively courting us. C'mon, if I were an evil empire and I wanted to ensure my hold on the future generations, I'd get them while they were young. I'd give freebies, training, cool gadgets, lots of publicity... Microsoft's a large company with plenty of budget to spare. We just won an international competition - you think they'd take advantage of that wonderful PR opportunity. I suppose their marketing is losing their edge. ;) Of course this is all just personal opinion, since our school obviously believes in Microsoft enough to go for the Academic Alliance and that .NET stuff, but still...

If you think about it, many of our classes are too vendor-centric. Take Contemporary Databases (translation: Oracle), or Enterprise Java Programming (guess), or even Intro to C++, which was actually pretty okay if not fairly boring, and had a sliver of MFC tacked on at the end but didn't cover other toolkits). On the plus side, we do actually have Systems Programming, which is Unix-based thanks to the strong push of people like William Yu, Sir Marco and Doc Mana if I'm not mistaken. w00t!

(Update 2003.09.24: Come to think of it, we're remarkably not vendor-centric - at least the classe I've taken.)

Anyway, I really should be going to bed now. My roommate has borrowed my alarm clock again - it's apparently the loudest in the dorm... =) Hopefully I'll remember to wake up tomorrow. Good night!

Embedded talk

Title page

Hello, everyone! I'm Sacha Chua, and I'm here to talk about embedded
system design from the developer's point of view.
What _is_ embedded computing, anyway? It helps to define it in
contrast to personal computers, which we're all familiar with.

PC/embedded system comparison

General use

Personal computers are intended for general use. They can run a wide
range of applications - games, business apps, that sort of thing.

Specific function

Embedded systems, on the other hand, are typically designed for a
single purpose. Think of a calculator, for example, or the logic in
vending machines. (Of course, some embedded systems are becoming more
general now, like personal digital assistants a).

OS, apps

Personal computers



On PCs, you can usually assume that someone

Different input/output

Easy to dev or change programs

Infrequently updated


User needs / expectations

Although crashes and data loss seem to be part of our everyday
computing experience, people expect embedded systems to be reliable.
Imagine an embedded system that crashes! What if your phone crashed
and had to be rebooted all the time? People expect features,
reliability, and all for a low price.

Tight space and memory constraints

Development tools

Development process

One of the things about embedded development is that the process is a
little bit longer. It's not the usual edit, compile, run cycle. It's
edit, compile, burn to flash, run.

Architectural quirks

And of course if you go into embedded development, you'll probably
have to deal with different architectures. For example, you'll learn
about the quirks of conditional ARM.

Why go into embedded dev't?

It's fun!

It's challenging!

It's useful!

How to get started

Courses on computer interfacing / hardware / digital logic


Internship / work / open source

What you need: software, hardware, patience