Hacking and Other Thoughts

Sun, 27 Nov 2005


Detail playback...


Waiting for the crosswalk.

It's been nearly a month since the Korea trip, but even the simple act of looking at the photos I took at full resolution reveal details I had not noticed upon the first few viewings. People eating things, laughing, some weird unidentifyable device hanging on the wall that makes life easier in some way for somebody.

And to think, how much of this unnoticed activity occurs for people living every day in such huge and crowded cities? It's a wonder that everyone doesn't suffer from ADHD these days, everything is a distraction and it's become impossible to take everything in.


Market scene.

Perhaps there is some truth that we live a life somewhat out of balance (or, "koyaanisqatsi", as it were). It's OK for life to end up where we are today, but we've modified the everyday experience so fast that we haven't given our species a chance to evolve to the point where this kind of mania can be felt comfortably.

Everything is see and go, no "experience". In order to experience you have to intern these impressions in some tangible way, and there is no time for that any more.

But, it certainly is a buzz.


Debian toilets and crashing monorails...

If you've ever been to SEATAC airport, you've undoubtedly seen this. In the men's urinals, they have this painted swirl on the porcelin where you're supposed to aim. I swear, it looks just like the Debian logo. I was too shy to bust out my big SLR camera to get a shot of this.

Also, we got a front row seat to the aftermath of the Seattle monorail crash on Saturday evening. Firetrucks lining each side, getting the passengers out one by one. Nobody was injured, thankfully. This is a miracle because as they made contact one door was ripped off and glass came crashing down to the street below and these blocks were meanwhile jammed end-to-end with holiday shoppers. In recent times the monorail has been plagued with problems. They keep deferring fixes and upgrades in lieu of putting such funds into a pending project to build a much larger monorail for the city, which may not ever get off the ground.

The incomming patch queue isn't so deep, looks like people really did stuff themselves with food instead of doing a lot of coding over the holidays :-)

Wed, 23 Nov 2005


The war on ants...

I've got a bit of a reoccuring ant problem here in the place where I live. Every time they show up, I smoke them out with RAID and they're gone for maybe up to a week or two.

Yet, they always come back, because I never attack the heart of the problem which makes them show up in the first place.

And I can't help but noticing how many parallels this has with the so-called "War on Terror".

Mon, 21 Nov 2005


Current happenings in Net/Sparc land...

On the networking side we did get nf_conntrack into 2.6.15 which is a really good thing. It will take some time before all the ipv4 conntrack features are ported into the generic nf_conntrack, so we can deprecate and remove the former, but we have to start somewhere. nf_conntrack can even theoretically have DecNET connection tracking support added to it... not that anyone should try :-)

Speaking of netfilter, we have some important bits which we'll try to get into 2.6.16 Firstly, Patrick McHardy's IPSEC netfilter patches. Yes folks, after 3 friggin' years of IPSEC support we'll finally have proper netfilter handling of it. It took a long time, but the good news is that the solution is relatively clean so perhaps it was worth the wait. Also, Harald Welte will try to get the x_tables stuff in as well. These folks have been super busy since their netfilter workshop last month, and it shows.

On the sparc64 front I implemented IRQ stacks over an evening last week. It works fine for most people, and even makes some stress test crashes on Ultra2 boxes go away for others, but it causes some bootup funnies on SB1000 for Jason Weaver. I'm working on trying to reproduce this locally on my SB1000 box so I can investigate. The implementation is very simple. I tried something very complex in assembler initially, and several hours later the cleaner more straightforward approach became clear.

It's very difficult to code into assembler a couple of constructs. Namely, thing like "in_interrupt()" and anything referencing per-cpu variables. And I was trying to do both in interrupt handler stubs. Instead, I hop onto the IRQ (soft or hard) stack in the C code itself. This works because the return from these functions will automatically restore us back onto whatever stack we were on previously.

Actually, it's almost too good to be true. So there's probably some hole somewhere, and I'll figure it out.

In TCP news the BIC folks (Inhong Rhee and friends) have a new version of their congestion control algorithm out, called CUBIC. Stephen Hemminger cleaned up their patch and it's cooking in my net-2.6.16 pending GIT tree right now. The paper on CUBIC is a good read. Unlike BIC, which operates in several "modes" (and is thus complicated to analyze as a congestion control algorithm) CUBIC works with one single function.

There are some areas of CUBIC that still need some tweaking. For example, bi-directional transfers on a connection, which has always been a sore spot for TCP congestion control algorithms (especially Vegas and those derived from it such as FAST).

Finally, I'm very seriously considering adding "-Werror" to the CFLAGS under net/, especially in the core stuff and ipv4/ipv6. There is simply no reason we should be getting compiler warnings in that code, and -Werror will help make sure no new ones get introduced. Probably I'll do this in 2.6.16 as we'll see how well that goes.

Wed, 16 Nov 2005


Seen on a barista's T-shirt in SF...

It was white with plain black latters, and on the front it said, plainly:

	Top 10 reasons why I procrastinate:
	1.
and that was it.

Mon, 14 Nov 2005


Seoul shopping...

I had a full afternoon without adult supervision to explore, and I decided to visit the Dongdaemun area in Seoul.

The basic gist of this place is that there are a few large indoor shopping malls (good for window shopping) at the head of the district, then endless streets of tiny specialized shops (where you actually buy things). Each type of product divides the area into districts. For example, there is the used book district, the camera district, the clock and watch district, etc. etc. etc.

So you get a block of say 50 small shops, all huddled together in one block or so area, selling nothing by cpu fans, power supplies, and other similar computer parts.

Another block has endless stores selling motors, plumbing supplies, and lights. In one district I was able to get an Asia-->US power adapter for the equivalent of $0.50 USD.


Need some boots?

At the end opposite of the shopping malls is an area with many shop streets that seem to all converge on one spot in the center. Near this center area the outdoor isles are packed with stands selling food to eat. I had probably the best bibimbap I've ever had for $3.00 USD, and I got as much soup and tea on the side as I wanted. The lady running the stand would continually yell out her prices to passers by, "3,000 WON, bibimbap, delicious delicious, sit here, sit here". She was able to say one thing in english, as I was leaving, "tomorrow" as in "come back and eat here tomorrow" :-) While eating I was able to use my rudimentry Korean language skills to explain to her that I had been to Busan, Geoje Island, and even climbed to the top of Daechongbong. Quickly those around started to join the communication, and it quickly escaped my limited vocabulary so I had to say "Sorry, I don't understand" very quickly. I hope to not be as handicapped next time, because people seem to be eager to talk to a foreigner who can speak Korean.

This reminds me of a conversation we overheard on the long train ride going from Yangyang to Seoul. Two girls sitting in front of us finally noticed me (the foreigner) and began to speak to themselves. It went something like this:

girl A: Have you ever spoken with a foreigner?
girl B: You know, some foreigners are fluent in Korean.
girl A: That doesn't count as a foreigner.
Kind of amusing.

Thu, 10 Nov 2005


All Korea trip photos are up...

For those of you who read most magazines by flipping the pages and just scanning the pictures, you'll be pleased to know that I have all of my pictures up in the gallery.

As time permits I'll put up blog entries that describe the rest of the trip, and I hope I get to that soon as I imagine the longer I wait the less of the worthwhile details I'll remember :-)

One sore point is that I think I really wasn't able to photographically capture the night life aspect of these places (ok, maybe this shot can give you a sense). It's bustling on a level I have never ever seen in the states, and it happens like this nearly every night. There are dancing neon signs from top to bottom on every building, the streets in these districts are a little bit narrow, and there are tons of people jamming what little sidewalk isn't taken up by street merchants. Everywhere is the smell of food, either from restaurants or street vendors.

Every night you can just pick a district, and just walk around and observe the deep sea of people going to and fro. Although I suppose, just like anything else, even this would get stale after a while. But San Francisco sure seemed like a ghost town even during the busiest hours after coming back from Busan and Seoul.

To be honest, the east coast of the US has more of a night culture than here in the west. Heck, even in "caffeine town" Seattle, you're hard pressed to find an espresso shop open after 10pm. Unbelievable. But this is a topic for another day :-)


Sashimi for breakfast...

The previous night I bragged to Simon and Chizu how good the hoetjip (raw fish) is at Jagalchi Market. So it should have been no surprise to me, when I asked Chizu what she thought we should have for breakfast the next morning, that she said sashimi. Well... why not?

After our previous lunch experience getting raw fish at this place, we actively negotiated the price for this meal and made sure we asked specifically for the higher quality fish. We paid the equivalent of $50 USD to feed 4 people more sashimi than they could handle, tons of side dishes, and a finisher of warm fish broth soup and rice. Add in some soju (a very Korean distilled spirit, similar to vodka, but more like sake) and mekju and the bill came out to roughly $60 USD. And man were we stuffed.

After showing Jagalchi Market to Simon and Chizu we headed off to Heaunde Beach. We pretty much skipped lunch, opting for small sweet snacks instead. No trip to Busan is complete without a tour of the busy Seomyeon night district, which is where we bbq'd some pork and beef for dinner.

Yeah yeah, check out the photos.


Waiting for Simon and Chiz...

Our friends Simon and Chizu were to arrive in the evening so we spent the day sightseeing other spots in Busan. First we took the subway nearly all the way to the northernmost point to check out Beomeosa temple.

If you walk it up to the temple (which we did) it takes about an hour, but you've definitely earned your visit to the temple once you get there. We did take the bus back down however. And nearby the temple is a little "food village" with all sorts of places to eat (because if you walked up the road to this place, you are definitely hungry).

The temple is quite pretty, and from many spots you get the green mountainous hills with the huge metropolis of the city of Busan in the background. There is even a temple-stay available here.

Photos of this visit are in the usual place.

Next we took a few subway stops back towards downtown to check out Geumjeongsan. You can either hike or take the cable car (often called "ropeway" in Korea), we took the cable car up and hiked back down. At the top there is a fortress wall type construction you can walk to, but since dusk was nearing we decided to start heading on down immediately.

Photos of the amazing views from this place are worth a look. There are even two small temples you see on hike down, which is kinda cool too. This hike was a sort of warmup for the more strenous stuff we did in Seoraksan National Park, and I learned on this hike that if you go hiking in Korea, and you don't know how to say hello in Korean, you will know how by the end of your hike since everyone will say "annyoung haseyo" as you pass them.

There are photos of Busan Tower up as well, which we visited on the previous day. I can't think of anything noteworthy to mention so just go gawk at the pics.

Simon and Chizu arrived in the evening, and we went to the busy market district in Busan for some warm dolsot bibinbap (vegetables, meat, and egg on top of rice, in a hot pot) and mekju (beer). After some post-dinner coffee and chat, we headed back to the hotel for some rest.

Mon, 07 Nov 2005


When you stand out like a sore thumb...

One thing a lot of westerners will notice if they travel to South Korea is that you get stared at a lot. Even in a thriving city like Seoul you will probably be the only westerner wherever you happen to be, so as a result you're interesting eye candy for the locals.

People aren't trying to be rude, they're just curious. And unlike in places like Japan, direct eye contact doesn't seem to have the same negative stigma.

This behavior even extends to westerners! After 2 weeks in South Korea I started to stare at westerners too. Michael Breen, in "The Koreans" (highly recommended) even recounts: I've once or twice done a double-take seeing a foreign face in a crowd of local shoppers in the mirrored panel of a department store and realised it was me.

I'm actually a lover of attention, so I guess all the staring was sort of cool to me :-)

Sun, 06 Nov 2005


Why is my IMAP so slow?

This is the question I had been pondering for a few months but never really got a chance to investigate. Deleting mails took ages, and I get several thousand a day to flush so...

Then by accident I noticed that I have never once flushed the trash folder even once the entire time I've been using IMAP on my workstation. So I asked IMAP to flush the trash folder, and 5 or 6 hours it completed. It was still a little bit slow to delete emails, then I remade the trash folder directory and now things are lightning fast.

I think there were easily close to a million emails in there, ROFL.

In other news Hugh Dickins did some incredible auditing work of the MM subsystem in 2.6.x when he worked on his page table sub- locking changes which are in the 2.6.x GIT tree right now. I am continually impressed with Hugh's work, and in particular how comprehensively he does his changes even though he's working in a very complex area. He always makes sure he doesn't break a certain architecture, he always audits how each platform uses the routines he is changing, and he always asks the platform maintainer for assistance when he can't figure something out or needs some help or testing. I mean, he's a perfect developer.

In particular he found some hiccups in the sparc64 MM code, which we're working on to clear up. The address space flush in tlb_finish_mmu() on sparc64, when tearing down an entire address space via exit_mmap(), turned out to be a complete nop and totally unnecessary. This was due to a combination of how we do exit_mmap() as of 2.5.15 (yes, 2.5.x) and how sparc64 does batched TLB flushing these days.

He also noticed the funny way we use the mm->page_table_lock on sparc64, as protection for address space TLB context allocation. It's correct, but it needed some comments so this wouldn't trip up other people doing audits on how that lock is used.

I plan to put up some more photos from the South Korea trip and more blog entires about our adventures, but I'm simply too tired at the moment.

There's a storm rolling into the Bay Area, and it's starting to really feel like winter again. Yippie!

Thu, 03 Nov 2005


Exploring Jagalchi fish market.

Jagalchi fish market is the largest seafood market in all of South Korea. It is enormous, and primarily built and run by women (referred to as "Jagalchi ajime"). As a seafood lover, I was very much looking forward to checking out this place.

As you enter one of the entrance streets, the streets and sidewalks are permantly wet from being sprayed down and cleaned all the time and the fish and food odor is strong and immediate. There is no question where you are or what goes on at this place.

There is a main road of stands and shops along the waterfront, where boats drop anchor and unload the fish basically directly to the vendors there. Side roads extend from this main road inward about 2 or 3 blocks away from the waterfront. Near the easternmost end of the market is a 3 story building full of fish eating places and an entire floor dedicated to nothing except dried fish. This building by itself would be an impressive large scale place for fish maniacs. The top floor is exclusively sashimi eateries, and it's the size of a soccer field.

Walking through the main road of the market you see fish of every type imaginable. Ajime are preparing the fish in every way imaginable. Some are gutting the fish and deboning them. Others are making soup, or cutting up sashimi. Some of the fish is being hung on lines to be dried, while others are still swimming in a tank.

These women hawk you as you pass on by, because of course they have the most fresh fish and are preparing the best tasting dishes available in the whole market of course. They scream out prices and fish names "1000 WON", "2500 WON", "delicious soup", "domi domi". And it's this constant hum you hear as you walk by the stalls.

We had our lunch in the building on the third floor, the price seems to be always negotiable and as we did this a few times we learned how to get a decent price.

Photos of this fun are up in the galary as usual.


First day in Busan

After taking the "puke ferry" back from Geoje Island to Busan, we rested a bit and headed out for lunch. There are many eel restaurants in the city, and since I like this dish a lot we decided to pick one and give it a go.

When we arrived we went to the second floor and picked an open table, floor seating as usual. A large table was occupied by an office group, giving the owner a hard time about how hot the soup was (so he had to go downstairs and reheat all of their soup bowls) and how long things were taking. As a result we sat for a while until they were basically done with lunch, which wasn't so nice.

But there was a bit of a payoff, the owner was incredibly apologetic about how long we had to wait and he personally started the cooking of our plate of eel. You get to see it swimming in the tank before he cuts it up. In fact, portions of my eel were still moving as it sat on the table. Kind of creepy, and I guess it was the gills and heart still beating, but there can be no doubt to it's freshness.

Next we moved on to the used book district and the large open air markets. Some of these book stores were simply amazing, everything from educational books, to manga, to dictionaries, to old Chinese texts written by hand. Sometimes the books were stacked so thick and deep that you could barely walk around in the shops. And you get 6 block-fulls of these places, interspaced with the occaisional food joint.

I used this opportunity to pick up a high quality small korean to english and vice versa dictionary.

Next we checked out the huge market districts. Enormous blocks of small stalls, selling everything from food to clothing to office supplies to watches to... It was quite impressive. In fact every city we went to had some nice market district like this. It is distinctly present everywhere I've been in Asia and distinctly lacking here in the USA. This is sad because these markets are bustling, fun, and quite the earthy and human experience.

While there was still light outside, we ran over to Haeundae Beach. We took some photos, ate some street food, and toured the shopping areas.

Finally, we ate dinner and spent the evening in Sameon which seems to be the busiest nighttime district in the city as far as we could tell. I sampled one of the "soju tents" that I've seen on so many Korean TV programs. It's usually run by one lady, and a bench is around her serving area where people eat and drink until they are merry. It's a very social atmosphere and we had fun talking to the lady running the tent we picked. Usually when there are multiple tents they all tend to agree on a price for the soju and the dishes you order so there isn't much of a pricing war or anything like that.

Pictures are here.


Trains in South Korea.

Our first experience with the train system in South Korea was very impressive. First we had to take the Seoul subway to get to the main city train station, which was fast, efficient, and very clean. From there we took the new KTX bullet train service down to the city of Busan, most of the time topping out at 300km/hour and getting to our destination in under 3 hours.

For the rest of the trip, outside of the Seoul and Busan subways, we took the slower long distance trains. They were clean, reliable, but very very slow. It was nice to see the mountains, country side, and seaside views, but it was a painfully long time to reach each destination. For these legs, we will definitely take a bus or rent a car. For example, from Busan to near Yangyang it took 8 and a half hours on the train. The main problem is that the train has to go very very slow through most of the mountainous areas, and the train stops just about at every station along the way.


Back from South Korea...

I'm back after 16 hours of trains, busses, and planes. I think I've killed off most of the jet lag after catching up on sleep, but my body is definitely still in a different time zone.

As I catch up on email and get going, development wise, again I'll blog up my adventures in South Korea and put up my photos.

Stay tuned...