The Good Life... a weblog about life, technology, and the Opera web browser

Posts from 2005

Is that Normal?

Sara Ellen on Christmas In Norway, the minimum hospital stay for a woman and her new child is 4 nights. Delivery is performed by mid-wives (unless problems occur). After birth, new parents are given help with changing diapers, giving baths, breast feeding, and more. In essence, it's been a dream for Rebekah and me.

Sara Ellen (and Rebekah) spent an extra day at the hospital because her blood sugar levels kept fluctuating. After several elixirs of milk and sugar and enduring frequent blood tests, they steadied. She also suffered from a bit of Jaundice. As treatment, she lay under a blue light for several hours[1]. Sara Ellen finally left the hospital on December 11th, her heels spotted with black dots from needle pricks. We finally got to bring our healthy baby girl home.

Sara Ellen's just over three weeks old now and full of character. I hadn't been around babies much before having her, so I constantly ask Rebekah and her mother if her behavior is "normal". She has cute little sneezes. She gets the hiccups at least once a day. When she has them, her whole body jerks with each hiccup and she looks around as if to ask, "What's happening to me?" She's not scared of them, but she's not exactly happy about it either. She yawns like a grown-up would. I'm not sure why I expected otherwise. Sometimes her yawns seem to scare her and she starts to cry, but she's usually comforted easily.

Rebekah's mom says Sara Ellen is very mellow. I'm good with that. She likes being held a lot. We try to put her in her bassinet when she's sleeping, but a lot of the time she'll wake up when we put her down or shortly thereafter. She squeakes and grunts a lot. And when she goes to the bathroom, it sounds like a small explosion. It's impressive. Yes, I've changed diapers. I wouldn't say I'm an expert, but I'm not afraid of it, either.

I'm surprised at how much character there is in her cry. It's not just "wah wah wah". She'll start out with a couple whimpers or something that sounds like a cough. If we can't figure out what's wrong immediately, she steps up the crying. Next, she makes it sound like someone is physically abusing her. Finally, she gets all choked up until she turns red and can barely cry anymore. Rebekah and I do everything we can to prevent that, but sometimes we can't act fast enough.

Most of the time, she sleeps. When she's not sleeping, she's usually nursing. When she's not sleeping or nursing, she looks around. If we're holding her, she'll focus on us or on something near us. Sometimes she just stares at the wall or the couch. From the day she was born, I've thought of her as strong. She grabs your finger and holds on tight. She's pretty squirmy (I call her "squirmy worm" sometimes), to the point that I'm concerned she'll squirm right out of my arms.

It's still weird for me to talk about "my daughter". Then again, it's still weird to talk about "my wife". Being a father and a husband is just part of who I am, not some label I acquired on a specific day. Rebekah says I'm pretty good at both so far, which is what really counts.

[1] According to Wikipedia, "Green light is more effective at breaking down bilirubin, but is not commonly used because it makes the babies appear sickly, which is disturbing to observers." That cracks me up.

Update: OK, so I confused bilirubin and blood sugar problems when I originally posted this. I thought there was just one issue, but apparently there were two separate problems. No worries though, since she's healthy.

Sara Ellen Juliana Altman

Picture of Sara Ellen JulianaRebekah's water broke on Friday, unbeknownst to either of us. A routine check-up on Monday led to a hospital visit to check if things were getting started. They were concerned for the health of the baby since the water had broken several days previously and asked her to return today so they could induce labor. Shortly after she arrived at the hospital today, her contractions began naturally.

I left work around noon, reassured by Rebekah that I should take my time getting to the hospital (i.e. take mass transit instead of a taxi), since these things usually take time. She even asked me to stop at the store for some snacks. I arrived by 1pm to my wife admirably weathering her contractions, which were now coming every two minutes.

Shortly thereafter, her contractions became stronger and more frequent and the second stage of labor began. Rebekah gritted her teeth, pushed with all her might, and gasped in air during her contractions. She had no interest in pain killers, preferring to work through the pain, yet she hardly made a peep until the very end. Slowly, Rebekah pushed our baby into this world. Her contractions were short, but she used all the time she had to its fullest.

Finally, I watched as this new, little person arrived. Tears ran down my cheeks as I heard our child squeak for the first time. Rebekah radiated happiness, overjoyed at her accomplishment, grateful that the worst was over. The mid-wives went to work on our new child, so it took a minute or two before we found out that our little person was a girl.

Sara Ellen Juliana Altman was born today in Oslo at 3:49pm CET (that's 9:49am EST for y'all East Coasters). She's 3718g (8lbs 3oz) and 50cm (19 2/3 inches). She's our first child and the first grandchild on both sides of the family.

I was overwhelmed as our baby girl rested in my arms while Rebekah recovered. I'd never held a baby before, yet Sara Ellen didn't seem to mind one bit. She squirmed and squeaked, hid from the light, and cuddled against my chest for warmth. She lay in my arms many times throughout the afternoon, re-energizing after her first big ordeal.

I know that something huge has just occurred, yet I don't feel that different. I wonder if that's thanks to the nine months of preparation we've had. Whatever the case, I'm thankful that our little girl came into this world healthy, happy, and beautiful. May God bless you, Sara Ellen.

See more pictures in our gallery.

Great Norwegian phrases

One of the perks of living in Norway is learning Norwegian (go figure). While I don't claim to speak fluently, I have learned a fair amount. These are a few phrases that have stuck out so far because of their pure brillance, quirkiness, or fun. I've tried to provide a rough pronunciation, too.[1]

et øyeblikk
Pronunciation: et oy-blek
A moment; literally, "an eye blink"
In English, we'd say "one moment/second/minute". The Norwegian way is much more elegant, yet just as meaningful.
takk for sist
Pronunciation: tuck for sist
Something akin to "nice to see you again"; literally, "thanks for last time"
There's no direct translation for this in English. It expresses happiness at seeing a friend again and reminds them that you had a good time with them last time you were together.
en rosin i pølsen
Pronunciation: en row-seen e pull-san
A surprise in something already great; literally, "a raisin in the sausage"
Norwegians like sausages and apparently raisins in sausages are (or used to be) just short of a delicacy here. So, a sausage is already great on its own, but add in raisins and they're even better.
ha det (bra)
Pronunciation: ha da (bra)
Good bye; literally, "have it (well)"
Most of the time, you just say "ha det", which translates to "have it". Similar to "see you" in that it isn't a complete sentence, but it's used so often that the meaning is understood.
koselig
Pronunciation: koose-lee
Comfortable, cozy
This is used especially to describe the inviting atmosphere of a house during the winter. A "koselig" home usually has a fire, plenty of candles, yummy smells, and good friends.

[1] Pronunciation is very dependent on the area of Norway you live. For instance, in Oslo, "d"s at the end of words are often silent. Also, since I'm giving a rough approximation in English, it depends on how you pronounce things in English.

Writing

I think of myself as a writer. That only really started during my sophomore year of college though, when my English Literature professor suggested I take up a Writing Minor. Before then, I never thought I was good at it; I didn't feel like I had the imagination for it.

Back in primary and secondary school, I recall recreating my own versions of The Flash and The Killer Brussel Sprouts because I couldn't come up with my own story to tell. One of my classmates even called me on the former, but my teacher let it go, as I had written the tale in my own way. Now that I think about it, I'm usually better at improving something that already exists than creating something from scratch. And that doesn't go just for writing. I think that's one of the reasons I'm so good at quality assurance; though I don't look directly at the code, I have a head for finding the weak points in what others have done.

But I digress. Lately, I've been finding it more and more difficult to write. Part of it comes from working at a computer all day. Who really wants to come home and work on it all night, too? Part of it is also the amount of work I usually put into a single post. Gone are the days that I could write and write and write, hit submit, and be over with it. Now, I write, go back and rewrite a bit, write some more, add a sentence to the paragraph I started with, and so on. I almost wonder if all the writing classes I took at school have ruined me. I'm only interested in the superb ideas. I want perfect punctuation, grammar, and spelling (he says as he gives "supurb" a second look and corrects it). And all these things cause this once easy hobby to become long and arduous.

I took the fun out of it. I want everything to be exceptional. It's not just about writing to get stuff out anymore; it's about the writing being perfect. I yearn for my writing to be exceptional, yet that makes it harder to write anything at all. Vicious circle, ya know? I don't mind writing personal stuff about myself. I'm pretty open about all that. Now, I need to get over the myth that everything one creates is fantastic (if anything is...).

We'll see if I can get past all this. In the end, it's the subject I'm writing about that really matters. I have a lot of things floating around my head that I want to write. If I don't get them out, no one benefits from it and I don't even get the opportunity to try to create something new and cool. And that's half the fun, anyway.

Bad Behavior for Drupal

I've just installed Bad Behavior for Drupal to try to ward off some spammers and bots. It seems like it's catching some requests for the RSS feed as invalid. Let me know if you're having problems.

And then there was Merlin, AKA Opera 9.0 Preview 1 released!

A month ago, I introduced you to Merlin. Now, it's time to spend some quality time together. That's right, Opera 9.0 Preview 1, code-named Merlin, is now available for Windows, Macintosh (PPC and Intel!), Linux, FreeBSD, and Solaris. As with most previews, it's still pretty rough around the edges. But don't fret, we're already well on the way to making Merlin the best Opera release yet!

Remember, this is just a preview release and it may cause problems. The new IMAP back-end should only be used with test accounts, as there are still ways to lose mail.

In my previous post, I told you about many of the new features in Merlin, but I also left quite a few out. Here are the new specifications implemented in the core browser engine:

Of course, the core browser engine isn't the only part of Opera that received new features:

  • M2 now sports support for Atom 1.0 and the new IMAP back-end previously previewed in 8.0 Preview 5.1 (more details to come).
  • We've added quick access to most preferences via opera:config.
  • We added site-specific preferences (currently only accessible via opera.ini; more details to come)
  • You can now choose to reparse invalid XML documents as HTML
  • There's a new internal source viewer and editor (if you save your changes, the page is automatically reloaded with your changes included).
  • Tabs can now be locked via the tab context menu so they can't be accidentally closed.
  • Finding text on Web pages will highlight all matches.
  • There's a new message console used for everything from JavaScript to Opera Mail errors.
  • The default user agent is set back to Opera.
  • The Macintosh version is now packaged as a universal binary, allowing Opera to run on Intel-based Macintosh systems without emulation.

We're not just in the business of adding new features; we also fixed a huge number of bugs, including:

  • Acid2 is just one bug fix away from completion (more details to come).
  • OBJECT and IFRAME elements respect z-index
  • Fixed problems with width inheritance for positioned elements
  • Improved our margin-collapsing code
  • Key presses won't be lost after Alt+Tab
  • Full-screen will fallback to screen media stylesheets if no projection stylesheets are found
  • Many, many more!

We're proud of the work we're doing and we want you to enjoy it too. Happy browsing!

Acid2 - Rows 7 and 8 revisited

Another Acid2 fix came in build 7966. This issue wasn't even a bug, per se, as no specification defines how to handle it. The fix was made more to be compatible with Acid2 and other browsers than because it caused problems on actual sites. It's also the most trivial issue in Opera's rendering of the Acid2 test. Despite all that, it's my pet Acid2 issue. Without further ado, I give you, the Four Corners "bug".

The diamond nose in the Acid2 test is created using concepts from CSS Border Slants. The nose is actually made from the borders of two elements placed next to each other. This may be easier to understand using some screenshots. The following image (based on this test) shows a 2em by 2em DIV with 1em borders, blue on top and bottom, orange on left and right:

Screenshot

If two such squares are put next to each other and the outer borders are changed to blue, the nose starts to form from the remaining orange borders (based on this test):

Screenshot

When the white squares are removed, the nose takes shape (based on this test):

Screenshot

Drop the blue borders and only a perfect diamond nose remains (based on this test):

Screenshot

Without anti-aliasing, only one color can be used for each screen pixel. Thus, the rendering engine has to choose which side of a border to give priority to for each border intersection. In 8.5, Opera draws single borders around an element in the following order: top, left, right, and bottom. This means that the bottom border will extend all the way across a figure, the left and right borders will extend all the way to the top, and the top border won't touch either corner at the top of the figure, like so (based on the first test above zoomed to 300%):

Screenshot

Other browsers appear to draw the top border last, extending it to both corners at the top of the figure. What does this mean for the Acid2 test? It means the nose is one pixel higher in Opera than in other browsers. This is easily seen using the third test above zoomed to 300%. In 8.5, there's a row of blue pixels across the bottom of the test:

Screenshot

The only reason I noticed this discrepancy is because I opened the Acid2 test in one page and the reference rendering in another page and went back and forth between them. Lo and behold, the nose looked like it was bouncing up and down. And we can't have that. So, we changed the drawing order for borders. Now, Opera draws single borders in the following order: bottom, left, right, and top, like so:

Screenshot

This change made the rendering of the rows 7 and 8 compatible with the Acid2 reference rendering. Check these test cases to see how your browser handles border intersection: one, two, three, four, and five.

Here's the updated rendering with this fix:

Screenshot of the Acid2 test

To see the difference between the above screenshot and the Acid2 reference rendering, just open these three images in separate pages and move back and forth between them (using 1 and 2): our previous rendering, our current rendering, and the reference rendering.


More information about CSS Borders Slants and shapes can be found at the following pages:

Cravings

Rebekah has been surprisingly devoid of cravings. I'm a bit disappointed, actually. I had this great picture in my head of late night runs to the store for pickles and peanut butter or Doritos with strawberry jelly. It's not that I mind—I'd be making those late night store runs—but I feel like I'm missing out on part of the ambiance of being the husband of a pregnant woman. Then again, maybe she'd want fish or liver paste. Eww. It's probably for the best.

Acid2 - Rows 4 and 5

One more Acid2 fix came in build 7841: if a :before or :after pseudo-element existed in a page's stylesheet that didn't match anything in the document, it would cause odd things to happen. I sincerely doubt any other browser has this problem, but if you really want to check, use this test case. The eyes now render, though there are still other problems in rows 4 and 5.

Here's the updated rendering with this fix:

Screenshot of the Acid2 test

We're now finally up-to-date with the internal build screenshot posted at the beginning of August. Here on out is uncharted territory.