July 22, 2014

Garrett Mace: Deep discounts on ShiftBrites and MegaBrites!

We've put ShiftBrites, Headerless ShiftBrites, and MegaBrite 90's on sale:

ShiftBrite 2.0

The ShiftBrite 2.0 is a redesign of the very first macetech product. It's a bright RGB LED module that uses a simple shift register control method to output 30-bit color. Most RGB LED solutions can only do 255 brightness levels per color; the ShiftBrite can do 1023. It has a sturdy mounting hole pattern, and 6-pin connectors that match our cables for trouble-free mounting, hookup, and maintenance.

Headerless ShiftBrite 2.0

The Headerless ShiftBrite 2.0 is the same as the regular ShiftBrite, except that the headers have been left off for more flexible hookup options. You can solder your own headers (straight or angled), another 0.1" spaced connector, or just use wires. This is a good option for tighter spaces.

MegaBrite 90  Read more»

posted at 05:15 PM.

July 19, 2014

Garrett Mace: 240 Pixel WS2812 Array

My friend Scott randomly dropped by the macetech LLC lab up here in Pullman, WA. He brought a cool thing to show off...a big array of 60px/m RGB pixels using the WS2812 LEDs. It's very bright in person and I was impressed with the matchup of the 60px/m LED spacing and the fluorescent lighting louver grid. I've definitely used the grid in a lot of projects, but never made that connection! His controller uses a custom WS2812 library running on a Digilent chipKIT Max32 with plenty of CPU power to spare.

posted at 07:11 AM.

July 04, 2014

Kent Rosenkoetter: Spy versus Spy

posted at 08:48 PM.

June 26, 2014

Kent Rosenkoetter: Milk!

A tiny deli opened up across the street a few weeks ago. I’ve walked over and gotten a ham sandwich pretty much every day since, and I’ve gone through a gallon of milk every few days since then. Whole milk! Screw you pansy skim-drinkers!

posted at 10:29 PM.

June 04, 2014

rhit tag @ flickr: 2014 RHIT Graduation

Wayne-K posted a photo:

2014 RHIT Graduation

Rose-Hulman Institute of Technology
Graduation and US Air Force Commissioning Ceremonies
30-31 May 2014

Nikon FM2
Nikon 35mm f/2 AI-S
Kodak Portra 400 Film

posted at 12:31 AM.

rhit tag @ flickr: 2014 RHIT Graduation

Wayne-K posted a photo:

2014 RHIT Graduation

Rose-Hulman Institute of Technology
Graduation and US Air Force Commissioning Ceremonies
30-31 May 2014

Nikon FM2
Nikon 35mm f/2 AI-S
Kodak Portra 400 Film

posted at 12:31 AM.

May 23, 2014

John Pederson: I ain't dead

But I haven't had much to say, either.

posted at 12:00 AM.

July 07, 2013

Colin Hill: Life Update

Who’s got two thumbs and got engaged yesterday? This guy.

posted at 12:30 PM.

May 20, 2013

John Pederson: Another pass around the solar system and not much has changed: Still alive. Been busy.

Work, mostly, but I've also been up to my armpits in videogames: Guild Wars 2 and Borderlands 2, mostly.

I still owe the blog a piece on heart surgery, which I might be about ready to write, now that we're almost a year on.

posted at 12:00 AM.

May 10, 2013

Nathan Froyd: around the sun

My surprise reached a climax, however, when I found incidentally that he was ignorant of the Copernican Theory and of the composition of the Solar System. That any civilized human being in this nineteenth century should not be aware that the earth travelled round the sun appeared to me to be such an extraordinary fact that I could hardly realize it.

”You appear to be astonished,” he said, smiling at my expression of surprise. “Now that I do know it I shall do my best to forget it.”

“To forget it!”

”You see,” he explained, “I consider that a man's brain originally is like a little empty attic, and you have to stock it with such furniture as you choose. A fool takes in all the lumber of every sort that he comes across, so that the knowledge which might be useful to him gets crowded out, or at best is jumbled up with a lot of other things, so that he has a difficulty in laying his hands upon it. Now the skilful workman is very careful indeed as to what he takes into his brain-attic. He will have nothing but the tools which may help him in doing his work, but of these he has a large assortment, and all in the most perfect order. It is a mistake to think that that little room has elastic walls and can distend to any extent. Depend upon it there comes a time when for every addition of knowledge you forget something that you knew before. It is of the highest importance, therefore, not to have useless facts elbowing out the useful ones.”

”But the Solar System!” I protested.

”What the deuce is it to me?” he interrupted impatiently: “you say that we go round the sun. If we went round the moon it would not make a pennyworth of difference to me or to my work.”

—from A Study in Scarlet by Sir Arthur Conan Doyle

I had read a fair number of Sherlock Holmes stories before seeing the recent reboots in the movies and on the BBC. And after going back and reading the stories, both for the second time and first time, I am continually impressed with how many small details they have worked in and how faithful they have been to the original stories.

posted at 12:23 AM.

May 08, 2013

Nathan Froyd: contemporary church life

It is one of the remarkable features of contemporary church life that so many are attempting to heal the church by tinkering with its structures, its services, its public face. This is clear evidence that modernity has successfully palmed off one of its great deceits on us, convincing us that God himself is secondary to organization and image, that the church's health lies in its flow charts, its convenience, and its offerings rather than in its inner life, its spiritual authenticity, the toughness of its moral intentions, its understanding of what it means to have God's Word in this world. Those who do not see this are out of touch with the deep realities of life, mistaking changes on the surface for changes in the deep waters that flow beneath. An inspired group of marketers might find a way of reviving a flagging business by modifying its image and offerings, but the matters of the heart, the matters of God, are not susceptible to such cosmetic alteration. The world's business and God's business are two different things.

—from God in the Wasteland: The Reality of Truth in a World of Fading Dreams by David F. Wells

posted at 12:02 AM.

April 11, 2013

Dave Heigl: video files played correctly, every time

Melissa and I have been watching rips I made of an anime series from DVD. I ripped it with english/japanese audio and english subs. We’re watching it with the Japanese audio and the English subs. Also, I find the openers to anime are generally really annoying. They’re just not my thing. So I like to skip them after the first few times. Here’s the command line to play the show without having to manually set it all up every time:

vlc –audio-track=1 –sub-track=1 –start-time=81 DeathNote_ep01.mkv

The audio and subtitle tracks are numbered from zero. On this show, English is zero, Japanese is one for the audio. English translations of signs, labels, etc is subtitle track zero. Full English subs is subtitle track one. Lastly, the show starts and 1m 21s into each file, so I tell vlc to start at 81 seconds in.

posted at 02:31 PM.

March 26, 2013

Dave Heigl: Weapon words

I think it’s a fairly haughty thing we allow our news reporters to do when they say that a particular bomb was “homemade” or “improvised” or any other adjective of that nature. Because they were not factory made, the enemy’s weapons are somehow more evil (or perhaps less respectable?) than ours. No news report ever mentions the provenance of any of our bombs, drones or tanks.

posted at 06:11 PM.

March 13, 2013

Edward O'Connor: Herodotus on standards work

It is also their general practice to deliberate upon affairs of weight when they are drunk; and then on the morrow, when they are sober, the decision to which they came the night before is put before them by the master of the house in which it was made; and if it is then approved of, they act on it; if not, they set it aside. Sometimes, however, they are sober at their first deliberation, but in this case they always reconsider the matter under the influence of wine.

Book 1 of the History of Herodotus

posted at 10:46 PM.

December 26, 2012

Robin: My Favorite Ways to Clean Up a Windows Computer

My computers all have huge hard drives and large amounts of RAM, but that doesn't mean they can hold everything and do everything and still run smoothly.  Computers, Windows computers at least, run better and are much happier the less stuff they have on them.  Here are my favorite ways to clean up my computers and improve performance and security:

1) Delete old restore points.  This isn't obviously presented as an option and isn't possible unless you've got administrator privileges. But it can reclaim a lot of hard drive space.  Restore points build up each time Windows Update installs or updates anything on your computer.  I haven't found an option that auto-cleans them up, so here is the method for manual deletion.  These instructions are for Windows 7, but there is something very similar in Windows Vista and even Windows XP Professional.

A) Open a Windows Explorer window (windows key + E) and select your computer in the left pane, so that the hard drives are visible in the right pane.  For fun, make note of the free space on your hard drive.

B) Select the main hard drive, right mouse button, and select properties.  In the window that pops up, find the button that says Disk Cleanup and click that.

C) Even if you are logged in as an Administrator, you need to do this step.  On the new window that pops up, find the button that says "Clean up system files" and click that.  If you aren't logged in as an administrator, you have to give administrator permissions to do this.

D) Windows recalculates things, and pops up that same window as before, but this time there is another tab to choose from.  Go to the More Options tab.  Find the "System Restore and Shadow Copies" section, and click the button that says "Clean up..."

E) Yes, you are sure.  Click Delete.  (That doesn't actually do the deletion, it just sets the option that you WANT to do the deletion.)  Back at the window, go back to the main Disk Cleanup tab.  Review the options in the list and make sure you agree with the other checked items.  Then click OK.  Yes you are sure.  Click Delete Files.  Now you can close out of the properties dialog box and Refresh the view in Windows Explorer to see how much space you have regained.
 

2) Don't put an office suite on your computer.  This makes the most sense for laptops with smaller SSD hard drives and computers that are mainly used for entertainment instead of work.  Instead, use a free web-based office suite.  The Google Docs suite has been an option for a while, but now even nicely functional versions of Microsoft Office products are available.  I wouldn't recommend this for a business computer, or if you always need the ability to open a spreadsheet even if the internet is down.  But it saves a lot of space and hassle with updates if none of this lives on your computer.

* Microsoft Office with Sky Drive.  This was a pleasant surprise to find online.  You sign up for an account and get 7 GB of free cloud storage to use with online versions of Word, Excel, PowerPoint, or OneNote. https://skydrive.live.com/

3) Delete programs and plugins without mercy.  Update everything else.  Go into Add/Remove programs, and start going down the list.  If you don't use a program, uninstall it.  If you do use a program, open it and check for updates - usually this is in the Help/About menu or screen.  Uninstall all the versions of Java you see in the list, and reinstall just the freshest version from their website.  Uninstall all the browser toolbars, all the partially functional software that came with the DVD drive, and all of the virus scanning and security software that isn't Microsoft Security Essentials.  Do get MSE if you don't have it.  It is free, unobtrusive, and has worked well for everyone I know who uses it.

4) The outside of the computer can be cleaned, too.  A slightly damp microfiber towel works very well to scrub grime off of mice, controllers, and laptop surfaces.  Dry microfiber cloths will remove dust.  Start with clean cloths and don't press down to avoid scratching displays.  I have used the CyberClean product, and find it helps most on standard keyboards because it gets between the keys. http://www.thinkgeek.com/product/b88d/ 
Just noticing your computer is sticky or discolored and doing something about it can make a huge difference in how new it seems.

Finally, resolve to keep your software up to date and set up an online backup service.  I paid for CrashPlan+ service, which I consider a bargain - only $139 for four years of unlimited backup from one computer.  http://www.crashplan.com/consumer/crashplan-plus.html  That is cheaper than one external hard drive, which in my experience will either fail or run out of space in less than four years.  Sorry if most of this post is obvious or things you already knew, I hope it helps a few people with maintaining their computers.

posted at 07:05 PM.

Robin: Sinusoidal Scarf

This is an easy pattern for a knitted scarf.  I made it up to practice knit and purl stitches, to build up speed and work on keeping an even gauge as I go.  It is supposed to be wavy when finished, resembling the shape of a sinusoid curve.  This is done simply by alternating garter stitch sections, which lay flat, with stockinette stitch sections, which tend to curl towards the knit side.  I alternate the side the stockinette faces to form the max and min points.  So, this is a very nerdy project.


(Any yarn and needle size can be used, gauge is not important, adjust stitch count for the width of scarf you want.)

Yarn: St. Denis Nordique, 100% wool, 50g per 150 yards, 2 to 3 balls, blue eggshell

Gauge: 19 stitches for 4 inches

Needle: US 8 or 5.00mm

Cast on 30 stitches.


Rows 1-4: knit all stitches.
Row 5: purl all stitches.
Row 6: knit all stitches.
Row 7: purl all stitches.
Rows 8-13: knit all stitches.
Repeat rows 5 through 13 until scarf is desired length.  Bind off.


DSCN4289

DSCN4288

DSCN4287

posted at 06:05 PM.

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 first time [...]

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 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.

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.

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.

April 14, 2009

Angel Johnson: I can't win!

I had my annual physical exam today. Nothing exciting to report, although it amuses me that I'm apparently having the opposite problem as before.

I've seen the same doctor the past couple of years now. For a while, my weight was hanging out somewhere between 105-110, usually on the lower end. Since starting my job, however, I've actually gained a bit of weight and that range has moved up about 5 pounds. Add onto that the recent visit from family, which included a couple of meals at restaurants, and I weighed in at 116 this morning. After going over the other measurements the nurse had taken — blood pressure, heart rate, temperature — she gets to the weight, then looks at me and asks if that's normal for me now. She then strongly encouraged that I start exercising, because this sort of thing "can sneak up on you gradually, and before you know it you're 50 pounds heavier and wondering how the heck that happened"!

Normally, stress makes it even more difficult for me to keep on weight, and my job gives me a fair helping of that. I'm also on my feet all day and do a fair amount of walking around during that time. I'm still not eating breakfast regularly. I suspect it's a combination of eating a Hot Pocket for lunch about 75% of the time and then getting home ravenously hungry every day and snacking while making dinner. (Shame on me, I know. =) ) The weekly Friday donuts probably didn't help much either, but those are gone now thanks to budget cuts.

In any case, between that and the knee pain I've been starting to develop, that's two more strikes against my current job. ^^b

Or maybe my metabolism is finally winding its way down, which would be a shame. I'd hate to actually have to make an effort to stay thin. ;-)

posted at 12:27 AM.

March 03, 2009

Angel Johnson: Baaaaaaaaby Electronics

When we had some slow time at work, I went upstairs as a part of my large inventorying project to clean out the storage rooms. I found quite a few things that I would not have expected to find at a bank, including cowboy hats and doctor costumes. I guess at one point they had dress-up themes to go along with promotions. *shrug*

Apparently when they first came out with their Online Banking, they were giving out mini USB mice along with a free Online/Bill Pay consultation. I found one left and asked my manager if I could have it, and she said yes! :D

So now I have a ridiculously tiny (but functional!) mouse on my desk at home. It's shiny!

posted at 01:28 AM.