tag:blogger.com,1999:blog-58269679129345101812024-03-12T15:38:40.083-07:00Landlessnesstechnology notesAnonymoushttp://www.blogger.com/profile/12632275629687895364noreply@blogger.comBlogger24125tag:blogger.com,1999:blog-5826967912934510181.post-21888703591977161822015-07-09T07:42:00.001-07:002015-07-09T09:14:14.138-07:00Five Great Lakes Surfing Videos<h3>
Five Spots on the Great Lakes</h3>
<iframe height="315" src="https://www.google.com/maps/d/u/0/embed?mid=zj0i5FGAtLuY.kq-OI50mMCaQ" width="560"></iframe>
<br />
<br />
<h3>
Lake Superior</h3>
<iframe allowfullscreen="" frameborder="0" height="315" mozallowfullscreen="" src="https://player.vimeo.com/video/42010271" webkitallowfullscreen="" width="560"></iframe>
<br />
<br />
<h3>
Lake Michigan</h3>
<iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/bPFmgO_BSD4" width="560"></iframe>
<br />
<br />
<h3>
Lake Huron</h3>
<iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/WC1Tmdcss7c" width="560"></iframe>
<br />
<br />
<h3>
Lake Erie</h3>
<iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/5MJmwr1cmnU" width="560"></iframe>
<br />
<br />
<h3>
Lake Ontario</h3>
<iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/q0aPIH1JcwU" width="560"></iframe>Anonymoushttp://www.blogger.com/profile/12632275629687895364noreply@blogger.com8tag:blogger.com,1999:blog-5826967912934510181.post-26356010680962692862015-06-08T11:21:00.000-07:002015-07-06T20:10:52.341-07:00Eating and Drinking in DetroitSo, you are visiting Detroit. Where should you eat and drink? If I had 2 nights and 2 days in Detroit, here are the spots where I would enjoy the Detroit foodie experience.<br />
<br />
<br />
<h2>
<span class="s1">Night #1</span></h2>
<h3>
<span class="s1">Night #1 - Dinner</span></h3>
<div class="p2">
<span class="s1">On the way in from the airport stop in Dearborn, an inner ring suburb just west of Detroit. Dearborn has the largest Arab population outside the middle east - and awesome food.</span></div>
<div class="p1">
<span class="s1"></span><br /></div>
<div class="p2">
<span class="s1"><b>Al Ameer - Dearborn</b></span></div>
<div class="p2">
<span class="s1">eat lamb and beef shawarma platter with hummus and tabouli sides. the complimentary pickled appetizers are great. drink mango-honey smoothie.</span></div>
<div class="p3">
<span class="s2"><a href="http://www.yelp.com/biz/al-ameer-dearborn">http://www.yelp.com/biz/al-ameer-dearborn</a></span></div>
<div class="p1">
<span class="s1"></span><br /></div>
<div class="p2">
<span class="s1"><b>Shatila - Dearborn</b></span></div>
<div class="p2">
<span class="s1">This is the land of milk and honey. Tasty Arabic sweets. if you have a sweet tooth, try not to order everything.</span></div>
<div class="p3">
<span class="s2"><a href="http://www.yelp.com/biz/shatila-dearborn">http://www.yelp.com/biz/shatila-dearborn</a></span></div>
<div class="p1">
<br /></div>
<h3>
Night #1 - Drinks</h3>
<div class="p1">
<span class="s1"></span></div>
<div class="p2">
<span class="s1">For the first night out, treat yourself to Michigan craft beer paradise with 4 stops on Canfield street in Midtown all within a couple blocks walk.</span></div>
<div class="p1">
<span class="s1"></span><br /></div>
<div class="p2">
<span class="s1"><b>Motor City Brewing Works - Midtown</b></span></div>
<div class="p2">
<span class="s1">Their ghetto blaster is the default beer of the city of Detroit</span></div>
<div class="p3">
<span class="s2"><a href="http://www.yelp.com/biz/motor-city-brewing-works-detroit">http://www.yelp.com/biz/motor-city-brewing-works-detroit</a></span></div>
<div class="p1">
<span class="s1"></span><br /></div>
<div class="p2">
<span class="s1"><b>Jolly Pumpkin - Midtown</b></span></div>
<div class="p2">
<span class="s1">Considered the best brewer of gourmet sour beers in the USA</span></div>
<div class="p3">
<span class="s2"><a href="http://www.yelp.com/biz/jolly-pumpkin-pizzeria-and-brewery-detroit">http://www.yelp.com/biz/jolly-pumpkin-pizzeria-and-brewery-detroit</a></span></div>
<div class="p1">
<span class="s1"></span><br /></div>
<div class="p2">
<span class="s1"><b>Traffic Jam & Snug - Midtown</b></span></div>
<div class="p2">
<span class="s1">First craft brewery in the state of Michigan after prohibition</span></div>
<div class="p3">
<span class="s2"><a href="http://www.yelp.com/biz/traffic-jam-and-snug-detroit-3">http://www.yelp.com/biz/traffic-jam-and-snug-detroit-3</a></span></div>
<div class="p1">
<span class="s1"></span><br /></div>
<div class="p2">
<span class="s1"><b>HopCat - Midtown</b></span></div>
<div class="p2">
<span class="s1">ridiculous number of Michigan craft beers on tap. live music upstairs at night.</span></div>
<div class="p3">
<span class="s2"><a href="http://www.yelp.com/biz/hopcat-detroit-2">http://www.yelp.com/biz/hopcat-detroit-2</a></span></div>
<div class="p1">
<span class="s1"></span><br /></div>
<h3>
<span class="s1"></span></h3>
<h2>
<span class="s1">Day #1</span></h2>
<h3>
<span class="s1">Day #1 - Breakfast</span></h3>
<div class="p2">
<span class="s1"><b>New Center Eatery - New Center</b></span></div>
<div class="p2">
<span class="s1">Eat chicken and waffles, best in the city. i usually eat a side of collard greens too. Good neo-soul / R&B music tracks playing.</span></div>
<div class="p3">
<span class="s2"><a href="http://www.yelp.com/biz/new-center-eatery-detroit">http://www.yelp.com/biz/new-center-eatery-detroit</a></span></div>
<h3>
<span class="s1"><br /></span></h3>
<h3>
<span class="s1">Day #1 - Lunch</span></h3>
<h3>
<b><br /></b></h3>
<h3>
<b>Bucharest Grill - Downtown</b></h3>
<div class="p2">
<span class="s1">eat the Trish Salad. or any of the wraps. eat and drink craft beer next door at Park Bar (the two places are attached).</span></div>
<div class="p3">
<span class="s2"><a href="http://www.yelp.com/biz/bucharest-grill-detroit">http://www.yelp.com/biz/bucharest-grill-detroit</a></span></div>
<div class="p1">
<span class="s1"></span><br /></div>
<div class="p2">
<span class="s1">BACKUP: Vicente’s Cuban - Downtown</span></div>
<div class="p2">
<span class="s1">eat Ropas Viejas, drink sangria or mojito.</span></div>
<div class="p3">
<span class="s2"><a href="http://www.yelp.com/biz/vicentes-cuban-cuisine-detroit">http://www.yelp.com/biz/vicentes-cuban-cuisine-detroit</a></span></div>
<div class="p1">
<span class="s1"></span><br /></div>
<h3>
Day #1 - Dinner</h3>
<div class="p2">
<span class="s1"><b>Green Dot Stables</b></span></div>
<div class="p2">
<span class="s1">eat at least 3 sliders and the truffle fries. i usually get the Korean, the Philly and the mystery meat slider, whatever it happens to be. funky vibe. </span></div>
<div class="p3">
<span class="s2"><a href="http://www.yelp.com/biz/green-dot-stables-detroit-2">http://www.yelp.com/biz/green-dot-stables-detroit-2</a></span></div>
<div class="p1">
<span class="s1"></span><br /></div>
<div class="p2">
<span class="s1">BACKUP: Johny Noodle King</span></div>
<div class="p2">
<span class="s1">noodle spot. same owners as Green Dot.</span></div>
<div class="p3">
<span class="s2"><a href="http://www.yelp.com/biz/johnny-noodle-king-detroit">http://www.yelp.com/biz/johnny-noodle-king-detroit</a></span></div>
<h2>
<span class="s1"><br /></span></h2>
<h2>
<span class="s1">Night #2</span></h2>
<h3>
<span class="s1"><br /></span></h3>
<h3>
<span class="s1">Night #2 - Drinks</span></h3>
<div class="p2">
<span class="s1"><b><br /></b></span>
<span class="s1"><b>Two James Distillery</b></span></div>
<div class="p2">
<span class="s1">drink their sample flight or pick a cocktail. munch on wasabi peas.</span></div>
<div class="p3">
<span class="s2"><a href="http://www.yelp.com/biz/two-james-spirits-detroit">http://www.yelp.com/biz/two-james-spirits-detroit</a></span></div>
<div class="p1">
<span class="s1"></span><br /></div>
<div class="p2">
<span class="s1"><b>Sugar House</b></span></div>
<div class="p2">
<span class="s1">drink “The Last Word”, a prohibition-era cocktail created at the Detroit Athletic Club.</span></div>
<div class="p2">
<span class="s1">or tell the staff some ingredients and let them work their magic</span></div>
<div class="p2">
<span class="s1">or order from the encyclopedic menu</span></div>
<div class="p3">
<span class="s2"><a href="http://www.yelp.com/biz/the-sugar-house-detroit">http://www.yelp.com/biz/the-sugar-house-detroit</a></span></div>
<div class="p1">
<span class="s1"></span><br /></div>
<div class="p2">
<span class="s1"><b>Batch Brewery</b></span></div>
<div class="p2">
<span class="s1">nano brewery, excellent pretzels and comfort food. they also have fantastic, heavy desserts here.</span></div>
<div class="p3">
<span class="s2"><a href="http://www.yelp.com/biz/batch-brewing-company-detroit">http://www.yelp.com/biz/batch-brewing-company-detroit</a></span></div>
<div class="p1">
<span class="s1"></span><br /></div>
<h2>
<span class="s1">Day #2</span></h2>
<h3>
<span class="s1">Day #2 - Breakfast</span></h3>
<div class="p2">
<span class="s1"><b>Le Petit Zinc </b></span></div>
<div class="p2">
<span class="s1">Eat the quiche. Drink a cappuccino. Sit outside if weather allows.</span></div>
<div class="p3">
<span class="s2"><a href="http://www.yelp.com/biz/le-petit-zinc-detroit">http://www.yelp.com/biz/le-petit-zinc-detroit</a></span></div>
<div class="p1">
<span class="s1"></span><br /></div>
<h3>
<span class="s1">Day #2 - Lunch</span></h3>
<div class="p2">
<span class="s1"><b>Taqueria El Rey</b></span></div>
<div class="p2">
<span class="s1">eat tacos al pastor. drink horchata.</span></div>
<div class="p3">
<span class="s2"><a href="http://www.yelp.com/biz/taqueria-el-rey-detroit">http://www.yelp.com/biz/taqueria-el-rey-detroit</a></span></div>
<div class="p1">
<span class="s1"></span><br /></div>
<div class="p2">
<span class="s1"><b>Mexicantown Bakery</b></span></div>
<div class="p2">
<span class="s1">sweets. can’t go wrong</span></div>
<div class="p3">
<span class="s2"><a href="http://www.yelp.com/biz/mexicantown-bakery-detroit">http://www.yelp.com/biz/mexicantown-bakery-detroit</a></span></div>
<div class="p1">
<span class="s1"></span><br /></div>
<h3>
<span class="s1">Day #2 - Dinner</span></h3>
<div class="p2">
<span class="s1"><b>Selden Standard</b></span></div>
<div class="p2">
<span class="s1">order whatever they tell you - if you can get in.</span></div>
<div class="p3">
<span class="s2"><a href="http://www.yelp.com/biz/selden-standard-detroit">http://www.yelp.com/biz/selden-standard-detroit</a></span></div>
<div class="p1">
<span class="s1"></span><br /></div>
<div class="p2">
<span class="s1">BACKUP: Gold Cash Gold</span></div>
<div class="p2">
<span class="s1">if you can’t get into Selden, try Gold Cash Gold</span></div>
<div class="p2">
<span class="s1">Farm to table, southern american inspired</span></div>
<br />
<div class="p3">
<span class="s2"><a href="http://www.yelp.com/biz/gold-cash-gold-detroit">http://www.yelp.com/biz/gold-cash-gold-detroit</a></span></div>
Anonymoushttp://www.blogger.com/profile/12632275629687895364noreply@blogger.com37tag:blogger.com,1999:blog-5826967912934510181.post-76209384236471303572014-11-26T07:56:00.001-08:002014-11-26T08:00:24.558-08:00Compuberty: Three Emerging Categories of ComputingComputers are going through puberty. They are becoming adults, devices that have physical presence in the public realm. When the transformation is complete we will have three classes of computing:<br />
<br />
<ul>
<li>Personal Computing - value is created at the scale of people</li>
<ul>
<li>smartphones</li>
<li>tablets</li>
<li>laptops</li>
<li>desktops</li>
<li>televisions</li>
<li>car interiors</li>
<li>hospital rooms</li>
<li>living rooms</li>
</ul>
<li>Cloud Computing - value is created at the scale of global communities</li>
<ul>
<li>social networks</li>
<li>big data</li>
</ul>
<li>Autonomous Computing - value is created at the scale of Newtonian physics</li>
<ul>
<li>wireless sensor networks</li>
<li>drones</li>
<li>autonomous cars</li>
<li>actuators</li>
<li>control systems</li>
</ul>
</ul>
Anonymoushttp://www.blogger.com/profile/12632275629687895364noreply@blogger.com4Detroit, MI, USA42.331427 -83.045753842.143674499999996 -83.3684773 42.5191795 -82.7230303tag:blogger.com,1999:blog-5826967912934510181.post-34880841498207959912013-09-28T04:57:00.000-07:002013-09-28T05:08:31.614-07:00What am I missing?Having helmed a couple startup failures, I'm often skeptical about success stories and what they can teach me about my next endeavor.<br />
<br />
This excellent article on Survivorship Bias (recently shared by <a href="https://twitter.com/vallor">@vallor</a> with FooCamp alum) is a smart reminder to keep asking, "what am I missing?"<br />
<br />
<a href="http://youarenotsosmart.com/2013/05/23/survivorship-bias/">http://youarenotsosmart.com/2013/05/23/survivorship-bias/</a><br />
<br />
When we launched a big data startup called Swivel in 2006, we scored a lot of press from TechCrunch, New York Times, Financial Times, Nature and others. But only one person covered our failure, a blogger from Charlotte, North Carolina.<br />
<br />
The failure article has all the useful wisdom <a href="http://eagereyes.org/criticism/the-rise-and-fall-of-swivel">http://eagereyes.org/criticism/the-rise-and-fall-of-swivel</a>, whereas the mainstream media never followed-up to capture what went wrong.<br />
<br />
Today, 7 years after launching Swivel, I get calls from smart entrepreneurs entering the big data space not because Swivel was a success but because they came across the failure blog post and want to learn more.<br />
<br />
While unorthodox, understanding the Survivorship Bias and looking around for lessons of failure is a great aid in covering your blind spots.<br />
<br />
It might be worth a few minutes of your time to Google for failures in your market and reach out to some losers.Anonymoushttp://www.blogger.com/profile/12632275629687895364noreply@blogger.com2tag:blogger.com,1999:blog-5826967912934510181.post-35440940792772713282012-05-22T05:55:00.001-07:002012-05-22T05:55:56.935-07:00Detroit RoboticsAn incomplete list of robotics stuff around Detroit.<br />
<br />
Companies<br />
<br />
<ul>
<li><a href="http://skyspecs.com/">SkySpecs</a></li>
<li><a href="http://detroitaircraft.wordpress.com/">Detroit Aircraft</a></li>
<li><a href="http://www.fanucrobotics.com/">FANUC Robotics America</a></li>
</ul>
<div>
Military</div>
<ul>
<li><a href="http://tardec.army.mil/">TARDEC</a></li>
</ul>
<div>
Institutions</div>
<div>
<ul>
<li>Engineering</li>
<ul>
<li><a href="http://eng-sci.udmercy.edu/programs/eng/electrical-computer/graduate/concentration-in-robotics-systems/Index.htm">University of Detroit</a></li>
<li>Wayne State University</li>
<li><a href="http://www.ltu.edu/engineering/mechanical/robotics_engineering.asp">Lawrence Technological University</a></li>
<li>University of Michigan</li>
<li>Michigan State University</li>
<li><a href="http://www.kettering.edu/industrial-manufacturing-engineering/robotics-computer-integrated-manufacturing-laboratory">Kettering University</a></li>
</ul>
<li>Design</li>
<ul>
<li><a href="http://www.collegeforcreativestudies.edu/">College for Creative Studies</a></li>
<li><a href="http://www.cranbrookart.edu/">Cranbrook</a></li>
</ul>
</ul>
<div>
Conferences and Organizations</div>
</div>
<div>
<ul>
<li><a href="http://www.mirobotics.org/">Michigan Robotics</a></li>
<li><a href="http://www.telematicsupdate.com/detroit/">Telematics Detroit</a></li>
<li><a href="http://www.auvsi.org/dcs">Driverless Car Summit</a></li>
<li><a href="http://robottown.org/">RobotTown</a></li>
</ul>
</div>Anonymoushttp://www.blogger.com/profile/12632275629687895364noreply@blogger.com11tag:blogger.com,1999:blog-5826967912934510181.post-31674616810757861082011-08-03T15:47:00.000-07:002018-03-19T08:05:42.708-07:00Green SmoothieI make and drink a pitcher of green smoothie just about every day I'm home.<br />
<div>
<br /></div>
<div>
<div>
To make it, put the following ingredients in a blender and blend on high after each addition.</div>
<div>
<ul>
<li>1/2 cup uncooked steel cut oatmeal</li>
<li>1/2 cup blueberries</li>
<li>1/2 cup plain yogurt</li>
<li>1 raw egg</li>
<li>1/2 cucumber</li>
<li>1/4 inch slice of lemon, cut off the ends, leave the skin</li>
<li>1 banana</li>
<li>1 pear</li>
<li>3 leaves of kale</li>
<li>3 leaves cabbage</li>
<li>1 whole carrot</li>
<li>1/2 inch of fresh Ginger root, peeled</li>
<li>1/2 teaspoon of Ceylon cinnamon</li>
<li>top off with water or whey</li>
<li>a few ice cubes to make it cool if you'd like</li>
</ul>
</div>
</div>
<div>
<br /></div>
Anonymousnoreply@blogger.com9tag:blogger.com,1999:blog-5826967912934510181.post-65298690519857763242010-12-15T00:42:00.000-08:002010-12-15T00:51:40.274-08:00API DesignI recently presented some opinions and ideas about web API design at <a href="http://www.salesforce.com/">Salesforce.com</a>'s <a href="http://www.cloudstockevent.com/">Cloudstock</a> event in San Francisco.<div><br /></div><div>In the talk, I start with a poorly designed API and iterate it toward a well-behaved REST API. Along the way, I compare APIs from Facebook, LinkedIn, Twitter, Foursquare and others and share my opinions about which APIs do things well and which don't.</div><div><br /></div><div>If you're thinking about API design, please give it a view and let me know what you think.</div><div><br /></div><div>Here is a studio version of the talk:</div><div><iframe src="http://player.vimeo.com/video/17785736?portrait=0" width="500" height="375" frameborder="0"></iframe><br /></div>Anonymousnoreply@blogger.com9tag:blogger.com,1999:blog-5826967912934510181.post-29496206914146459452010-12-12T21:02:00.000-08:002010-12-12T21:16:46.651-08:00no such file to load -- specWhile trying to use Goto Alternate File (⌃⇧↓) in TextMate's Cucumber Bundle I was seeing an error like this:<br /><span style="font-weight:bold;">no such file to load -- spec</span><br /><br />that was pointing to line 20 of:<br /><span style="font-weight:bold;">~/Library/Application\ Support/TextMate/Bundles/Cucumber.tmbundle/Support/lib/cucumber/mate.rb</span><br /><br />That line reads like this:<br /><script src="https://gist.github.com/738672.js?file=mate.rb"></script><br />I changed it to:<br /><script src="https://gist.github.com/738673.js?file=mate.rb"></script><br />Reloaded bundles (Bundles→Bundle Editor→Reload Bundles). And now things are working fine. My guess is RSpec 2 now goes by 'rspec' instead of 'spec'.Anonymousnoreply@blogger.com3tag:blogger.com,1999:blog-5826967912934510181.post-65488720791269427922010-09-24T12:33:00.000-07:002010-09-24T12:54:12.248-07:00Rails 3 Complex Join QueryI just struggled mightily to have the new Rails 3 query stuff create the SQL I wanted. I figured it out eventually. Here's the story.<br /><br />I have the following models:<script src="http://gist.github.com/595901.js?file=gistfile1.rb"></script>I wanted to add a method to Person that would return all the add-ons to which a person subscribed through payment plans:<script src="http://gist.github.com/595920.js?file=gistfile1.rb"></script>So, I knew I would need this SQL query:<script src="http://gist.github.com/595894.js?file=gistfile1.sql"></script>I tried things like this, cursing the new query stuff the whole while:<script src="http://gist.github.com/595914.js?file=gistfile1.rb"></script>They all failed. Finally, I got what I wanted:<script src="http://gist.github.com/595917.js?file=gistfile1.rb"></script>It turned out to be nice and simple and I can do sweet chaining things like this:<script src="http://gist.github.com/595927.js?file=gistfile1.rb"></script>Now, I love the new Rails 3 query stuff.Anonymousnoreply@blogger.com8tag:blogger.com,1999:blog-5826967912934510181.post-12230179364911477692010-09-16T20:40:00.000-07:002010-10-01T08:51:54.483-07:00Heroku Bundler Deployment IssueWhen deploying to heroku recently (bundler 1.0.0) I was getting a nasty looking error: <script src="http://gist.github.com/583602.js"> </script> after much struggling, I found troubleshooting directions here:<br /><a href="http://github.com/carlhuda/bundler/blob/master/ISSUES.md">http://github.com/carlhuda/bundler/blob/master/ISSUES.md</a><br />I had to do a couple steps. first these:<script src="http://gist.github.com/591252.js"> </script>and then I had to edit my Gemfile to stop using any gems that pointed to github: <script src="http://gist.github.com/591255.js"> </script>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-5826967912934510181.post-7364427081462294372010-08-31T23:04:00.001-07:002010-09-21T23:48:59.401-07:00NoMethodError: undefined method 'coordinates' for #<div><br />In trying to use the latest Sunspot code (from github) for geo search with Rails 3.0.0 , I was getting the following error while running Sunspot.index!(Location.all), where Location is my ActiveRecord class for storing locations:<br /><script src="http://gist.github.com/591248.js"> </script><br />After searching through the new code I found that coordinates is no longer a valid field type, but instead location is to be used. location expects an object that responds to lat and lng. Sunspot provides a handly little struct called Coordinates to be this object. So, here is my model code for setting up the search:<br /><script src="http://gist.github.com/591247.js"> </script><br />notice the virtual attribute called coordinates which wraps the lat & lng ActiveRecord attributes. My search code now looks like this:<br /><script src="http://gist.github.com/591249.js"> </script><br />And my search results are coming in as expected.</div>Anonymousnoreply@blogger.com1tag:blogger.com,1999:blog-5826967912934510181.post-72655482010646440002010-08-10T23:54:00.000-07:002010-08-11T00:00:36.805-07:00Rails 3 doesn't like auto_link href_optionsEven though the Rails doc indicates one should be able to do something like this:<br /><blockquote>auto_link(simple_format(h(text)), :href_options => { :class => 'auto-link' })</blockquote>it doesn't work. looking at the Rails code in text_helper.rb, auto_link is only looking for options[:html], so :href => {} just gets ignored. one actually needs to do this:<br /><blockquote>auto_link(simple_format(h(text)), :html => {:class => 'auto-link'})</blockquote>and now it works fine.Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-5826967912934510181.post-30683178629198559502010-08-09T06:13:00.000-07:002010-09-21T23:57:37.653-07:00jquery auto resize fontsI ran <a href="http://www.landlessness.net/2010/08/font-size-versus-line-length_09.html">experiments</a> on font-size versus line length so that I could find the proper formula to automatically resize a font in order to keep the character count per line the same as a person resizes his browser window.<br />UPDATE: i inverted the resize function to look traditionally linear.<br />Here is the jquery code that keeps the line length the same:<script src="http://gist.github.com/591260.js"> </script>it works pretty well with Chrome and Safari on Mac.<br />the initial inspiration for this code came from a <a href="http://www.daniweb.com/forums/post798009.html#post798009">post</a> by <a href="http://www.daniweb.com/forums/member360561.html">ingeva</a> on <a href="http://www.daniweb.com/">daniweb</a>.Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-5826967912934510181.post-78850121940385521392010-08-09T05:58:00.001-07:002010-10-02T19:44:11.617-07:00font size versus line lengthI ran an experiment on Google Chrome (code below) to determine how line length varied with font size. it looked pretty linear.<br /><br />Below is my guess for the curve. You can see it on Wolfram Alpha:<br /><a href="http://www.wolframalpha.com/input/?i=plot+|+25.407+x%2B6.3799+|+x+%3D+1++to++300">(line length) = 25.407 * (font size) + 6.3799</a><br /><br />Here is the jquery/html code i used to generate the results:<script src="http://gist.github.com/608211.js?file=gistfile1.html"></script><br />the initial inspiration for fitting the curve of font size to line length came from a <a href="http://www.daniweb.com/forums/post798009.html#post798009">post</a> by <a href="http://www.daniweb.com/forums/member360561.html">ingeva</a> on <a href="http://www.daniweb.com/">daniweb</a>.Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-5826967912934510181.post-58581703967778253142010-08-02T19:03:00.000-07:002010-08-02T19:07:20.531-07:00NoMethodError: undefined method sanitize_for_mass_assignmentonce upon a time i started getting a strange error:<br /><br /><blockquote>NoMethodError: undefined method `sanitize_for_mass_assignment'</blockquote><br /><br />after poking and prodding it turned out that after running bundle install, bundler grabbed the latest version of the state_machine gem, namely 0.9.4, which makes the call to sanitize_for_mass_assignment, which wasn't found. i likely have some other dependencies missing. however, to get back to my regularly scheduled coding, i just modified my Gemfile to use a previous version of state_machine:<br /><br /><blockquote>gem 'state_machine', '0.9.3'</blockquote><br /><br />now all is good and my rake tests are passing again.Anonymousnoreply@blogger.com2tag:blogger.com,1999:blog-5826967912934510181.post-23547383787575720902010-07-26T14:06:00.000-07:002010-07-26T15:15:28.714-07:00iPad spell check thwarts sign-in attempts<span style="font-weight:bold;">Quick answer</span><br />In order to disable iPad's spell check the HTML form action must contain the word "login":<br /><br /><form action="/login" ... ><br />...<br /></form><br /><br /><span style="font-weight:bold;">Details</span><br />For some websites the iPad does not try to spell check email addresses that are a part of sign-in forms. But for many websites, it does. It's annoying. <div><br /></div><div>I often have my sign-in attempt thwarted because I didn't realize my email address was 'corrected'. And when I am aware that iPad is being smart, I have to wait to type a full word and then go up to click on the 'x' to dismiss the suggested correction. And because it's hit or miss on different websites, I am always tentative when signing in, which adds to the frustration.<br /><br />So, I vowed when creating my new web app that I would ensure my sign-in forms worked in a way that did not invoke the spell-checker. However, my out-of-the-box Rails 3 and Devise web app was invoking the spell checker:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_wi4zlRTu5VI/TE4EodN4AvI/AAAAAAAAABc/ovmBfipkKsY/s1600/spell.PNG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_wi4zlRTu5VI/TE4EodN4AvI/AAAAAAAAABc/ovmBfipkKsY/s320/spell.PNG" border="0" alt="" id="BLOGGER_PHOTO_ID_5498337288150057714" /></a><br />Bummer. What was the difference in the HTML between the websites that invoked the spell-check and the websites that did not? Here's what I found out:<br /><br />I assumed that iPad was looking at the names of the input fields to determine if it should spell check. So, I looked at sites that invoke the spell checker, like:<br /><br />Ta-da List: <a href="http://123.tadalist.com/session/new">http://123.tadalist.com/session/new</a><br />GitHub: <a href="https://github.com/login">https://github.com/login</a><br /><br />and those that did not invoke the spell checker, like:<br /><br />GMail: <a href="https://www.google.com/accounts/ServiceLogin?service=mail&ltmpl=ecobx&btmpl=mobile">https://www.google.com/accounts/ServiceLogin?service=mail&ltmpl=ecobx&btmpl=mobile</a><br />Heroku: <a href="https://api.heroku.com/login">https://api.heroku.com/login</a><br /><br />Ta-da List uses name="username" for the input text field while GitHub uses name="login". On the other hand, GMail uses name="Email" and Heroku use name="email". That must be it! It's doing a case-insensitive match for name="email". </div><div><br /></div><div>But, no. After tweaking the HTML in my new app, it didn't work. I kept getting the spell checker in my form.<br /><br />After trying many variations, I finally discovered the solution:<br /><br />In order to get iPad to not invoke the spell checker on an email field while signing-in, the action on the form tag must contain the text "login". It can be capitalized or not. It can be surrounded by other text or not. But the form action must contain the characters "login".<br /><br />GMail:<br />form action="https://www.google.com/accounts/ServiceLoginAuth"<br /><br />Heroku:<br />form action="/login"<br /><br />I am using Ruby on Rails and Devise for authentication. So for my web app, I followed the directions here:<br /><br /><a href="http://wiki.github.com/plataformatec/devise/howto-change-routes-for-default-scope-to-login-logout">http://wiki.github.com/plataformatec/devise/howto-change-routes-for-default-scope-to-login-logout</a><br /><br />to change my form from using action="sign_in" to using action="login".<br /><br />Now my sign-in form on the iPad behaves nicely with no spell checker:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_wi4zlRTu5VI/TE4Ein9-_zI/AAAAAAAAABU/gwf0vDhCJTE/s1600/no-spell.PNG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_wi4zlRTu5VI/TE4Ein9-_zI/AAAAAAAAABU/gwf0vDhCJTE/s320/no-spell.PNG" border="0" alt="" id="BLOGGER_PHOTO_ID_5498337187956981554" /></a></div>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-5826967912934510181.post-5272293535485308212010-07-23T15:30:00.001-07:002010-07-23T15:38:24.700-07:00Almost Switched to DataMapper from ActiveRecordI was doing what seemed to be a straight-forward call with ActiveRecord from within the update method of a controller:<br /><br /><blockquote>@project = current_person.projects.find(params[:id])</blockquote><br /><br />Well, when doing so I would get an error:<br /><br /><blockquote>ActiveRecord::ReadOnlyRecord in ProjectsController#update</blockquote><br /><br />I was so frustrated by trying to workaround this issue that I spent the morning researching and playing with <a href="http://datamapper.org/">DataMapper</a> with the intention of switching.<br /><br />However, after feeling underwhelmed by the current state of DataMapper on Rails 3, I went back to finding a workaround. Luckily I found this comment at the bottom of a <a href="http://forums.pragprog.com/forums/74/topics/2078">Pragmatic Bookshelf thread</a>:<br /><br /><blockquote>Hello,<br /><br />An other way is to disable readonly like so:<br /><br />def index<br /> @movies = Movie.find(:all, :readonly => false, :joins => :showings, :conditions =><br /> ["showings.starts_on < ? AND showings.ends_on > ?", Date.today, Date.today])<br />end<br /></blockquote><br /><br />That did the trick. Why :readonly => false it not the default, I do not understand.Anonymousnoreply@blogger.com2tag:blogger.com,1999:blog-5826967912934510181.post-14766461295388416482010-04-06T13:18:00.001-07:002010-04-06T14:08:47.414-07:00Unboxing the iPad<div style="float: right; margin-left: 10px; margin-bottom: 10px;"><a href="http://www.flickr.com/photos/landlessness/4498099970/" title="photo sharing"><img src="http://farm5.static.flickr.com/4009/4498099970_0002a81761.jpg" alt="" style="border: solid 2px #000000;" /></a><br /><span style="font-size: 0.9em; margin-top: 0px;"><a href="http://www.flickr.com/photos/landlessness/4498099970/">Unboxing the iPad</a><br />Originally uploaded by <a href="http://www.flickr.com/people/landlessness/">landlessness</a></span></div>What a beauty.<br clear="all" />Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-5826967912934510181.post-74106209139735431022008-10-28T21:38:00.000-07:002010-04-06T10:15:32.447-07:00Installing restful_authentication and acts_as_state_machine (aasm) as plugins<div>Here are the steps I took to install restful_authentication with acts_as_state_machine (using the new aasm gem) as plugins.</div><div><br /></div><div>Started in the rails home directory of the app. </div><div><br /></div><div>Installed aasm gem as a plugin:</div><div><span class="Apple-style-span" style="font-family:'courier new';"><br /></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><blockquote><div><span class="Apple-style-span" style="font-family:'courier new';">script/plugin install git://github.com/rubyist/aasm.git</span></div><div></div></blockquote><div><br /></div><div>(thanks to <a href="http://erikonrails.snowedin.net/?p=20" title="ericonrails">Erik on Rails</a> for the above)</div><div><br /></div><div>Installed restful authentication:</div><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><blockquote><div><span class="Apple-style-span" style="font-family:'courier new';">git submodule add \</span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> git://github.com/technoweenie/restful-authentication.git \</span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> vendor/plugins/restful_authentication</span></div><div></div></blockquote><div><br /></div><div>I use capistrano so I also added the following to my config/deploy.rb file</div><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><blockquote><div><span class="Apple-style-span" style="font-family:'courier new';">set :git_enable_submodules, 1</span></div><div></div></blockquote><div><br /></div><div>Created a lib directory in the app home directory:</div><div><span class="Apple-style-span" style="font-family:'courier new';"><blockquote>mkdir lib</blockquote><blockquote></blockquote></span></div><div><br /></div><div>Called the restful authentication generator. Fyi, instead of <b>user</b>, I use <b>person</b> as the name of my model for people:</div><div><span class="Apple-style-span" style="font-family:'courier new';"><blockquote>./script/generate authenticated person sessions --include-activation --aasm</blockquote></span></div><div><br /></div><div>Then I did the post-generate steps, following some of the instructions at <a href="http://github.com/technoweenie/restful-authentication/wikis#POST-INSTALL" title="github">github</a>. Some of the steps enumerated in the docs seem to be taken care of as part of the generate call now.</div><div><br /></div><div>In config/routes.rb, I did a find/replace on peoples (incorrect plural) replacing all with people (correct plural) and added the activate route. In the end my routes.rb looked like this:</div><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><blockquote><div><span class="Apple-style-span" style="font-family:'courier new';">map.logout '/logout', :controller => 'sessions', :action => 'destroy'</span></div><div><span class="Apple-style-span" style="font-family:'courier new';">map.login '/login', :controller => 'sessions', :action => 'new'</span></div><div><span class="Apple-style-span" style="font-family:'courier new';">map.register '/register', :controller => 'people', :action => 'create'</span></div><div><span class="Apple-style-span" style="font-family:'courier new';">map.signup '/signup', :controller => 'people', :action => 'new'</span></div><div><span class="Apple-style-span" style="font-family:'courier new';">map.activate '/activate/:activation_code', :controller => 'people',</span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> :action => 'activate', :activation_code => nil</span></div><div><span class="Apple-style-span" style="font-family:'courier new';">map.resources :people, :member => { :suspend => :put,</span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> :unsuspend => :put,</span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> :purge => :delete }</span></div></blockquote><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><div><br /></div><div>In config/environment.rb, I added:</div><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><blockquote><div><span class="Apple-style-span" style="font-family:'courier new';">config.active_record.observers = :person_observer</span></div><div></div></blockquote><div><br /></div><div>So I can use before filters in my controllers, I modified app/controllers/application.rb to include AuthenticatedSystem:</div><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><blockquote>class ApplicationController < ActionController::Base<div><span class="Apple-style-span" style="font-family:'courier new';"> helper :all</span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> include AuthenticatedSystem</span></div><div><span class="Apple-style-span" style="font-family:'courier new';">end</span></div></blockquote><div><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><div><br /></div><div>I adjusted the language in app/models/person_mailer.rb, especially replacing the YOURSITE references to be the URL of my site:</div><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><blockquote><div><span class="Apple-style-span" style="font-family:'courier new';">@body[:url] =</span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> "http://www.landlessness.net/activate/#{person.activation_code}"</span></div><div></div></blockquote><div><br /></div></div>Anonymousnoreply@blogger.com1tag:blogger.com,1999:blog-5826967912934510181.post-47769974976807442682008-10-10T04:14:00.000-07:002010-04-06T10:24:05.789-07:00Passing optional local variables to a partial<div>In verbose_index.html.erb i want to pass some additional parameters to the _thing.html.erb partial:</div><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><blockquote><div><span class="Apple-style-span" style="font-family:'courier new';"><% @things.each do |thing| %></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"><%= render :partial => thing,</span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> :locals => {:some_extra_stuff => some_extra_stuff} %></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"><% end %></span></div><div></div></blockquote><div><br /></div><div>in index.html.erb i do not want to pass any additional parameters to the _thing.html.erb partial:</div><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><blockquote><div><span class="Apple-style-span" style="font-family:'courier new';"><%= render :partial => things %></span></div><div></div></blockquote><div><br /></div><div>when I hit verbose_index everything will work fine. but when I hit index, I'll see this error:</div><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><blockquote><div><span class="Apple-style-span" style="font-family:'courier new';">undefined local variable or method 'some_extra_stuff'</span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> for #<actionview::base:0x22e6948></span></div><div></div></blockquote><div><br /></div><div>to fix, in _thing.html.erb I add a check to see if the local variable is assigned:</div><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><blockquote><div><span class="Apple-style-span" style="font-family:'courier new';"><% unless local_assigns[:some_extra_stuff].nil? %></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"><%= some_extra_stuff %></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"><% end %></span></div><div></div></blockquote><div><br /></div>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-5826967912934510181.post-20935773429673500112008-10-10T02:55:00.000-07:002010-04-06T10:22:19.588-07:00Could not find any SCM named git<div>I have been wrestling with capistrano and git, when I ran the following I got an error: </div><div><br /></div><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><blockquote><div><span class="Apple-style-span" style="font-family:'courier new';">$ cap deploy:check</span></div><div><span class="Apple-style-span" style="font-family:'courier new';">could not find any SCM named `git'</span></div><div></div></blockquote><div><br /></div><div>I ran 'which git' by hand on both my local box and remote box.</div><div><br /></div><div>on the remote box:</div><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><blockquote><div><span class="Apple-style-span" style="font-family:'courier new';">$ which git</span></div><div><span class="Apple-style-span" style="font-family:'courier new';">/usr/local/bin/git</span></div><div></div></blockquote><div><br /></div><div>on the local box:</div><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><blockquote><div><span class="Apple-style-span" style="font-family:'courier new';">$ which git</span></div><div><span class="Apple-style-span" style="font-family:'courier new';">/usr/local/git/bin//git</span></div><div></div></blockquote><div><br /></div><div>not sure what the issue was, but I tried to set the following in my deploy.rb without success:</div><div><br /></div><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><blockquote><div><span class="Apple-style-span" style="font-family:'courier new';">set :local_scm_command, "/usr/local/git/bin/git"</span></div><div><span class="Apple-style-span" style="font-family:'courier new';">set :scm_command, "/usr/local/bin/git"</span></div><div></div></blockquote><div><br /></div><div>ultimately, my fix was to <b>uninstall and reinstall git on my local machine</b>.</div><div><br /></div><div>now on the local box:</div><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><blockquote><div><span class="Apple-style-span" style="font-family:'courier new';">$ which git</span></div><div><span class="Apple-style-span" style="font-family:'courier new';">/usr/local/bin/git</span></div><div></div></blockquote><div><br /></div><div>now </div><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><blockquote><div><span class="Apple-style-span" style="font-family:'courier new';">$ cap deploy:check</span></div><div><span class="Apple-style-span" style="font-family:'courier new';">You appear to have all necessary dependencies installed</span></div><div></div></blockquote><div><br /></div>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-5826967912934510181.post-52629163619140358082008-09-28T17:38:00.000-07:002010-04-06T10:20:32.343-07:00Using cURL for SOAP<div>How to issue a SOAP request (to Sonoa's ServiceNet) using cURL from the command line:</div><div><br /></div><div><b>shell command:</b></div><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><blockquote><div><span class="Apple-style-span" style="font-family:'courier new';">curl \</span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> -H "SOAPAction: urn:getCustomerDetails" \</span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> -H "Content-Type: text/xml" \</span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> -d "@getCustomerDetails.xml" \</span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> http://192.168.96.132:8080/samples/services/CustomerInfoService</span></div></blockquote><div>where getCustomerDetails.xml is a file in the current directory.</div><div><br /></div><div><b>getCustomerDetails.xml:</b></div><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><blockquote><div><soapenv:envelope></div><div><span class="Apple-style-span" style="font-family:'courier new';"> xmlns:soapenv=</span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> "http://schemas.xmlsoap.org/soap/envelope/"</span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> xmlns:cus=</span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> "http://www.sonoasystems.com/schemas-samples/2007/1/26/customer"> </span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> <soapenv:header/> </span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> <soapenv:body> </span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> <cus:getcustomerdetails> </span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> <cus:customerid>12</cus:customerID> </span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> </cus:getCustomerDetails> </span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> </soapenv:Body> </span></div><div><span class="Apple-style-span" style="font-family:'courier new';"></soapenv:Envelope></span></div></blockquote><div><b>shell output:</b></div><div></div><blockquote><div><span class="Apple-style-span" style="font-family:'courier new';"><?xml version='1.0' encoding='UTF-8'?></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"><soapenv:envelope></div><div></span><span class="Apple-style-span" style="font-family:'courier new';"> xmlns:soapenv=</span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> "http://schemas.xmlsoap.org/soap/envelope/"></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> <soapenv:header></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> <soapenv:body></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> <getcustomerdetailsresponse></div><div></span><span class="Apple-style-span" style="font-family:'courier new';"> xmlns=</span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> "http://www.sonoasystems.com/schemas-samples/2007/1/26/customer"></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> <return></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> <customerid>12</customerid></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> <shiptoaddress></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> <city>City 12</city></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> <country>USA</country></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> <name>Name 12</name></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> <state>CA</state></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> <street>Street 12</street></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> <zip>Zip 12</zip></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> </shiptoaddress></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> </return></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> </getcustomerdetailsresponse></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> </soapenv:Body></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"></soapenv:Envelope></span></div></blockquote>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-5826967912934510181.post-5614745088164007572008-09-25T22:26:00.000-07:002010-04-06T10:10:15.345-07:00ExpressionEngine Category for Entry<div>I wanted to display the category of an entry so that the end result would look like the following, where Ruby on Rails is the category:</div><div><br /></div><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><blockquote><div><span class="Apple-style-span" style="font-family:'courier new';">RUBY ON RAILS</span></div><div><span class="Apple-style-span" style="font-family:'courier new';">Scaling ActiveRecord</span></div><div><span class="Apple-style-span" style="font-family:'courier new';">Thursday September 25, 2008 at 10:26pm</span></div></blockquote><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><div><br /></div><div>I couldn't find any examples, but the snippets in TextMate helped me out. Here is the code:</div><div><br /></div><div><span class="Apple-style-span" style="font-family:'courier new';"></span></div><blockquote><div><span class="Apple-style-span" style="font-family:'courier new';">{exp:weblog:entries weblog="posts"}</span></div><div><span class="Apple-style-span" style="font-family:'courier new';">{categories weblog="posts"}</span></div><div><span class="Apple-style-span" style="font-family:'courier new';"><div><span class="Apple-style-span" style="font-family:'courier new';"> {category_name}</span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> {/categories}</span></div><div><span class="Apple-style-span" style="font-family:'courier new';"><a href="http://www.blogger.com/%7Btitle_permalink="><div style="display: inline; "><span class="Apple-style-span" style="font-family:'courier new';">{title}</span></div></a></span></div><div><a href="http://www.blogger.com/%7Btitle_permalink="><span class="Apple-style-span" style="font-family:'courier new';"> </span></a></div><div><span class="Apple-style-span" style="font-family:'courier new';"> </span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> <div class="post-date"></div><div><span class="Apple-style-span" style="font-family:'courier new';"> {gmt_entry_date format="%l %F %d, %Y at %g:%i%a"}</span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> </span></div></span></div><div><span class="Apple-style-span" style="font-family:'courier new';"> </span></div> </span></div><div><span class="Apple-style-span" style="font-family:'courier new';">{/exp:weblog:entries}</span></div><div></div></blockquote><div><br /></div>Anonymousnoreply@blogger.com0tag:blogger.com,1999:blog-5826967912934510181.post-31965818418496247312008-02-26T17:42:00.000-08:002010-04-06T10:14:10.490-07:00SonoaI am checking out Sonoa System's ServiceNet product.<br /><br /><a href="http://www.sonoasystems.com/" title="Sonoa Systems">http://www.sonoasystems.com/</a>Anonymousnoreply@blogger.com0