The Ram Brewery

If you are given a choice between brunch here and a 7-11, you are better off at the 7-11

University Village is an upscale shopping mall near the University of Washington with a variety of restaurants. This weekend, when we found that all the places we normally would eat had long lines because of some UW parents day or something we ended up deciding to try out the Ram. A sports bar now offering brunch during the weekends. After the 35th St Bistro debacle on Friday night we should have picked up on the warning signs immediately. While other restaurants nearby had a minimum of a half an hour wait, there were plenty of open tables in this place. It has a sort of TGI Fridays ambience which I don’t really have a problem with. We knew that we weren’t going to be eating fancy, we were hoping for a standard American breakfast of some eggs or something. It is very hard to screw up eggs. It is even harder to screw up salmon in Seattle. The cheapest salmon you can buy here will be fresher than anything you’d find in the midwest. Imagine our surprise then when my eggs over easy were not just runny, but were actually completely liquid, Nicole’s salmon omelette tasted more like salmonella. Our waitresses had three tables in the room and yet I had to get up and find someone to get more coffee after the empty cup sat at the end of the table for 10 minutes. Likewise we had to track someone down to get silverware when we still hadn’t received any, several minutes after getting our food. This wasn’t a $5 breakfast place either, this is $15/person. After salvaging what we could from the toast and potatoes we gave up, paid, and went to the grocery store to get some fruit.

Ram Restaurant and Bighorn Brewery on Urbanspoon

The 35th St. Bistro

this “neighborhood place” loved by “all” is to be avoided at all costs

When this new high-end-aspiring spot took over Seattle’s favorite Hippie cafe it was hailed as another sign on the accelerating gentrification of beloved Fremont. I wasn’t going to hold that against it, because from the outside it looked like it had some serious potential. I hadn’t read any of the reviews before entering, I wish I had. Most of the reviews on the sites I’ve found have said that the service wasn’t very good but that the food and ambience was excellent. I was a bit surprised when we entered at 8pm on a Friday night that we were seated immediately. We sat, read our menus, put our menus down, sat some more, talked, sat some more. We sat a good 15 minutes before being offered water or bread. We waited another 5 minutes before our drink order was taken and then another few minutes before our actual food order was taken. We were now starving so we ordered an appetizer which then took over 20 minutes to arrive. It burned our tongues when we tried it (there was no warning from our waitress), when we did get our taste buds back we found it to be extremely bland. We were so hungry though that we finished it and proceeded to wait and wait for our main courses. All during this time the noise level in the room increased to the point where we had to shout at our small table to hear each other. This is a small room with maybe 20 tables so that is saying something. Also, every time someone would walk past our table (which was very often), the loose floor boards would vibrate our silverware around the table. Finally, we gave up and vowed never to return. It is a pity because I really wanted to like this place, but I won’t be back there for a VERY long time.

The Sad State of Seattle Food

What is going wrong with Seattle Restaurants?

Hey a new Category!

Seattle is known as a fairly snobby place when it comes to food. We introduced expensive gourmet coffees and weird sounding microbrews to the world. For most of Seattle’s history it was a fairly blue-collar kind of town. With restaurants focusing on quantity as well as quality. That all changed during the go-go nineties with the influx of dot com and Microsoft millionaires. We now have all sorts of gourmet food around here and for a while it was excellent. Now it seems we are in a bit of a decline. Formerly excellent places like Cafe Campagne are no longer worth a visit while new places like Dandelion and the 35th St Bistro try to make up in high prices and presentation what they lack in ambience and food quality.

What amazes me these days is how some of these places are surviving. My wife and I recently had to walk out on a meal at the 35th street Bistro because we couldn’t hear each other and because we had waited 45 minutes for our entrees. If we had stayed we would have ended up paying more than $30/person for the privilege. You read the reviews on these places and they sound amazing, but they are horrific. I’m hoping to write as many good reviews as bad ones, but this weekend we tried two new places and both frankly sucked so there won’t be too much positive to say. To avoid being too negative, I’m going to list a few of my favorite places now.

Non Gourmet Food
The Other Coast – this is an amazing sandwich shop on Ballard Ave. The quality and staff have gotten a bit less consistent since it changed hands last year, but when they do it right, it is awesome.
India Bistro – Hands down the best Indian food in the city, no questions.
Bento Sushi – my neighborhood Sushi place is also one of the best in the city. Some seriously high quality food for not so much cash.
Delfinos – I’m from Chicago, that means I like my pizza very thick and this University Village place does it right.

On the Gourmet Side
Chiso – Higher end Japanese cuisine in Fremont, very excellent
The Queen City Grill – if you can get there before the crowds you can eat very well in a great environment. When it gets crowded though, it is a lot harder to enjoy
Brasa – Excellent Portuguese-Fusion cuisine

There are many more good places that I’ll try to get to, but I’ll mostly be concentrating on new places here, I think.

ACLs

want to know why Windows is so easily hacked?

As technologies progress and our devices are ever more networked with each other, security in operating systems has become increasingly complex. This complexity makes the systems themselves less secure because it is harder for developers to understand it. So the OS vendors add complexity to deal with the fact that applications are doing security wrong which creates a vicious cycle.

Are you a windows developer? Do you understand ACLs? Maybe you do, but most likely you only think that you do. Why? Because they are somewhat complicated. “What, I can explicitly grant permissions for my network printer to access this file?” Microsoft doesn’t make it easier. The documentation in MSDN is near useless. The web isn’t your friend here either since a lot of the websites I’ve found when looking for more info were just wrong.

I was working on a nasty file-permissions problem in a project that I was working on which necessitated a move from old-style file permissions code to ACLs. Now, I’ve been developing professionally on Windows for over 10 years, and I thought that I understood ACLs. Nope, I just thought I did. I spent days studying the web and writing test programs to figure out how to give the appropriate permissions to a single file. Luckily, I had an awesome tester who could break my stuff in ever more increasingly complicated ways, otherwise I probably would have shipped something that either didn’t always worked or was just a crazy security hole.

I realized that if it was that hard for me, what about all those less experienced or rushed developers currently shipping applications for Windows? The majority of developers inside of Microsoft probably don’t understand ACLs as well as they should. Is there any wonder why there are so many security issues in Windows?

The answer isn’t further complexity, but better documentation and education. This is critical stuff for Microsoft and 3rd party developers. It is time that Microsoft treated it that way.

I haven’t reviewed the ACL implementation in OS X 10.4 yet, but I shuddered when I heard that it was being added.

The difficulties of cross platform development in a Microsoft world

Cross platform development was never simple, but it could be simpler if Microsoft decided to support some standards occasionally

Now, I’ve been responsible for at least some of the Microsoft APIs inflicted upon developers, so I take some responsibility here. I don’t expect that Microsoft should have X Windows or Display Postscript or anything. I do expect that if I use standard C functions and the STL that they will at least work somewhat the same across platforms. That is too much to hope for when working in the wild world of internationalization it seems. Microsoft uses MBCS encoding for multi-byte encoding of char *s. This is a Microsoft-only thing that is the result of some dev way back when and is still foisted upon the world even though there is a much better standard called UTF-8. While I understand that Microsoft needs backwards compatibility for legacy applications, since they have already have a second set of APIs for Unicode, how hard would it be for them to support UTF-8? Actually, somewhat difficult, since Microsoft uses a different directory separator from the rest of the world that also doubles as an escape character for certain Japanese characters. If you have Japanese support on your XP machine, you’ll know what I mean already. However, this lack of UTF-8 support not only makes it difficult to port apps to Windows, it also makes it difficult to develop applications for multiple platforms. Microsoft already is forced to support UTF-8 for the web, XML and documents. It is about time that it works in C and the STL just like on all the competing operating systems.

Huh?

What is with this new category?

I haven’t written on software engineering here for various reasons. Probably because it is difficult to do this without directly referencing stuff that I’m working on. My employer might consider this a bad thing. It is my profession, however. At least at the moment, I’ve been bugged by certain things that are of a more general nature and I think that adding another voice to the mix might be of use to someone out there. So stay tuned…