I got a letter from Comcast telling me my cable modem was so old that they were going to drop support for it. Whaddaya talkin' about, I thought. It's only like 10 years old--the first rev of the Linksys BEFCMU10. I was getting 2-6 Mbps downloads according to speakeasy, so I figured what more could I need?
Just for shits and giggles, I went out and bought a Motorola Docsis 3.0 SB6120, since in my area Comcast has some crazy fast internet options. My old modem was only Docsis 1.0. After a fairly painless and short phone call to a special Comcast number (877 735 3499), I was up and running...at freakin 35Mbps!
I didn't change service plans. I just got a faster modem. And blamo, I got a 5-10 fold increase in throughput. I love Comcast. Even if their DNS shits the bed more often than one would like. Just plugin in Google's 8.8.8.8 DNS servers as your backup.
Comcast, I love you.
Tuesday, November 30, 2010
Wednesday, October 20, 2010
SQLDeveloper dies becuase it can't mkdir in /home on OSX 10.6
This was totally weird. SQLDeveloper crashed on OSX. I attempted to restart it and got a popup telling me "Error creating user home in directory /home/[some place]".
The [some place] was actually my unix NFS home directory. It's totally beyond me how OSX figured out my NFS home directory for my unix account (which is by the way the same account as my osx account).
I commented out some automounter thing according to this article: http://discussions.apple.com/messageview.jspa?messageID=5665487&stqc=true
Then I rebooted and SQLDeveloper worked again.
The [some place] was actually my unix NFS home directory. It's totally beyond me how OSX figured out my NFS home directory for my unix account (which is by the way the same account as my osx account).
I commented out some automounter thing according to this article: http://discussions.apple.com/messageview.jspa?messageID=5665487&stqc=true
Then I rebooted and SQLDeveloper worked again.
Sunday, August 22, 2010
iPod Touch 2.2.1 to 3.x
When the ipod touch 3.0 update came out, I didn't touch it. I had heard of too many applications going off the deep end. When the 4.0 firmware came out, I didn't touch it for the same reason.
But now most apps require the 3.0 firmware, so I went to make the upgrade. But I couldn't find the 3.0 or 3.1 (or 3 dot anything) searching on iTunes, even after upgrading to iTunes 9 (which, by the way, was really weird: upgrade to iTunes 9, and then have iTunes 9 tell you that in order to use the iTunes store within iTunes, you have to upgrade Safari 5...makes you feel like you're stuck in the Mac version of DLL Hell. Two reboots later, you're "current". Way to make me feel like I'm running Windows 95, guys.
Apparently when iOS 4 came out, it became the "best". But since first-gen ipod touches can't run iOS 4, version 2.2.1 became "best" according to iTunes. It's as if there's no version 3.0/3.1....but this post tells you how to get your first-gen IPT to run 3.1.
It all begs the question: how the fuck am I supposed to know what "generation" of an iPod touch I have? It doesn't say anywhere what the generation is.
But now most apps require the 3.0 firmware, so I went to make the upgrade. But I couldn't find the 3.0 or 3.1 (or 3 dot anything) searching on iTunes, even after upgrading to iTunes 9 (which, by the way, was really weird: upgrade to iTunes 9, and then have iTunes 9 tell you that in order to use the iTunes store within iTunes, you have to upgrade Safari 5...makes you feel like you're stuck in the Mac version of DLL Hell. Two reboots later, you're "current". Way to make me feel like I'm running Windows 95, guys.
Apparently when iOS 4 came out, it became the "best". But since first-gen ipod touches can't run iOS 4, version 2.2.1 became "best" according to iTunes. It's as if there's no version 3.0/3.1....but this post tells you how to get your first-gen IPT to run 3.1.
It all begs the question: how the fuck am I supposed to know what "generation" of an iPod touch I have? It doesn't say anywhere what the generation is.
Tuesday, July 27, 2010
OSX Key Remapping Hell
I'm in OSX keyboard remaping hell. For decades I used a PC. Then I switched to a Mac because I wanted huge memory and I didn't want 64-bit XP. I have a Kinesis keyboard, and because ctrl-c and ctrl-v are now hardwired into my brain (or into my fingers--this is muscle memory I'm talking about, not actual key labels), I wanted to get my mac to understand that copy is ctrl-c and paste is ctrl-v.
Simple enough using the "Keyboard Shortcuts". It worked for years.
Until one day my IT team updated my OS and all of a sudden ctrl-v in mail.app sends my cursor to the bottom of the email that I'm composing. When I hit ctrl-v *again*, it pastes. At the fucking bottom of the email. I poked around some forums and recalled from my days as a Unix programmer that ctrl-v is Emacs for "page down". Why the shit OSX's Mail.app decided to all of a sudden start speaking partial Emacs is totally bizarro. But that's what it did. Fuckers.
How to fix this? Open up /System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict and yank these lines:
<key:>^C</key>
<string>insertNewline:</string>
<key:>~^C</key>
<string>insertNewlineIgnoringFieldEditor:</string>
<key:>^V</key>
<string>pageDownAndModifySelection:</string>
<key:>^v</key>
<string>pageDown:</string>
Oh yeah, and then as a final up yours from Apple, you have to reboot.
Simple enough using the "Keyboard Shortcuts". It worked for years.
Until one day my IT team updated my OS and all of a sudden ctrl-v in mail.app sends my cursor to the bottom of the email that I'm composing. When I hit ctrl-v *again*, it pastes. At the fucking bottom of the email. I poked around some forums and recalled from my days as a Unix programmer that ctrl-v is Emacs for "page down". Why the shit OSX's Mail.app decided to all of a sudden start speaking partial Emacs is totally bizarro. But that's what it did. Fuckers.
How to fix this? Open up /System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict and yank these lines:
<key:>^C</key>
<string>insertNewline:</string>
<key:>~^C</key>
<string>insertNewlineIgnoringFieldEditor:</string>
<key:>^V</key>
<string>pageDownAndModifySelection:</string>
<key:>^v</key>
<string>pageDown:</string>
Oh yeah, and then as a final up yours from Apple, you have to reboot.
Sunday, May 16, 2010
Surgery for laryngomalacia and an omega shaped epiglottis
My infant son was diagnosed with laryngomalacia a few days after he was born. He had a wicked stridor, and we found it mildly entertaining that our son sounded like an 80 year old lifelong smoker. We were told after a year or two the condition would right itself. No need to worry. Everyone kept saying how incredibly rare it was for a baby to require any kind of intervention for laryngomalacia. No doubt it's rare. Alas, our baby was the rare case.
The first trip in the ambulance in the middle of the night to Boston's Children's Hospital was scary. My son just kinda, well, seemed to stop breathing. He was flailing all about, trying very hard to get a breath. When he did catch a breath, he was panicked. He'd cry a terrible cry and then settle down. This happened a few times and we called our pedi, who told us to call an ambulance. About 2 minutes later, we lit up the street like a Christmas tree with a firetruck, an ambulance, and an EMT SUV.
I had to stay at home with our 2.5 year old daughter, so my wife got to stay with our son at the ER. Putting a 9 week old through throat x-rays, chest x-rays, a scoping from the ORL, and the associated medical examinations traumatized my wife. If I were there I probably would have been traumatized.
My son stayed for observation in the neonatal intensive care unit (or as everyone calls it, the "NICK-U") for a few days, during which time nothing interesting happened. A few days later we saw a pediatric ORL (that's what ENTs like to be called--ENT seems too vulgar; stick with the Latin). My boy got scoped, which isn't as miedeval as it sounds. They gently thread a very small fiber optic wire up his nose and down his throat to take a look. It's not terribly comfortable, but it's actually not very invasive, and after a bit of fusiness during the 2 minute scoping, our son was undisturbed. The ORL said that he thought our son would benefit from a supraglottoplasty, where they basically zorch away some extra material in his larynx with a laser and make a few incisions in the hope of changing the shape of his epiglottis.
We thought this was a bit radical. After all, putting an 11 week old under general anesthesia scared the bejeezus out of us. So we scheduled the surgery for about 6 weeks out. Then my son had what the nurses called a "scary incident", which is a bit of an understatement: my son kinda sorta stopped breathing a few times for about 5-10 seconds each time. Both times he had a bit of a cold, but steaming him in the bathroom didn't improve the situation. Instead he seized up, flailing about while trying to breath. I had just taken an infant CPR course, so I gave him a few back blows, which opened up his airway and he started breathing again.
That won us another ticket into the ER and then straight to the NICU. It also presented an opportunity to do the surgery within days instead of weeks, forcing our hand. We chose the surgery. It was not an easy decision, but he has clearly benefited from the surgery. The airway of a baby is pretty dang small, and when it gets kind of cloggy from excess material, it gets a bit smaller. Then when the kid gets a cold, all that phlegm clogs things even more, shrinking the airway still further. So the margin for error gets really, really small. Under just the right circumstances, without absolutely constant vigilance, something really bad might happen. So the surgery hasn't fixed everything, but it has widened our margin for error.
We had great doctors, but doctors never seem to describe in enough detail exactly what recovery is going to look like. We'd been warned that after the surgery he'd be a little groggy, but this wasn't even close to reality. He went from a sweet 11 week old to a total basket case while the anesthesia wore off. He was acting like a 13 pound newborn--complete loss of muscle control. It was a scary night watching the anesthesia wear off. It took a good 48 hours before he was really back to his normal self. But even then he demanded constant affection, snuggling, and attention for about a week. Understandably, he needed reassurance that his family was still there and still loved him.
After we checked out of the hospital, our son started drooling a ton. Perfectly normal part of the healing process. Except that all that drool caused him to gag a lot. Gagging caused him to barf. A barfing baby is a baby who's not getting enough calories, so this was pretty alarming. He also sounded about 10 times *worse* after the surgery for a few days--also normal. It's a sort of take 2 steps backward to take 3 steps forward kind of thing. After about a week, he showed real improvement. His poops were really weird for a few days, which is typical when you starve a baby for 6 hours and then give him anesthesia.
Zantac tastes awful, and our son thought so too. He gagged on it a lot. Dribbling 8mL of Zantac into a screaming baby's mouth 0.5mL at a time sucks for everyone. But having acid reflux splatter all over cuts in one's throat sucks a lot more. So the Zantac was a huge help.
Our son's temperament worsened for a while and he freaked out whenever he was in any kind of medical situation, no matter how innocuous. But after a few weeks he promptly forgot and was all smiley for the pediatrician.
A few weeks after the surgery, our son had some scary retractions while giggling for the first time. He started wheezing and was clearly working a bit harder then normal to breath. This earned us trip #3 to the ER. This time, though, both my wife and I were able to go with our son, and this time we had to play the heavy and basically demand that they do nothing to our son other than to check his O2 level and have the ORL come down to scope him. Thankfully he was fine, but whenever he gets a cold he has to work a bit harder to breath.
The first trip in the ambulance in the middle of the night to Boston's Children's Hospital was scary. My son just kinda, well, seemed to stop breathing. He was flailing all about, trying very hard to get a breath. When he did catch a breath, he was panicked. He'd cry a terrible cry and then settle down. This happened a few times and we called our pedi, who told us to call an ambulance. About 2 minutes later, we lit up the street like a Christmas tree with a firetruck, an ambulance, and an EMT SUV.
I had to stay at home with our 2.5 year old daughter, so my wife got to stay with our son at the ER. Putting a 9 week old through throat x-rays, chest x-rays, a scoping from the ORL, and the associated medical examinations traumatized my wife. If I were there I probably would have been traumatized.
My son stayed for observation in the neonatal intensive care unit (or as everyone calls it, the "NICK-U") for a few days, during which time nothing interesting happened. A few days later we saw a pediatric ORL (that's what ENTs like to be called--ENT seems too vulgar; stick with the Latin). My boy got scoped, which isn't as miedeval as it sounds. They gently thread a very small fiber optic wire up his nose and down his throat to take a look. It's not terribly comfortable, but it's actually not very invasive, and after a bit of fusiness during the 2 minute scoping, our son was undisturbed. The ORL said that he thought our son would benefit from a supraglottoplasty, where they basically zorch away some extra material in his larynx with a laser and make a few incisions in the hope of changing the shape of his epiglottis.
We thought this was a bit radical. After all, putting an 11 week old under general anesthesia scared the bejeezus out of us. So we scheduled the surgery for about 6 weeks out. Then my son had what the nurses called a "scary incident", which is a bit of an understatement: my son kinda sorta stopped breathing a few times for about 5-10 seconds each time. Both times he had a bit of a cold, but steaming him in the bathroom didn't improve the situation. Instead he seized up, flailing about while trying to breath. I had just taken an infant CPR course, so I gave him a few back blows, which opened up his airway and he started breathing again.
That won us another ticket into the ER and then straight to the NICU. It also presented an opportunity to do the surgery within days instead of weeks, forcing our hand. We chose the surgery. It was not an easy decision, but he has clearly benefited from the surgery. The airway of a baby is pretty dang small, and when it gets kind of cloggy from excess material, it gets a bit smaller. Then when the kid gets a cold, all that phlegm clogs things even more, shrinking the airway still further. So the margin for error gets really, really small. Under just the right circumstances, without absolutely constant vigilance, something really bad might happen. So the surgery hasn't fixed everything, but it has widened our margin for error.
We had great doctors, but doctors never seem to describe in enough detail exactly what recovery is going to look like. We'd been warned that after the surgery he'd be a little groggy, but this wasn't even close to reality. He went from a sweet 11 week old to a total basket case while the anesthesia wore off. He was acting like a 13 pound newborn--complete loss of muscle control. It was a scary night watching the anesthesia wear off. It took a good 48 hours before he was really back to his normal self. But even then he demanded constant affection, snuggling, and attention for about a week. Understandably, he needed reassurance that his family was still there and still loved him.
After we checked out of the hospital, our son started drooling a ton. Perfectly normal part of the healing process. Except that all that drool caused him to gag a lot. Gagging caused him to barf. A barfing baby is a baby who's not getting enough calories, so this was pretty alarming. He also sounded about 10 times *worse* after the surgery for a few days--also normal. It's a sort of take 2 steps backward to take 3 steps forward kind of thing. After about a week, he showed real improvement. His poops were really weird for a few days, which is typical when you starve a baby for 6 hours and then give him anesthesia.
Zantac tastes awful, and our son thought so too. He gagged on it a lot. Dribbling 8mL of Zantac into a screaming baby's mouth 0.5mL at a time sucks for everyone. But having acid reflux splatter all over cuts in one's throat sucks a lot more. So the Zantac was a huge help.
Our son's temperament worsened for a while and he freaked out whenever he was in any kind of medical situation, no matter how innocuous. But after a few weeks he promptly forgot and was all smiley for the pediatrician.
A few weeks after the surgery, our son had some scary retractions while giggling for the first time. He started wheezing and was clearly working a bit harder then normal to breath. This earned us trip #3 to the ER. This time, though, both my wife and I were able to go with our son, and this time we had to play the heavy and basically demand that they do nothing to our son other than to check his O2 level and have the ORL come down to scope him. Thankfully he was fine, but whenever he gets a cold he has to work a bit harder to breath.
Thursday, April 1, 2010
Sweetpea3 iTunes Script
I love the Sweetpea3. We got it for my 2.5 year old daughter many months ago, and she's been enjoying it ever since. The one bummer is that it's basically a USB file system, so it lacks any integration with iTunes. Things get even worse if most of your music is in AAC format, since Sweetpea3 only plays MP3s. You have to figure out what kind of format your song is in on iTunes, then maybe change it to MP3, find it on disk, and then copy it to the Sweetpea3 player. What a pain in the ass.
So, being a programmer on paternity leave, I figured I'd learn Applescript and automate the whole process. I wrote a simple script that will copy the highlighted songs in iTunes--automagically converting them to MP3 on-the-fly if needed--to the desired playlist on the Sweetpea3. It wipes all MP3s on the chosen playlist before it copies the new ones. If you've changed the name of your Sweetpea3 to something other than "SWEETPEA3", you're SOL because this little script hardcodes this device name.
Give it a go if you're a Mac user and a Sweetpea3 owner. Drop me a line and let me know how you like it.
My two cents on Applescript is that it's the opposite of Perl: it's easy to read and bloody impossible to write. It's massively frustrating especially if you actually know anything about computers, like file paths, or heaven forbid Unix. So coming from a Java, SQL and Unix background, I found Applescript a real nightmare. But I was able to bang out the core of this script over the course of a half dozen baby naps.
Here's the source. Paste this into the Script Editor application and save it as an "Application Bundle" in your Library/Scripts folder. Then you can access it in the little scripts icon on the toolbar.
It's not terribly elegant, but it makes life easier. 'Nuff said.
So, being a programmer on paternity leave, I figured I'd learn Applescript and automate the whole process. I wrote a simple script that will copy the highlighted songs in iTunes--automagically converting them to MP3 on-the-fly if needed--to the desired playlist on the Sweetpea3. It wipes all MP3s on the chosen playlist before it copies the new ones. If you've changed the name of your Sweetpea3 to something other than "SWEETPEA3", you're SOL because this little script hardcodes this device name.
Give it a go if you're a Mac user and a Sweetpea3 owner. Drop me a line and let me know how you like it.
My two cents on Applescript is that it's the opposite of Perl: it's easy to read and bloody impossible to write. It's massively frustrating especially if you actually know anything about computers, like file paths, or heaven forbid Unix. So coming from a Java, SQL and Unix background, I found Applescript a real nightmare. But I was able to bang out the core of this script over the course of a half dozen baby naps.
Here's the source. Paste this into the Script Editor application and save it as an "Application Bundle" in your Library/Scripts folder. Then you can access it in the little scripts icon on the toolbar.
It's not terribly elegant, but it makes life easier. 'Nuff said.
on f_exists(the_path)
try
get the_path as alias
return true
on error
return false
end try
end f_exists
if not f_exists(":Volumes:SWEETPEA3") then
display dialog "Sweetpea MP3 player is not attached."
return
end if
tell application "iTunes"
copy selection to selectedTracks
if length of selectedTracks is 0 then
display dialog "No tracks have been selected in iTunes. Please select tracks (not just a playlist) explicitly."
return
end if
end tell
set playList to choose from list {"Playlist 1", "Playlist 2", "Playlist 3"} with prompt "Which Playlist?"
if playList is "" then return
if playList is equal to {"Playlist 1"} then
set destinationDir to "/Volumes/SWEETPEA3"
else if playList is equal to {"Playlist 2"} then
set destinationDir to "/Volumes/SWEETPEA3/play2"
else if playList is equal to {"Playlist 3"} then
set destinationDir to "/Volumes/SWEETPEA3/play3"
else
display dialog "No playlist selected."
return
end if
tell application "iTunes"
copy selection to selectedTracks
if length of selectedTracks is 0 then
display dialog "No tracks selected in iTunes. Please select tracks (not just a playlist)."
return
end if
tell application "Finder"
do shell script "rm -f " & quoted form of destinationDir & "/*.mp3"
end tell
set numTracks to count selectedTracks
if numTracks is 0 then
display dialog "No tunes selected. Please select the tracks you'd like to copy."
quit
end if
repeat with t in selectedTracks
set trackLocation to get location of t
set pathName to POSIX path of trackLocation
set trackFormat to get kind of t
if trackFormat is "AAC audio file" then
set current encoder to encoder "MP3 Encoder"
set copiedTrack to item 1 of (convert t)
set copiedTrackPath to POSIX path of (get location of copiedTrack)
tell application "Finder"
do shell script "mv " & quoted form of copiedTrackPath & " " & quoted form of destinationDir
end tell
delete copiedTrack
else
tell application "Finder"
do shell script "cp -p " & quoted form of pathName & " " & quoted form of destinationDir
end tell
end if
end repeat
end tell
display dialog "Exported " & numTracks & " songs to SweetPea " & playList & "."
Thursday, March 11, 2010
Trio Sequencing
Check out this article from NYTimes on trio sequencing. My prediction is that within a generation, sequencing your immediate family will be a routine luxury.
Subscribe to:
Posts (Atom)