Pluto logo sdc Pluto

February 6, 2010

Jesse Ruderman: Safety agency announces ?Safety is our top priority?

This press release is the top item on nhtsa.gov right now:

WASHINGTON, D.C. ? The National Highway Traffic Safety Administration (NHTSA) today announced that it is opening a formal investigation of the Toyota Prius Hybrid model year 2010 to look into allegations of momentary loss of braking capability while traveling over an uneven road surface, pothole or bump.

The Office of Defects Investigation has received 124 reports from consumers, including four reports alleging that crashes occurred. Investigators have spoken with consumers and conducted pre-investigatory field work.

?Safety is our top priority,? said Secretary Ray LaHood. ?That is why in recent weeks NHTSA has also issued a consumer advisory on the recall of several models of Toyota vehicles and the Pontiac Vibe involving pedal entrapment and sticky accelerator pedals. We will continue to monitor these issues closely.?

To be fair, Ray LaHood is the secretary of the Department of Transportation, of which the NHTSA is only a part. Maybe he was speaking on behalf of the entire Department of Transportation, in which case he was just repeating a meaningless platitude. But that's hard to see from the press release.

February 5, 2010

Declan Fleming: Pretty Sunset and Moon

Sorry the blog’s been ignored lately. Look at these pretty sunset shots I did a week ago and feel better! :)

More here:

You need to upgrade or install Adobe Flash Player
Get macromedia Flash Player

February 3, 2010

Paul Knight: Day 5: Naoshima

Day 5: Naoshima

February 1, 2010

Paul Knight: Bonanza

Bonanza

January 31, 2010

Paul Knight: Four Tet, Explosions in the Sky, From Monuments to Masses, Tomas Dvorak

Four Tet, Explosions in the Sky, From Monuments to Masses, Tomas Dvorak

January 27, 2010

Paul Knight: Sunday Brunch

Sunday Brunch

January 26, 2010

DJ Capelis: Error handling in C

One of the things I really disliked in C is the lack of good error handling.

A few days ago I was working ona project and decided to do something about it:
#define chk_error(cond) if(cond) { goto err; }
#define err_handler err:

I don't even bother to use the last macro. Just make sure you put in a label in every function you use the chk_error macro and you're good. The compiler, will, of course, warn you if you forget.

I think the linux kernel likely has a similar macro?

This fails in some complex cases where it would be nice to have non-default error handlers. But that's easy enough to do, actually and I'll likely come up with a macro along the lines of chk_error(cond, handler) along with a set_err_handler(label) to handle those cases.

Sometimes I think the pre-processor is one of the most undervalued C features that many more "modern" languages fail to fully provide.

Example usage:
	    char * tmpname = calloc(1, strlen("/tmp/epoll_emu.XXXXXXX") + 2); /* Extra padding */
	    chk_error(tmpname == 0);
            ...
            chk_error(unlink(tmpname) == -1);

	err:
	    return -1;

January 22, 2010

Paul Knight: Staying Warm

Staying Warm

January 17, 2010

Paul Knight: To the Heavens

To the Heavens

January 15, 2010

Paul Knight: His Favorite Orange Ball

His Favorite Orange Ball

January 14, 2010

DJ Capelis: One of those "you have to be here" kind of things.

Our instructor complained our chapter summaries were too boring:


Systems Researcher in Function Land
Chapter 1

Lost in his own thoughts, the systems research continued plodding along. The researcher took a manpage out from his wallet, gazed on it and sighed.

It was his favorite side-effect. He hadn't seen any in weeks. Why had he come to functionalland? He tried to remember. His last trip here hadn't seemed to go all that well, why did he come back? Ah yes... a quest for purity. Or so he seemed to remember from the brochure.

In any case, this part of functionalland was different from what he remembered. Instead of camels running around O shaped racetracks, the camels here seemed to all be resting. Apparently the extensive amount of time in the sun had made them lazy and unwilling to move. There were also less French people, though the lazy camels seemed to be trying to emulate some of their behaviors.

"French people" thought the researcher with a fleeting smile.

His smile slowly faded into a frown as a deepening realization slowly dawned on him: there weren't even croissants here.

--------------------------------------------------------------------------

Systems Researcher in Function Land
Chapter 2

The researcher plodded on. Gathering his strength he ascended the hill in front of him and slowly made his way to the top. As he stepped to the top of the hill, a meadow came into view.

He'd never seen anything like it. It was... it was a battle. A massive number of statements, huddled around in the center of the meadow, shielding themselves against two armies of operational semantics that had descended down upon the unwitting statements.

The systems researcher reached for his trusted LALR parsers and rushed down the hill. He knew his parser wouldn't last the battle, but he couldn't bear to see such abuse. Bringing his parser to bear, he threw himself at the nearest group of semantics definitions.

Slowly, the definition turned around. It raised a magnifying glass towards the researcher, the researcher gripped his parser, ready to fight. The wind blew from the north, the researcher and the definition locked eyes and cycles passed.

The definition was made out of a series of intricately built legos. The researcher could see that each structure within the definition was carefully specified and placed to yield the overall shape. The definition's blocky appearance was comforting and gave a sense of depth.

The definition continued to stare, then it paused and the definition lowered it's eyes and muttered "you don't match me anyways." The it turned, running off. The systems researcher ran after it.

As they passed, the systems researcher noticed many other definitions made out of legos, yet the researcher also another type of definition. These definitions were wearing hemp, birkenstocks and all had little stickers that said "Made in Santa Cruz" on them. Their appearance was natural, but their behavior was anything but. These definitions didn't seem to have the same depth as the block lego sort. These seemed to only be concerned with outcomes, one got a cold feeling just looking at them.

Abruptly, the definition the researcher was chasing stopped near a nearby while statement. The definition turned it's eyes on the while statement and consumed it as the systems researcher screamed with rage and plunged his LALR parser into the definition's blocky back.

Far from being enraged by the assault, the definition simply turned around and in a lecturing tone, said: "you don't match me." The parser fell out of the definition uselessly and the systems researcher was left standing in the midst of the battle, mouth agape. He looked on when suddenly, out popped the while statement, slightly smaller. He glanced at the researcher puzzled when the definition yelped and out sprung an if-then-else statement and a little guy who looked like a state delta.

The while statement shrugged and ran back towards the blocky definition, which immediately consumed it again.

The researcher, seeing a lost battle when he found one, picked up his parser, shrugged and made his way out of the battle.

An odd place, functionalland.

Jesse Ruderman: Downloadable debug builds

Testers can now download debug builds of Firefox rather than going trough the complicated process of building Firefox themselves.

Debug builds have extra code called assertions to inform us when assumptions or surrounding code are incorrect. For example, assertions can reliably tell us when third-party code makes common threading mistakes, even though the crashes from those mistakes appear random. I find about a third of my bugs by noticing assertion failures, and it usually isn't the assertion that's incorrect.

In several bug reports from users who were hitting frequent crashes at random, I suggested that the users compile their own debug builds, hoping that assertion failure messages would lead us to the cause of the crash. Few of the users succeeded, since the compilation tools and instructions were written with programmers in mind. Now that pre-made debug builds are available, we may be able to make more progress on these kinds of crash bug reports.

Big thanks to the release engineering team for making these builds available!

Jesse Ruderman: Shorter URLs for bugzilla.mozilla.org

Reed Loden set up bugzil.la as a redirect for Bugzilla bugs and searches. Examples:

Paul Knight: Radish Salad and Fennel Soup

Radish Salad and Fennel Soup

January 10, 2010

Ava Pierce: This is a first post.

Hooray I have a blog again~

I still haven't processed my Japan photos and I don't have any good pictures of my current creative projects, so here is a picture of my cat instead.

He's actually my mom's cat, and he has a proper Irish name, Hamish McGreggor. After this picture was taken he decided he liked the camera and nuzzled my lens. And yes, I had cat nose gunk on my lens the rest of the vacation because I forgot to bring lens paper :'(

January 6, 2010

DJ Capelis: Maybe the bleeding will stop after all...

For those of you who don't watch the state of the state address or read articles about it, the Governor proposed that spending on prisons shouldn't be more than spending on higher education. He wants a constitutional amendment to that effect and wants the funding in the next budget to match this vision.

The New York Times wrote an article about it here: http://www.nytimes.com/2010/01/07/us/07calif.html containing this quote:
?Those protests on the U.C. campuses were the tipping point,? the governor?s chief of staff, Susan Kennedy, said in an interview after the speech. ?Our university system is going to get the support it deserves.?


Huh.

January 5, 2010

Joe Auricchio: MacBook Maintenance, and Patience

Over this winter break, a friend asked me to replace her MacBook’s display. It was cracked and showed no image at all, just frozen colorful static. Whatever trauma befell the poor machine broke more than just the display—hard drive, optical drive, and keyboard/topcase had just been replaced.

Repairing Apple’s older laptops is notoriously difficult. They are not easy to work on. They are not designed to be: they are designed to be compact, durable, and look nice. Even apparently simple tasks can require removing dozens of tiny screws and disengaging delicate plastic tabs. Just before I went to college, I replaced a PowerBook G3 Lombard’s infamous right hinge; that was a fun two hours. Optical drives can’t be done in less than half an hour. Hard drives are sometimes a bit easier, sometimes not.

But a MacBook’s display is a special kind of difficult to remove. My father, who does Mac tech support and repairs for a living now, wouldn’t attempt the screen swap—it takes so long, that at the going labor rate, it’s prohibitively expensive. But “fools rush in”, so I volunteered for the suicide mission.

So I spent a day performing 61 “Very Difficult” steps forward then backward. It took five hours.

It seemed like a good idea to make a timelapse video of the process.



There’s also a 40MB higher-quality version, at a slower pace, so you can see what’s really happening instead of a crazy blur.

I used printed instructions from the magnificent iFixit.com. A few times, I had to look at the higher-resolution color pictures on my computer to see exactly which screw I was supposed to remove; the orange, red, and yellow diagrams don’t translate well from screen to greyscale laser printer.

As I removed screws and small parts, I taped them to the paper right next to the instruction, arranged in the same left-to-right order as their points of installation. The tape kept all the parts where they were supposed to be, and none got lost; I never confused similar-but-not-identical screws; I had parts exactly when I needed to reinstall them; and I moved completed pages aside, along with all their screws and parts. This tape trick came to me in a flash of insight while driving around town. I know I’m not the first person to come up with this, but I thought it was pretty clever, if I do say so myself ;)

I hit two snags in the repair process. First, after I swapped panels and reassembled the machine, the backlight didn’t work. You can’t quite see it in the video, but when I powered the machine up, the grey screen with Apple logo appeared like normal, but very very dimly. The LCD worked but it was almost impossible to see anything without the backlight. At first I panicked: did I break it? Did I fry something with static electricity? The inverter board that powers the backlight: is it more delicate than it seemed? As I reviewed the iFixit instructions to be sure I’d done everything right, I noticed a comment that explained what I did wrong. I took everything apart again, opened up the top half, and checked that inverter connector. Sure enough, it hadn’t “snapped”. I reconnected the essential cables and tested again, and the screen fired right up. Perfect. Whew.

The second snag was reassembling the front display bezel. It’s hard to see from the iFixit pictures, but between the white or black bezel and the metal frame there are twelve small grey plastic pieces. These grey bits are supposed to pop into the metal frame and stay there permanently. The protrusions on the back of the bezel slide into slots in the grey bits, holding on the bezel by friction. When I slid a credit card under the bezel, the bezel was supposed to detach from the grey bits. Unfortunately, what really happened is that the grey bits stayed tenaciously attached to the bezel, and I pulled up bezel and bits from the frame. I don’t know if this was because of aging materials, manufacturing variation, or (most likely) my sloppy credit card technique. The grey pieces wouldn’t snap back into the frame—they just bent. So I had to carefully pull all twelve off the bezel, bend their tabs back into shape, and pop them back into the frame. Finally I put the bezel back on. The iSight lens really didn’t want to stay in the bezel, so I had to flip the whole thing upside down to let gravity keep it in place. That was a small pain.

The hardest part was slowing down, taking my time, and working carefully and methodically. I’m a naturally impatient person. I hate wasting time, or spending more than is needed. And yet every time I tried to rush something (taking out a screw) or let my attention drift (looking at the various chips on the logic board, instead of the screwhead), I made a mistake (screw fell into the deep recesses of the case and had to be retrieved). I constantly had to make myself focus, slow down, and be patient. These are not things I usually do. The real challenge of this repair wasn’t the dexterity of my fingers, the keenness of my eyes, or finding a way forward when reality didn’t match the instructions. The real challenge was to myself: to sit quietly and do one thing at a time, carefully and attentively.

All man’s miseries derive from a single cause: the inability to sit in a quiet room alone.

—Blaise Pascal (unsourced)

January 3, 2010

Paul Knight: New Year's Sushi

New Year's Sushi

January 2, 2010

Brad Fults: On Being Informed

On Being Informed

December 30, 2009

Jessica Shindo: Green green hills

At first glance, these look like normal hills, their lawns kept nice so that one might stroll and enjoy the view of the bay and the bridge. It's not until one notices the glint of stones, buried on the slopes of the hills, that this is not simply a hill. It's a cemetary. The dead are laid to rest, their bodily remains either deteriorating or in the form of ashes. Everything is quiet. The dead do not speak, at least, during the day. The only living souls are the occasional visitor, and occasional burial memorial.

The scientist inside of me though, says that once you cremate your body your memories are no longer complete, since you lack your brain and the synapses that are needed to run your brain. But, since memories are distributive...

Really though, cemetaries are nice places. I think anyways. They bring people together. Peaceful. Pretty. And they give us hope that after this life, there is something somewhere for us.

Posted via LiveJournal.app.

December 28, 2009

Jessica Shindo: Sharing is caring, but some things, I do not care to share

Fill in the ________ with whatever, but tonight in particular, the words that fill that void are "my laptop." Because there is nothing I dislike more right now than sharing my laptop with someone, particularly when they themselves ask rather than me offering. I mean, I don't care if like, friends use it when they need it or something. It's like letting a friend drive a car, kind of. Certain people, you trust. Some people, you're like "yeah sure," as you toss them your keys and let them drive away alone. It's a rare person though, to not feel any sort of anxiety as you watch them drive off. Even if they're a good friend. There are a few people like that in my life.

But people whom I do not trust one hundred percent, especially if I am not offering my computer up to them, I really feel uncomfortable letting them use my computer. And just cause you're family, doesn't automatically qualify you to the eligible to borrow list. Simply because you gave said laptop to me as a gift doesn't necessarily mean I want to let you use MY laptop. I mean, you gave it to ME right? Right?

Ugh. It frustrates me to no end that my father walked up to me and asked to use my laptop, which was open, which I was only half using since I was reading (The Hunger Games in case you were wondering, which is actually quite excellent, but I digress). With my mom's laptop sitting unused right next to me. I might not have been actively using mine, but it was still open and in front of me. I was still doing things, had conversations up. So I mean, it's not like I wasn't doing anything at all. And he's been using mom's laptop for a while now.

Seriously, I'm like, get your own damn laptop. Mom thinks the same thing. She put a password on her computer to keep dad out, actually. THat was the first thing I did when I got back. Both of us agree that Dad constantly asking to borrow our laptops - or in her case, just going over and using it - is extremely annoying.

I pointed out the fact that one, we have multiple computers available to his use around the house. Like the one RIGHT NEXT TO ME. I did feel a little guilty about volunteering mom's laptop though, so I also pointed out the presence of the desktop upstairs. To which his reply was, "well yours is on."

What kind of a response is that? He didn't even tell me what he wanted to use the computer to do. Or how long it would take. Clearly it's taken longer. I've been writing this post for a while.

Finally, when I got around to asking him what he wanted to actually do, he was slightly pissy in his reply that no, he'd just use mom's laptop. I swear, he uses it more than she does sometimes. Perhaps we should save up to buy dad a laptop. Yes. Maybe. Hm.

Part of me feels like this distrust is kinda dumb. I know they're not going to do anything stupid. Like look at stuff. And I think hope that my father is polite enough not to look at my other open windows. Cause that, I consider to be snooping. Especially if someone lets you borrow their laptop. It's almost like it's asking for it, but at the same time, I feel like you should have enough respect for the person to not. Unless they don't care or you're supertight. But even then.

I already have issues though, with people looking at my screen. I blame my parents - my father especially. He always was looking at our screens, peering at what we were doing, reading our conversations. Another thing I despise. People reading over your shoulder, especially "private" conversations. "Private" because well, how private can a conversation be that's on display on a screen? It's mostly out of politeness really, that keeps the words on a screen private from the prying eyes of others when you're surrounded by others. I think anyways. Politeness at not reading the other person's screen. Sorta like listening in to a phone conversation. Except that's different because you're there and you can hear the person talk. I suppose it's more like listening to what a person was saying after they stepped outside? But not quite. The comparison isn't that strong really, but I think for the most part, it's easy enough to understand.

December 27, 2009

Paul Knight: Page Shift and Centered Designs

Page Shift and Centered Designs

December 24, 2009

Paul Knight: The Dog Days of Winter

The Dog Days of Winter

December 16, 2009

Paul Knight: Day 5: To Naoshima

Day 5: To Naoshima

December 14, 2009

Paul Knight: Genesis

Genesis
February 9, 2010 02:09 PST