April 26, 2012

Dave Heigl: Decomissioned

Today, after over two years, is the end of the road for the hackintosh. I’ve backed up all of its user data. Once I’m done with this post from it, I’ll be formatting the drive. All in all, it served me very well. It was reliable. It taught me how to use os x and it helped me create an iPhone app. I have access to an actual macbook, so trying to update this hackintosh to Lion isn’t something I’m wanting to spend time on. Perhaps sometime I’ll start fresh with another hackintosh, but for now, this chapter in my computing history is coming to a close. (:

posted at 04:10 AM.

April 21, 2012

Nathan Froyd: orthodox restraint

Finally, just a quick word on your “if it feels good, don't do it” distillation of my message. We can dig into this more as we go, but for now I'd just point out that at various times, Christianity--and particularly my own Catholicism, the faith of carousing Irishmen, hedonistic Italians, and “give me chastity, Lord, but Lord not yet” sinners in every time and place--has been scolded for being altogether too worldly, too pleasure-loving, too forgiving of the weaknesses of the flesh. If orthodoxy seems puritanical to you today, maybe it's less because it's inherently anti-fun and anti-feelgood than because we live in a society distinguished by such extraordinary excess--gluttonous, libidinous, avaricious--that what a different era might recognize as a healthy balance between asceticism and indulgence looks like hopeless prudishness instead.

from Ross Douthat, Bad Religion, entry 2

posted at 02:04 AM.

April 19, 2012

Kent Rosenkoetter: Right to Drive

I am sick of hearing people deny any right to drive with the ridiculous, “Driving is a privilege, not a right.” The Second Amendment explicitly protects our right to own and operate firearms, whose sole purpose is to kill. Really they have no other purpose, they only exist to kill. If the Founding Fathers explicitly stated our right to own and operate objects with one purpose, namely to kill, who in their right mind could possibly believe that we do not have a right to own and operate objects whose primary purpose is travel and secondary purpose is transporting cargo? I cannot comprehend what sort of cognitive dissonance is necessary to make that logical leap. Do these people also believe we do not have a fundamental right to walk? Take public transit? Charter private transit? Carry boxes down the street?

posted at 11:10 PM.

April 17, 2012

Nathan Froyd: food trademarks

From Why the U.S. Government Wants You To Buy Fake Foods:

This is not an oversight, as in, “hey, we forgot to regulate the labeling of Kobe beef.” This is part of a pattern of deliberate actions going back well over a century on the part of the Federal government to actively ignore foreign trademarks and intellectual property claims in order to support domestic industries. It has very much been done on purpose, and continues to be done on purpose, at the expense of the American consumer (and foreign producers). It is also stunningly hypocritical, and flies directly in the face of the government's deep pocketed attempts to combat piracy in the arenas of music, film, technology, and software. I think that if we were not the ones who had basically pioneered the computer and software industries, and were not home to Hollywood, and these businesses were based in other countries, we would gleefully produce our own “domestic” versions of foreign software, technology and entertainment without recompense to the countries that had invented and trademarked them...

The Treaty of Madrid in 1891 was among the first major international agreements on the protection of geographically designated food production. These are known today variously as Geographic Indications (GIs), the term collectively favored by the European Union, or by various national terms of geographically protected Designations of Origin (PDO, AOC, DOC, DOCG, etc.). In each case they refer to products so associated with production in a particular place as to warrant protection of that place/product combination. Usually the rationale is a combination of history, manufacturing tradition, terroir, and local law. The product typically grows or is made there better for environmental reasons, like the famously chalky terrain of Champagne or the volcanic soil in which legendary San Marzano tomatoes grow. In many cases the product also has been made there under very specific and unfaltering rules of purity, with strict supervision, sometimes for centuries. As a result, when you as the consumer buys that item, you should know exactly the level of quality and purity you are getting, be it Georgia peaches, Florida orange juice, Champagne or Kobe beef...

Twelve decades ago, the highest profile of the many foodstuffs to come out of the Treaty of Madrid protected was Champagne. Every major power in the world at the time elected to sign the treaty, with the exception of the United States. As a result, the term “Champagne” has been protected in almost every other first-world country since 1891. The Treaty has been revised many times, and in every case since, the U.S. has adamantly refused to sign. This is not an issue forgotten by the rest of the world. The European Union alone has a list of over 600 geographically designated products it protects under law, almost none of which the US agrees with. Despite repeated requests dating back more than a century from the French, and in recent decades the World Trade Organization and European Union, the U.S. has stubbornly and purposefully refused to become party to this treaty or dozens of others like it.

How nice it would be to only pay attention to international convention and trademark law when it was convenient for you.

posted at 02:11 PM.

March 25, 2012

John Pederson: Roomba Rumba

Not quite four-and-a-half years ago, I snagged a Roomba Scheduler off of Woot.com. After about a year, though, the battery capacity had fallen so precipitously that it barely ran at all, and it didn't seem to be getting much out of being docked on the home base. At the time, I just figured the battery was kaput, so I ordered a new one, swapped it, and ... no dice. Roomba would charge fine directly from the wall, but not off the home base. This suggested a problem with the home base, but, at the time, I didn't have the information to confirm this (because it could still have been the Roomba's connection to the home base, instead of something in the home base, itself).

Three years later, I finally got tired of having a robot sitting around being useless, so I did some research, and hit upon somebody else's documentation of diagnosing their Roomba.

Although the model and symptoms aren't quite the same, that turned out to be my problem: the home base was cooked.

The long and the short of what I needed to confirm that:
  • A voltmeter. I have a cheap multimeter laying around someplace, but can't find it. I wound up buying a new multimeter at Home Depot, but Radio Shack had a cheap one I should probably have grabbed, instead.
  • A 4.7k ohm resistor, good for at least 1/4 watt. I bought some 1/2-watt 4.7k ohm resistors at Radio Shack. They worked fine
  • A means of connecting the resistor to either the probes of your meter, or to the contacts of the Roomba home base. One approach is pictured in the article linked above. I grabbed a bunch of alligator-clipped test leads while I was at Radio Shack.
With each end of the resistor clipped to a different probe, it was pretty trivial to check the voltage being put out by my home base. The good/bad news for me is that, instead of rising to about 22.5 volts, my base was falling to 2 volts. Well, as they say, there's my problem.

When the new base arrived, I double checked the voltage on it, just for good measure: it puts out a bit over 20. Not quite as high as it ought to be, but I'm not sure what the tolerance is on that number, and it sure seems to have done the trick: Roomba's been busily eating dust bunnies and getting caught on cables for over a week, now.

posted at 12:00 AM.

March 08, 2012

Kent Rosenkoetter: To hate or not to hate?

http://www.dailymail.co.uk/news/article-2111060/Amanda-Clayton--1m-lottery-winner-STILL-collecting-welfare.html

I saw this linked from fark.com. I read it, I understand intellectually why people are reacting the way they are. But, somehow, I just am not angered by it. I don’t care. Is it a weird edge case in orthogonal government systems? Yes. Is it non-optimal? Sure. Do I think they need a new law to fix it? No. Particularly the law being proposed, which cuts off government benefits for anybody who wins $1000 or more, that is a gross overreaction. $1000 is not enough to justify cutting somebody off, that amount of money will barely go a couple months if you are living below the poverty line.

People need to stop looking for things to be angry about. There are legitimate emergencies out there, this is not one of them. The lottery is a self-sufficient system, it was not any drain on the government, it did not drain any taxes. Statistically, the odds of this being a long-term financial solution for somebody in her position are minimal. She probably really will need assistance again in the future. The entire process of changing the rules just to deny her the meager assistance will cost an order of magnitude more than the assistance itself will, counting the cost of the legislature’s time, the media time, and so on. It is not a battle worth fighting, shake your tiny fists and then move on.

posted at 10:27 AM.

March 02, 2012

Robin: Make Your House Bigger...

...by taking things out of it.

There was a weekend last year when I finally understood and internalized the raw fact that we weren't moving into a new house any time soon.  We'd been in our starter house for nine years, and I checked Zillow.com, and something went "click" in my brain.  If I wanted to live somewhere better with more space, it would be because I upgraded this house and got rid of a bunch of stuff.

The upgrades have gone very well, and should form the subject of many posts which are relevant to the title of this blog.  This essay is about de-cluttering, specifically lessons and hang-ups experienced by a pair of engineers who were raised by people who were raised by people who lived through the depression.

I had previously considered "clutter" to mean useless trinkets set out for decoration, so I didn't think I had any.  Nope.  I could look around my house as a whole, and think, "How do two adults and one cat need so much STUFF to live?"  Clutter can be broadly defined as any object that takes up more space than it has rights to.  Useful things are making my house smaller! THIS is why it is so difficult to purge large quantities of stuff.  When one has deep-seated generational worry about suddenly losing economic stability and nearly starving or freezing to death, it affects ones ability to let go of useful objects in ones possession.


Things do not make us secure, and holding extra things is not a virtue.  Discarding is not a sin, or a failure, it is a natural result of being a consumer and the last step in the cycle of ownership.  I need/want something, I buy/receive it, I use/enjoy it, then I discard it.  Dust to dust, and all that jazz.


Enough theory and platitudes.  Here's a bullet list of hints and realizations which helped me get through a purge and make a real difference in the apparent size of our living area.


*There is only one decision to make for each item I come across: are we keeping this or not?  I do not need to organize what I am keeping or do any cleaning while de-cluttering.

*This is a long-term project, to be handled one item and one decision at a time.  Do not set a goal about how many items I must purge, or how quickly I will finish a room.  Work a little at a time, more when I feel in a groove.


*Measure progress in volumetric terms.  How many cubic feet of matter is leaving my house?  Once it was shoved into garbage bags to go to the curb or placed into shopping bags for donation, I could really feel like I was making a difference.


*I did the easy stuff first.  I started with things with less emotional attachment.  I DID NOT start with paperwork, clothing, or childhood memories. I DID start with the laundry room, linen closet, under the sinks, and in the pantry.


*Anything expired got thrown out immediately.  Trash (empty envelopes? water damaged books?) got thrown out immediately. If a bottle of medicine that we use regularly expired before it was finished, I put it on a shopping list and made sure to buy a smaller size for less money this time.


*Anything that we like having around gets kept.


*I didn't put anything in the regular garbage that needed to be sent into a special waste stream.  I researched where to recycle electronics and how to dispose of household hazardous waste.


*If I thought I would start using something neglected now that I unearthed it again, I put it on probation.  I have a week or so to use it before getting rid of it for real.


*I am not having a garage sale.  I had a virtual garage sale, where I offered things to my facebook friends for free, if they came to pick it up immediately.  One friend now owns all of my planters and plant pots.  I didn't move all the stuff to a different place in the house to await the garage sale that never comes.


*Seriously, if it is worth the effort to sell, I brought it to a place that would buy it on the spot.  Half Price Books is my outlet of choice for this.  (If you don't have one of those nearby, a pawn shop, an Ebay storefront, or a consignment store will give you a fair price for valuable discards.)


*If it was not worth the effort to sell, I gave it to a charity.  People who are less fortunate can get good use out of these useful things we are parting with.  In either case, I got the things out of the house and into my car so I can drop it off the next time I was near a Goodwill or a Half Price Books.


*Packaging is trash.  I recycled all those cardboard boxes from electronics, and especially the custom molded foam inserts.  I still had the cardboard boxes from every laptop I ever owned stashed in our crawlspace!  Decorative tins are packaging, and therefore trash.  I recycled the Altoid tins, the fancy tins the scotch came in, and the holiday cookie tins.


*Duplicates are clutter.  After upgrading to a better version, I don't need to keep a second toaster, or a second coffee maker in case my main one breaks.  I can LIVE WITHOUT IT for the twelve hours to two days I might have to wait to replace it.


*Gifts are not sacred. I doubt the people who gave us wedding gifts intended to give us burdens we'd be obligated to possess for the rest of our lives.  The decision to keep or purge is not linked to how an object arrived in my hands.

*I had to train myself to see things as they are now, not as they were when I bought them or wanted them.  Stuff wears out.  Stuff goes obsolete.  I break up with a hobby.  It happens.


I learned a lot about myself while doing this purge.  After looking objectively at my possessions, I am a smarter consumer.  I like that I got rid of so many things.  The ratio of awesome things to "meh" things in my house is much higher, too.


[I'm hoping something in this post resonates with the blog reading public - please comment if so moved.]

posted at 04:10 AM.

March 01, 2012

Robin: 3D Body Scanning for a Good Reason

Public Service Announcement: your local mall might have a 3D body scanner that will tell you what pants and jeans will fit your shape.  A Me-Ality kiosk recently came on-line at Woodfield Mall in Schaumburg, IL, and I tried it out this week.

If you can stand still for less than 20 seconds, fully clothed with your shoes on, and you can handle low-power radio waves reflecting off your skin, you can do this.  They ask you to fill out a form with your email address, and it is worth giving a real email address, because of the information you will be getting.

After the scan, you get a bar code that refers to your measurement data now stored in their system. Mercifully, they never show or print a picture of your 3D point-cloud derriere. They do print a list of all the pants in the mall in their database that should fit you.  For me, that was 6 types of dress pants and 20 types of jeans.  (I was expecting "ERROR DATA NOT FOUND" as my only result, so this is a lot of matches.)

The service is free.  The data is good.  I found the pants that I tried on in the prescribed sizes were all the right shape, but consistently snug.  I assume I just prefer more ease in my garments than their average user.  Going one size up, I loved the fit.

The database isn't complete, but it is big enough to be useful.  I hope more stores get on board with supplying information/samples to Me-Ality so they can keep growing.  Here's why your email is important: once scanned, you can log in to the website and find out what pants and jeans will fit you from any store online, instead of limited just to the mall where you were scanned.

Imagine shopping online for pants and jeans!  (That isn't just buying more copies of something you know fit last time...)  It could only be better by also fitting shirts and dresses - probably in the works - or printing out custom sewing patterns or alteration templates. But, seriously, this is AWESOME use of 3D body scanning technology.  Kudos to Me-Ality, and I hope you all get a chance to try it out, too.

posted at 03:07 AM.

February 23, 2012

John Pederson: The World Is Full of Mystery and Wonder

People, I don't know if you knew already, but I just found out squids can fly. Like rockets.

(Link stolen from SayUncle.)

posted at 12:00 AM.

February 10, 2012

Garrett Mace: Maker Faire Bay Area 2012 Countdown Timer

Great news! The Call for Makers has been launched for Maker Faire Bay Area 2012. We're excited and apprehensive at the same time...the days seem to melt away in the months before Maker Faire. The Maker Faire site has a nice countdown timer, and we wanted to duplicate that so we could always keep an eye on the dwindling time. So we did it...in style! Check out the video below:

A big Betabrite LED sign (scored from Silicon Valley Electronics Flea Market) receives serial data from an Arduino. The Arduino is keeping track of the difference in time between now and 10:00 AM on May 19th, 2012. Since the Arduino by itself would quickly drift into the meaningless voids of time, we have a ChronoDot installed to keep everything precise. The very handy Time Library by Michael Margolis works as-is with the ChronoDot, and also provides some handy data structures to help do the necessary math.

Here are a few technical details:

The ChronoDot is wired to the Arduino on the following pins:

  • Arduino GND to ChronoDot GND
  • Arduino 5V to ChronoDot VCC
  • Arduino Analog 4 to ChronoDot SDA
  • Arduino Analog 5 to ChronoDot SCL

No pull-up resistors were installed since the Arduino Wire library already enables the internal pullups, which are OK for such a short I2C bus.

 Read more»

posted at 09:56 AM.

January 22, 2012

rhit tag @ flickr: Dawn

Daniel_Clayton posted a photo:

Dawn

Went out again, still no sun.

Used a graduated neutral density filter.

posted at 01:21 PM.

January 21, 2012

rhit tag @ flickr: Tree

Daniel_Clayton posted a photo:

Tree

Went out at dawn, there wasn't a sun. It was still nice though, cold, but nice.

posted at 01:33 PM.

January 10, 2012

Dave Heigl: Brats for dinner

Melissa made buns that went right on the brats tonight. They look great!

image

posted at 12:23 AM.

December 30, 2011

Garrett Mace: Homemade New Year's Eve LED Ball Drops

(This article was supposed to be written a lot earlier, but food poisoning had a discouraging effect on the author.)

Every New Year's Eve, up to a million visitors crowd Times Square NYC to see a massive crystal and LED ball descend at the stroke of midnight. The ball has grown increasingly large and complex over the past few years, now 12 feet in diameter and over 32,000 LEDs. While an impressive sight, it's not easy to drop by Times Square when you live on the West Coast. And seeing the ball drop on TV, 3 hours early, just isn't the same. So why not build your own LED ball?

Dropping our own LED ball is a 4-year macetech LLC tradition (well, four drops, and three elapsed years to be precise). The first ShiftBrite LED Modules were produced in early 2008. By the end of 2008, we were doing higher volume production and had founded a new company, macetech LLC. ShiftBrites are a small PCB with an RGB LED and a PWM controller, capable of 1023 levels of brightness for each of the red, green, and blue channels. They can be chained together with 6-pin cables, and sent color commands by a microcontroller. Only 4 data pins are needed to fully control up to 255 pixels in a single chain.

NYE Ball 2008/2009

The first ball was a spur of the moment idea during Christmas vacation. I happened to have a "stellated icosahedron" made from a bunch of drinking straws (it was something to do between interviews during a few months of unemployment in 2006). A stellated icosahedron has 32 intersections where ShiftBrites could be placed...coincidentally, I had a bunch of used ShiftBrites that had been sitting out in the rain for a Christmas light display on our front fence. I had seen an article about the new six-foot, LED and crystal New Year's Eve ball, and decided to give it a try. A few minutes, an Arduino, and some zip ties later, and the ball was ready. We made a 20 foot pole out of electrical conduit, a pulley, and some light rope. Unfortunately no video of the actual drop, but the neighbors all came out to celebrate!


 Read more»

posted at 10:17 AM.

September 19, 2011

Sarah Nelson: Delux!

posted at 04:13 AM.

Sarah Nelson: the master gardener

posted at 02:27 AM.

January 09, 2011

Colin Hill: Range Report

So yesterday I took my NRA basic pistol course and at the range finally got to break out my brand new Kimber 1911. I ran 195 rounds through it with only a couple of minor feed problems. My accuracy needs work, but I feel reasonably good given the fact that it was my [...]

posted at 07:47 PM.

November 02, 2010

L. Burke: No subject.

Every once in a while I think, "Hey, I should start blogging again."

And then I think, "Nah."

posted at 01:07 AM.

October 24, 2010

Colin Hill: Election

Perhaps I’m being over critical, but I don’t think I could ever cast my vote for a candidate whose website is almost entirely in Comic Sans.

posted at 04:26 PM.

October 13, 2010

Curtis Huttenhower: All talk and no action

This article is 100% true, yet at least 90% useless - if you look closely, they barely offer any practical solutions to the problem. Scientific software development is little different from experimental protocol development and execution; there's no substitute for expertise, attention to detail, and lots of time and effort.

Computational science: ...Error: why scientific programming does not compute

read more

posted at 04:25 PM.

October 11, 2010

Curtis Huttenhower: Quality, quantity, and academic promotion

After my last detail-oriented post, I thought I'd write about something more abstract; on a day like today, something like coincidences or binary arithmetic might be appropriate. But apropos to the topic actually at hand, life goes on pretty much as usual here, both today and tomorrow. Academia is infamous for its Byzantine promotion criteria, and it's striking how many of them boil down to quantity versus quality.

read more

posted at 03:15 AM.

September 13, 2010

Matt Burke: Parental enlightenment

"... if your children ask for a loaf of bread, do you give them a stone instead?" (Matthew 7:9, NLT)

Since I became a parent, I've had this verse floating in my head as something like "If your child asked for food, would you refuse him?" I took that a bit as a challenge, and tried to be accommodating. When my son asks for food, I try to get it for him.

However, this has its limits. For a while, at bedtime, he would ask for food. I could ask if he was hungry and wanted food, then ten minutes later say it was time for bed, and he'd ask for food. As this game became more obvious, more limits were defined, usually in the form of a timer.

So, having been a parent for almost four years, I would answer Jesus's rhetorical question now with, "Of course not. I might not always give him the food he's asking for, but it would be very cruel to give him a stone. Sometimes he gets bread, and sometimes he gets nothing."

posted at 06:37 PM.

August 20, 2010

Logan Bowers: I reply to the Internet

Some guy named John Cook begged the question! On the Internet!

I, of course, did my civic duty. I commented.

You are begging the question by defining “minimalism” as necessarily thoughtless. So, of course, minimalists are!

As you mentioned in the comments, “minimal” is a superlative meaning (roughly) “no less of X is possible.” You appear to define ‘X’ as “things necessary for life without conforming to required social norms.” But your more-minimalist-than-thou minimalists could just as easily have a different definition, e.g., their statement could be “Buy my book. I have only 39 things, while still maintaining appropriate social relationships with my friends!”

Indeed, it is good you did not link to the man in question because context because or facts could undermine your point; your hypothetical man, by definition, does give you things you want in exchange for the hypothetical things he needs from you. With context, he could have been a brilliant mathematician who trades knowledge, co-authorship, and bragging rights for a warm place to sleep. I'd take that over 4 eggs and a cup of flour any day.

Then again, maybe he’s just douché. I guess it depends on the minimalist instead of the minimalism.

posted at 01:19 AM.

August 06, 2010

Edward O'Connor: Running Gnus in a dedicated Emacs

Gnus is an awesome mail and news reader, but it can be a bit of a performance bear, especially when using IMAP. Since Emacs is single-threaded, IMAP operations that take too long can disconnect you from IRC, Jabber, or any number of other network services you also use from Emacs.

The typical solution to this problem is to run Gnus in a dedicated Emacs instance. Doing so is really easy—just make a gnus shell alias like so:

alias gnus 'emacs -f gnus'

The catch is, such an Emacs doesn't know it's a dedicated, Gnus-only Emacs. When I used this technique, it was always confusing that quitting Gnus didn't quit its Emacs.

We can use command-switch-alist to define a custom -gnus command line argument that does what we want. Here's what I have in my .emacs file:

(add-to-list
 'command-switch-alist
 '("gnus" . (lambda (&rest ignore)
              ;; Start Gnus when Emacs starts
              (add-hook 'emacs-startup-hook 'gnus t)
              ;; Exit Emacs after quitting Gnus
              (add-hook 'gnus-after-exiting-gnus-hook
                        'save-buffers-kill-emacs))))

To use the above, we just alter our shell alias to use our new argument:

alias gnus 'emacs -gnus'

The only other thing to keep in mind is how this sort of setup interacts with emacsclient. (This is a command that lets you edit files in an already-running Emacs.) I really only want emacsclient to open files in the other Emacs I have running, and not in my Gnus-only Emacs. Let's fix this by restricting when we start the server that emacsclient talks to.

(defvar ted-server-emacs t
  "If non-null, this emacs should run emacsclient.")

Now that we have a flag we can use, let's only call server-start when the flag's been raised:

(add-hook 'emacs-startup-hook
          (lambda ()
            (when ted-server-emacs
              (server-start))))

The only bit left to do is to (setq ted-server-emacs nil) inside the custom command line argument handler above.

posted at 11:37 PM.

Edward O'Connor: A simple shell lifehack

OpenSSH lets you use per-host settings in your ~/.ssh/config file, like so:

Host foo
HostName foo.example.com
ForwardX11 no

If you have the above in your ~/.ssh/config file, you can simply type ssh foo instead of ssh -x foo.example.com.

It’s pretty much always the case that I’ll fire up GNU Screen when SSHing into a remote host. Here’s some code that’s been banging around in my .cshrc for a few years. It sets up handy shell aliases for all of the machines I commonly SSH into:

set ssh_hosts=`grep '^Host [^*]' ~/.ssh/config|cut -c 6-`

foreach host ($ssh_hosts)
    alias $host "ssh -t $host screen -DR"
end

Now I can simply type foo and I’ll be up and running with a screen session on foo.example.com. If I want to SSH into a box without firing screen up, I simpy ssh foo directly.

Now that we have this handy ssh_hosts variable, we might as well use it for other things too, like for adding intelligent tab completion:

complete ssh 'p/1/$ssh_hosts/'

Now I can just type ssh f TAB RET and I’m good to go.

posted at 07:18 PM.

July 30, 2010

Ryan Johnson: Convert 720p/ac3 mkv to 720p/aac iPad-compatible mp4/m4v on Mac OS X Snow Leopard

# Video is not transcoded, just demuxed/muxed
# Audio is downmixed to stereo with DRC 
#
# You need these tools:
# * mkvextract (to demux the Matroska file)
#   * http://www.bunkus.org/videotools/mkvtoolnix/
#   * Just install through MacPorts, it doesn't pull in anything annoying
# * a52dec (to decompress and downmix the ac3)
#   * http://liba52.sourceforge.net/
#   * Compile from source
# * faac (to recompress the audio to mp4a/aac)
#   * http://www.audiocoding.com/
#   * Compile from source
# * MP4Box (to remux into MPEG-4 container) 
#   * http://kurtnoise.free.fr/mp4tools/
#   * Pre-compiled standalone OS X executable

mkvextract tracks ${BASE}.mkv 1:${BASE}.ac3 2:${BASE}.264
a52dec -o wav ${BASE}.ac3 > ${BASE}.wav
faac -b 96 --mpeg-vers 4 -o ${BASE}.aac ${BASE}.wav
MP4Box -add ${BASE}.264:fps=23.976 -add ${BASE}.aac ${BASE}.m4v
rm ${BASE}.{264,ac3,wav,aac}
Update: Here's a gist of an mkv2m4v script that automates the process: http://gist.github.com/502844

posted at 03:47 AM.

July 06, 2010

Logan Bowers: Economic quiz for the day

Suppose you own and operate a Jimmy Johns franchise. You normally have two counters producing sandwiches, but since the 2008 recession you've been getting fewer customers, so you laid off half your staff and only operate one counter. The other one sits idle and unused.

Given that you already meet the reduced demand for lunches, what will motivate you to rehire your staff and open the second counter?
(a) A sack full of cash
(b) A loan from the bank
(c) Less government spending
(d) More customers

Bonus question: The sandwich counter manufacturer wants to sell you another counter, which of the above will cause you to buy a THIRD counter?

This is the mental exercise you should do whenever you hear a politician talk about tax breaks vs. stimulus spending. Tax breaks are (a), stimulus spending is (d).

posted at 05:55 PM.

June 11, 2010

Dave Imler: Nerding Right Along

Software Nerd
So, in the past two weeks I’ve kicked out a prototype web site for a theatre I work with: The Improv Shop , which is a great place for those who are interested in long form story based improvisation. The theatre owner wanted something minimal, which was great for me, since I don’t really relish doing art much.

So, now, of course, I’m taking the static file template and redoing it in as a full fledged CMS in django, as my, “Dave teaches himself Django” project.

Improv Nerd

Last weekend was spent making a film for the STL 48 hour Film Festival.   It showed last night, and will show again at the Tuesday ‘best of’ showcase. Which is so wonderful.

I was lucky enough to work with Clinic Improv, and act, film, light in that one.  Rhiannon busted out her violin to provide depressing Eastern European riffs for our ‘foreign film’. I’ll post that one as soon as the festival’s publishing embargo is lifted.

posted at 06:38 PM.

May 14, 2010

Dave Imler: A Relaxed Moment

I’m working in the home office, snacking on coffee and stuff from the local coffee shop, listening to Cake and Mc Frontalot. Rhiannon is taking a half day. We had kolaches together for lunch. Now she’s napping on the couch with a DVD of Daria playing in the background. The screen door is open, and the house smells like gentle rain.

I didn’t have to comb my hair today.

posted at 08:50 PM.

April 09, 2010

News from Rose-Hulman: Alumnus Tim Cindric Sets the Direction for Penske Racing's Success

When Roger Penske needed help to restore its stature in open wheel racing, he called upon Tim Cindric in 2000 to lead Penske Racing's daily operations. Since then, as team president, the 1990 Rose-Hulman Institute of Technology mechanical engineering alumnus has helped the organization dominate the Indianapolis 500, with four wins since 2001 and a record-tying three wins in a row from 2001-2003; become one of the top teams in the Indy Racing League, with victories in the first two races of this season; and become competitive in NASCAR's Sprint Cup league, with a victory in the prestigious Daytona 500.

posted at 07:32 PM.

March 24, 2010

News from Rose-Hulman: Rose-Hulman Faculty Earn Emeritus Status, Promotions and Tenure

The Rose-Hulman Institute of Technology Board of Trustees granted emeritus status, promotions, tenure and leaves to several faculty members during its winter meeting. Emeritus faculty status was awarded to Art Western, who is retiring after 23 years as vice president of academic affairs, dean of faculty and professor of physics and optical engineering; and Thomas Mason, who is retiring after 37 years as professor of economics and engineering management and former vice president for administration.

posted at 07:32 PM.

March 05, 2010

Matt Burke: "Biotechnology" == evil

Now that he's not at Microsoft, I generally find myself more tolerant of Bill Gates. I think it's awesome that he's throwing himself (and his fortune) into solving some big problems. I might not totally agree with it all, but it's certainly more noble than his previous occupation.

That said, I really really wish I could convince him that biotechnology (specifically, genetically engineered food) is not the answer to modern or future food supply issues. It's not his main deal, but I was reminded of his views by his article about a new farming book.

My thoughts on this subject have gone from almost complete ignorance a couple years ago, to vague malaise a couple months ago, to downright disgust with biotechnology in farming (read: GE crops). Granted, much of my education has been from biased sources, but I think I still have some fairly reasonable reasoning. And I'm not ragging on other kinds of biotech -- there is clearly a lot of good that it can do. But I am very opposed to GE food, for two basic reasons. The first is the way it is treated from an intellectual property perspective. The second is its lack of benefit when compared to its known and unknown risks.

The problem with GE intellectual property is this: when you put an unnatural gene into an organism, you can patent it. Not just the process, but the actual seed, the organism. This means that every plant with that gene belongs to the patent-holder. Farmers are criminals if they save seed. Compare this to conventional breeding: when I make a better variety of some plant, you can keep the seed. This change in options for the farmer results in a change in the formula for pricing the seed. If the farmer has the option of saving seed, the breeder has to keep the price low enough that it makes more sense to buy seed than to save it. If the farmer doesn't have the option to save seed, the breeder just has to keep the price low enough that the farmer still farms. This exact thing has happened: seed corn is somewhere around 400% of its price 20 years ago. Compare that to the CPI, currently about 200% of its value 25 years ago. So, if I make a GE seed, I can gouge you. And if I make the best conventionally-bred variety and then stick in a gene that you don't really care about, then I can gouge you some more.

The other problem with GE crops is the lack of benefits when compared to problems. The promise is this: higher yields, drought-resistance, pest-resistance, herbicide-tolerance. Compared to conventional breeding, GE fails to produce higher yields. GE has not produced a drought-resistant crop. GE achieved pest-resistance by making plants produce a toxin. Granted it's a "safe for humans" toxin. At least, it is when used in moderation and given a certain amount of time to wash off. However, the toxin is produced by plants at a rate 2-40 times higher than the toxin would have been applied by farmers, according to one estimate I heard. And every cell of the plant is producing the toxin: there is no "wash it off". Herbicide tolerance encourages the use of more herbicides. And that's the mostly-known effects of planting GE crops. GE seed is notoriously closed to scientific scrutiny.

So, that's my rant. I could go on and on, but that's enough for now.

posted at 03:40 PM.

December 11, 2009

Scott Tomlinson: Time,

I've started writing 2010 on things. In my mind it's still June. I think I just lost 6 months. How odd.

posted at 07:08 PM.

October 18, 2009

Herb Mann: The Puffin Perch

Renaming A Dead Horse

I decided that the previous name of this blog was becoming unseemly, so it is now “The Puffin Perch”.  Maybe I’ll finish some of those drafted posts now that I won’t be embarrassed to have people find them.  But no promises!

posted at 05:21 AM.

October 13, 2009

Dan Moore: Weighing myself in THE FUTURE

Why am I posting about a bathroom scale? Because this thing is probably the slickest, most polished gadget I've ever used.

Yes, I bought the Withings Wi-Fi Scale. If you're connected to me via any social networks or meet me in person, you've probably heard me drone on and on about my recent weight loss. But keeping track of that with pen and paper, or even an iPhone app as I had been for a while is so early-to-mid-2009. Now, I have a bathroom scale that connects to my wireless network at home and updates a private Web site and iPhone application. It measures not only weight, but also fat percentage by measuring impedance in one's feet (though I wonder how accurate that is).

What makes it so slick? Withings seems to have gotten everything right from the start. I've been using their iPhone app to manually track weight for a while, and after setting up the scale, bam - the scale displayed my name (taken from the website/iPhone app) on its screen, uploaded the data, and seconds later I had a push notification (badge) to my iPhone indicating there were new measurements to view. The new measurements uploaded from the scale appear just like the ones I was putting in manually, only now with additional information.

Of course, it should be easy to be easy when you're talking about a bathroom scale, but the setup is what could have been really complicated. While the scale does have a screen, it doesn't make sense to integrate a whole input device into the scale so you can configure the wireless networking, which they could have done but would have been really bad. Even worse would have been to do something where pressing on the scale would scroll through letters or something obtuse like that.

What Withings did, which is brilliant, is to let you configure it with an iPhone. To do that, all you do is load up the iPhone app in configuration mode and turn the scale over. There's a little iPhone shaped indentation on the bottom, with a single button below it. When you press the button on the bottom of the scale, it emits a tone and the iPhone and scale communicate audibly like a modem. Then you just configure the scale using a full interface on the iPhone. There's also a USB cable included that connects to an equally slick Mac or Windows application to configure it. Both processes work as easily as I could possibly imagine. I think that in addition to my name that it also pulls some other info from the website, but I need to play with it a bit more to make sure.

When I said "polished" up above, I meant cosmetically as well as functionally. It is an awfully good looking scale. The display is bright and easy to read. By looking at the photos on their website you can tell they spent some time on design, and it looks even better in person.

The iPhone app and Web interface to view the data is still a little clunky to me, but I'm pretty picky about software and besides, that can always be upgraded later. They got the hardware and integration parts down flawlessly and that's what counts. I'm hoping they come up with a real API to access the data, but for now, you can get a CSV export of all the data recorded through the website.

So, bravo Withings. My only complaint about the hardware is that it doesn't work well on the stupid carpet in my bathroom, even when using the special carpet feet included.

Disclaimer: I've only used the thing for a day, so if you want to buy one you might want to wait and make sure I don't rant about it breaking in a week or something.

posted at 05:42 PM.

October 04, 2009

Ryan Johnson: repos.rb

The RubyCocoa project makes Ruby an incredibly powerful scripting language in Mac OS X.

As an example, here's a script that I used to rearrange windows when switching between various monitors. Based on the width of the main screen (something which I couldn't find a robust way to query outside of the NSScreen Cocoa API), it applies my preferred size and positioning to specific windows I care about. If you run it with '-q', it instead dumps a structure with those windows' current sizes and positions, for feeding back into the script as configuration.

Enjoy:

#!/usr/bin/env ruby -w

require 'optparse'
require 'osx/cocoa' # http://rubycocoa.sourceforge.net
require 'pp'

options = { :query => false }
OptionParser.new do |opts|
  opts.banner = 'Usage: repos.rb [options]'
  opts.on( '-q', '--query', 'Query rather than set positioning' ) do |q|
    options[:query] = q
  end
end.parse!

def first_window_of( s ) %Q{the first window of process "#{s}"} end
WindowsOfInterest = {
  :adium_chat     => first_window_of('Adium')   + ' whose name is not "Contacts"',
  :adium_contacts => first_window_of('Adium')   + ' whose name is "Contacts"',
  :firefox        => first_window_of('Firefox') + ' whose name is not "Downloads"',
  :ical           => first_window_of('iCal'),
  :iterm          => first_window_of('iTerm'),
  :itunes         => first_window_of('iTunes'),
  :mail           => first_window_of('Mail'),
  :terminal       => first_window_of('Terminal'),
  :tweetie        => first_window_of('Tweetie') + ' whose name is "Tweetie"',
}
PropertiesOfInterest = [ :position, :size ]
ConfigurationForWidth = {
  2560 => {
    :adium_chat     => { :position => [2058, 1241], :size => [501, 357]   },
    :adium_contacts => { :position => [2419, 22],   :size => [141, 357]   },
    :firefox        => { :position => [632, 223],   :size => [1459, 1096] },
    :ical           => { :position => [3199, 800],  :size => [640, 715]   },
    :iterm          => { :position => [0, 740],     :size => [786, 860]   },
    :itunes         => { :position => [1080, 22],   :size => [1336, 946]  },
    :mail           => { :position => [0, 22],      :size => [1079, 717]  },
    :terminal       => { :position => [2560, 800],  :size => [641, 795]   },
    :tweetie        => { :position => [2058, 549],  :size => [500, 690]   },
  },
  1920 => {
    :adium_chat     => { :position => [1419, 844],  :size => [501, 357]   },
    :adium_contacts => { :position => [1785, 22],   :size => [135, 319]   },
    :firefox        => { :position => [397, 72],    :size => [1208, 1034] },
    :ical           => { :position => [949, 1203],  :size => [640, 715]   },
    :iterm          => { :position => [0, 355],     :size => [810, 844]   },
    :itunes         => { :position => [494, 22],    :size => [1280, 715]  },
    :mail           => { :position => [0, 22],      :size => [1079, 717]  },
    :terminal       => { :position => [312, 1202],  :size => [641, 723]   },
    :tweetie        => { :position => [1418, 293],  :size => [501, 550]   },
  },
}

def do_apple_script(s)
  result = OSX::NSAppleScript.alloc.initWithSource(s).executeAndReturnError(nil)

  # Return an array of the values (AppleScript uses 1-based indexing)
  (1..result.numberOfItems).map do |i|
    result.descriptorAtIndex( i ).int32Value
  end
end

main_display_width = Integer( OSX::NSScreen.mainScreen.frame.width )
window_properties = {}

if options[:query]

  WindowsOfInterest.each do |key,spec|
    window_properties[key] = {}
    PropertiesOfInterest.each do |prop|
      window_properties[key][prop] = do_apple_script(
        %Q{tell application "System Events" to get the #{prop} of #{spec}}
      )
    end
  end

  puts "#{main_display_width} =>"
  pp window_properties

else

  config = ConfigurationForWidth[main_display_width] or
    raise "No configuration for main display width #{main_display_width}"

  config.each do |window,props|
    props.each do |prop,rubyval|
      value = '{' + rubyval.join(',') + '}'
      do_apple_script(
        %Q{tell application "System Events" to set the #{prop} of #{WindowsOfInterest[window]} to #{value}}
      )
    end
  end

  system %Q{/Users/ryan/bin/emacsclient -e '(rdj-smartsize-frame-for #{main_display_width}))' > /dev/null}

end

posted at 08:55 PM.

September 29, 2009

Dan Moore: Quoting Myself

Dave Imler's IM status earlier: "Are you there, God? It's me, Dave. I've found several usability bugs in creation. Enclosed are the instructions for reproduction. Do you have any ideas about a bugfix timetable?"

Me: Can't you just fork the project?
Me: Or hasn't He gotten around to putting it on github yet?
Him: Man, I don't like reading that code. I can't even get through his 'documentation'. Leviticus reads like a freaking switch statement.
Me: BEGAT considered harmful
Him: winner is you!

posted at 07:24 PM.

August 21, 2009

Scott Tomlinson: 6 month update

Smiley here! Forget the dreaded post-less month, I've been out of it for 6. And I really don't know where to start, but I haven't updated Live Journal in the last six months, or the equivalent of an Appalachian Trail Thru-Hike. And when I put it in those terms, it's hard to think about.

The biggest news that most people know, is that I'm engaged to Audrey (Homeward Bound)! Yay!

After that, I'm hanging in there. Still employed, and in the Arlington Heights IL area for awhile longer. (Lease is up in mid-November so will be switching apartments then for sure.)

I don't know how much I'll be updating, but my continual goal is to make time for social interactions. How well I meet that goal is another thing entirely.

Good luck to everyone, and even if I have been hiding away just trying to survive for the last year, that doesn't mean I haven't been thinking of you. And yes that includes my family, friends from Robinson and college, friends from the trail, and all of my running buddies from Chicago! I'm Wishing I was better at striking a balance, and I'm working every day to be better. But lately that's all that it feels like I can do, work at getting through one day at a time, doing the best I can. And that's what I'll keep doing, the best I can.

All in all, life is good, and worth every effort. Still Smiling!

Scott (Smiley Happy Feet :-)

posted at 12:20 PM.

June 16, 2009

Herb Mann: WordPressalypse

Something went terribly wrong in my WordPress install today, and I’m not sure what, or why.  The database is fine, along with all the posts and comments, as far as I can tell.  Those who read by feed probably won’t even notice a difference.

Once I have time to descend back into the Jeffries Tubes around here, I’ll get it sorted.

posted at 05:58 AM.

June 07, 2009

L. Burke: My thoughts on a piece of bad news

A really terrible story.

http://www.dreamindemon.com/2009/06/04/emily-mcdonald-made-her-daughter-sick/

I am on another web site from whence I am familiar with this woman and her children. Sometimes I have a feeling about people but not this time. When she took her blog off line I figured it was because the child was dying and she didn't want any more public scrutiny.

But no, it was not that. At all. Much worse.

I do wonder what makes someone crack up like this. Certainly she was under a lot of pressure and was something of an overachiever (raising three young children, one with a lot of special needs, while going to school as well.) But what kind of person are you to start with, that this is what happens inside your head? Why do some depressed/ mentally ill individuals hurt others, while most just destroy themselves? If science could solve that problem the world would bow down and worship it..

I'm glad that technology was used for so much good in this instance. Modern medicine saved her child over and over. A camera caught her in the act. So often I tend toward seeing the darker side of technology and medicine. It was good to see them as the heroes (along with the medical professionals who suspected something like this) of a detective story. For my fellow bloggers who ask, "What is redemptive about this?" I'm going to answer, "The surveillance camera, and the people who figured out what was going on."

posted at 09:45 PM.