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.
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.
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 :-)
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".
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.
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.
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.
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.
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 :-)
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.
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.
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'm actually a lover of attention, so I guess all the staring
was sort of cool to me :-)
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!
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.
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.
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.
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...
Mon, 07 Nov 2005
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.
Sun, 06 Nov 2005
Thu, 03 Nov 2005