<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-30547433</id><updated>2024-10-07T02:01:13.939-04:00</updated><category term="java"/><category term="rails"/><category term="authlogic"/><category term="irritant"/><category term="ruby"/><category term="ajax"/><category term="design by contract"/><category term="dzone"/><category term="eeepc"/><category term="embedded"/><category term="osx"/><category term="rspec"/><category term="rvm"/><category term="struts"/><category term="subnotebook"/><category term="textmate"/><category term="web app"/><category term="3d printing"/><category term="aop"/><category term="architecture"/><category term="aspectj"/><category term="bad code"/><category term="bash"/><category term="beginner"/><category term="closures"/><category term="coffeescript"/><category term="command line"/><category term="contract4j"/><category term="coupling"/><category term="cura"/><category term="debugging"/><category term="design"/><category term="easymock"/><category term="eiffel"/><category term="expander"/><category term="facebook"/><category term="fail"/><category term="ftp"/><category term="halloween"/><category term="has_many"/><category term="imp"/><category term="interview"/><category term="iot"/><category term="jee"/><category term="jquery"/><category term="jruby"/><category term="jsp"/><category term="jvm"/><category term="jwebapp"/><category term="metaprogramming"/><category term="mixin"/><category term="mocking"/><category term="oled"/><category term="olpc"/><category term="osx apple appstore"/><category term="plans"/><category term="pojo"/><category term="powermock"/><category term="rail"/><category term="rake"/><category term="sftp"/><category term="sfx"/><category term="singleton"/><category term="spork"/><category term="spring contracts"/><category term="squirrel"/><category term="testing"/><category term="ubuntu ergonomics keymap"/><category term="utility class"/><category term="ux"/><category term="validation"/><title type='text'>Bucky Bits</title><subtitle type='html'>Programming and rants for the &quot;Developmentally Disabled.&quot;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>43</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-30547433.post-1708531182818531811</id><published>2020-07-17T12:27:00.000-04:00</published><updated>2020-07-17T12:30:35.857-04:00</updated><title type='text'>The Importance of Whitespace to Readability</title><summary type="text">Code is hard. One way to make it easier is to make it pretty. Even simple, short code can become difficult to reason about if it&#39;s all scrunched together:




That code is pretty simple, but difficult to reason about. The interspersed debug logging adds a lot of noise and detracts from overall legibility. Just spacing it out helps a lot:




What else can we do? The first declaration of ret is </summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/1708531182818531811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/1708531182818531811' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/1708531182818531811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/1708531182818531811'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2020/07/the-importance-of-whitespace-to.html' title='The Importance of Whitespace to Readability'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgX9akSn8iS_I7odbI_qt_qdOj4_McrNiiQRIdae3pu3SGD9g-vgnENuOY_OXzrmxY4yEvdAeijcjGlzp4hqkAuP1hazyQ90-PTE2c0I3oHt6ygLqIEpPVqAFch2WRSuJGBYW8y/s72-c/original.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-3261001320051007626</id><published>2019-01-20T08:39:00.000-05:00</published><updated>2019-01-20T08:39:09.272-05:00</updated><title type='text'>Snowflake Sociology</title><summary type="text">&quot;Snowflake&quot; isn&#39;t a term I enjoy using: it&#39;s derogatory, demeaning, and can be used as a dismissive approach to ideas we don&#39;t like. Until you&#39;re snowflaked, it&#39;s an easy thing to not like.

I was finally snowflaked awhile back. I sat on it for some time, but given today&#39;s general political and conversational climate, I wanted to discuss the experience. Someone asked a Stack Overflow question I </summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/3261001320051007626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/3261001320051007626' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/3261001320051007626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/3261001320051007626'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2019/01/snowflake-sociology.html' title='Snowflake Sociology'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-8645968937139353315</id><published>2019-01-20T08:27:00.001-05:00</published><updated>2019-01-20T08:27:06.365-05:00</updated><title type='text'>Back yet again!</title><summary type="text">As part of a blogging/writing blitz I&#39;m back on this platform as well as others.

I&#39;ll be blogging here, as well as one of the bloggers at the Maker&#39;s End Blog, discussing a wide variety of topics, generally related to technology, but occasionally stretching far afield into general Making, society, crafting, and so on.

A few of the upcoming topics will include:

* JavaScript
* Embedded Systems
*</summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/8645968937139353315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/8645968937139353315' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/8645968937139353315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/8645968937139353315'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2019/01/back-yet-again.html' title='Back yet again!'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-3126619448901811189</id><published>2017-10-20T15:20:00.000-04:00</published><updated>2017-10-20T15:20:01.006-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="3d printing"/><category scheme="http://www.blogger.com/atom/ns#" term="cura"/><category scheme="http://www.blogger.com/atom/ns#" term="osx"/><category scheme="http://www.blogger.com/atom/ns#" term="plans"/><title type='text'>Cura 3 on OS X Crashes on Startup</title><summary type="text">This one was easy to fix, although I&#39;m not sure what the consequences will be.

On startup the new version of Cura would start to open (evidenced by Activity Monitor process) then close. I decided to delete my existing Cura app data since (a) need to recalibrate the printer anyway, (b) getting an additional new printer anyway, and (c) didn&#39;t know what else to try.

Navigate to ~/Library/</summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/3126619448901811189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/3126619448901811189' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/3126619448901811189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/3126619448901811189'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2017/10/cura-3-on-os-x-crashes-on-startup.html' title='Cura 3 on OS X Crashes on Startup'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-5778698033269024767</id><published>2015-08-11T16:09:00.000-04:00</published><updated>2015-08-11T16:09:01.735-04:00</updated><title type='text'>Pirate Stack</title><summary type="text">LAMP? MEAN? No, mateys, PIRATE STACK!

(A)RRR(GH): React, Relay, RethinkDB.

The stack is mine. I win the internet.
</summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/5778698033269024767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/5778698033269024767' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/5778698033269024767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/5778698033269024767'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2015/08/pirate-stack.html' title='Pirate Stack'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-4522338502567963498</id><published>2015-08-05T17:05:00.002-04:00</published><updated>2015-08-05T17:05:40.262-04:00</updated><title type='text'>Styling Atom Editor UI Elements</title><summary type="text">I&#39;m in the process of switching to Atom as my daily text editor (from Sublime Text 3) and needed to have my UI element font much smaller. Doing this in Atom is blissfully easy, just edit your styles.less file and you&#39;re done. The trick is understanding which elements you want to style.

Most elements I&amp;nbsp;needed re-sized are easy:



The styles.less is accessible directly in your  $HOME/.atom </summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/4522338502567963498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/4522338502567963498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/4522338502567963498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/4522338502567963498'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2015/08/styling-atom-editor-ui-elements.html' title='Styling Atom Editor UI Elements'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-400560069818458575</id><published>2015-07-17T15:14:00.003-04:00</published><updated>2015-07-17T15:16:24.427-04:00</updated><title type='text'>Best JEE Interview Ever LIVES AGAIN!!!</title><summary type="text">Transcription

The audio in all its glory.
</summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/400560069818458575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/400560069818458575' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/400560069818458575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/400560069818458575'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2015/07/best-jee-interview-ever-lives-again.html' title='Best JEE Interview Ever LIVES AGAIN!!!'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-5807829801726778261</id><published>2015-06-06T22:22:00.000-04:00</published><updated>2015-06-08T14:28:49.290-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="coffeescript"/><title type='text'>CoffeeScript IIFEs</title><summary type="text">Immediately-Invoked Function Expressions are an easy way to hide your variables, preventing collisions with your code or the code of others. In JavaScript you&#39;ll see the following a lot:



In CoffeeScript the syntax can be the same; enclose the function in parens, and put parens after it to call it. It&#39;s ugly, though:



CoffeeScript has the do keyword, though, and it provides a cleaner way to </summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/5807829801726778261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/5807829801726778261' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/5807829801726778261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/5807829801726778261'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2015/06/coffeescript-iifes.html' title='CoffeeScript IIFEs'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-7178399135436196225</id><published>2015-04-30T10:57:00.000-04:00</published><updated>2015-04-30T10:57:06.428-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="embedded"/><category scheme="http://www.blogger.com/atom/ns#" term="halloween"/><category scheme="http://www.blogger.com/atom/ns#" term="sfx"/><title type='text'>Easy Halloween Sound Hack, Part One</title><summary type="text">My aunt and uncle set up a &quot;Haunted Forest&quot; every year, where they take area kids through a section of their woods with groomed trails and various scary things. This year I&#39;m helping &quot;up the ante&quot; with sound, lighting, and robotics (pneumatic and/or otherwise depending on time). I&#39;ll cover various means of tech-ing up the fear.

The first hack is pretty straight-forward, the only possible glitch </summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/7178399135436196225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/7178399135436196225' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/7178399135436196225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/7178399135436196225'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2015/04/easy-halloween-sound-hack-part-one.html' title='Easy Halloween Sound Hack, Part One'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr18dUNjO36meE_Q_7OQiaptMyrkKoVVzSfz9ptVgOXVS5MzwKbmbLtmdxLaj-hk7yttDpLemDa7IfPaZA1WKtacISHkhsoed9VbYYhqUEGnCk_BWXq_PxZStbVnArF5K9-XTf/s72-c/sfx01.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-9222466394286092336</id><published>2015-04-26T17:57:00.000-04:00</published><updated>2015-04-26T17:57:38.641-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="embedded"/><category scheme="http://www.blogger.com/atom/ns#" term="imp"/><category scheme="http://www.blogger.com/atom/ns#" term="iot"/><category scheme="http://www.blogger.com/atom/ns#" term="oled"/><category scheme="http://www.blogger.com/atom/ns#" term="squirrel"/><title type='text'>Electric Imp + OLED + ... Squirrel?</title><summary type="text">The Electric Imp came out before the days of essentially-free ESP WiFi modules. It was designed to be embedded into devices, provide a WiFi interface, and some basic cloud connectivity. It&#39;s a bit of an odd duck: it&#39;s initialized by blinking lights, e.g., seizure-inducing screen flashes from your phone. This is a pretty unique way to get things set up, and it works great.

I had a few of these </summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/9222466394286092336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/9222466394286092336' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/9222466394286092336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/9222466394286092336'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2015/04/electric-imp-oled-squirrel.html' title='Electric Imp + OLED + ... Squirrel?'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-KKZcq52FMA7QqF50U9Flq998ihTBh_XOC-SsObf2unD0a5D0MRp6jGHF8Om8qX_0GPEbVvMnt5BmeqqyMlC8IhHYM6BH4kEJXqfhI0KNwZydjdmyHODV0YrfRWW7pW3QRpT0/s72-c/2015-04-24+18.03.42.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-886971629384326359</id><published>2013-04-19T09:54:00.001-04:00</published><updated>2013-04-19T10:00:31.509-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu ergonomics keymap"/><title type='text'>Remapping a Control key to Windows / Super Under Ubuntu 12.04</title><summary type="text">My old ThinkPad keyboard rocks: it has a trackpad and a trackpointer, types nicely, has a palm rest, and is generally awesome. It does not, however, have a Windows button: this makes using it under... well, anything... difficult.

I&#39;m currently developing with a company-bought Ubuntu laptop after having used OS X for the last three years almost exclusively. Like Windows and OS X, it pretty much </summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/886971629384326359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/886971629384326359' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/886971629384326359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/886971629384326359'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2013/04/remapping-controll-to-superl-under.html' title='Remapping a Control key to Windows / Super Under Ubuntu 12.04'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-6104615199195514058</id><published>2013-03-12T13:05:00.000-04:00</published><updated>2013-03-12T13:05:29.363-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ftp"/><category scheme="http://www.blogger.com/atom/ns#" term="osx"/><category scheme="http://www.blogger.com/atom/ns#" term="sftp"/><title type='text'>sftp &quot;Received message too long&quot; on OS X</title><summary type="text">Today I started receiving the following error when I tried to sftp to my localhost, both from the command line and from the Ruby Net:SFTP library:

$ sftp ftpuser@localhost
Password:
Received message too long 1399157792

Trivial digging revealed that ftpuser&#39;s .bashrc script was writing to stdout, which apparently is enough to confuse sftp all &#39;round. I modified the command it was running to </summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/6104615199195514058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/6104615199195514058' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/6104615199195514058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/6104615199195514058'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2013/03/sftp-received-message-too-long-on-os-x.html' title='sftp &quot;Received message too long&quot; on OS X'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-8446571911800898610</id><published>2013-03-12T08:10:00.001-04:00</published><updated>2013-03-12T13:06:08.667-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="architecture"/><category scheme="http://www.blogger.com/atom/ns#" term="coupling"/><category scheme="http://www.blogger.com/atom/ns#" term="design"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="pojo"/><category scheme="http://www.blogger.com/atom/ns#" term="struts"/><title type='text'>Tied to the Web Layer</title><summary type="text">Struts 2 claims that &quot;actions can be POJOs&quot;. Developers find out pretty quickly that not extending ActionSupport means you lose some Struts 2 functionality (primarily I18N and validation).

One source of confusion is what &quot;POJO&quot; means. POJOs don&#39;t mean you don&#39;t extend a base class. POJOs are classes not directly tied to unrelated&amp;nbsp;libraries, specifications, etc. For example, Struts 1 actions</summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/8446571911800898610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/8446571911800898610' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/8446571911800898610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/8446571911800898610'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2013/03/tied-to-web-layer.html' title='Tied to the Web Layer'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-1413181296010066125</id><published>2013-03-04T18:15:00.000-05:00</published><updated>2013-03-04T18:18:00.463-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="osx apple appstore"/><title type='text'>&quot;Unknown error&quot; while signing in to Apple App Store</title><summary type="text">I was unable to log in to the Apple App Store while trying to update Xcode on my MBP.

Here&#39;s an Apple discussion thread regarding possible solutions.

What ended up working was signing out, clicking &quot;Store -&amp;gt; Create New Account&quot;, accepting the Terms and Conditions, then canceling out of new account creation and signing in again.

While deleting the network interface plist, cookies, etc. was </summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/1413181296010066125/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/1413181296010066125' title='27 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/1413181296010066125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/1413181296010066125'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2013/03/unknown-error-while-signing-in-to-apple.html' title='&quot;Unknown error&quot; while signing in to Apple App Store'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><thr:total>27</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-7630758239082976228</id><published>2012-08-23T19:57:00.000-04:00</published><updated>2012-08-23T19:57:09.794-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="jruby"/><category scheme="http://www.blogger.com/atom/ns#" term="rails"/><category scheme="http://www.blogger.com/atom/ns#" term="rspec"/><category scheme="http://www.blogger.com/atom/ns#" term="spork"/><title type='text'>A JRuby, Rails, RSpec, Spork, and an error walk in to a bar...</title><summary type="text">I was running a specific rspec over and over during a tight development cycle. The way our system was set up it was taking 30+ sec to run a single spec file, which made running them onerous.


We had Spork running at one point, but it wasn&#39;t working for me, with a &quot;undefined method &#39;flush&#39; for nil:NilClass&quot; error (and a couple of others depending on the incantation):




After upgrading Spork (we</summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/7630758239082976228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/7630758239082976228' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/7630758239082976228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/7630758239082976228'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2012/08/a-jruby-rails-rspec-spork-and-error.html' title='A JRuby, Rails, RSpec, Spork, and an error walk in to a bar...'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-1842387507283863716</id><published>2012-08-08T21:56:00.001-04:00</published><updated>2012-08-08T22:06:52.989-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="rails"/><category scheme="http://www.blogger.com/atom/ns#" term="rspec"/><title type='text'>RSpec Error With Implicit Subject</title><summary type="text">Ever write a trivial spec like this:


And get something totally baffling back, like this?


Backstory: Refactoring some pre-written classes to use metaprogramming to create some methods and values. I wanted specs in place before starting the metaprogramming to avoid breaking things.

In retrospect, I should have figured this out sooner. In my defense, I love the Olympics and was distracted. The </summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/1842387507283863716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/1842387507283863716' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/1842387507283863716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/1842387507283863716'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2012/08/silly-rspec-mistake.html' title='RSpec Error With Implicit Subject'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-5330159547965580300</id><published>2011-11-12T10:20:00.001-05:00</published><updated>2011-11-13T13:09:31.533-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="easymock"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="mocking"/><category scheme="http://www.blogger.com/atom/ns#" term="powermock"/><category scheme="http://www.blogger.com/atom/ns#" term="singleton"/><category scheme="http://www.blogger.com/atom/ns#" term="testing"/><category scheme="http://www.blogger.com/atom/ns#" term="utility class"/><title type='text'>Testing singletons while avoiding their constructors</title><summary type="text">Singletons are evil, and here&#39;s why.

Fair enough. Yet they exist, and they&#39;re not intrinsically&amp;nbsp;evil--just misused. Can we mock enough to make testing them feasible? Yep, and here&#39;s a Contrived Example™ that shows how (and why we might want to).

&quot;Embedded&quot; singletons or utility classes can make testing is problematic. Injected&amp;nbsp;singletons are different;&amp;nbsp;then it&#39;s an issue of </summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/5330159547965580300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/5330159547965580300' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/5330159547965580300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/5330159547965580300'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2011/11/testing-singletons-and-static-classes.html' title='Testing singletons while avoiding their constructors'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-5528597552995715379</id><published>2011-11-10T22:07:00.001-05:00</published><updated>2011-11-10T22:20:13.229-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="rake"/><category scheme="http://www.blogger.com/atom/ns#" term="ruby"/><title type='text'>A trip to the Rake-track.</title><summary type="text">(Because it&#39;s like &quot;racetrack&quot;, and it makes Rake tasks faster, and... oh, never mind.)

Tired of waiting for Ruby to spin up just so you can run a &quot;routes&quot; command, or your latest &quot;db:migrate&quot;?

Use rake-sh and start up a rake console for running tasks without the initial spin up. It&#39;ll take a &quot;rake routes&quot; from four seconds down to under a second. Rake task completion? Naturally. Use &quot;t&quot; for </summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/5528597552995715379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/5528597552995715379' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/5528597552995715379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/5528597552995715379'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2011/11/trip-to-rake-track.html' title='A trip to the Rake-track.'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-5860506132303955386</id><published>2011-09-15T22:07:00.001-04:00</published><updated>2011-09-25T15:46:59.535-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="metaprogramming"/><category scheme="http://www.blogger.com/atom/ns#" term="rails"/><title type='text'>Rails 3 Custom Validator Quandary -- Solution Step One</title><summary type="text">Remember when I had a Rails 3 custom validator quandary? My bottom-line question was &quot;how should I access a specific error condition, cleanly, in both an action, and a template?&quot; I sketched a few solutions, ranging from checking for a specific error message to providing a function that indicates if the error has occurred.

For now, I want simple boolean methods on the model to encapsulate the </summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/5860506132303955386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/5860506132303955386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/5860506132303955386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/5860506132303955386'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2011/09/remember-when-i-had-rails-3-custom.html' title='Rails 3 Custom Validator Quandary -- Solution Step One'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-3824387112538042604</id><published>2011-09-06T23:02:00.000-04:00</published><updated>2011-10-27T09:51:52.914-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ajax"/><category scheme="http://www.blogger.com/atom/ns#" term="rails"/><category scheme="http://www.blogger.com/atom/ns#" term="ux"/><title type='text'>Simple Ajax property toggle in Rails 3.0</title><summary type="text">Entry-level overview of one way to add trivial Ajax functionality to a Rails 3.0 app, originally written for a specific audience. The repository is on github.



Let&#39;s say we have an Article model with an &quot;approved&quot; flag. We need to be able to toggle this flag. Normal scaffolding would have us view the article, click a checkbox, and submit. We&#39;ll keep that functionality, but add a simple </summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/3824387112538042604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/3824387112538042604' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/3824387112538042604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/3824387112538042604'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2011/09/simple-ajax-property-toggle-in-rails-30.html' title='Simple Ajax property toggle in Rails 3.0'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-1476821717004539724</id><published>2011-09-05T20:15:00.000-04:00</published><updated>2011-09-05T20:19:55.018-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="authlogic"/><category scheme="http://www.blogger.com/atom/ns#" term="rail"/><title type='text'>Example app test failures from authlogic user sessions</title><summary type="text">This question on stackoverflow led me to believe that if I actually ran rake test that my example app&#39;s tests would fail--and they did, with the same error. (Why I wasn&#39;t running tests from the beginning? Meh!) The tests throw up wads of stack trace, headed with this:

SQLException: no such table: user_sessions: DELETE FROM &quot;user_sessions&quot; WHERE 1=1

What&#39;s causing this error? We created our user</summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/1476821717004539724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/1476821717004539724' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/1476821717004539724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/1476821717004539724'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2011/09/example-app-test-failures-from.html' title='Example app test failures from authlogic user sessions'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-5563457113011215020</id><published>2011-09-05T12:24:00.000-04:00</published><updated>2011-12-24T13:09:27.931-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ruby"/><category scheme="http://www.blogger.com/atom/ns#" term="rvm"/><category scheme="http://www.blogger.com/atom/ns#" term="textmate"/><title type='text'>TextMate, rvm, ActiveSupport outside of Rails, &quot;require&quot;s from current directory, all together now!</title><summary type="text">I&#39;m prototyping some calendar/date stuff for a Rails app in standalone scripts, and want access to both normal Rails things (in this case, ActiveSupport&#39;s date math, like Date.today - 3.days) and my own classes within the prototyping directory. I&#39;d like to continue using TextMate&#39;s &quot;Run&quot; command to run the current buffer as a Ruby script, since it&#39;s convenient. I&#39;m using rvm; my prototyping </summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/5563457113011215020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/5563457113011215020' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/5563457113011215020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/5563457113011215020'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2011/09/textmate-rvm-activesupport-outside-of.html' title='TextMate, rvm, ActiveSupport outside of Rails, &quot;require&quot;s from current directory, all together now!'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-8432445425039616941</id><published>2011-09-05T06:00:00.000-04:00</published><updated>2011-09-05T09:57:30.016-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="authlogic"/><category scheme="http://www.blogger.com/atom/ns#" term="rails"/><title type='text'>Using email or nickname to log in using authlogic and Rails 3</title><summary type="text">
This is a continuation of my first authlogic/Rails 3 post.

Authlogic users have both &quot;login&quot; and &quot;email&quot; properties by default. I wanted to allow users to log in via their email address or nickname. I tackled this in two steps. First, switch to logging in using the &quot;email&quot; property. Second, create a &quot;nickname&quot; property, and allow users to log in with either one. (Yes, I actually wanted to call </summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/8432445425039616941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/8432445425039616941' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/8432445425039616941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/8432445425039616941'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2011/09/using-email-or-nickname-to-log-in-using.html' title='Using email or nickname to log in using authlogic and Rails 3'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-5429053488218358764</id><published>2011-09-04T20:32:00.000-04:00</published><updated>2011-09-05T18:34:32.227-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="authlogic"/><category scheme="http://www.blogger.com/atom/ns#" term="rails"/><title type='text'>Rails 3 + authlogic explorations</title><summary type="text">I&#39;ve started a simple Rails 3 + authlogic example project on github, mostly for myself to experiment with. Right now it&#39;s basically a copy of this post&#39;s implementation (and unfinished at that), but I&#39;ll be expanding it over the next few days in various ways.

As it stands, the &quot;application&quot; (I use the term loosely) consists of a home page (root path) requiring login, and login/logout actions. </summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/5429053488218358764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/5429053488218358764' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/5429053488218358764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/5429053488218358764'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2011/09/rails-3-authlogic-explorations.html' title='Rails 3 + authlogic explorations'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30547433.post-1751590459119074057</id><published>2011-08-29T01:23:00.000-04:00</published><updated>2011-08-29T01:23:53.416-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="has_many"/><category scheme="http://www.blogger.com/atom/ns#" term="rails"/><title type='text'>Associating has_many relationships in Rails 3 using checkboxes</title><summary type="text">(Not checkboxes, in my case, but a checkbox example is easy, and more common.)

Originally I thought I needed accepts_nested_attributes_for, but that seems to be mostly for when we&#39;re creating&amp;nbsp;the related objects, which I&#39;m not--I need to save relationships to existing objects.

My example (github) uses&amp;nbsp;a simple product/category relationship. We need to get a product&#39;s categories, we </summary><link rel='replies' type='application/atom+xml' href='http://buckybits.blogspot.com/feeds/1751590459119074057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/30547433/1751590459119074057' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/1751590459119074057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30547433/posts/default/1751590459119074057'/><link rel='alternate' type='text/html' href='http://buckybits.blogspot.com/2011/08/associating-hasmany-relationships-in.html' title='Associating has_many relationships in Rails 3 using checkboxes'/><author><name>Dave Newton</name><uri>http://www.blogger.com/profile/13420113088393527059</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcsrEBS0yZ7thpK_Ll_xbKhilK4Ud6IUwovmItWAyjLiyfnDo91FiEisem1fZZ7BI-k2qXKKn_QWtxcB9J2BSEwfSjw_Gy9pM9TRTQVa6uKbWE26d9aHuIEOWm1sH4WA/s220/new_haircut_headshot.jpg'/></author><thr:total>4</thr:total></entry></feed>