<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Donn Felker</title><description>Articles on software engineering, freelancing, and building a self-directed life.</description><link>https://donnfelker.com/</link><item><title>Reducing OpenClaw Token Costs with claw-llm-router</title><link>https://donnfelker.com/reducing-openclaw-token-costs-with-claw-llm-router/</link><guid isPermaLink="true">https://donnfelker.com/reducing-openclaw-token-costs-with-claw-llm-router/</guid><description>Right model, right time. Save tokens.</description><pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate><category>ai</category><category>development</category></item><item><title>The Passive AI Learning Stack That Changed the Way I Learn</title><link>https://donnfelker.com/the-passive-ai-learning-stack-that-changed-the-way-i-learn/</link><guid isPermaLink="true">https://donnfelker.com/the-passive-ai-learning-stack-that-changed-the-way-i-learn/</guid><description>Learn more with less effort.</description><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Learn Agentic Coding in 2 Days (and unlock a decade of productivity)</title><link>https://donnfelker.com/learn-agentic-coding-in-two-days/</link><guid isPermaLink="true">https://donnfelker.com/learn-agentic-coding-in-two-days/</guid><description>Evolving into an Agentic Coding Architect</description><pubDate>Mon, 10 Nov 2025 00:00:00 GMT</pubDate><category>ai</category><category>development</category></item><item><title>The Single Most Important Thing You Need as a One-Person Business to Guarantee You Get Paid</title><link>https://donnfelker.com/the-most-important-thing-you-need-get-paid-a-contract/</link><guid isPermaLink="true">https://donnfelker.com/the-most-important-thing-you-need-get-paid-a-contract/</guid><description>Get paid or go broke.</description><pubDate>Wed, 06 Aug 2025 00:00:00 GMT</pubDate><category>business</category></item><item><title>Vibe Coding with AI and the Future of Software</title><link>https://donnfelker.com/vibe-coding-with-ai-and-the-future-of-software/</link><guid isPermaLink="true">https://donnfelker.com/vibe-coding-with-ai-and-the-future-of-software/</guid><description>Software’s Industrial Revolution Moment</description><pubDate>Wed, 16 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Productive LLM Coding with an llm-context.md File</title><link>https://donnfelker.com/productive-llm-coding-with-an-llm-context-md-file/</link><guid isPermaLink="true">https://donnfelker.com/productive-llm-coding-with-an-llm-context-md-file/</guid><description>Avoid repeat prompts with context.</description><pubDate>Mon, 24 Mar 2025 00:00:00 GMT</pubDate><category>development</category></item><item><title>Invisible Mentors</title><link>https://donnfelker.com/invisible-mentors/</link><guid isPermaLink="true">https://donnfelker.com/invisible-mentors/</guid><description>Mentorship without direct connection.</description><pubDate>Fri, 07 Mar 2025 00:00:00 GMT</pubDate><category>personal-development</category></item><item><title>The Life Changing Magic of Doing Things For Free</title><link>https://donnfelker.com/the-life-changing-magic-of-doing-things-for-free/</link><guid isPermaLink="true">https://donnfelker.com/the-life-changing-magic-of-doing-things-for-free/</guid><description>Plant Seeds of Opportunity.</description><pubDate>Sat, 01 Mar 2025 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>marketing</category><category>misc</category></item><item><title>Done is Better Than Perfect</title><link>https://donnfelker.com/done-is-better-than-perfect/</link><guid isPermaLink="true">https://donnfelker.com/done-is-better-than-perfect/</guid><description>Perfection delays real progress.</description><pubDate>Fri, 21 Feb 2025 00:00:00 GMT</pubDate><category>business</category><category>development</category></item><item><title>Master the Basics</title><link>https://donnfelker.com/master-the-basics/</link><guid isPermaLink="true">https://donnfelker.com/master-the-basics/</guid><description>Skill beats high-end tools.</description><pubDate>Thu, 20 Feb 2025 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>misc</category><category>personal-development</category></item><item><title>How to Backup A Digital Ocean Managed Database</title><link>https://donnfelker.com/how-to-backup-a-digital-ocean-managed-database-postgresql/</link><guid isPermaLink="true">https://donnfelker.com/how-to-backup-a-digital-ocean-managed-database-postgresql/</guid><description>Digital Ocean backup with pg_dump.</description><pubDate>Wed, 19 Feb 2025 00:00:00 GMT</pubDate><category>development</category></item><item><title>Migrating from Sidekiq to Solid Queue</title><link>https://donnfelker.com/migrating-from-sidekiq-to-solid-queue/</link><guid isPermaLink="true">https://donnfelker.com/migrating-from-sidekiq-to-solid-queue/</guid><description>Goodbye Sidekiq, Hello Solid Queue.</description><pubDate>Wed, 08 Jan 2025 00:00:00 GMT</pubDate><category>development</category></item><item><title>Rails ImportMap Pin with Version</title><link>https://donnfelker.com/rails-importmap-pin-with-version/</link><guid isPermaLink="true">https://donnfelker.com/rails-importmap-pin-with-version/</guid><description>Pin specific versions in ImportMap.</description><pubDate>Thu, 02 Jan 2025 00:00:00 GMT</pubDate><category>development</category></item><item><title>Ruby Script for Telegram Notifications</title><link>https://donnfelker.com/ruby-script-for-telegram-notifications/</link><guid isPermaLink="true">https://donnfelker.com/ruby-script-for-telegram-notifications/</guid><description>Skip paid alerting services. A small Ruby script and Telegram bot let you send yourself server notifications for free using MarkdownV2 messages.</description><pubDate>Tue, 15 Oct 2024 00:00:00 GMT</pubDate></item><item><title>The Decline Of Mobile Development</title><link>https://donnfelker.com/the-decline-of-mobile-development/</link><guid isPermaLink="true">https://donnfelker.com/the-decline-of-mobile-development/</guid><description>Constant forced OS updates, mandate deadlines, and over-engineered patterns are driving mobile developers to abandon native apps for the web.</description><pubDate>Thu, 25 Jul 2024 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>misc</category></item><item><title>Obtaining More Freedom (and Money) with Freelancing</title><link>https://donnfelker.com/obtaining-more-freedom-and-money-with-freelancing/</link><guid isPermaLink="true">https://donnfelker.com/obtaining-more-freedom-and-money-with-freelancing/</guid><description>I once worked straight through a client&apos;s company holiday by accident. It&apos;s a reminder of why freelancing trades meetings for freedom and money.</description><pubDate>Wed, 29 May 2024 00:00:00 GMT</pubDate><category>business</category><category>misc</category></item><item><title>I Removed JetPack Compose from My App</title><link>https://donnfelker.com/i-removed-jetpack-compose-from-my-app/</link><guid isPermaLink="true">https://donnfelker.com/i-removed-jetpack-compose-from-my-app/</guid><description>Why I ripped a Compose AppBar back out of Jumpstart Android in favor of a plain XML Toolbar to make Turbo Android and Strada integration simpler.</description><pubDate>Mon, 15 Apr 2024 00:00:00 GMT</pubDate><category>development</category></item><item><title>Why Grandparents Spoil Grandchildren</title><link>https://donnfelker.com/why-grandparents-spoil-grandchildren/</link><guid isPermaLink="true">https://donnfelker.com/why-grandparents-spoil-grandchildren/</guid><description>A theory on why grandparents spoil their grandchildren: it&apos;s a second chance to do right what regret and exhaustion got in the way of as parents.</description><pubDate>Tue, 16 Jan 2024 00:00:00 GMT</pubDate><category>misc</category><category>personal-development</category></item><item><title>Make Every Second Count: Strategies to Unleash Creativity and Success at Any Time</title><link>https://donnfelker.com/make-every-second-count/</link><guid isPermaLink="true">https://donnfelker.com/make-every-second-count/</guid><description>We all get the same 86,400 seconds a day. How I cut phone time from 6-9 hours to reclaim mine and used small 10-minute blocks to ship more.</description><pubDate>Tue, 28 Nov 2023 00:00:00 GMT</pubDate><category>business</category><category>health</category><category>personal-development</category></item><item><title>Bootstrapping to 7k MRR with WordPress and No Code</title><link>https://donnfelker.com/bootstrapping-to-7k-mrr-with-wordpress/</link><guid isPermaLink="true">https://donnfelker.com/bootstrapping-to-7k-mrr-with-wordpress/</guid><description>How I built Caster.IO into a $7,500 MRR membership business on WordPress, RestrictContentPro, and Wistia without writing a single line of code.</description><pubDate>Mon, 13 Nov 2023 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>marketing</category><category>personal-development</category><category>screencasts</category></item><item><title>Why Kotlin Multiplatform Won’t Succeed</title><link>https://donnfelker.com/why-kotlin-multiplatform-wont-succeed/</link><guid isPermaLink="true">https://donnfelker.com/why-kotlin-multiplatform-wont-succeed/</guid><description>Kotlin Multiplatform is impressive tech, but human nature, ego investment in tool choice, and a scarcity of polyglot devs will keep it niche.</description><pubDate>Mon, 06 Nov 2023 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>mobile</category></item><item><title>Listomo – A New Cheaper and Easier Way To Build Your Email Lists</title><link>https://donnfelker.com/listomo-a-new-cheaper-and-easier-way-to-build-your-email-lists/</link><guid isPermaLink="true">https://donnfelker.com/listomo-a-new-cheaper-and-easier-way-to-build-your-email-lists/</guid><description>I was paying $400/month across multiple email list providers, so I built Listomo: one account, unlimited contacts, bring your own SMTP.</description><pubDate>Wed, 01 Nov 2023 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>marketing</category></item><item><title>Native Where You Need It (Hybrid Mobile Apps)</title><link>https://donnfelker.com/native-where-you-need-it/</link><guid isPermaLink="true">https://donnfelker.com/native-where-you-need-it/</guid><description>Why hybrid Native Where You Need It apps -- native only where it matters, web everywhere else via Turbo and Hotwire -- beat building native twice.</description><pubDate>Mon, 30 Oct 2023 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>mobile</category></item><item><title>The Power of the Clarity Doc: Your Tool for Clearer Thoughts</title><link>https://donnfelker.com/the-clarity-doc/</link><guid isPermaLink="true">https://donnfelker.com/the-clarity-doc/</guid><description>An 8-step writing exercise for breaking analysis paralysis: dump your thoughts, weigh pros and cons, war-game the worst case, then decide and act.</description><pubDate>Sat, 14 Oct 2023 00:00:00 GMT</pubDate><category>personal-development</category></item><item><title>Bootstrapped vs. Self-Funded</title><link>https://donnfelker.com/bootstrapped-vs-self-funded/</link><guid isPermaLink="true">https://donnfelker.com/bootstrapped-vs-self-funded/</guid><description>Bootstrapped and self-funded get used interchangeably, but they&apos;re not the same thing. Here&apos;s the real difference and why it matters.</description><pubDate>Thu, 31 Aug 2023 00:00:00 GMT</pubDate><category>business</category><category>development</category></item><item><title>Deploying Middleman Sites on Hatchbox</title><link>https://donnfelker.com/deploying-middleman-sites-on-hatchbox/</link><guid isPermaLink="true">https://donnfelker.com/deploying-middleman-sites-on-hatchbox/</guid><description>How to deploy a Middleman static site on Hatchbox with a custom build script, plus auto-deploying on every git push - after ditching Heroku.</description><pubDate>Mon, 21 Aug 2023 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>marketing</category></item><item><title>Disable Attachments in the Trix Editor</title><link>https://donnfelker.com/disable-attachments-in-the-trix-editor/</link><guid isPermaLink="true">https://donnfelker.com/disable-attachments-in-the-trix-editor/</guid><description>A drop-in Stimulus controller that strips the attachment button, blocks pasted images, and disables file uploads in Rails&apos; Trix editor.</description><pubDate>Wed, 05 Jul 2023 00:00:00 GMT</pubDate><category>development</category></item><item><title>Opportunity Cost and Letting Go: How to Profit from Your Stalled Projects</title><link>https://donnfelker.com/opportunity-cost-and-letting-go-how-to-profit-from-your-stalled-projects/</link><guid isPermaLink="true">https://donnfelker.com/opportunity-cost-and-letting-go-how-to-profit-from-your-stalled-projects/</guid><description>You want your time back so you can focus on other things. How do you do it though? Learn how in this article</description><pubDate>Wed, 21 Jun 2023 00:00:00 GMT</pubDate><category>business</category><category>development</category></item><item><title>The 15-Minute Meeting: Change Your Workday, Change Your Life</title><link>https://donnfelker.com/the-15-minute-meeting/</link><guid isPermaLink="true">https://donnfelker.com/the-15-minute-meeting/</guid><description>Most meetings do not need an hour. Set your default to 15 minutes, give every meeting a goal and a leader, and block them into one part of the day.</description><pubDate>Tue, 09 May 2023 00:00:00 GMT</pubDate><category>business</category><category>misc</category></item><item><title>How to Migrate to Rails Encrypted Attributes</title><link>https://donnfelker.com/how-to-migrate-to-rails-encrypted-attributes/</link><guid isPermaLink="true">https://donnfelker.com/how-to-migrate-to-rails-encrypted-attributes/</guid><description>How to migrate an existing unencrypted Rails column to Rails 7&apos;s built-in encrypted attributes without breaking data already in the database.</description><pubDate>Wed, 26 Apr 2023 00:00:00 GMT</pubDate><category>development</category></item><item><title>Status Updates Should Be 60-90 Seconds</title><link>https://donnfelker.com/status-updates-should-be-60-90-seconds/</link><guid isPermaLink="true">https://donnfelker.com/status-updates-should-be-60-90-seconds/</guid><description>Standup status updates should take 60-90 seconds per person, no more. Longer updates waste everyone&apos;s time - save the deep dives for after the meeting.</description><pubDate>Mon, 10 Apr 2023 00:00:00 GMT</pubDate></item><item><title>Building a Stronger Mind and Body: Reflections on 1000 Days of Working Out</title><link>https://donnfelker.com/i-worked-out-for-1000-days-straight/</link><guid isPermaLink="true">https://donnfelker.com/i-worked-out-for-1000-days-straight/</guid><description>I worked out for 1000 days straight, this is what I learned about myself mentally, physically and more …</description><pubDate>Tue, 28 Mar 2023 00:00:00 GMT</pubDate><category>book</category><category>health</category><category>misc</category></item><item><title>HowTo: Setup Tailwind CSS 3 with Middleman</title><link>https://donnfelker.com/tailwind-css-with-middleman/</link><guid isPermaLink="true">https://donnfelker.com/tailwind-css-with-middleman/</guid><description>A step-by-step guide to wiring Tailwind CSS 3 into a Middleman static site with an external_pipeline, plus the gotchas I hit and a ready-to-fork template.</description><pubDate>Tue, 02 Aug 2022 00:00:00 GMT</pubDate><category>development</category><category>marketing</category></item><item><title>MultiTenant PgSearch: A How To</title><link>https://donnfelker.com/multitenant-pgsearch-how-to/</link><guid isPermaLink="true">https://donnfelker.com/multitenant-pgsearch-how-to/</guid><description>How to scope Rails PgSearch multisearch results to a tenant: add an account_id column, wire up additional_attributes, and rebuild the index right.</description><pubDate>Mon, 28 Mar 2022 00:00:00 GMT</pubDate><category>development</category></item><item><title>PgSearch multisearch with ActionText::RichText</title><link>https://donnfelker.com/pgsearch-multisearch-with-action-text-rich-text/</link><guid isPermaLink="true">https://donnfelker.com/pgsearch-multisearch-with-action-text-rich-text/</guid><description>How to make a Rails model&apos;s ActionText::RichText field searchable with PgSearch by hooking multisearchable into its on_load initializer.</description><pubDate>Sun, 27 Mar 2022 00:00:00 GMT</pubDate><category>development</category></item><item><title>How to Fix – NameError: uninitialized constant Vips on Heroku</title><link>https://donnfelker.com/how-to-fix-nameerror-uninitialized-constant-vips-on-heroku/</link><guid isPermaLink="true">https://donnfelker.com/how-to-fix-nameerror-uninitialized-constant-vips-on-heroku/</guid><description>Fixing NameError: uninitialized constant Vips on Heroku for a Rails 7 app: the ruby-vips gem, an Aptfile, and two buildpacks in the right order.</description><pubDate>Thu, 10 Feb 2022 00:00:00 GMT</pubDate><category>development</category></item><item><title>Master the Essentials of Git in Under 2 Hours</title><link>https://donnfelker.com/git/</link><guid isPermaLink="true">https://donnfelker.com/git/</guid><description>A free 2-hour YouTube course covering the 20% of Git commands, branch, merge, stash, cherry-pick and more, that cover 80% of daily use.</description><pubDate>Sat, 20 Nov 2021 00:00:00 GMT</pubDate><category>development</category><category>misc</category></item><item><title>How Often You Should Visit Your Clients</title><link>https://donnfelker.com/how-often-you-should-visit-your-clients/</link><guid isPermaLink="true">https://donnfelker.com/how-often-you-should-visit-your-clients/</guid><description>A freelancer&apos;s framework for deciding which clients are worth an in-person visit, how far is too far to travel, and how often to show up.</description><pubDate>Sat, 28 Aug 2021 00:00:00 GMT</pubDate><category>business</category><category>marketing</category></item><item><title>How to Ship Side Projects 🚀</title><link>https://donnfelker.com/how-to-ship-side-projects/</link><guid isPermaLink="true">https://donnfelker.com/how-to-ship-side-projects/</guid><description>Seven blunt lessons from 20 years of shipping side projects: expect to fail, ship before it&apos;s ready, skip the emotional attachment, have an exit plan.</description><pubDate>Wed, 09 Jun 2021 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>marketing</category></item><item><title>How to increase your productivity with outsourcing and SOPs</title><link>https://donnfelker.com/increase-your-productivity-with-outsourcing-and-sops/</link><guid isPermaLink="true">https://donnfelker.com/increase-your-productivity-with-outsourcing-and-sops/</guid><description>How to outsource tasks without losing your mind: write a standard operating procedure for every task so contractors can run it without you.</description><pubDate>Wed, 02 Jun 2021 00:00:00 GMT</pubDate></item><item><title>How to Start Freelancing If You Have Existing Responsibilities</title><link>https://donnfelker.com/how-to-start-freelancing-if-you-have-existing-responsibilities/</link><guid isPermaLink="true">https://donnfelker.com/how-to-start-freelancing-if-you-have-existing-responsibilities/</guid><description>A four-step stair-step plan for building a freelance career on nights and weekends while still working full-time and raising a family.</description><pubDate>Wed, 26 May 2021 00:00:00 GMT</pubDate><category>business</category></item><item><title>5 Freelance Estimating Tips That Will Land You More Clients</title><link>https://donnfelker.com/freelance-estimating-tips/</link><guid isPermaLink="true">https://donnfelker.com/freelance-estimating-tips/</guid><description>Five practical rules for estimating freelance projects: never quote on the spot, scope with a discovery call, and always give a range, not a number.</description><pubDate>Wed, 19 May 2021 00:00:00 GMT</pubDate><category>business</category><category>development</category></item><item><title>Freelancing vs Consulting</title><link>https://donnfelker.com/freelancing-vs-consulting/</link><guid isPermaLink="true">https://donnfelker.com/freelancing-vs-consulting/</guid><description>In this post you&apos;ll learn what the differences between freelancing vs consulting are in regards to you being a software developer and mobile app developer.</description><pubDate>Mon, 10 May 2021 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>marketing</category></item><item><title>Get Known or Get None</title><link>https://donnfelker.com/get-known-or-get-none/</link><guid isPermaLink="true">https://donnfelker.com/get-known-or-get-none/</guid><description>No online presence means no freelance clients. Build a track record with a blog, GitHub, and social so prospects trust you before they call.</description><pubDate>Mon, 03 May 2021 00:00:00 GMT</pubDate><category>business</category><category>marketing</category></item><item><title>Why you need to step out of your comfort zone</title><link>https://donnfelker.com/why-you-need-to-step-out-of-your-comfort-zone/</link><guid isPermaLink="true">https://donnfelker.com/why-you-need-to-step-out-of-your-comfort-zone/</guid><description>Learning Solidity and building on Ethereum taught me more than comfort-zone tech ever could. Real growth happens when you&apos;re in over your head.</description><pubDate>Mon, 26 Apr 2021 00:00:00 GMT</pubDate><category>development</category><category>misc</category></item><item><title>Why you should never quit too early …</title><link>https://donnfelker.com/why-you-should-never-quit-too-early/</link><guid isPermaLink="true">https://donnfelker.com/why-you-should-never-quit-too-early/</guid><description>I shut down my CrossFit gym billing SaaS when competitors showed up, only to watch customers later abandon them and come back to simplicity.</description><pubDate>Mon, 19 Apr 2021 00:00:00 GMT</pubDate><category>misc</category></item><item><title>lvh.me Not Working (with Verzion Fios/My ISP/etc)</title><link>https://donnfelker.com/lvh-me-not-working/</link><guid isPermaLink="true">https://donnfelker.com/lvh-me-not-working/</guid><description>lvh.me suddenly stopped resolving on Verizon FiOS. Switching to Google&apos;s DNS (8.8.8.8) on my router or Mac fixed it. Here&apos;s how I diagnosed it.</description><pubDate>Fri, 02 Apr 2021 00:00:00 GMT</pubDate><category>development</category></item><item><title>What Gets Measured, Gets Managed</title><link>https://donnfelker.com/what-gets-measured-gets-managed/</link><guid isPermaLink="true">https://donnfelker.com/what-gets-measured-gets-managed/</guid><description>Why tracking sleep, spending, workouts, and even words-per-hour while writing turns vague goals into things you can actually manage.</description><pubDate>Thu, 10 Dec 2020 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>health</category></item><item><title>You Are Not Your Creations</title><link>https://donnfelker.com/you-are-not-your-creations/</link><guid isPermaLink="true">https://donnfelker.com/you-are-not-your-creations/</guid><description>A story from my Groupon days: A/B testing killed a feature I&apos;d poured two months into, and it taught me to stop being emotionally attached to my code.</description><pubDate>Tue, 10 Nov 2020 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>marketing</category></item><item><title>Why Mobile is Not the Future …</title><link>https://donnfelker.com/why-mobile-is-not-the-future/</link><guid isPermaLink="true">https://donnfelker.com/why-mobile-is-not-the-future/</guid><description>Why I think the web browser, not native mobile apps, is the real future platform, and why even the Gmail app is mostly just a WebView.</description><pubDate>Mon, 02 Nov 2020 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>mobile</category></item><item><title>Freehold Township Logo</title><link>https://donnfelker.com/freehold-township-vector-logo/</link><guid isPermaLink="true">https://donnfelker.com/freehold-township-vector-logo/</guid><description>Couldn&apos;t find a vector version of the Freehold Township, NJ seal online, so I made one, free to download in PNG, JPG, AI, and SVG.</description><pubDate>Tue, 06 Oct 2020 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Code Comments</title><link>https://donnfelker.com/code-comments/</link><guid isPermaLink="true">https://donnfelker.com/code-comments/</guid><description>My rule for code comments: refactor confusing code first, and when you can&apos;t, document the why, not the how - the code already explains that.</description><pubDate>Fri, 25 Oct 2019 00:00:00 GMT</pubDate><category>development</category></item><item><title>Dagger Open JDK Version Mismatch</title><link>https://donnfelker.com/dagger-open-jdk-version-mismatch/</link><guid isPermaLink="true">https://donnfelker.com/dagger-open-jdk-version-mismatch/</guid><description>Fixing &apos;not a valid name: &lt;set-?&gt;Provider&apos; in Android Studio - it&apos;s a JDK version mismatch between your terminal and Android Studio.</description><pubDate>Fri, 25 Oct 2019 00:00:00 GMT</pubDate><category>development</category></item><item><title>How To Fix: Jest Did Not Exit</title><link>https://donnfelker.com/fixing-jest-did-not-exit-issue/</link><guid isPermaLink="true">https://donnfelker.com/fixing-jest-did-not-exit-issue/</guid><description>Jest hanging after your test run finishes? It&apos;s probably an open Knex connection, destroy it in afterAll() and the hang goes away.</description><pubDate>Wed, 23 Oct 2019 00:00:00 GMT</pubDate><category>development</category></item><item><title>Fix: Deploying Docker Instances to AWS Elastic Beanstalk without Default VPC</title><link>https://donnfelker.com/fix-deploying-docker-instances-to-aws-elastic-beanstalk-without-default-vpc/</link><guid isPermaLink="true">https://donnfelker.com/fix-deploying-docker-instances-to-aws-elastic-beanstalk-without-default-vpc/</guid><description>Docker on Elastic Beanstalk failing because your old AWS account has no default VPC? Here&apos;s how to get AWS to convert you from EC2-Classic to VPC.</description><pubDate>Wed, 21 Aug 2019 00:00:00 GMT</pubDate><category>development</category></item><item><title>Flutter Just Might Work</title><link>https://donnfelker.com/flutter-just-might-work/</link><guid isPermaLink="true">https://donnfelker.com/flutter-just-might-work/</guid><description>After 11 years of Android dev and testing React Native, Xamarin, and Kotlin Multiplatform, here&apos;s why Flutter is the cross-platform bet I&apos;d make.</description><pubDate>Thu, 23 May 2019 00:00:00 GMT</pubDate><category>development</category><category>misc</category><category>podcast</category></item><item><title>What Blog Platform Should I Use?</title><link>https://donnfelker.com/what-blog-platform-should-i-use/</link><guid isPermaLink="true">https://donnfelker.com/what-blog-platform-should-i-use/</guid><description>Medium, WordPress, Ghost, or a static site generator? A blunt comparison of blogging platforms, and why WordPress still wins for most writers.</description><pubDate>Thu, 09 May 2019 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>marketing</category></item><item><title>Podcast Equipment and Software</title><link>https://donnfelker.com/podcasting/</link><guid isPermaLink="true">https://donnfelker.com/podcasting/</guid><description>Our full podcasting gear guide: the mics and interfaces we use on Fragmented, a travel rig, fixing room echo, and Auphonic post-production.</description><pubDate>Sun, 28 Apr 2019 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>marketing</category><category>podcast</category></item><item><title>You Need a Blog</title><link>https://donnfelker.com/you-need-a-blog/</link><guid isPermaLink="true">https://donnfelker.com/you-need-a-blog/</guid><description>Why you need to blog: it landed me a contract that turned into an Android book deal, all because a stranger found my blog through a Google search.</description><pubDate>Mon, 18 Mar 2019 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>marketing</category></item><item><title>That One Person</title><link>https://donnfelker.com/that-one-person/</link><guid isPermaLink="true">https://donnfelker.com/that-one-person/</guid><description>My rule for talks, blog posts, and podcasts: if it genuinely helps just one person, it was worth doing, regardless of audience size.</description><pubDate>Wed, 27 Feb 2019 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>health</category><category>marketing</category></item><item><title>Achieving Your Goals Feels Good</title><link>https://donnfelker.com/achieving-your-goals-feels-good/</link><guid isPermaLink="true">https://donnfelker.com/achieving-your-goals-feels-good/</guid><description>Small wins compound: unpacking bags, scheduling a call, writing 1000 words. Knocking out goals, however tiny, builds real momentum and self-discipline.</description><pubDate>Tue, 19 Feb 2019 00:00:00 GMT</pubDate><category>book</category><category>business</category><category>development</category><category>health</category><category>marketing</category></item><item><title>Being Absent While Being Present (don’t do this)</title><link>https://donnfelker.com/being-absent-while-being-present/</link><guid isPermaLink="true">https://donnfelker.com/being-absent-while-being-present/</guid><description>A confession about coasting for three years while looking busy, and why real change requires deliberate discipline, not just showing up.</description><pubDate>Sun, 10 Feb 2019 00:00:00 GMT</pubDate><category>book</category><category>business</category><category>misc</category></item><item><title>Light Therapy</title><link>https://donnfelker.com/light-therapy/</link><guid isPermaLink="true">https://donnfelker.com/light-therapy/</guid><description>I tried a Verilux HappyLight for winter blues after a Tim Ferriss mention. A month in, here&apos;s my routine and whether it actually works.</description><pubDate>Mon, 07 Jan 2019 00:00:00 GMT</pubDate><category>health</category></item><item><title>VSCode New File Shortcut Stops Working</title><link>https://donnfelker.com/vscode-new-file-shortcut-stops-working/</link><guid isPermaLink="true">https://donnfelker.com/vscode-new-file-shortcut-stops-working/</guid><description>VS Code&apos;s CMD+N (New File) shortcut suddenly stopped working. The fix: reload the language plugin (Dart, in my case) causing the conflict.</description><pubDate>Thu, 29 Nov 2018 00:00:00 GMT</pubDate><category>development</category></item><item><title>Looking for an Android Job?</title><link>https://donnfelker.com/looking-for-an-android-job/</link><guid isPermaLink="true">https://donnfelker.com/looking-for-an-android-job/</guid><description>Caster.IO now runs AndroidJobs.IO, the independent Android job board, with free 4-week postings pushed to our newsletter and email list.</description><pubDate>Mon, 24 Sep 2018 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>marketing</category><category>misc</category></item><item><title>Pixel 2 and ADB Not Connecting</title><link>https://donnfelker.com/pixel-2-and-adb-not-connecting/</link><guid isPermaLink="true">https://donnfelker.com/pixel-2-and-adb-not-connecting/</guid><description>Pixel 2 won&apos;t show up in adb devices? Plug it into a USB 2.0 port instead of USB 3.0, or use a USB 2.0 hub. That fixed it for me instantly.</description><pubDate>Thu, 28 Jun 2018 00:00:00 GMT</pubDate><category>development</category></item><item><title>WP Markdown Themes for Google Code Prettify</title><link>https://donnfelker.com/wp-markdown-themes-for-google-code-prettify/</link><guid isPermaLink="true">https://donnfelker.com/wp-markdown-themes-for-google-code-prettify/</guid><description>How to swap in a custom Google code-prettify theme for the WP Markdown plugin by editing prettify.css, plus the caching and update gotchas to watch for.</description><pubDate>Tue, 05 Jun 2018 00:00:00 GMT</pubDate><category>development</category><category>marketing</category><category>misc</category></item><item><title>Your First Test: The Launch Test</title><link>https://donnfelker.com/your-first-test-the-launch-test/</link><guid isPermaLink="true">https://donnfelker.com/your-first-test-the-launch-test/</guid><description>No tests yet? Start with a launch test, a simple check that your app boots and the home screen loads, before you refactor anything with confidence.</description><pubDate>Tue, 06 Mar 2018 00:00:00 GMT</pubDate><category>development</category></item><item><title>I Don’t Have Time is a Myth</title><link>https://donnfelker.com/i-dont-have-time-is-a-myth/</link><guid isPermaLink="true">https://donnfelker.com/i-dont-have-time-is-a-myth/</guid><description>You have the time, you&apos;re just spending it on TV and social media. Practical ways to reclaim hours a day for the things you actually want.</description><pubDate>Mon, 06 Nov 2017 00:00:00 GMT</pubDate><category>business</category><category>health</category><category>misc</category></item><item><title>Android MVVM with DataBinding – Removing Logic from Your Views with BindingAdapters</title><link>https://donnfelker.com/android-mvvm-with-databinding-removing-logic-from-your-views-with-bindingadapters/</link><guid isPermaLink="true">https://donnfelker.com/android-mvvm-with-databinding-removing-logic-from-your-views-with-bindingadapters/</guid><description>Remove logic from your Android MVVM DataBinding views by using custom Binding Adapters. This post will show you how to write one and test a Binding Adapter.</description><pubDate>Fri, 20 Oct 2017 00:00:00 GMT</pubDate><category>development</category></item><item><title>Make the Most of Your Time</title><link>https://donnfelker.com/make-the-most-of-your-time/</link><guid isPermaLink="true">https://donnfelker.com/make-the-most-of-your-time/</guid><description>He said &quot;You are a rockstar, I don&apos;t know how you get so much stuff done. I don&apos;t know how you do it.&quot; Time optimization, 100%. I value every single minute.</description><pubDate>Thu, 14 Sep 2017 00:00:00 GMT</pubDate><category>business</category><category>health</category></item><item><title>TDD Your UI Layer – #uitestsmatter</title><link>https://donnfelker.com/tdd-your-ui-layer/</link><guid isPermaLink="true">https://donnfelker.com/tdd-your-ui-layer/</guid><description>Yes, you can TDD your Android UI with Espresso. Here&apos;s the 5-step TDD process applied to UI code, and why the common objections don&apos;t hold up.</description><pubDate>Tue, 24 Jan 2017 00:00:00 GMT</pubDate><category>development</category></item><item><title>Automating Screenshots: Simplifying Internationalization on Android</title><link>https://donnfelker.com/simplifying-internationalization-on-android/</link><guid isPermaLink="true">https://donnfelker.com/simplifying-internationalization-on-android/</guid><description>This post outlines how you can simplify Android internationalization by using the screengrab tool to help automate your QA process, per locale.</description><pubDate>Thu, 11 Feb 2016 00:00:00 GMT</pubDate><category>development</category><category>mobile</category></item><item><title>The Three Buckets (The Rule of Thirds)</title><link>https://donnfelker.com/the-rule-of-thirds/</link><guid isPermaLink="true">https://donnfelker.com/the-rule-of-thirds/</guid><description>Making everyone happy is impossible. Using the Rule of Thirds system you can help eliminate negative cognitive load in under 10 seconds.</description><pubDate>Fri, 05 Feb 2016 00:00:00 GMT</pubDate><category>business</category><category>health</category><category>marketing</category><category>misc</category></item><item><title>Why Podcasts Have Become Popular</title><link>https://donnfelker.com/why-podcasts-have-become-popular/</link><guid isPermaLink="true">https://donnfelker.com/why-podcasts-have-become-popular/</guid><description>Podcasts exploded for the same reason Netflix and Uber did: they&apos;re on-demand. Live radio never had a chance once we had a choice.</description><pubDate>Sun, 03 Jan 2016 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>marketing</category><category>misc</category><category>mobile</category></item><item><title>Staying Sane and Productive While Working Remotely</title><link>https://donnfelker.com/working-remotely-tips/</link><guid isPermaLink="true">https://donnfelker.com/working-remotely-tips/</guid><description>I&apos;ve worked remotely for over 10 years. I&apos;ve comprised a list of tips that will help you stay sane and productive while working remotely.</description><pubDate>Wed, 30 Dec 2015 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>health</category></item><item><title>Genymotion Will Not Start Virtual Device</title><link>https://donnfelker.com/genymotion-will-not-start-virtual-device/</link><guid isPermaLink="true">https://donnfelker.com/genymotion-will-not-start-virtual-device/</guid><description>Genymotion failing with VERR_SUPLIB_OWNER_NOT_ROOT on Mac? It&apos;s a permissions issue, fix it with diskutil repairPermissions or a manual chown.</description><pubDate>Fri, 18 Dec 2015 00:00:00 GMT</pubDate><category>development</category><category>misc</category></item><item><title>Killing Your Project Quietly – The NIH Assassin</title><link>https://donnfelker.com/killing-your-project-quietly-the-nih-assassin/</link><guid isPermaLink="true">https://donnfelker.com/killing-your-project-quietly-the-nih-assassin/</guid><description>Not Invented Here syndrome quietly kills projects -- the math on why building your own analytics or monitoring tool costs far more than buying it.</description><pubDate>Wed, 09 Dec 2015 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>marketing</category><category>mobile</category></item><item><title>Standing Desk – Three Years Later</title><link>https://donnfelker.com/standing-desk-three-years-later/</link><guid isPermaLink="true">https://donnfelker.com/standing-desk-three-years-later/</guid><description>I&apos;ve been working at a standing desk for over 3 years and this post outlines what I&apos;ve learned, tips and tricks and the path towards a real standing desk.</description><pubDate>Mon, 23 Nov 2015 00:00:00 GMT</pubDate><category>business</category><category>health</category><category>misc</category></item><item><title>You Need a Status Page</title><link>https://donnfelker.com/you-need-a-status-page/</link><guid isPermaLink="true">https://donnfelker.com/you-need-a-status-page/</guid><description>If you don&apos;t have a status page, you&apos;re failing as a company. You need a status page. I&apos;ll explain why in this post, learn why customers are leaving you ...</description><pubDate>Tue, 10 Nov 2015 00:00:00 GMT</pubDate><category>business</category><category>development</category></item><item><title>Free Android Development Videos</title><link>https://donnfelker.com/free-android-development-videos/</link><guid isPermaLink="true">https://donnfelker.com/free-android-development-videos/</guid><description>New free Android screencasts on Caster.io covering RxJava, Timber logging, build variants, CircleCI, Espresso 2, and Android Studio shortcuts.</description><pubDate>Tue, 27 Oct 2015 00:00:00 GMT</pubDate><category>development</category><category>screencasts</category></item><item><title>RxJava with AIDL Services</title><link>https://donnfelker.com/rxjava-with-aidl-services/</link><guid isPermaLink="true">https://donnfelker.com/rxjava-with-aidl-services/</guid><description>A 3 minute read that demonstrates how to use RxJava with AIDL Services in order to make the interaction with AIDL much cleaner and easier to consume.</description><pubDate>Tue, 08 Sep 2015 00:00:00 GMT</pubDate><category>development</category><category>mobile</category></item><item><title>Quick and Easy StateListDrawables in Android with ONE PNG</title><link>https://donnfelker.com/quick-and-easy-statelistdrawables-in-android-with-one-png/</link><guid isPermaLink="true">https://donnfelker.com/quick-and-easy-statelistdrawables-in-android-with-one-png/</guid><description>Skip exporting a PNG per button state. Build an Android StateListDrawable from one PNG at runtime with a small DrawableUtil helper class.</description><pubDate>Mon, 29 Jun 2015 00:00:00 GMT</pubDate><category>development</category><category>mobile</category></item><item><title>Why You Should Use a GIT SHA in Your Crash Reporting</title><link>https://donnfelker.com/why-you-should-use-a-git-sha-in-your-crash-reporting/</link><guid isPermaLink="true">https://donnfelker.com/why-you-should-use-a-git-sha-in-your-crash-reporting/</guid><description>Stop guessing which release a crash came from. Embed your git SHA in Crashlytics via BuildConfig so every crash traces to an exact commit.</description><pubDate>Wed, 24 Jun 2015 00:00:00 GMT</pubDate><category>development</category><category>mobile</category></item><item><title>A Stereotypical Day</title><link>https://donnfelker.com/a-stereotypical-day/</link><guid isPermaLink="true">https://donnfelker.com/a-stereotypical-day/</guid><description>A tattooed coffee shop owner and a doctor drinking beer at 8am taught me how fast and wrong snap judgments about people really are.</description><pubDate>Tue, 19 May 2015 00:00:00 GMT</pubDate></item><item><title>The Single Best Thing You Can Do For Your Career</title><link>https://donnfelker.com/the-single-best-thing-you-can-do-for-your-career/</link><guid isPermaLink="true">https://donnfelker.com/the-single-best-thing-you-can-do-for-your-career/</guid><description>Public speaking changed my career more than anything else. My first terrifying talk in 2008 eventually led to going full-time independent.</description><pubDate>Thu, 02 Apr 2015 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>marketing</category><category>misc</category></item><item><title>RxJava with Dan Lew</title><link>https://donnfelker.com/rxjava-with-dan-lew/</link><guid isPermaLink="true">https://donnfelker.com/rxjava-with-dan-lew/</guid><description>Part 2 of our two-part Fragmented Podcast series on RxJava with Dan Lew is out now on iTunes, Stitcher, PocketCasts, or streaming online free.</description><pubDate>Wed, 01 Apr 2015 00:00:00 GMT</pubDate></item><item><title>Fragmented Podcast Episode 2</title><link>https://donnfelker.com/fragmented-podcast-episode-2/</link><guid isPermaLink="true">https://donnfelker.com/fragmented-podcast-episode-2/</guid><description>We just released Episode #2 of the Fragmented Podcast. This week Kaushik and I discuss our IDE of choice – Android Studio (and IntelliJ). Enjoy. 🙂</description><pubDate>Tue, 03 Mar 2015 00:00:00 GMT</pubDate><category>development</category><category>mobile</category></item><item><title>Learning To Program Sucks</title><link>https://donnfelker.com/learning-program-sucks/</link><guid isPermaLink="true">https://donnfelker.com/learning-program-sucks/</guid><description>I didn&apos;t touch a computer until age 21. Here&apos;s the messy truth about learning to code from scratch, and why quitting is the only real failure.</description><pubDate>Wed, 25 Feb 2015 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>misc</category></item><item><title>Announcing Fragmented – A Podcast for Android Developers</title><link>https://donnfelker.com/announcing-fragmented-podcast-android-developers/</link><guid isPermaLink="true">https://donnfelker.com/announcing-fragmented-podcast-android-developers/</guid><description>Announcing Fragmented, a new podcast on Android development I&apos;m co-hosting with Kaushik Gopal, covering best practices and patterns.</description><pubDate>Fri, 20 Feb 2015 00:00:00 GMT</pubDate></item><item><title>Is Google IO Worth It?</title><link>https://donnfelker.com/is-google-io-worth-it/</link><guid isPermaLink="true">https://donnfelker.com/is-google-io-worth-it/</guid><description>Running the real numbers on whether Google I/O is worth roughly $7,500 for an independent consultant, plus what a disappointing 2014 conference taught me.</description><pubDate>Mon, 16 Feb 2015 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>marketing</category><category>misc</category><category>mobile</category></item><item><title>3 Things You Can Do To Improve Your Quality of Life On Social Media</title><link>https://donnfelker.com/3-things-you-can-do-to-improve-your-quality-of-life-on-social-media/</link><guid isPermaLink="true">https://donnfelker.com/3-things-you-can-do-to-improve-your-quality-of-life-on-social-media/</guid><description>Three simple social media habits that improved my life: kill negative posts, unfollow people who drag you down, and never feed the trolls.</description><pubDate>Fri, 06 Feb 2015 00:00:00 GMT</pubDate><category>misc</category></item><item><title>It Ships. It’s Profitable. It’s Important.</title><link>https://donnfelker.com/it-ships-its-profitable-its-important/</link><guid isPermaLink="true">https://donnfelker.com/it-ships-its-profitable-its-important/</guid><description>A story about a poorly built insurance app generating six million a month -- why shipped and profitable beats elegant code, regardless of stack.</description><pubDate>Wed, 21 Jan 2015 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>misc</category></item><item><title>Android Studio Espresso 2.0 ClassNotFoundException</title><link>https://donnfelker.com/android-studio-espresso-2-0-classnotfoundexception/</link><guid isPermaLink="true">https://donnfelker.com/android-studio-espresso-2-0-classnotfoundexception/</guid><description>Espresso 2.0 throwing ClassNotFoundException in an app that also uses Dagger? Exclude the javax.inject group from the espresso-core dependency.</description><pubDate>Tue, 13 Jan 2015 00:00:00 GMT</pubDate><category>development</category><category>mobile</category></item><item><title>Diff Before Commit</title><link>https://donnfelker.com/diff-commit/</link><guid isPermaLink="true">https://donnfelker.com/diff-commit/</guid><description>Why you should always review a diff before committing - plus how to do it fast from the CLI or with a one-key IDE shortcut in Android Studio.</description><pubDate>Mon, 08 Dec 2014 00:00:00 GMT</pubDate><category>development</category></item><item><title>Three of the Best Audio Purchases I’ve Ever Made</title><link>https://donnfelker.com/three-best-audio-purchases-ive-ever-made/</link><guid isPermaLink="true">https://donnfelker.com/three-best-audio-purchases-ive-ever-made/</guid><description>My top three audio purchases after years of daily use: cheap JVC in-ear earbuds, a Bose SoundLink Mini, and a Sonos Play 5 speaker system.</description><pubDate>Wed, 27 Aug 2014 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Why I Use Crashlytics – Part 2</title><link>https://donnfelker.com/why-i-use-crashlytics-part-2/</link><guid isPermaLink="true">https://donnfelker.com/why-i-use-crashlytics-part-2/</guid><description>Part 2 on Crashlytics: how MyFitnessPal used crash and device data to decide which bugs deserve a hotfix versus the next release cycle.</description><pubDate>Thu, 14 Aug 2014 00:00:00 GMT</pubDate><category>business</category><category>development</category></item><item><title>Why I Use Crashlytics</title><link>https://donnfelker.com/why-i-use-crashlytics/</link><guid isPermaLink="true">https://donnfelker.com/why-i-use-crashlytics/</guid><description>Why Crashlytics beats Bugsense, Crittercism, and ACRA for free, scalable crash reporting, and how I set it up across Android apps.</description><pubDate>Wed, 23 Jul 2014 00:00:00 GMT</pubDate><category>business</category><category>development</category></item><item><title>Your Desk Job is Killing You and Your Posture Sucks</title><link>https://donnfelker.com/your-desk-job-is-killing-you-and-your-posture-sucks/</link><guid isPermaLink="true">https://donnfelker.com/your-desk-job-is-killing-you-and-your-posture-sucks/</guid><description>My desk job wrecked my posture. Here&apos;s how a standing desk, Esther Gokhale&apos;s book, and daily foam rolling and lacrosse ball work fixed it.</description><pubDate>Fri, 13 Jun 2014 00:00:00 GMT</pubDate><category>business</category><category>misc</category></item><item><title>Inspiration is Perishable</title><link>https://donnfelker.com/inspiration-perishable/</link><guid isPermaLink="true">https://donnfelker.com/inspiration-perishable/</guid><description>Inspiration has a short shelf life -- when peak creative energy hits, drop everything and use it now, because it rarely comes back the same way twice.</description><pubDate>Fri, 30 May 2014 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>marketing</category><category>misc</category></item><item><title>Android From The Trenches</title><link>https://donnfelker.com/android-from-the-trenches/</link><guid isPermaLink="true">https://donnfelker.com/android-from-the-trenches/</guid><description>In this video I cover my experience in having two apps featured in the top 100 free category on Google Play for the last 3 years. Tips, Tricks and more ...</description><pubDate>Tue, 29 Apr 2014 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>marketing</category><category>mobile</category><category>screencasts</category></item><item><title>AARRR Metrics Apply To All Businesses</title><link>https://donnfelker.com/aarrr-metrics-apply-to-all-businesses/</link><guid isPermaLink="true">https://donnfelker.com/aarrr-metrics-apply-to-all-businesses/</guid><description>A contractor refused to let me sign and pay remotely, forcing an office visit -- a textbook failure of the Referral step in Dave McClure&apos;s AARRR metrics.</description><pubDate>Mon, 21 Apr 2014 00:00:00 GMT</pubDate><category>business</category><category>marketing</category></item><item><title>Bootstrap Faster In One Step</title><link>https://donnfelker.com/bootstrap-faster-in-one-step/</link><guid isPermaLink="true">https://donnfelker.com/bootstrap-faster-in-one-step/</guid><description>Bootstrap faster by simply doing less. Test your assumptions then refactor to find the optimal path. Use lean methodologies to your advantage.</description><pubDate>Sat, 22 Mar 2014 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>marketing</category></item><item><title>The Best Parent I Ever Knew</title><link>https://donnfelker.com/best-parent-ever-knew/</link><guid isPermaLink="true">https://donnfelker.com/best-parent-ever-knew/</guid><description>This is a story of the best parent I ever knew. Funny thing is ... I was the best parent I ever knew ... before I had kids.</description><pubDate>Fri, 21 Mar 2014 00:00:00 GMT</pubDate><category>misc</category><category>mobile</category><category>screencasts</category></item><item><title>Android Jobs</title><link>https://donnfelker.com/android-jobs/</link><guid isPermaLink="true">https://donnfelker.com/android-jobs/</guid><description>I just launched AndroidJobs.IO, a site that lists only the best Android Jobs from top notch companies such as Square, Etsy, Pandora and many more.</description><pubDate>Tue, 18 Mar 2014 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>marketing</category><category>mobile</category></item><item><title>Monetizing Failure</title><link>https://donnfelker.com/monetizing-failure/</link><guid isPermaLink="true">https://donnfelker.com/monetizing-failure/</guid><description>If I told you that a company has recently made over 3 million dollars monetizing failure, would you believe me? Well, its true. Keep reading for more info.</description><pubDate>Wed, 26 Feb 2014 00:00:00 GMT</pubDate><category>business</category></item><item><title>Only Perform The Most Valuable Task and Outsource the Rest</title><link>https://donnfelker.com/perform-valuable-task-outsource-rest/</link><guid isPermaLink="true">https://donnfelker.com/perform-valuable-task-outsource-rest/</guid><description>Get your time back. Learn how to break down a task so that you can identify your most valuable input and how to outsource the rest.</description><pubDate>Thu, 30 Jan 2014 00:00:00 GMT</pubDate><category>business</category><category>development</category></item><item><title>How To Hire Outsourced Developers</title><link>https://donnfelker.com/how-to-hire-outsourced-developers/</link><guid isPermaLink="true">https://donnfelker.com/how-to-hire-outsourced-developers/</guid><description>I devised a process on how to hire outsourced developers using a simple four step process - Job Posting, Prelim Review, Programming Challenge and Final ...</description><pubDate>Wed, 15 Jan 2014 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>marketing</category><category>misc</category></item><item><title>How to Hire Programmers</title><link>https://donnfelker.com/how-to-hire-programmers/</link><guid isPermaLink="true">https://donnfelker.com/how-to-hire-programmers/</guid><description>I figured out how to hire programmers while saving time/money using a four step process - HR/Tech Screening, Programming Challenge and culture fit eval.</description><pubDate>Mon, 13 Jan 2014 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>marketing</category><category>misc</category></item><item><title>Robolectric ShadowTaskStackBuilder</title><link>https://donnfelker.com/robolectric-shadowtaskstackbuilder/</link><guid isPermaLink="true">https://donnfelker.com/robolectric-shadowtaskstackbuilder/</guid><description>Robolectric has no ShadowTaskStackBuilder, so tests relying on TaskStackBuilder fail. Here&apos;s a minimal custom shadow to get them passing again.</description><pubDate>Mon, 06 Jan 2014 00:00:00 GMT</pubDate></item><item><title>Working Remote</title><link>https://donnfelker.com/working-remote/</link><guid isPermaLink="true">https://donnfelker.com/working-remote/</guid><description>Happier &amp; more productive employees work remotely. Working remote has proven to be more effective for a company. This is a review of the book, Remote.</description><pubDate>Tue, 12 Nov 2013 00:00:00 GMT</pubDate><category>business</category><category>development</category></item><item><title>Android Bootstrap and Android Studio</title><link>https://donnfelker.com/android-bootstrap-android-studio/</link><guid isPermaLink="true">https://donnfelker.com/android-bootstrap-android-studio/</guid><description>Porting Android Bootstrap to Gradle and Android Studio, plus AppCompat, a navigation drawer, and Picasso -- and why raising minSdkVersion to 15 makes sense.</description><pubDate>Sat, 09 Nov 2013 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Loading Remote Images in Android with UrlImageView</title><link>https://donnfelker.com/loading-remote-images-in-android-with-urlimageview/</link><guid isPermaLink="true">https://donnfelker.com/loading-remote-images-in-android-with-urlimageview/</guid><description>Tired of scattering Picasso calls across your Android codebase? Wrap it in a custom UrlImageView with Dagger injection. Code included.</description><pubDate>Thu, 15 Aug 2013 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Android Bootstrap Updated to Include a Navigation Drawer</title><link>https://donnfelker.com/android-bootstrap-updated-to-include-a-navigation-drawer/</link><guid isPermaLink="true">https://donnfelker.com/android-bootstrap-updated-to-include-a-navigation-drawer/</guid><description>Android Bootstrap gets a navigation drawer via SimonVT&apos;s Menu Drawer library, plus updated Dagger, Otto, and HTTP-Request dependencies.</description><pubDate>Tue, 09 Jul 2013 00:00:00 GMT</pubDate><category>development</category><category>mobile</category></item><item><title>Android Studio – Tips and Tricks Part 2</title><link>https://donnfelker.com/android-studio-tips-and-tricks-part-2/</link><guid isPermaLink="true">https://donnfelker.com/android-studio-tips-and-tricks-part-2/</guid><description>Part 4 of my Android Studio series: create layout files on the fly, generate XML drawables in seconds, and speed up day to day coding.</description><pubDate>Fri, 21 Jun 2013 00:00:00 GMT</pubDate><category>mobile</category><category>screencasts</category></item><item><title>Android Studio – Tips and Tricks Part 1</title><link>https://donnfelker.com/android-studio-tips-and-tricks-part-1/</link><guid isPermaLink="true">https://donnfelker.com/android-studio-tips-and-tricks-part-1/</guid><description>Part 3 of my Android Studio tips and tricks series: quick file navigation, plus creating string and dimens.xml resources on the fly.</description><pubDate>Thu, 06 Jun 2013 00:00:00 GMT</pubDate><category>mobile</category><category>screencasts</category></item><item><title>Android Studio – Setting up an Emulator</title><link>https://donnfelker.com/android-studio-setting-up-an-emulator/</link><guid isPermaLink="true">https://donnfelker.com/android-studio-setting-up-an-emulator/</guid><description>Part 2 of my Android Studio video series: where the SDK actually lives now, and how to set up and launch an emulator for development.</description><pubDate>Mon, 20 May 2013 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Getting Started with Android Studio</title><link>https://donnfelker.com/getting-started-with-android-studio/</link><guid isPermaLink="true">https://donnfelker.com/getting-started-with-android-studio/</guid><description>Learn the how to use Android Studio in this quick Getting Started video, produced by best Selling Android development author Donn Felker</description><pubDate>Thu, 16 May 2013 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Hi Performance JSON Parsing in Android</title><link>https://donnfelker.com/hi-performance-json-parsing-in-android/</link><guid isPermaLink="true">https://donnfelker.com/hi-performance-json-parsing-in-android/</guid><description>Learn how to parse large JSON files and streams (from API&apos;s) using Jackson&apos;s Streaming Parser.</description><pubDate>Mon, 15 Apr 2013 00:00:00 GMT</pubDate><category>development</category><category>mobile</category></item><item><title>Ruby 1.9.3 [BUG] Segmentation with rspec</title><link>https://donnfelker.com/ruby-1-9-3-bug-segmentation-with-rspec/</link><guid isPermaLink="true">https://donnfelker.com/ruby-1-9-3-bug-segmentation-with-rspec/</guid><description>A leftover binding_of_caller gem in the Gemfile caused segmentation faults running rspec under Ruby 1.9.3. Here&apos;s how I tracked it down.</description><pubDate>Thu, 21 Mar 2013 00:00:00 GMT</pubDate><category>development</category></item><item><title>Android Fragmentation – The Business Reason</title><link>https://donnfelker.com/android-fragmentation/</link><guid isPermaLink="true">https://donnfelker.com/android-fragmentation/</guid><description>Android Fragmentation exists, its rampant and developers and companies are paying the price in development costs. Why does it happen? Business decisions ... </description><pubDate>Thu, 03 Jan 2013 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>The Innocence is Lost</title><link>https://donnfelker.com/the-innocence-is-lost/</link><guid isPermaLink="true">https://donnfelker.com/the-innocence-is-lost/</guid><description>A reflection on the Sandy Hook shooting after realizing my family once shopped at the same Walmart the victims&apos; parents likely also shopped at.</description><pubDate>Sat, 15 Dec 2012 00:00:00 GMT</pubDate></item><item><title>Introducing Android Bootstrap – A Comprehensive Android Template Project</title><link>https://donnfelker.com/android-template-project/</link><guid isPermaLink="true">https://donnfelker.com/android-template-project/</guid><description>The most comprehensive Android Template Project available - Android Bootstrap. Includes RoboGuice, Action Bar Sherlock, GSON, http-request, and much more.</description><pubDate>Wed, 17 Oct 2012 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Overcoming Coffee with Yerba Mate</title><link>https://donnfelker.com/overcoming-coffee-yerba-mate/</link><guid isPermaLink="true">https://donnfelker.com/overcoming-coffee-yerba-mate/</guid><description>I was hooked on coffee for years. Not anymore! Learn how to quit drinking coffee by enjoying Yerba Mate.</description><pubDate>Wed, 15 Aug 2012 00:00:00 GMT</pubDate></item><item><title>IKEA Standing Desk – Two Weeks Later</title><link>https://donnfelker.com/ikea-standing-desk-two-weeks-later/</link><guid isPermaLink="true">https://donnfelker.com/ikea-standing-desk-two-weeks-later/</guid><description>A positive and negative report of the effects of working at my IKEA Stand Up Desk after two weeks. After two weeks I felt great ..</description><pubDate>Mon, 23 Jul 2012 00:00:00 GMT</pubDate></item><item><title>Android Native Emulator with Google Maps – ProTip</title><link>https://donnfelker.com/android-native-emulator-with-google-maps/</link><guid isPermaLink="true">https://donnfelker.com/android-native-emulator-with-google-maps/</guid><description>Learn how to speed up development by using the Android Native Emulator and how to start the emulator via a bash_profile alias.</description><pubDate>Mon, 02 Jul 2012 00:00:00 GMT</pubDate></item><item><title>Node.js with Express 3 res.json Changes</title><link>https://donnfelker.com/node-js-with-express-3-res-json-changes/</link><guid isPermaLink="true">https://donnfelker.com/node-js-with-express-3-res-json-changes/</guid><description>Upgrading to Node 0.8 and Express 3 broke res.json(data, status), the param order flipped to res.json(status, data). Here&apos;s the fix.</description><pubDate>Wed, 27 Jun 2012 00:00:00 GMT</pubDate><category>development</category></item><item><title>Stop Asking How and Just Do It</title><link>https://donnfelker.com/stop-asking-how-and-just-do-it/</link><guid isPermaLink="true">https://donnfelker.com/stop-asking-how-and-just-do-it/</guid><description>Stop hunting for a technical co-founder before you&apos;ve proven your idea works. Start executing yourself first - that&apos;s what actually attracts one.</description><pubDate>Mon, 18 Jun 2012 00:00:00 GMT</pubDate><category>business</category></item><item><title>Maintain Velocity or Sink</title><link>https://donnfelker.com/maintain-velocity-or-sink/</link><guid isPermaLink="true">https://donnfelker.com/maintain-velocity-or-sink/</guid><description>A startup is like an ATV hydroplaning over water: lose velocity and you sink. Why momentum, not perfection, keeps a project alive.</description><pubDate>Thu, 31 May 2012 00:00:00 GMT</pubDate><category>business</category></item><item><title>Phoenix Mobile Festival</title><link>https://donnfelker.com/phoenix-mobile-festival/</link><guid isPermaLink="true">https://donnfelker.com/phoenix-mobile-festival/</guid><description>A new Phoenix-area conference just launched, the Phoenix Mobile Festival, and I&apos;m speaking on working with Android Fragments this Saturday.</description><pubDate>Mon, 16 Apr 2012 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Robolectric and Roboguice not Injecting Views</title><link>https://donnfelker.com/robolectric-and-roboguice-not-injecting-views/</link><guid isPermaLink="true">https://donnfelker.com/robolectric-and-roboguice-not-injecting-views/</guid><description>Roboguice will inject views under test when using Robolectric, but if the xmlns is anything other than android then the view will be null.</description><pubDate>Tue, 27 Mar 2012 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Waterbottles for Nerds</title><link>https://donnfelker.com/waterbottles-for-nerds/</link><guid isPermaLink="true">https://donnfelker.com/waterbottles-for-nerds/</guid><description>After years of leaky bottles, the CamelBak Podium Chill and Nalgene Tritan Grip-N-Gulp for kids finally solved my desk-hydration problem.</description><pubDate>Sat, 24 Mar 2012 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Airport Extreme and Brother 2170w Setup</title><link>https://donnfelker.com/airport-extreme-and-brother-2170w-setup/</link><guid isPermaLink="true">https://donnfelker.com/airport-extreme-and-brother-2170w-setup/</guid><description>Step-by-step fix for pairing a Brother HL-2170W wireless printer with an Apple Airport Extreme when the official setup instructions don&apos;t work.</description><pubDate>Wed, 01 Feb 2012 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Minimum Viable Programming</title><link>https://donnfelker.com/minimum-viable-programming/</link><guid isPermaLink="true">https://donnfelker.com/minimum-viable-programming/</guid><description>Stop over-engineering your MVP. Minimum viable programming means shipping the ugly hack first and cleaning up code only once it makes money.</description><pubDate>Tue, 10 Jan 2012 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>mobile</category></item><item><title>The Wrong Time and Wrong Market (or Failing in the Entertainment Industry)</title><link>https://donnfelker.com/the-wrong-time-and-wrong-market-or-failing-in-the-entertainment-industry/</link><guid isPermaLink="true">https://donnfelker.com/the-wrong-time-and-wrong-market-or-failing-in-the-entertainment-industry/</guid><description>How I sank $140K over 7 years running an indie record label, why it failed, and the hard lessons on accounting, contracts, and cutting losses early.</description><pubDate>Wed, 14 Dec 2011 00:00:00 GMT</pubDate><category>business</category></item><item><title>Building an Android Notification Bubble</title><link>https://donnfelker.com/building-an-android-notification-bubble/</link><guid isPermaLink="true">https://donnfelker.com/building-an-android-notification-bubble/</guid><description>How to build an iOS-style red notification bubble in Android using an XML drawable and FrameLayout, with no 9-patch images required.</description><pubDate>Fri, 02 Dec 2011 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Android Validation with EditText</title><link>https://donnfelker.com/android-validation-with-edittext/</link><guid isPermaLink="true">https://donnfelker.com/android-validation-with-edittext/</guid><description>Skip the validation dialog box. Android&apos;s EditText has a built-in setError method that shows an inline icon and popup message instead.</description><pubDate>Wed, 23 Nov 2011 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>What’s New in Android Development Slides</title><link>https://donnfelker.com/whats-new-in-android-development-slides/</link><guid isPermaLink="true">https://donnfelker.com/whats-new-in-android-development-slides/</guid><description>Slides from my &apos;What&apos;s New in Android Tablet Development&apos; session at AnDevCon, covering the latest tablet APIs, tools, and SDK changes.</description><pubDate>Mon, 07 Nov 2011 00:00:00 GMT</pubDate></item><item><title>AnDevCon Tablet Programming Workshop Presentation</title><link>https://donnfelker.com/andevcon-tablet-programming-workshop-presentation/</link><guid isPermaLink="true">https://donnfelker.com/andevcon-tablet-programming-workshop-presentation/</guid><description>For those of you who attended todays workshop at AnDevCon II, here is the PDF of the presentation that we covered today. Enjoy!</description><pubDate>Sun, 06 Nov 2011 00:00:00 GMT</pubDate></item><item><title>Android Tablet Programming Class at AnDevCon III</title><link>https://donnfelker.com/android-tablet-programming-class-at-andevcon-iii/</link><guid isPermaLink="true">https://donnfelker.com/android-tablet-programming-class-at-andevcon-iii/</guid><description>Logistics for my Hands-On Android Tablet Programming class at AnDevCon III: prerequisites, what to install, and what to bring to keep up.</description><pubDate>Wed, 26 Oct 2011 00:00:00 GMT</pubDate></item><item><title>I’m Teaching a Free Android Tablet Programming Class Oct. 25th in AZ</title><link>https://donnfelker.com/im-teaching-a-free-android-tablet-programming-class-oct-25th-in-az/</link><guid isPermaLink="true">https://donnfelker.com/im-teaching-a-free-android-tablet-programming-class-oct-25th-in-az/</guid><description>I&apos;m teaching a free, hands-on Android Tablet Programming class October 25th at Gangplank in Arizona -- seats are limited, register only if you&apos;re sure.</description><pubDate>Thu, 13 Oct 2011 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Android’s Locale Implementation Is Broken</title><link>https://donnfelker.com/androids-locale-implementation-is-broken/</link><guid isPermaLink="true">https://donnfelker.com/androids-locale-implementation-is-broken/</guid><description>Android devices only ship with a subset of locales installed, so Currency and DateFormat can render wrong or garbled for locales you need.</description><pubDate>Tue, 23 Aug 2011 00:00:00 GMT</pubDate></item><item><title>Android: Centering text between two other Views</title><link>https://donnfelker.com/android-centering-text-between-two-other-views/</link><guid isPermaLink="true">https://donnfelker.com/android-centering-text-between-two-other-views/</guid><description>Use layout_weight on a middle TextView to spring-load a bullet separator that stays centered between two dynamic-length text views in Android.</description><pubDate>Wed, 03 Aug 2011 00:00:00 GMT</pubDate></item><item><title>Android: Rounded Corners with a Bevel/Drop Shadow</title><link>https://donnfelker.com/android-rounded-corners-with-a-beveldrop-shadow/</link><guid isPermaLink="true">https://donnfelker.com/android-rounded-corners-with-a-beveldrop-shadow/</guid><description>How to give Android layouts rounded corners with a bevel/drop shadow using one XML layer-list drawable instead of many 9-patch images.</description><pubDate>Mon, 01 Aug 2011 00:00:00 GMT</pubDate><category>development</category><category>mobile</category></item><item><title>Retaining and Acquiring Talent in the Face of Rising (Energy) Costs</title><link>https://donnfelker.com/retaining-and-aquiring-talent-in-the-face-of-rising-energy-costs/</link><guid isPermaLink="true">https://donnfelker.com/retaining-and-aquiring-talent-in-the-face-of-rising-energy-costs/</guid><description>Hiring is expensive and gas prices keep rising. Why letting employees work remotely is the simplest way to cut costs and keep good people.</description><pubDate>Tue, 28 Jun 2011 00:00:00 GMT</pubDate><category>business</category></item><item><title>Trusting Android Certificates, Part Duex</title><link>https://donnfelker.com/trusting-android-certificates-part-duex/</link><guid isPermaLink="true">https://donnfelker.com/trusting-android-certificates-part-duex/</guid><description>How to get Android to trust a server signed by a real CA like Thawte, not just a self-signed cert, by building the keystore correctly.</description><pubDate>Mon, 13 Jun 2011 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>IntelliJ – Waiting for ADB</title><link>https://donnfelker.com/intellij-waiting-for-adb/</link><guid isPermaLink="true">https://donnfelker.com/intellij-waiting-for-adb/</guid><description>Fix for IntelliJ 10.5 freezing on Waiting for ADB during Android debugging -- invalidating caches and restarting the IDE clears it right up.</description><pubDate>Thu, 19 May 2011 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Taxman, You’re Just Too Much (Why I’m Moving)</title><link>https://donnfelker.com/taxman-youre-just-too-much/</link><guid isPermaLink="true">https://donnfelker.com/taxman-youre-just-too-much/</guid><description>Why I&apos;m moving my bootstrapped startups from Minneapolis back to Phoenix - mostly taxes and cost of running a lean business, plus what&apos;s next for me.</description><pubDate>Fri, 29 Apr 2011 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Living Together Harmoniously – IntelliJ and Maven</title><link>https://donnfelker.com/living-together-intellij-maven/</link><guid isPermaLink="true">https://donnfelker.com/living-together-intellij-maven/</guid><description>Getting No valid Maven installation found in IntelliJ? Skip the env variable rabbit hole and just set the Maven home path in IDE settings.</description><pubDate>Wed, 16 Mar 2011 00:00:00 GMT</pubDate></item><item><title>JSONView – The Sweet little FireFox Plugin</title><link>https://donnfelker.com/jsonview-the-sweet-little-firefox-plugin/</link><guid isPermaLink="true">https://donnfelker.com/jsonview-the-sweet-little-firefox-plugin/</guid><description>JSONView turns ugly raw JSON API responses into readable, formatted output right in Firefox -- a small plugin that&apos;s a real productivity boost.</description><pubDate>Fri, 18 Feb 2011 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Android: A Simple Eula for your Android Apps</title><link>https://donnfelker.com/android-a-simple-eula-for-your-android-apps/</link><guid isPermaLink="true">https://donnfelker.com/android-a-simple-eula-for-your-android-apps/</guid><description>A drop-in SimpleEula.java class that shows your Android app&apos;s EULA once per version using shared preferences, instead of nagging users on every launch.</description><pubDate>Thu, 17 Feb 2011 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>ASP.NET MVC: Building Web API’s with HeaderValueProvider</title><link>https://donnfelker.com/asp-net-mvc-building-web-apis-with-headervalueprovider/</link><guid isPermaLink="true">https://donnfelker.com/asp-net-mvc-building-web-apis-with-headervalueprovider/</guid><description>Build a custom IValueProvider for ASP.NET MVC that hydrates your models straight from HTTP request headers instead of scrubbing them by hand.</description><pubDate>Wed, 16 Feb 2011 00:00:00 GMT</pubDate><category>development</category></item><item><title>Empty Folders: A git svn gotcha</title><link>https://donnfelker.com/empty-folders-a-git-svn-gotcha/</link><guid isPermaLink="true">https://donnfelker.com/empty-folders-a-git-svn-gotcha/</guid><description>A git-svn gotcha: git ignores empty folders, so deleting one only removes it for git users, leaving SVN users with a route-breaking folder.</description><pubDate>Tue, 15 Feb 2011 00:00:00 GMT</pubDate><category>development</category></item><item><title>MonoTouch: Copying a Preloaded DB</title><link>https://donnfelker.com/monotouch-copying-a-preloaded-db/</link><guid isPermaLink="true">https://donnfelker.com/monotouch-copying-a-preloaded-db/</guid><description>How to ship a preloaded SQLite database with a MonoTouch iOS app and copy it to the documents folder on first launch instead of seeding it live.</description><pubDate>Thu, 10 Feb 2011 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>My Book Hits #1 on Nielsen Bookscan</title><link>https://donnfelker.com/my-book-hits-1-on-nielsen-bookscan/</link><guid isPermaLink="true">https://donnfelker.com/my-book-hits-1-on-nielsen-bookscan/</guid><description>My book hit #1 across all programming book categories on Nielsen BookScan, outselling every .NET, iPhone, Java, and Rails title that week.</description><pubDate>Fri, 28 Jan 2011 00:00:00 GMT</pubDate><category>book</category></item><item><title>Android App Dev For Dummies: USB Driver Installation</title><link>https://donnfelker.com/android-app-dev-for-dummies-usb-driver-installation/</link><guid isPermaLink="true">https://donnfelker.com/android-app-dev-for-dummies-usb-driver-installation/</guid><description>Google moved the Android USB driver in SDK v9 from Available Packages to Third Party Add-ons -- an update to page 50 of my Dummies book.</description><pubDate>Thu, 13 Jan 2011 00:00:00 GMT</pubDate><category>book</category></item><item><title>Dummies Book: SDK Path</title><link>https://donnfelker.com/dummies-book-sdk-path/</link><guid isPermaLink="true">https://donnfelker.com/dummies-book-sdk-path/</guid><description>Android Dummies book readers hitting a &apos;Could not find adb&apos; error after an SDK update? Update your Eclipse ADT Plugin to fix the path.</description><pubDate>Tue, 11 Jan 2011 00:00:00 GMT</pubDate><category>book</category><category>mobile</category></item><item><title>My Favorite Git Alias</title><link>https://donnfelker.com/my-favorite-git-alias/</link><guid isPermaLink="true">https://donnfelker.com/my-favorite-git-alias/</guid><description>Tired of unreadable git log output, I found the git lg alias -- a one-line git config addition that makes your commit history actually scannable.</description><pubDate>Tue, 04 Jan 2011 00:00:00 GMT</pubDate><category>development</category></item><item><title>Already a Second Pressing of Android App Dev for Dummies</title><link>https://donnfelker.com/already-a-second-pressing-of-android-app-dev-for-dummies/</link><guid isPermaLink="true">https://donnfelker.com/already-a-second-pressing-of-android-app-dev-for-dummies/</guid><description>Android Application Development For Dummies sold out its first print run and went back to press in under a month -- thanks to readers who picked it up.</description><pubDate>Thu, 30 Dec 2010 00:00:00 GMT</pubDate><category>book</category><category>misc</category><category>mobile</category></item><item><title>Android App Dev for Dummies &amp; Motorola Droids</title><link>https://donnfelker.com/android-app-dev-for-dummies-motorola-droids/</link><guid isPermaLink="true">https://donnfelker.com/android-app-dev-for-dummies-motorola-droids/</guid><description>Motorola Droid won&apos;t connect to Eclipse for debugging? Grab this specific USB driver version and installer link that fixed it for a reader.</description><pubDate>Sun, 26 Dec 2010 00:00:00 GMT</pubDate><category>book</category><category>mobile</category></item><item><title>IntelliJ Android Layout LiveTemplates</title><link>https://donnfelker.com/intellij-android-layout-livetemplates/</link><guid isPermaLink="true">https://donnfelker.com/intellij-android-layout-livetemplates/</guid><description>A set of free IntelliJ live templates for Android XML layouts -- shortcuts for buttons, list views and more to speed up writing view code.</description><pubDate>Thu, 23 Dec 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>An Annoying IntelliJ Android Build Issue</title><link>https://donnfelker.com/an-annoying-intellij-android-build-issue/</link><guid isPermaLink="true">https://donnfelker.com/an-annoying-intellij-android-build-issue/</guid><description>IntelliJ threw a phantom &apos;apk.res not found&apos; build error after a Git branch switch -- the fix was re-selecting the target Android platform in project settings.</description><pubDate>Tue, 21 Dec 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Beyond Dummies: Improving Performance on the ListView</title><link>https://donnfelker.com/beyond-dummies-improving-performance-on-the-listview/</link><guid isPermaLink="true">https://donnfelker.com/beyond-dummies-improving-performance-on-the-listview/</guid><description>A follow-up to my Android Dummies book showing how view recycling with convertView speeds up ListView rendering on lists with thousands of items.</description><pubDate>Tue, 07 Dec 2010 00:00:00 GMT</pubDate><category>book</category></item><item><title>IntelliJ Keyboard Shortcuts</title><link>https://donnfelker.com/intellij-keyboard-shortcuts/</link><guid isPermaLink="true">https://donnfelker.com/intellij-keyboard-shortcuts/</guid><description>Why I switched from Eclipse to IntelliJ for Android development, plus a link to the keyboard shortcuts PDF I couldn&apos;t easily find anywhere else.</description><pubDate>Mon, 15 Nov 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Setting up an Android Build Server – Part 4: Communicating With Github</title><link>https://donnfelker.com/setting-up-an-android-build-server-part-4/</link><guid isPermaLink="true">https://donnfelker.com/setting-up-an-android-build-server-part-4/</guid><description>Part 4: connecting a headless Android build server to GitHub by installing Git, generating SSH keys for the hudson user, and setting identity.</description><pubDate>Tue, 26 Oct 2010 00:00:00 GMT</pubDate><category>development</category><category>mobile</category></item><item><title>Setting up an Android Build Server – Part 3: Installing the Android SDK</title><link>https://donnfelker.com/setting-up-an-android-build-server-part-3-installing-the-android-sdk/</link><guid isPermaLink="true">https://donnfelker.com/setting-up-an-android-build-server-part-3-installing-the-android-sdk/</guid><description>Part 3: installing the Android SDK on a headless Ubuntu server by tunneling the GUI installer over SSH -X since there&apos;s no CLI installer.</description><pubDate>Mon, 25 Oct 2010 00:00:00 GMT</pubDate><category>development</category><category>mobile</category></item><item><title>Setting up an Android Build Server – Part 2: Installing Hudson</title><link>https://donnfelker.com/setting-up-an-android-build-server-part-2-installing-hudson/</link><guid isPermaLink="true">https://donnfelker.com/setting-up-an-android-build-server-part-2-installing-hudson/</guid><description>Part 2 of setting up an Android build server: installing Hudson CI as a Debian package on headless Ubuntu, plus the daemon dependency fix.</description><pubDate>Fri, 22 Oct 2010 00:00:00 GMT</pubDate><category>development</category><category>mobile</category></item><item><title>Setting up an Android Build Server – Part 1: The Server</title><link>https://donnfelker.com/setting-up-an-android-build-server-part-1-the-server/</link><guid isPermaLink="true">https://donnfelker.com/setting-up-an-android-build-server-part-1-the-server/</guid><description>Part 1 of building an Android CI server on headless Ubuntu 10.04: getting add-apt-repository working and installing Java before Hudson.</description><pubDate>Thu, 21 Oct 2010 00:00:00 GMT</pubDate><category>development</category><category>mobile</category></item><item><title>Presentation Materials from TCCC9</title><link>https://donnfelker.com/presentation-materials-from-tccc9/</link><guid isPermaLink="true">https://donnfelker.com/presentation-materials-from-tccc9/</guid><description>Slides from my Advanced Android talk at Twin Cities Code Camp 9 are now posted on SlideShare for anyone who attended or missed it.</description><pubDate>Thu, 14 Oct 2010 00:00:00 GMT</pubDate><category>development</category><category>mobile</category></item><item><title>Minnesotas Developers Conference Materials</title><link>https://donnfelker.com/minnesotas-developers-conference-materials/</link><guid isPermaLink="true">https://donnfelker.com/minnesotas-developers-conference-materials/</guid><description>Download the full working Android demo app I ran out of time to finish building live during my Minnesota Developers Conference presentation.</description><pubDate>Tue, 05 Oct 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>The WP7 Fragmentation Challenge</title><link>https://donnfelker.com/the-wp7-fragmentation-challenge/</link><guid isPermaLink="true">https://donnfelker.com/the-wp7-fragmentation-challenge/</guid><description>Comparing how Android, iPhone, and WP7 handle OS fragmentation across carriers, and why Microsoft&apos;s carrier-approval model will not stay fast.</description><pubDate>Tue, 07 Sep 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>HDC10: Hands-on-Lab – Project Solutions</title><link>https://donnfelker.com/hdc10-hands-on-lab-project-solutions/</link><guid isPermaLink="true">https://donnfelker.com/hdc10-hands-on-lab-project-solutions/</guid><description>Source code and module-by-module GitHub branches for the HDC10 Android hands-on lab, including extra menus, dialogs, and custom styling.</description><pubDate>Mon, 06 Sep 2010 00:00:00 GMT</pubDate></item><item><title>Heartland Developers Conference – Next Week</title><link>https://donnfelker.com/heartland-developers-conference-next-week/</link><guid isPermaLink="true">https://donnfelker.com/heartland-developers-conference-next-week/</guid><description>Heading to Heartland Developers Conference to teach a 4-hour Android development lab and give a talk on building and shipping an app live.</description><pubDate>Thu, 02 Sep 2010 00:00:00 GMT</pubDate></item><item><title>MacBook Pro – Windows 7 Boot to VHD</title><link>https://donnfelker.com/macbook-pro-windows-7-boot-to-vhd/</link><guid isPermaLink="true">https://donnfelker.com/macbook-pro-windows-7-boot-to-vhd/</guid><description>How to run Windows 7 from a bootable VHD on a Boot Camp MacBook Pro, including the bcdedit fix for duplicate boot loader name entries.</description><pubDate>Tue, 17 Aug 2010 00:00:00 GMT</pubDate><category>development</category></item><item><title>ModelBinding ASP.NET MVC and Multiple Field Validation</title><link>https://donnfelker.com/modelbinding-asp-net-mvc-and-multiple-field-validation/</link><guid isPermaLink="true">https://donnfelker.com/modelbinding-asp-net-mvc-and-multiple-field-validation/</guid><description>In ASP.NET MVC, add two ModelState errors -- one with an empty message -- to highlight both fields while showing only one validation message.</description><pubDate>Tue, 17 Aug 2010 00:00:00 GMT</pubDate><category>development</category></item><item><title>Android Library Project Reference Not Showing</title><link>https://donnfelker.com/android-library-project-reference-not-showing/</link><guid isPermaLink="true">https://donnfelker.com/android-library-project-reference-not-showing/</guid><description>Eclipse wouldn&apos;t recognize my Android Library project reference. The fix: spaces and periods in project names break it. Rename and restart.</description><pubDate>Fri, 13 Aug 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>HowTo: Android – Full and Lite Versions</title><link>https://donnfelker.com/howto-android-full-and-lite-versions/</link><guid isPermaLink="true">https://donnfelker.com/howto-android-full-and-lite-versions/</guid><description>How to share one codebase between full and lite Android app versions using project libraries instead of duplicating projects or repackaging.</description><pubDate>Thu, 05 Aug 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Android For Dummies &amp; TekPub</title><link>https://donnfelker.com/android-for-dummies-tekpub/</link><guid isPermaLink="true">https://donnfelker.com/android-for-dummies-tekpub/</guid><description>My Android book and the Introduction to Android TekPub video series aren&apos;t competing, they cover different example apps, so pair them up.</description><pubDate>Thu, 22 Jul 2010 00:00:00 GMT</pubDate></item><item><title>Android Development For Dummies</title><link>https://donnfelker.com/android-development-for-dummies/</link><guid isPermaLink="true">https://donnfelker.com/android-development-for-dummies/</guid><description>Announcing that I&apos;m writing the first official Android Application Development For Dummies book, due out this fall. Pre-order now.</description><pubDate>Wed, 21 Jul 2010 00:00:00 GMT</pubDate></item><item><title>Android: ‘Must Override a Superclass Method’ Errors</title><link>https://donnfelker.com/android-must-override-a-superclass-method-errors/</link><guid isPermaLink="true">https://donnfelker.com/android-must-override-a-superclass-method-errors/</guid><description>Got flooded with Must Override a Superclass Method errors after a teammate imported my GitHub project? Set Eclipse&apos;s compiler to Java 1.6.</description><pubDate>Tue, 06 Jul 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Gotchas with Rooting a MyTouch Slide</title><link>https://donnfelker.com/gotchas-with-rooting-a-mytouch-slide/</link><guid isPermaLink="true">https://donnfelker.com/gotchas-with-rooting-a-mytouch-slide/</guid><description>Rooting a MyTouch Slide and stuck in the recognition loop? Two gotchas that fixed it for me: precise USB timing and using the stock SD card.</description><pubDate>Tue, 29 Jun 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Android App – Eventdroid Released</title><link>https://donnfelker.com/android-app-eventdroid-released/</link><guid isPermaLink="true">https://donnfelker.com/android-app-eventdroid-released/</guid><description>Released Eventdroid, the first Android barcode scanner app for Eventbrite check-ins, with manual check-in as a fallback for attendees without a scan.</description><pubDate>Mon, 28 Jun 2010 00:00:00 GMT</pubDate></item><item><title>Pruning Elmah Files with Powershell</title><link>https://donnfelker.com/pruning-elmah-files-with-powershell/</link><guid isPermaLink="true">https://donnfelker.com/pruning-elmah-files-with-powershell/</guid><description>A simple PowerShell script to prune old ELMAH XML error logs, keeping only the most recent N files so Elmah.axd stops crawling to a load.</description><pubDate>Tue, 22 Jun 2010 00:00:00 GMT</pubDate></item><item><title>Android: Db4o StackOverflowError</title><link>https://donnfelker.com/android-db4o-stackoverflowerror/</link><guid isPermaLink="true">https://donnfelker.com/android-db4o-stackoverflowerror/</guid><description>db4o was throwing StackOverflowError on Android after weeks of trimming the object model -- implementing TransparentActivation finally fixed it.</description><pubDate>Mon, 21 Jun 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Db4o’s Java Doc/Documentation/Help in Eclipse</title><link>https://donnfelker.com/db4os-java-docdocumentationhelp-in-eclipse/</link><guid isPermaLink="true">https://donnfelker.com/db4os-java-docdocumentationhelp-in-eclipse/</guid><description>How to wire up db4o&apos;s Javadoc in Eclipse so hovering over an API call in your editor shows the real documentation instead of nothing.</description><pubDate>Sat, 12 Jun 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>A Poll: Web Api Calls</title><link>https://donnfelker.com/a-poll-web-api-calls/</link><guid isPermaLink="true">https://donnfelker.com/a-poll-web-api-calls/</guid><description>A quick take on API design: empty result sets are valid responses, not errors -- reserve error documents for actual failures like a bad API key.</description><pubDate>Fri, 11 Jun 2010 00:00:00 GMT</pubDate><category>development</category><category>mobile</category></item><item><title>The Customized Android UI Problem</title><link>https://donnfelker.com/the-customized-android-ui-problem/</link><guid isPermaLink="true">https://donnfelker.com/the-customized-android-ui-problem/</guid><description>HTC and T-Mobile&apos;s Sense/Espresso skins bury stock Android under gradients and glass icons. Just let users choose vanilla Android at setup.</description><pubDate>Thu, 10 Jun 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Going Android: Which Device To Pick?</title><link>https://donnfelker.com/going-android-which-device-to-pick/</link><guid isPermaLink="true">https://donnfelker.com/going-android-which-device-to-pick/</guid><description>Rating the early Android phones, G1, Behold II, MyTouch, Droid, Nexus One, Incredible, Evo 4G, and why you should just buy the best one you can afford.</description><pubDate>Mon, 07 Jun 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>ASPNET MVC: Handling Multiple Buttons on a Form with jQuery</title><link>https://donnfelker.com/aspnetmvc-multiple-buttons-on-aform-jquery/</link><guid isPermaLink="true">https://donnfelker.com/aspnetmvc-multiple-buttons-on-aform-jquery/</guid><description>How to handle multiple submit buttons in one ASP.NET MVC form using jQuery to swap the form action, keeping controller actions clean and simple.</description><pubDate>Fri, 04 Jun 2010 00:00:00 GMT</pubDate><category>development</category></item><item><title>Desert Code Camp: Android</title><link>https://donnfelker.com/desert-code-camp-android/</link><guid isPermaLink="true">https://donnfelker.com/desert-code-camp-android/</guid><description>Slides and code from my Introduction to Android Development talk at Desert Code Camp - grab the demo repo and follow along yourself.</description><pubDate>Sat, 15 May 2010 00:00:00 GMT</pubDate></item><item><title>Desert Code Camp Tomorrow!</title><link>https://donnfelker.com/desert-code-camp-tomorrow/</link><guid isPermaLink="true">https://donnfelker.com/desert-code-camp-tomorrow/</guid><description>Announcing two talks at Desert Code Camp: Introduction to Android Development and ASP.NET MVC2 with the Spark View Engine. Come say hi.</description><pubDate>Fri, 14 May 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Android: Odd Error in DefaultHttpClient</title><link>https://donnfelker.com/android-odd-error-in-defaulthttpclient/</link><guid isPermaLink="true">https://donnfelker.com/android-odd-error-in-defaulthttpclient/</guid><description>DefaultHttpClient throwing Target host must not be null? Check your URI first, it is probably missing the http:// scheme prefix entirely.</description><pubDate>Thu, 29 Apr 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Android: Escaping Strings in Eclipse</title><link>https://donnfelker.com/android-escaping-strings-in-eclipse/</link><guid isPermaLink="true">https://donnfelker.com/android-escaping-strings-in-eclipse/</guid><description>Eclipse has a hidden setting that auto-escapes strings pasted into a literal, so you stop hand-escaping huge JSON blobs for unit tests.</description><pubDate>Tue, 27 Apr 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>New TekPub Episode is Live</title><link>https://donnfelker.com/new-tekpub-episode-is-live/</link><guid isPermaLink="true">https://donnfelker.com/new-tekpub-episode-is-live/</guid><description>Episode 2 of my Introduction to Android series just went live on TekPub, and I&apos;m speaking on the same topic at Iowa Code Camp this Saturday.</description><pubDate>Tue, 27 Apr 2010 00:00:00 GMT</pubDate></item><item><title>MVC: Unit Testing Action Filters</title><link>https://donnfelker.com/mvc-unit-testing-action-filters/</link><guid isPermaLink="true">https://donnfelker.com/mvc-unit-testing-action-filters/</guid><description>How to unit test an ASP.NET MVC action filter by mocking ActionExecutedContext, RouteData, and the service locator instead of fighting HttpContext.</description><pubDate>Wed, 21 Apr 2010 00:00:00 GMT</pubDate><category>development</category></item><item><title>jQuery Tip: Brute Force Dirty Form Detection</title><link>https://donnfelker.com/jquery-tip-brute-force-dirty-form-detection/</link><guid isPermaLink="true">https://donnfelker.com/jquery-tip-brute-force-dirty-form-detection/</guid><description>A quick jQuery hack to auto-enable a disabled save button the moment any input on the form changes -- simple, if not the most performant, approach.</description><pubDate>Tue, 20 Apr 2010 00:00:00 GMT</pubDate><category>development</category></item><item><title>TCDG – Android Talk Code</title><link>https://donnfelker.com/tcdg-android-talk-code/</link><guid isPermaLink="true">https://donnfelker.com/tcdg-android-talk-code/</guid><description>You can get the code from tonight’s talk on my GitHub page, located here. The code includes the actual application and all files required to run the app. Enjoy!</description><pubDate>Tue, 13 Apr 2010 00:00:00 GMT</pubDate></item><item><title>Intro to Android Development Materials</title><link>https://donnfelker.com/intro-to-android-development-materials/</link><guid isPermaLink="true">https://donnfelker.com/intro-to-android-development-materials/</guid><description>Slides and sample code from my Intro to Android Development talk at Twin Cities Code Camp, posted here for anyone who came out or missed the session.</description><pubDate>Sat, 10 Apr 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Twin Cities XNA Fragathon II</title><link>https://donnfelker.com/twin-cities-xna-fragathon-ii/</link><guid isPermaLink="true">https://donnfelker.com/twin-cities-xna-fragathon-ii/</guid><description>Join the 2nd annual Twin Cities XNA Fragathon: a Halo gaming tournament and food drive for Second Harvest, with prizes at Microsoft.</description><pubDate>Mon, 05 Apr 2010 00:00:00 GMT</pubDate></item><item><title>Twin Cities Code Camp 8</title><link>https://donnfelker.com/twin-cities-code-camp-8/</link><guid isPermaLink="true">https://donnfelker.com/twin-cities-code-camp-8/</guid><description>Giving an Android dev intro at Twin Cities Code Camp 8: SDK setup, OS architecture, and building a real app live for the Marketplace.</description><pubDate>Sun, 04 Apr 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>New DimeCast: Introduction to WP7</title><link>https://donnfelker.com/new-dimecast-introduction-to-wp7/</link><guid isPermaLink="true">https://donnfelker.com/new-dimecast-introduction-to-wp7/</guid><description>New DimeCast screencast walks through creating a new Windows Phone 7 app from scratch and taking the WP7 emulator for a test spin.</description><pubDate>Fri, 02 Apr 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>No IE6 ActionFilter for ASP.NET MVC</title><link>https://donnfelker.com/no-ie6-actionfilter-for-asp-net-mvc/</link><guid isPermaLink="true">https://donnfelker.com/no-ie6-actionfilter-for-asp-net-mvc/</guid><description>A crude but effective ASP.NET MVC ActionFilter, plus a follow-up jQuery plugin, that blocks IE6 visitors with a friendly upgrade message.</description><pubDate>Wed, 31 Mar 2010 00:00:00 GMT</pubDate><category>development</category></item><item><title>TekPub: Introduction to Android Series</title><link>https://donnfelker.com/tekpub-introduction-to-android-series/</link><guid isPermaLink="true">https://donnfelker.com/tekpub-introduction-to-android-series/</guid><description>A new TekPub video series where I build a real Android app from scratch, covering Eclipse, the Android framework, Java, and publishing to the Market.</description><pubDate>Wed, 31 Mar 2010 00:00:00 GMT</pubDate><category>mobile</category><category>screencasts</category></item><item><title>WP7 Emulator Screen Size Management</title><link>https://donnfelker.com/wp7-emulator-screen-size-management/</link><guid isPermaLink="true">https://donnfelker.com/wp7-emulator-screen-size-management/</guid><description>Unlike bloated Android emulators, the WP7 emulator lets you scale its window size from the settings menu so it actually fits on your screen.</description><pubDate>Tue, 16 Mar 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>WP7 Boot to VHD</title><link>https://donnfelker.com/wp7-boot-to-vh/</link><guid isPermaLink="true">https://donnfelker.com/wp7-boot-to-vh/</guid><description>Setting up WP7 dev tools on a Boot to VHD drive was painless: a Hello World app running in under 5 minutes, and it beats a VPC for real development.</description><pubDate>Mon, 15 Mar 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>ASP.NET MVC REST API WINDSOR CONTROLLER FACTORY</title><link>https://donnfelker.com/aspnet-rest-controller-factory/</link><guid isPermaLink="true">https://donnfelker.com/aspnet-rest-controller-factory/</guid><description>Wiring the ASP.NET MVC REST Toolkit&apos;s ResourceControllerFactory to use the Windsor container, so a REST API serving mobile clients gets DI throughout.</description><pubDate>Thu, 11 Mar 2010 00:00:00 GMT</pubDate><category>development</category></item><item><title>Slides from MVC2 Talk</title><link>https://donnfelker.com/slides-from-mvc2-talk/</link><guid isPermaLink="true">https://donnfelker.com/slides-from-mvc2-talk/</guid><description>Slides from my What&apos;s New in ASP.NET MVC2 talk at the Twin Cities .NET User Group meeting are up for download, covering what changed in the new release.</description><pubDate>Sun, 07 Mar 2010 00:00:00 GMT</pubDate></item><item><title>I&amp;rsquo;m a Considered a Top Android Dev, Cool!</title><link>https://donnfelker.com/im-a-considered-a-top-android-dev-cool/</link><guid isPermaLink="true">https://donnfelker.com/im-a-considered-a-top-android-dev-cool/</guid><description>Google&apos;s Android Market Seeding Program picked me as a top developer and offered a free Droid or Nexus One -- here&apos;s why, and which phone I&apos;m hoping for.</description><pubDate>Thu, 04 Mar 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Editable Grid / List Binding in MVC2</title><link>https://donnfelker.com/editable-grid-list-binding-in-mvc2/</link><guid isPermaLink="true">https://donnfelker.com/editable-grid-list-binding-in-mvc2/</guid><description>How ASP.NET MVC2&apos;s built-in EditorFor and incremental sequencing let you build an editable grid/list without custom HTML prefix scoping.</description><pubDate>Sat, 27 Feb 2010 00:00:00 GMT</pubDate><category>development</category></item><item><title>ASPNET MVC2: TempData Now Persists</title><link>https://donnfelker.com/aspnet-mvc2-tempdata-now-persists/</link><guid isPermaLink="true">https://donnfelker.com/aspnet-mvc2-tempdata-now-persists/</guid><description>MVC2 changed how TempData persists: values now stick around until read, not just for one request, which can bite you with ModelStateToTempData.</description><pubDate>Fri, 26 Feb 2010 00:00:00 GMT</pubDate><category>development</category></item><item><title>ASP.NET MVC TempData Extension Methods</title><link>https://donnfelker.com/asp-net-mvc-tempdata-extension-methods/</link><guid isPermaLink="true">https://donnfelker.com/asp-net-mvc-tempdata-extension-methods/</guid><description>Strongly typed TempData extension methods for ASP.NET MVC: Put and Get generics so you stop using stringly typed keys and casting exceptions.</description><pubDate>Thu, 25 Feb 2010 00:00:00 GMT</pubDate></item><item><title>My CODE Magazine Article Is Live</title><link>https://donnfelker.com/my-code-magazine-article-is-live/</link><guid isPermaLink="true">https://donnfelker.com/my-code-magazine-article-is-live/</guid><description>My first CODE Magazine article is live, covering ASP.NET MVC with the Spark View Engine -- inline code, element constructs, partials, and layouts.</description><pubDate>Thu, 25 Feb 2010 00:00:00 GMT</pubDate><category>development</category></item><item><title>Spaghetti Code Podcast: Android Development</title><link>https://donnfelker.com/spaghetti-code-podcast-android-development/</link><guid isPermaLink="true">https://donnfelker.com/spaghetti-code-podcast-android-development/</guid><description>I joined the Spaghetti Code Podcast to talk Android development, mobile trends, and what Microsoft needed to do to compete in the mobile platform race.</description><pubDate>Tue, 23 Feb 2010 00:00:00 GMT</pubDate></item><item><title>Expanding Your Career: Mobile &amp; API Development</title><link>https://donnfelker.com/expanding-your-career-mobile-api-development/</link><guid isPermaLink="true">https://donnfelker.com/expanding-your-career-mobile-api-development/</guid><description>Why REST APIs and mobile development, not just mobile apps, are becoming central to a software developer&apos;s career, using Twitter as the example.</description><pubDate>Wed, 17 Feb 2010 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Google Buzz: First Impressions</title><link>https://donnfelker.com/google-buzz-first-impressions/</link><guid isPermaLink="true">https://donnfelker.com/google-buzz-first-impressions/</guid><description>First impressions of Google Buzz in 2010: a handy all-in-one inbox add-on, a privacy fiasco, and one more noisy input in an already crowded feed.</description><pubDate>Sat, 13 Feb 2010 00:00:00 GMT</pubDate></item><item><title>LINQ: ToLookup vs ToDictionary</title><link>https://donnfelker.com/linq-tolookup-vs-todictionary/</link><guid isPermaLink="true">https://donnfelker.com/linq-tolookup-vs-todictionary/</guid><description>ToLookup and ToDictionary look alike but behave differently: one allows duplicate keys, the other doesn&apos;t. Here&apos;s the difference with code.</description><pubDate>Fri, 12 Feb 2010 00:00:00 GMT</pubDate><category>development</category></item><item><title>M-Audio with Windows 7 64bit and Camtasia</title><link>https://donnfelker.com/m-audio-with-windows-7-64bit-and-camtasia/</link><guid isPermaLink="true">https://donnfelker.com/m-audio-with-windows-7-64bit-and-camtasia/</guid><description>M-Audio MobilePre went silent after upgrading to Windows 7 64-bit. Here&apos;s the driver fix that got my Camtasia screencast audio working again.</description><pubDate>Tue, 09 Feb 2010 00:00:00 GMT</pubDate></item><item><title>Medium Trust is a PITA</title><link>https://donnfelker.com/medium-trust-is-a-pita/</link><guid isPermaLink="true">https://donnfelker.com/medium-trust-is-a-pita/</guid><description>Medium Trust hosting turned a deleted controller reference into a 2.5-hour debugging nightmare. Why partial-trust .NET environments are a pain.</description><pubDate>Sun, 31 Jan 2010 00:00:00 GMT</pubDate></item><item><title>I&amp;rsquo;ve Moved to WordPress</title><link>https://donnfelker.com/ive-moved-to-wordpress/</link><guid isPermaLink="true">https://donnfelker.com/ive-moved-to-wordpress/</guid><description>Why a die-hard .NET developer moved his blog to WordPress -- BlogEngine.NET kept breaking on RackSpace Cloud, and it was time to use what works.</description><pubDate>Thu, 28 Jan 2010 00:00:00 GMT</pubDate><category>misc</category></item><item><title>New DimeCast: Spark Partials Part 2</title><link>https://donnfelker.com/new-dimecast-spark-partials-part-2/</link><guid isPermaLink="true">https://donnfelker.com/new-dimecast-spark-partials-part-2/</guid><description>Part 2 of the Spark View Engine Partials DimeCast digs deeper into undocumented features for building clean, well organized views.</description><pubDate>Thu, 28 Jan 2010 00:00:00 GMT</pubDate><category>development</category></item><item><title>MVC vs. WebForms. Stop It.</title><link>https://donnfelker.com/mvc-vs-webforms-stop-it/</link><guid isPermaLink="true">https://donnfelker.com/mvc-vs-webforms-stop-it/</guid><description>Stop the ASP.NET MVC vs WebForms flame war -- pick whatever ships working software fastest for the team and problem in front of you.</description><pubDate>Fri, 22 Jan 2010 00:00:00 GMT</pubDate><category>development</category></item><item><title>GiveCamp 2010 A Success</title><link>https://donnfelker.com/givecamp-2010-a-success/</link><guid isPermaLink="true">https://donnfelker.com/givecamp-2010-a-success/</guid><description>Recapping the first Twin Cities GiveCamp, a weekend where volunteer developers built a free software solution for the Animal Humane Society.</description><pubDate>Mon, 18 Jan 2010 00:00:00 GMT</pubDate></item><item><title>Shortcut: Including a Namespace</title><link>https://donnfelker.com/shortcut-including-a-namespace/</link><guid isPermaLink="true">https://donnfelker.com/shortcut-including-a-namespace/</guid><description>Without ReSharper, the Visual Studio shortcut to auto-include a missing namespace changed in VS2010: it&apos;s now Ctrl+. instead of Shift+Alt+F10.</description><pubDate>Mon, 11 Jan 2010 00:00:00 GMT</pubDate></item><item><title>FIX: Failed to Generate a User Instance …</title><link>https://donnfelker.com/fix-failed-to-generate-a-user-instance/</link><guid isPermaLink="true">https://donnfelker.com/fix-failed-to-generate-a-user-instance/</guid><description>Fix for SQL Server&apos;s failed to generate a user instance error: run your IIS app pool under an account with rights to create the DB.</description><pubDate>Sun, 10 Jan 2010 00:00:00 GMT</pubDate><category>development</category></item><item><title>New DimeCast Is Up: Spark Partials Part 1</title><link>https://donnfelker.com/new-dimecast-is-up-spark-partials-part-1/</link><guid isPermaLink="true">https://donnfelker.com/new-dimecast-is-up-spark-partials-part-1/</guid><description>New DimeCast, part 1 of 2, covers using Partials in the Spark View Engine to keep your views clean, compartmentalized, and organized.</description><pubDate>Sat, 09 Jan 2010 00:00:00 GMT</pubDate><category>development</category></item><item><title>New DimeCast is Up</title><link>https://donnfelker.com/new-dimecast-is-up/</link><guid isPermaLink="true">https://donnfelker.com/new-dimecast-is-up/</guid><description>New DimeCast covers Named Content Areas in the Spark View Engine and how to use them to keep your view content organized and structured.</description><pubDate>Tue, 29 Dec 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>Suspending Resharper 5</title><link>https://donnfelker.com/suspending-resharper-5/</link><guid isPermaLink="true">https://donnfelker.com/suspending-resharper-5/</guid><description>ReSharper 5 replaced the old disable toggle with Suspend - here&apos;s how to map it to a shortcut so huge generated files don&apos;t lock up your IDE.</description><pubDate>Fri, 04 Dec 2009 00:00:00 GMT</pubDate><category>development</category><category>misc</category></item><item><title>Android Tip: Watch Screen Sizes</title><link>https://donnfelker.com/android-tip-watch-screen-sizes/</link><guid isPermaLink="true">https://donnfelker.com/android-tip-watch-screen-sizes/</guid><description>With more Android phones shipping in different screen sizes and densities, test your app across all of them in the emulator, not just one.</description><pubDate>Sat, 07 Nov 2009 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Frugally Increasing Employee Moral</title><link>https://donnfelker.com/frugally-increasing-employee-moral/</link><guid isPermaLink="true">https://donnfelker.com/frugally-increasing-employee-moral/</guid><description>Cutting free coffee and soda to save a few bucks tanks morale far more than it saves. Cheap perks are a cheap insurance policy on retention.</description><pubDate>Sat, 07 Nov 2009 00:00:00 GMT</pubDate></item><item><title>Sending Email Through .NET Blog Engine on RackSpace Cloud</title><link>https://donnfelker.com/sending-email-through-net-blog-engine-on-rackspace-cloud/</link><guid isPermaLink="true">https://donnfelker.com/sending-email-through-net-blog-engine-on-rackspace-cloud/</guid><description>BlogEngine.NET contact form email silently failing on Rackspace Cloud? Here&apos;s the exact SMTP auth, port, and user settings that actually work.</description><pubDate>Wed, 04 Nov 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>TCCC7 Materials</title><link>https://donnfelker.com/tccc7-materials/</link><guid isPermaLink="true">https://donnfelker.com/tccc7-materials/</guid><description>Below are the materials from my Twin Cities Code Camp 7 Presentation. Both code and PowerPoint are included. Enjoy! Code (~6MB) PowerPoint (489K)</description><pubDate>Tue, 27 Oct 2009 00:00:00 GMT</pubDate></item><item><title>Twin Cities Code Camp 7</title><link>https://donnfelker.com/twin-cities-code-camp-7/</link><guid isPermaLink="true">https://donnfelker.com/twin-cities-code-camp-7/</guid><description>Speaking at Twin Cities Code Camp 7 on ASP.NET MVC with the Spark View Engine, a free event at the U of M. Register ahead of time.</description><pubDate>Thu, 22 Oct 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>Materials from HDC09 – Testing With Mocks Talk</title><link>https://donnfelker.com/materials-from-hdc09-testing-with-mocks-talk/</link><guid isPermaLink="true">https://donnfelker.com/materials-from-hdc09-testing-with-mocks-talk/</guid><description>Slides and buildable source code from my Testing With Mocks lightning talk at Heartland Developers Conference, built around TypeMock Isolator.</description><pubDate>Sun, 18 Oct 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>Twin Cities Dev. Guild – Testing With Mocks Materials</title><link>https://donnfelker.com/twin-cities-dev-guild-testing-with-mocks-materials/</link><guid isPermaLink="true">https://donnfelker.com/twin-cities-dev-guild-testing-with-mocks-materials/</guid><description>Slides and code from my Testing with Mocks talk at the Twin Cities Developers Guild. You&apos;ll need TypeMock installed to build the sample.</description><pubDate>Fri, 16 Oct 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>Materials from HDC 09 – Spark View Engine Talk</title><link>https://donnfelker.com/materials-from-hdc-09-spark-view-engine-talk/</link><guid isPermaLink="true">https://donnfelker.com/materials-from-hdc-09-spark-view-engine-talk/</guid><description>Download the slides and full demo code from my Heartland Developers Conference 2009 talk on ASP.NET MVC with the Spark View Engine.</description><pubDate>Thu, 15 Oct 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>MDC 2009 – Presentation</title><link>https://donnfelker.com/mdc-2009-presentation/</link><guid isPermaLink="true">https://donnfelker.com/mdc-2009-presentation/</guid><description>Slides and source code from my MDC 2009 talk on ASP.NET MVC with the Spark View Engine. The original screencast has since been retired.</description><pubDate>Mon, 12 Oct 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>MDC 2009 Presentation</title><link>https://donnfelker.com/mdc-2009-presentation-2/</link><guid isPermaLink="true">https://donnfelker.com/mdc-2009-presentation-2/</guid><description>Our projector died mid-talk at MDC 2009, so here&apos;s the full screen recording, slides, and source code for the Spark View Engine session.</description><pubDate>Mon, 12 Oct 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>I’m an ASP Insider</title><link>https://donnfelker.com/im-an-asp-insider/</link><guid isPermaLink="true">https://donnfelker.com/im-an-asp-insider/</guid><description>Announcing that I&apos;ve joined the ASP Insiders, a small group of developers giving Microsoft&apos;s ASP.NET product teams direct feedback and access.</description><pubDate>Sat, 10 Oct 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>TypeMock 5.3.5 – WasCalledWithArguments</title><link>https://donnfelker.com/typemock-5-3-5-wascalledwitharguments/</link><guid isPermaLink="true">https://donnfelker.com/typemock-5-3-5-wascalledwitharguments/</guid><description>TypeMock Isolator 5.3.5 finally adds WasCalledWithArguments, letting you assert mock call arguments the way Rhino Mocks always could.</description><pubDate>Mon, 21 Sep 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>An Article Every Manager, VC and Angel Investor Should Read</title><link>https://donnfelker.com/an-article-every-manager-vc-and-angel-investor-should-read/</link><guid isPermaLink="true">https://donnfelker.com/an-article-every-manager-vc-and-angel-investor-should-read/</guid><description>Paul Graham&apos;s Maker&apos;s Schedule vs. Manager&apos;s Schedule explains why meeting-packed days kill developer output -- required reading for anyone who schedules devs.</description><pubDate>Tue, 25 Aug 2009 00:00:00 GMT</pubDate></item><item><title>Mobile Software Development</title><link>https://donnfelker.com/mobile-software-development/</link><guid isPermaLink="true">https://donnfelker.com/mobile-software-development/</guid><description>Why a .NET developer dove into Android in 2009: mobile is the future, relearning Java, and getting Android talking to .NET over REST/JSON.</description><pubDate>Fri, 21 Aug 2009 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Android &amp; ASP.NET MVC</title><link>https://donnfelker.com/android-asp-net-mvc/</link><guid isPermaLink="true">https://donnfelker.com/android-asp-net-mvc/</guid><description>Paired Android with ASP.NET MVC and Spark to build a REST/JSON backend instead of wrestling with WCF&apos;s REST implementation -- worked great.</description><pubDate>Wed, 19 Aug 2009 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Auto-Creating Your DB with Active Record</title><link>https://donnfelker.com/auto-creating-your-db-with-active-record/</link><guid isPermaLink="true">https://donnfelker.com/auto-creating-your-db-with-active-record/</guid><description>How to auto-create a SQL Express database and schema on the fly with Castle ActiveRecord, so new devs can spin up a working DB with zero setup pain.</description><pubDate>Mon, 13 Jul 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>ASP.NET MVC – Windsor Container Controller Factory</title><link>https://donnfelker.com/asp-net-mvc-windsor-container-controller-factory/</link><guid isPermaLink="true">https://donnfelker.com/asp-net-mvc-windsor-container-controller-factory/</guid><description>How to build a custom ASP.NET MVC ControllerFactory backed by the Windsor container, so controllers can take dependencies via constructor injection.</description><pubDate>Fri, 10 Jul 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>Unit Testing you Container Dependencies</title><link>https://donnfelker.com/unit-testing-you-container-dependencies/</link><guid isPermaLink="true">https://donnfelker.com/unit-testing-you-container-dependencies/</guid><description>A unit test that catches missing Castle Windsor container registrations before runtime, by walking every handler and forcing resolution.</description><pubDate>Fri, 10 Jul 2009 00:00:00 GMT</pubDate></item><item><title>A True Life Git Story …</title><link>https://donnfelker.com/a-true-life-git-story-%e2%80%a6/</link><guid isPermaLink="true">https://donnfelker.com/a-true-life-git-story-%e2%80%a6/</guid><description>A week with zero WiFi in rural South Carolina turned me into a Git convert -- full branch, merge, and revert history with no connection required.</description><pubDate>Tue, 07 Jul 2009 00:00:00 GMT</pubDate></item><item><title>Running Your Android App on a Device</title><link>https://donnfelker.com/running-your-android-app-on-a-device/</link><guid isPermaLink="true">https://donnfelker.com/running-your-android-app-on-a-device/</guid><description>The Android dev guide&apos;s device-testing steps left out one thing: switching Eclipse&apos;s Run Configuration target to manual to get the device chooser.</description><pubDate>Mon, 29 Jun 2009 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Could Not Import Contacts Into G1 From CSV…</title><link>https://donnfelker.com/could-not-import-contacts-into-g1-from-csv%e2%80%a6/</link><guid isPermaLink="true">https://donnfelker.com/could-not-import-contacts-into-g1-from-csv%e2%80%a6/</guid><description>Google Contacts CSV import silently dumps phone numbers into Notes unless you fill the Section 1/2 Description fields with &apos;Personal&apos;.</description><pubDate>Fri, 26 Jun 2009 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Twin Cities Pragmatic/ALT.NET Beer Tomorrow</title><link>https://donnfelker.com/twin-cities-pragmaticalt-net-beer-tomorrow/</link><guid isPermaLink="true">https://donnfelker.com/twin-cities-pragmaticalt-net-beer-tomorrow/</guid><description>Reminder: the Twin Cities Pragmatic Beer meetup, also known as Twin Cities ALT.NET Beers, happens tomorrow at the Herkimer in Uptown Minneapolis.</description><pubDate>Wed, 24 Jun 2009 00:00:00 GMT</pubDate></item><item><title>LINQ: Single() vs First()</title><link>https://donnfelker.com/linq-single-vs-first/</link><guid isPermaLink="true">https://donnfelker.com/linq-single-vs-first/</guid><description>First() and Single() look similar but throw under different conditions. A quick reference table for when each LINQ method fails or succeeds.</description><pubDate>Tue, 23 Jun 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>LINQ: Any() vs. Count()</title><link>https://donnfelker.com/linq-any-vs-count/</link><guid isPermaLink="true">https://donnfelker.com/linq-any-vs-count/</guid><description>Checking Count() &gt; 0 enumerates your whole LINQ sequence. Any() stops at the first match. Here&apos;s why that swap matters for performance.</description><pubDate>Mon, 22 Jun 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>Beginning Google Android Development</title><link>https://donnfelker.com/beginning-google-android-development/</link><guid isPermaLink="true">https://donnfelker.com/beginning-google-android-development/</guid><description>First steps into Android development with Eclipse, the ADT plugin, and the emulator, plus early plans to experiment with the accelerometer.</description><pubDate>Fri, 19 Jun 2009 00:00:00 GMT</pubDate><category>mobile</category></item><item><title>Hangin’ in the Lounge</title><link>https://donnfelker.com/hangin%e2%80%99-in-the-lounge/</link><guid isPermaLink="true">https://donnfelker.com/hangin%e2%80%99-in-the-lounge/</guid><description>Why I picked The Lounge as my blog&apos;s exclusive ad network over the big clunky banners I&apos;d used before, and how the deal came together.</description><pubDate>Fri, 19 Jun 2009 00:00:00 GMT</pubDate><category>misc</category></item><item><title>New DimeCast: Exploring Expressions with Spark</title><link>https://donnfelker.com/new-dimecast-exploring-expressions-with-spark/</link><guid isPermaLink="true">https://donnfelker.com/new-dimecast-exploring-expressions-with-spark/</guid><description>New DimeCast covers using expressions in the Spark View Engine, from simple math-based expressions up to nested if-then-else logic in views.</description><pubDate>Thu, 18 Jun 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>ASP.NET MVC without Installing the MVC Bits</title><link>https://donnfelker.com/asp-net-mvc-without-installing-the-mvc-bits/</link><guid isPermaLink="true">https://donnfelker.com/asp-net-mvc-without-installing-the-mvc-bits/</guid><description>Can&apos;t open an ASP.NET MVC project without the full MVC bits installed? Strip the MVC ProjectTypeGuid from the csproj file and fix your references.</description><pubDate>Tue, 16 Jun 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>New DimeCast: Exploring how to use Global Vars &amp; View Data in Spark</title><link>https://donnfelker.com/new-dimecast-exploring-how-to-use-global-vars-view-data-in-spark/</link><guid isPermaLink="true">https://donnfelker.com/new-dimecast-exploring-how-to-use-global-vars-view-data-in-spark/</guid><description>New DimeCast on the Spark View Engine covers global and local variables, plus strongly typed and weakly typed ViewData in your views.</description><pubDate>Thu, 11 Jun 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>Auditing with Castle Active Record</title><link>https://donnfelker.com/auditing-with-castle-active-record/</link><guid isPermaLink="true">https://donnfelker.com/auditing-with-castle-active-record/</guid><description>How to audit every save, update, and delete in Castle ActiveRecord using an NHibernate interceptor, without touching a single line of existing code.</description><pubDate>Tue, 09 Jun 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>Bing Ringtone – The Remix</title><link>https://donnfelker.com/bing-ringtone-the-remix/</link><guid isPermaLink="true">https://donnfelker.com/bing-ringtone-the-remix/</guid><description>A remix of Bing&apos;s original ringtones, made because the real ones sounded far too soft and cutesy for a company trying to take over search engines.</description><pubDate>Fri, 05 Jun 2009 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Presenting at the Minneapolis ALT.NET</title><link>https://donnfelker.com/presenting-at-the-minneapolis-alt-net/</link><guid isPermaLink="true">https://donnfelker.com/presenting-at-the-minneapolis-alt-net/</guid><description>Giving my Testing with Mocks talk at the Minneapolis ALT.NET meeting on September 17th. Space is limited, so sign up on the site early.</description><pubDate>Fri, 05 Jun 2009 00:00:00 GMT</pubDate></item><item><title>Running the M-Audio Mobile-Pre under Windows 7 RC</title><link>https://donnfelker.com/running-the-m-audio-mobile-pre-under-windows-7-rc/</link><guid isPermaLink="true">https://donnfelker.com/running-the-m-audio-mobile-pre-under-windows-7-rc/</guid><description>The M-Audio Mobile-Pre&apos;s Vista driver won&apos;t install on Windows 7 RC as-is. Running the installer in Vista compatibility mode gets it working.</description><pubDate>Fri, 05 Jun 2009 00:00:00 GMT</pubDate><category>misc</category></item><item><title>DimeCast – Adding Intellisense to your ASP.NET MVC Spark Project</title><link>https://donnfelker.com/dimecast-%e2%80%93-adding-intellisense-to-your-asp-net-mvc-spark-project/</link><guid isPermaLink="true">https://donnfelker.com/dimecast-%e2%80%93-adding-intellisense-to-your-asp-net-mvc-spark-project/</guid><description>A new DimeCast screencast shows exactly how to get Intellisense working in Visual Studio 2008 with the Spark View Engine for ASP.NET MVC.</description><pubDate>Thu, 04 Jun 2009 00:00:00 GMT</pubDate></item><item><title>Spark View Engine @ the Minneapolis ALT.NET Meeting – June 18th @ 6pm</title><link>https://donnfelker.com/spark-view-engine-the-minneapolis-alt-net-meeting-%e2%80%93-june-18th-6pm/</link><guid isPermaLink="true">https://donnfelker.com/spark-view-engine-the-minneapolis-alt-net-meeting-%e2%80%93-june-18th-6pm/</guid><description>Louis DeJardin is giving an intro to the Spark View Engine at the Minneapolis ALT.NET meeting, June 18th at 6pm - registration required, space limited.</description><pubDate>Tue, 02 Jun 2009 00:00:00 GMT</pubDate></item><item><title>Setting up a Default Sequence Template for the MPC1000</title><link>https://donnfelker.com/setting-up-a-default-sequence-template-for-the-mpc1000/</link><guid isPermaLink="true">https://donnfelker.com/setting-up-a-default-sequence-template-for-the-mpc1000/</guid><description>Tired of renaming the same MPC1000 tracks every session? Save a named template sequence to the AUTOLOAD folder so it loads automatically at boot.</description><pubDate>Sun, 31 May 2009 00:00:00 GMT</pubDate></item><item><title>Spark Part 1 DimeCast Amendment</title><link>https://donnfelker.com/spark-part-1-dimecast-amendment/</link><guid isPermaLink="true">https://donnfelker.com/spark-part-1-dimecast-amendment/</guid><description>A correction to my Spark View Engine DimeCast: running ASP.NET MVC on IIS 7 needs extra UrlRoutingModule and UrlRouting.axd entries in web.config.</description><pubDate>Fri, 29 May 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>Saying Hello to the Spark View Engine</title><link>https://donnfelker.com/saying-hello-to-the-spark-view-engine/</link><guid isPermaLink="true">https://donnfelker.com/saying-hello-to-the-spark-view-engine/</guid><description>The first episode of a new DimeCasts.net screencast series introducing the Spark View Engine for ASP.NET MVC development is now live and posted.</description><pubDate>Wed, 27 May 2009 00:00:00 GMT</pubDate><category>screencasts</category></item><item><title>Code Review Tip: Using the ‘warning’ Preprocessor Directive</title><link>https://donnfelker.com/code-review-tip-using-the-warning-preprocessor-directive/</link><guid isPermaLink="true">https://donnfelker.com/code-review-tip-using-the-warning-preprocessor-directive/</guid><description>Using C#&apos;s #warning preprocessor directive to flag remote code review feedback so it shows up as a build warning instead of getting lost in email.</description><pubDate>Tue, 26 May 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>Updated Visual Studio Settings</title><link>https://donnfelker.com/updated-visual-studio-settings/</link><guid isPermaLink="true">https://donnfelker.com/updated-visual-studio-settings/</guid><description>Updated my dark Visual Studio theme settings to properly support Spark View Engine syntax highlighting, with a free download included.</description><pubDate>Tue, 26 May 2009 00:00:00 GMT</pubDate></item><item><title>Booting to a VHD</title><link>https://donnfelker.com/booting-to-a-vhd/</link><guid isPermaLink="true">https://donnfelker.com/booting-to-a-vhd/</guid><description>A quick pointer to Hanselman&apos;s writeup on booting Windows directly from a VHD, handy for anyone who runs all their development inside a VM.</description><pubDate>Fri, 22 May 2009 00:00:00 GMT</pubDate></item><item><title>Twin Cities Pragmatic Beer Tonight</title><link>https://donnfelker.com/twin-cities-pragmatic-beer-tonight/</link><guid isPermaLink="true">https://donnfelker.com/twin-cities-pragmatic-beer-tonight/</guid><description>Its tonight at Kierans in Downtown Minneapolis. See you there! More info here.</description><pubDate>Thu, 21 May 2009 00:00:00 GMT</pubDate></item><item><title>The new MarketWatch.com</title><link>https://donnfelker.com/the-new-marketwatch-com/</link><guid isPermaLink="true">https://donnfelker.com/the-new-marketwatch-com/</guid><description>After 5+ months and an NDA, I can finally share that I helped lead the Magenic team behind the complete ASP.NET MVC overhaul of MarketWatch.com.</description><pubDate>Mon, 18 May 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>MVC HtmlHelper.ActionLink with Css Class</title><link>https://donnfelker.com/mvc-htmlhelper-actionlink-with-css-class/</link><guid isPermaLink="true">https://donnfelker.com/mvc-htmlhelper-actionlink-with-css-class/</guid><description>ASP.NET MVC&apos;s HtmlHelper.ActionLink chokes on class as a reserved word in htmlAttributes -- use @class instead and your CSS class renders fine.</description><pubDate>Thu, 14 May 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>Productivity Boost: The SVN Switch Command</title><link>https://donnfelker.com/productivity-boost-the-svn-switch-command/</link><guid isPermaLink="true">https://donnfelker.com/productivity-boost-the-svn-switch-command/</guid><description>Switching branches by re-checking out a huge SVN tree wastes time. The svn switch command repoints your working copy in seconds, not minutes.</description><pubDate>Mon, 11 May 2009 00:00:00 GMT</pubDate></item><item><title>New Twin Cities Pragmatic Beer Events</title><link>https://donnfelker.com/new-twin-cities-pragmatic-beer-events/</link><guid isPermaLink="true">https://donnfelker.com/new-twin-cities-pragmatic-beer-events/</guid><description>Two new Twin Cities Pragmatic Beer meetups are on the calendar: a repeat at Kierans Irish Pub and a June gathering at The Herkimer.</description><pubDate>Fri, 08 May 2009 00:00:00 GMT</pubDate></item><item><title>Tonight, ReMix</title><link>https://donnfelker.com/tonight-remix/</link><guid isPermaLink="true">https://donnfelker.com/tonight-remix/</guid><description>Last week, I posted info about the reMix event happening here in Minneapolis. It&apos;s tonight! Don&apos;t forget! See you there.</description><pubDate>Fri, 08 May 2009 00:00:00 GMT</pubDate></item><item><title>Dual Monitor Support for Windows 7 RC Dell D630</title><link>https://donnfelker.com/dual-monitor-support-for-windows-7-rc-dell-d630/</link><guid isPermaLink="true">https://donnfelker.com/dual-monitor-support-for-windows-7-rc-dell-d630/</guid><description>Dual monitor support broken after installing Windows 7 RC on a Dell D630 laptop? Here&apos;s the exact video driver that fixes it for good.</description><pubDate>Thu, 07 May 2009 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Castle Windsor 2.0 RTM</title><link>https://donnfelker.com/castle-windsor-2-0-rtm/</link><guid isPermaLink="true">https://donnfelker.com/castle-windsor-2-0-rtm/</guid><description>Castle Windsor 2.0 has finally RTM&apos;d after years of running off the trunk build. A quick note on the release and where to grab the new bits.</description><pubDate>Wed, 06 May 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>ASPNET MVC IIS7 and Bad Request</title><link>https://donnfelker.com/aspnet-mvc-iis7-and-bad-request/</link><guid isPermaLink="true">https://donnfelker.com/aspnet-mvc-iis7-and-bad-request/</guid><description>Custom 404 handling working in Cassini but IIS7 returns Bad Request instead? Unlock the httpErrors config section with appcmd to fix it.</description><pubDate>Fri, 01 May 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>reMix Event in Minneapolis</title><link>https://donnfelker.com/remix-event-in-minneapolis/</link><guid isPermaLink="true">https://donnfelker.com/remix-event-in-minneapolis/</guid><description>A Minneapolis .NET/Silverlight user group meetup recapping MIX09 highlights, Silverlight 3, Expression Blend 3, plus a private Star Trek screening.</description><pubDate>Fri, 01 May 2009 00:00:00 GMT</pubDate></item><item><title>NCover Hangs on Configuring Profiler…</title><link>https://donnfelker.com/ncover-hangs-on-configuring-profiler/</link><guid isPermaLink="true">https://donnfelker.com/ncover-hangs-on-configuring-profiler/</guid><description>NCover 1.5.8 hangs at Configuring Profiler on a large 53-project solution. The fix: switch to a licensed NCover 2 build for your CI server.</description><pubDate>Wed, 22 Apr 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>Twin Cities Give Camp Postponed</title><link>https://donnfelker.com/twin-cities-give-camp-postponed/</link><guid isPermaLink="true">https://donnfelker.com/twin-cities-give-camp-postponed/</guid><description>It has been moved to November 14th and 15th of 2009. Why? Get the inside scoop here.</description><pubDate>Tue, 21 Apr 2009 00:00:00 GMT</pubDate></item><item><title>Finding App_Data Programmatically</title><link>https://donnfelker.com/finding-app_data-programmatically/</link><guid isPermaLink="true">https://donnfelker.com/finding-app_data-programmatically/</guid><description>Server.MapPath breaks in unit tests. Here&apos;s the AppDomain.CurrentDomain.GetData trick to find your ASP.NET MVC App_Data path anywhere.</description><pubDate>Tue, 14 Apr 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>IoC Auto Registration &amp; Setter Injection</title><link>https://donnfelker.com/ioc-auto-registration-setter-injection/</link><guid isPermaLink="true">https://donnfelker.com/ioc-auto-registration-setter-injection/</guid><description>How to inject a single config-driven property into one auto-registered controller in your IoC container without touching all the others.</description><pubDate>Mon, 13 Apr 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>A Very Cool WCF Tool: WCFTestClient.exe</title><link>https://donnfelker.com/a-very-cool-wcf-tool-wcftestclient-exe/</link><guid isPermaLink="true">https://donnfelker.com/a-very-cool-wcf-tool-wcftestclient-exe/</guid><description>WcfTestClient.exe, bundled with Visual Studio, lets you invoke and test any WCF service endpoint without writing a client or generating a proxy.</description><pubDate>Fri, 10 Apr 2009 00:00:00 GMT</pubDate></item><item><title>Sending &amp; Receiving Large Files</title><link>https://donnfelker.com/sending-receiving-large-files/</link><guid isPermaLink="true">https://donnfelker.com/sending-receiving-large-files/</guid><description>Sending gigabytes of studio session files to collaborators without an FTP server: how I split, upload, and download large file batches.</description><pubDate>Thu, 09 Apr 2009 00:00:00 GMT</pubDate></item><item><title>Featured in the Spaghetti Code Podcast</title><link>https://donnfelker.com/featured-in-the-spaghetti-code-podcast/</link><guid isPermaLink="true">https://donnfelker.com/featured-in-the-spaghetti-code-podcast/</guid><description>Donn talks mocking, testing, and day-to-day development practices in an interview on the Spaghetti Code Podcast with Microsoft&apos;s Jeff Brand.</description><pubDate>Tue, 07 Apr 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>TCCC6 Video Interview</title><link>https://donnfelker.com/tccc6-video-interview/</link><guid isPermaLink="true">https://donnfelker.com/tccc6-video-interview/</guid><description>Twin Cities Code Camp organizer Jason Bock caught me on camera again for a video interview, plus a short clip from my session at the event.</description><pubDate>Tue, 07 Apr 2009 00:00:00 GMT</pubDate></item><item><title>Twin Cities Code Camp 6 – Testing with Mocks – Code and Presentation</title><link>https://donnfelker.com/twin-cities-code-camp-6-%e2%80%93-testing-with-mocks-%e2%80%93-code-and-presentation/</link><guid isPermaLink="true">https://donnfelker.com/twin-cities-code-camp-6-%e2%80%93-testing-with-mocks-%e2%80%93-code-and-presentation/</guid><description>Code and slides from my Testing with Mocks talk at Twin Cities Code Camp 6, including the TypeMock Isolator examples used in the demo.</description><pubDate>Sat, 04 Apr 2009 00:00:00 GMT</pubDate></item><item><title>Presentation Settings for Visual Studio</title><link>https://donnfelker.com/presentation-settings-for-visual-studio/</link><guid isPermaLink="true">https://donnfelker.com/presentation-settings-for-visual-studio/</guid><description>A downloadable Visual Studio settings file with 16pt fonts everywhere, so your audience can actually read your code during a talk.</description><pubDate>Fri, 03 Apr 2009 00:00:00 GMT</pubDate><category>screencasts</category></item><item><title>How to Use Rhinos AssertWasNotCalled</title><link>https://donnfelker.com/how-to-use-rhinos-assertwasnotcalled/</link><guid isPermaLink="true">https://donnfelker.com/how-to-use-rhinos-assertwasnotcalled/</guid><description>How to use Rhino Mocks&apos; AssertWasNotCalled to prove a service method never fires when validation fails, with a working ASP.NET MVC example.</description><pubDate>Mon, 30 Mar 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>Castle ActiveRecord – NonUniqueObjectException</title><link>https://donnfelker.com/castle-activerecord-nonuniqueobjectexception/</link><guid isPermaLink="true">https://donnfelker.com/castle-activerecord-nonuniqueobjectexception/</guid><description>Fixing Castle ActiveRecord&apos;s NonUniqueObjectException by evicting a cached NHibernate object from the session after you&apos;re done reading it.</description><pubDate>Sun, 29 Mar 2009 00:00:00 GMT</pubDate></item><item><title>Nine Questions with Me</title><link>https://donnfelker.com/nine-questions-with-me/</link><guid isPermaLink="true">https://donnfelker.com/nine-questions-with-me/</guid><description>I sat down for Chris G. Williams&apos; long-running Nine Questions interview series, joining a list of some pretty notable names. Here&apos;s the interview.</description><pubDate>Thu, 26 Mar 2009 00:00:00 GMT</pubDate></item><item><title>A New Development Term: Blackfield Development</title><link>https://donnfelker.com/a-new-development-term-blackfield-development/</link><guid isPermaLink="true">https://donnfelker.com/a-new-development-term-blackfield-development/</guid><description>Brownfield development gone nightmare mode: legacy code so obscure and untested even its original authors can&apos;t explain it. I call it blackfield development.</description><pubDate>Wed, 25 Mar 2009 00:00:00 GMT</pubDate><category>misc</category></item><item><title>ASP.NET App – is not a valid Win32 application</title><link>https://donnfelker.com/asp-net-app-is-not-a-valid-win32-application/</link><guid isPermaLink="true">https://donnfelker.com/asp-net-app-is-not-a-valid-win32-application/</guid><description>Getting is not a valid Win32 application on an ASP.NET MVC app under IIS7? Enable 32-Bit Applications in the app pool&apos;s advanced settings.</description><pubDate>Tue, 24 Mar 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>Cool YouTube Tip : Seek</title><link>https://donnfelker.com/cool-youtube-tip-seek/</link><guid isPermaLink="true">https://donnfelker.com/cool-youtube-tip-seek/</guid><description>Quick YouTube trick: append #t=2m13s to any URL to jump straight to that timestamp, and use the start parameter when embedding videos.</description><pubDate>Fri, 20 Mar 2009 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Unit Testing JsonResult in MVC</title><link>https://donnfelker.com/unit-testing-jsonresult-in-mvc/</link><guid isPermaLink="true">https://donnfelker.com/unit-testing-jsonresult-in-mvc/</guid><description>A simple trick for unit testing JsonResult in ASP.NET MVC: cast the anonymous type to a RouteValueDictionary and assert on its keys.</description><pubDate>Fri, 20 Mar 2009 00:00:00 GMT</pubDate></item><item><title>AHK Script for Enabling/Disabling Spark Intellisense</title><link>https://donnfelker.com/ahk-script-for-enablingdisabling-spark-intellisense/</link><guid isPermaLink="true">https://donnfelker.com/ahk-script-for-enablingdisabling-spark-intellisense/</guid><description>An AutoHotkey script that toggles Visual Studio between ReSharper and Spark View Engine intellisense with one keyboard shortcut, no manual menu digging.</description><pubDate>Mon, 02 Mar 2009 00:00:00 GMT</pubDate></item><item><title>An Exercise in Managing the Measurements</title><link>https://donnfelker.com/an-exercise-in-managing-the-measurements/</link><guid isPermaLink="true">https://donnfelker.com/an-exercise-in-managing-the-measurements/</guid><description>NCover only profiles assemblies touched during test runs, so untested code vanishes from coverage reports. Here&apos;s the hack that forces it to load everything.</description><pubDate>Thu, 19 Feb 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>Build Report Will Not Show in CCNET</title><link>https://donnfelker.com/build-report-will-not-show-in-ccnet/</link><guid isPermaLink="true">https://donnfelker.com/build-report-will-not-show-in-ccnet/</guid><description>A CruiseControl.NET gotcha: adding NCoverExplorer to dashboard.config needs both a CCNET service restart and an IIS reset, or the report never shows.</description><pubDate>Thu, 12 Feb 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>Fluent Func/Expression Reflector</title><link>https://donnfelker.com/fluent-funcexpression-reflector/</link><guid isPermaLink="true">https://donnfelker.com/fluent-funcexpression-reflector/</guid><description>A reader&apos;s cleaner take on getting property and method names via C# Expression/Func reflection, wrapped in a fluent, static NameOf&lt;T&gt; helper.</description><pubDate>Thu, 12 Feb 2009 00:00:00 GMT</pubDate></item><item><title>Using Expressions and Func as a Reflection Tool</title><link>https://donnfelker.com/using-expressions-and-func-as-a-reflection-tool/</link><guid isPermaLink="true">https://donnfelker.com/using-expressions-and-func-as-a-reflection-tool/</guid><description>Tired of magic string column names in Castle Active Record queries? Use Expression&lt;Func&lt;T&gt;&gt; lambdas to resolve property names at compile time.</description><pubDate>Tue, 10 Feb 2009 00:00:00 GMT</pubDate></item><item><title>Excluding Integration Tests from your Automated Build</title><link>https://donnfelker.com/excluding-integration-tests-from-your-automated-build/</link><guid isPermaLink="true">https://donnfelker.com/excluding-integration-tests-from-your-automated-build/</guid><description>How to tag tests as Integration and exclude them from your CruiseControl.NET build using NUnit categories and the NAnt NUnit2 task.</description><pubDate>Mon, 09 Feb 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>Cannot Install Programs on Virtual PC</title><link>https://donnfelker.com/cannot-install-programs-on-virtual-pc/</link><guid isPermaLink="true">https://donnfelker.com/cannot-install-programs-on-virtual-pc/</guid><description>A fix for Virtual PC installs hanging forever after joining a domain: uninstall the Virtual Machine Additions, install your app, then reinstall them.</description><pubDate>Mon, 02 Feb 2009 00:00:00 GMT</pubDate></item><item><title>MNGroups</title><link>https://donnfelker.com/mngroups/</link><guid isPermaLink="true">https://donnfelker.com/mngroups/</guid><description>I started MNGroups, a single Google Group uniting the Twin Cities&apos; scattered tech meetups so we can collaborate across community lines.</description><pubDate>Fri, 30 Jan 2009 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Introducing Twin Cities Pragmatic Beer</title><link>https://donnfelker.com/introducing-twin-cities-pragmatic-beer/</link><guid isPermaLink="true">https://donnfelker.com/introducing-twin-cities-pragmatic-beer/</guid><description>Launching Twin Cities Pragmatic Beer, a casual no-RSVP happy hour where technologists on any stack show up to a local pub and talk shop.</description><pubDate>Wed, 28 Jan 2009 00:00:00 GMT</pubDate></item><item><title>My ReSharper Templates</title><link>https://donnfelker.com/my-resharper-templates/</link><guid isPermaLink="true">https://donnfelker.com/my-resharper-templates/</guid><description>Free ReSharper live templates and file templates for NUnit tests and Rhino Mocks, built on Bellware&apos;s snippets plus my own additions. Downloadable.</description><pubDate>Sat, 24 Jan 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>New Dime Cast up</title><link>https://donnfelker.com/new-dime-cast-up/</link><guid isPermaLink="true">https://donnfelker.com/new-dime-cast-up/</guid><description>I’ve got another Dime Cast up here. The theme of this Dime Cast is Learning how to consume a WCF Service. View the Dime Cast here.</description><pubDate>Thu, 22 Jan 2009 00:00:00 GMT</pubDate><category>screencasts</category></item><item><title>PowerShell TFS WorkSpace Initialization Script</title><link>https://donnfelker.com/powershell-tfs-workspace-initialization-script/</link><guid isPermaLink="true">https://donnfelker.com/powershell-tfs-workspace-initialization-script/</guid><description>A PowerShell script that automates TFS workspace setup for new developers, so they don&apos;t have to learn workspace mapping by trial and error.</description><pubDate>Thu, 22 Jan 2009 00:00:00 GMT</pubDate></item><item><title>ASP.NET MVC Managed Requests</title><link>https://donnfelker.com/asp-net-mvc-managed-requests/</link><guid isPermaLink="true">https://donnfelker.com/asp-net-mvc-managed-requests/</guid><description>Fixing SessionStateTempDataProvider requires SessionState to be enabled in ASP.NET MVC: add runAllManagedModulesForAllRequests to your config.</description><pubDate>Wed, 14 Jan 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>NAnt: SdkInstallRoot has not been set</title><link>https://donnfelker.com/nant-sdkinstallroot-has-not-been-set/</link><guid isPermaLink="true">https://donnfelker.com/nant-sdkinstallroot-has-not-been-set/</guid><description>Fix the NAnt build error where sdkInstallRoot has not been set by pointing nant.exe.config at the correct Windows SDK registry key instead.</description><pubDate>Wed, 14 Jan 2009 00:00:00 GMT</pubDate><category>development</category></item><item><title>Using Prisms (CompositeWPF) EventAggregator</title><link>https://donnfelker.com/using-prisms-compositewpf-eventaggregator/</link><guid isPermaLink="true">https://donnfelker.com/using-prisms-compositewpf-eventaggregator/</guid><description>A walkthrough of Prism&apos;s EventAggregator pattern, how it decouples publishers and subscribers in WPF apps without bubbling events through every layer.</description><pubDate>Tue, 06 Jan 2009 00:00:00 GMT</pubDate></item><item><title>Stereotyping Social-Network Users</title><link>https://donnfelker.com/stereotyping-social-network-users/</link><guid isPermaLink="true">https://donnfelker.com/stereotyping-social-network-users/</guid><description>A tongue-in-cheek field guide to social network user types - the Weekday Warrior, the Extremist, the Politician, and more patterns I&apos;ve noticed.</description><pubDate>Fri, 02 Jan 2009 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Update to Store Locator Project</title><link>https://donnfelker.com/update-to-store-locator-project/</link><guid isPermaLink="true">https://donnfelker.com/update-to-store-locator-project/</guid><description>Fixed a rookie JavaScript bug in my open source Store Locator project after learning real companies were quietly using it in production.</description><pubDate>Wed, 31 Dec 2008 00:00:00 GMT</pubDate></item><item><title>New Dime Cast: Migrating from .asmx web services to WCF web services</title><link>https://donnfelker.com/new-dime-cast-migrating-from-asmx-web-services-to-wcf-web-services/</link><guid isPermaLink="true">https://donnfelker.com/new-dime-cast-migrating-from-asmx-web-services-to-wcf-web-services/</guid><description>New DimeCast screencast walks through migrating an old ASMX web service over to a modern WCF web service, covering the why and the how.</description><pubDate>Tue, 30 Dec 2008 00:00:00 GMT</pubDate></item><item><title>Sometimes you just have to burn one</title><link>https://donnfelker.com/sometimes-you-just-have-to-burn-one/</link><guid isPermaLink="true">https://donnfelker.com/sometimes-you-just-have-to-burn-one/</guid><description>Why I moved my blog&apos;s RSS feed to FeedBurner: real subscriber stats, less bandwidth strain, and a feed URL that survives moving your blog.</description><pubDate>Tue, 30 Dec 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Beginning Programming Audio: ASIO4ALL Is Picky</title><link>https://donnfelker.com/beginning-programming-audio-asio4all-is-picky/</link><guid isPermaLink="true">https://donnfelker.com/beginning-programming-audio-asio4all-is-picky/</guid><description>Fixing crackly MIDI audio latency in NAudio projects with ASIO4ALL, and the odd fix: closing any browser tab playing YouTube in the background.</description><pubDate>Mon, 29 Dec 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Prism Drop 8 Breaking Changes</title><link>https://donnfelker.com/prism-drop-8-breaking-changes/</link><guid isPermaLink="true">https://donnfelker.com/prism-drop-8-breaking-changes/</guid><description>Prism Drop 8 renames CompositeWpfEvent to CompositePresentationEvent and replaces ModuleCatalog.Groups.Add with a simpler AddModule call.</description><pubDate>Tue, 23 Dec 2008 00:00:00 GMT</pubDate></item><item><title>Intro to WCF Screen Cast Now Available</title><link>https://donnfelker.com/intro-to-wcf-screen-cast-now-available/</link><guid isPermaLink="true">https://donnfelker.com/intro-to-wcf-screen-cast-now-available/</guid><description>A new screencast on DimeCasts.net walking through the ABCs of WCF and showing, step by step, how to build and run your very first WCF service.</description><pubDate>Tue, 16 Dec 2008 00:00:00 GMT</pubDate></item><item><title>Speaking at the Twin Cities Code Camp 2009</title><link>https://donnfelker.com/speaking-at-the-twin-cities-code-camp-2009/</link><guid isPermaLink="true">https://donnfelker.com/speaking-at-the-twin-cities-code-camp-2009/</guid><description>Speaking on Testing With Mocks at Twin Cities Code Camp 2009 - how mocks let you test interactions and state without building full object graphs.</description><pubDate>Wed, 10 Dec 2008 00:00:00 GMT</pubDate></item><item><title>Twin Cities Give Camp – April 26th and 27th 2009</title><link>https://donnfelker.com/twin-cities-give-camp-april-26th-and-27th-2009/</link><guid isPermaLink="true">https://donnfelker.com/twin-cities-give-camp-april-26th-and-27th-2009/</guid><description>Twin Cities Give Camp is set for April 26-27, 2009, and we&apos;re lining up charities focused on kids, the disabled, elderly, and animals.</description><pubDate>Fri, 05 Dec 2008 00:00:00 GMT</pubDate></item><item><title>How To: REST Services in WCF 3.5 Part 2 – The POST</title><link>https://donnfelker.com/how-to-rest-services-in-wcf-3-5-part-2-the-post/</link><guid isPermaLink="true">https://donnfelker.com/how-to-rest-services-in-wcf-3-5-part-2-the-post/</guid><description>Part 2 of the WCF REST series: adding a POST endpoint with WebInvokeAttribute and testing it with Fiddler, using a silly insult service as the demo.</description><pubDate>Thu, 04 Dec 2008 00:00:00 GMT</pubDate></item><item><title>Dime Cast on RESTful WCF</title><link>https://donnfelker.com/dime-cast-on-restful-wcf/</link><guid isPermaLink="true">https://donnfelker.com/dime-cast-on-restful-wcf/</guid><description>A 10-minute screencast on DimeCasts.net walks through building a WebGet-based RESTful WCF service - part 1 of a series on WCF REST.</description><pubDate>Tue, 02 Dec 2008 00:00:00 GMT</pubDate><category>screencasts</category></item><item><title>SVCUtil &amp; VS2008</title><link>https://donnfelker.com/svcutil-vs2008/</link><guid isPermaLink="true">https://donnfelker.com/svcutil-vs2008/</guid><description>Correcting myself: Visual Studio 2008 doesn&apos;t actually use SvcUtil under the hood for service references - it has its own internal proxy generator.</description><pubDate>Tue, 02 Dec 2008 00:00:00 GMT</pubDate></item><item><title>Technical Timeout 1</title><link>https://donnfelker.com/technical-timeout-1/</link><guid isPermaLink="true">https://donnfelker.com/technical-timeout-1/</guid><description>Introducing Technical Timeout: a short break from tech talk for a laugh, starting with the Terry Tate Office Linebacker video (headphones on, PG-13).</description><pubDate>Tue, 25 Nov 2008 00:00:00 GMT</pubDate></item><item><title>Store Locator – Moved to Codeplex</title><link>https://donnfelker.com/store-locator-moved-to-codeplex/</link><guid isPermaLink="true">https://donnfelker.com/store-locator-moved-to-codeplex/</guid><description>My ASP.NET Store Locator project outgrew its old home, so I moved the source and ongoing development over to CodePlex to manage it more effectively.</description><pubDate>Sun, 23 Nov 2008 00:00:00 GMT</pubDate><category>development</category></item><item><title>Debugging Silverlight Tip</title><link>https://donnfelker.com/debugging-silverlight-tip/</link><guid isPermaLink="true">https://donnfelker.com/debugging-silverlight-tip/</guid><description>Silverlight app showing a blank screen with a vague &apos;Error on page&apos;? Turn on Common Language Runtime Exceptions in Visual Studio to see the real error.</description><pubDate>Fri, 21 Nov 2008 00:00:00 GMT</pubDate></item><item><title>TCCC 5 Interview on You Tube</title><link>https://donnfelker.com/tccc-5-interview-on-you-tube/</link><guid isPermaLink="true">https://donnfelker.com/tccc-5-interview-on-you-tube/</guid><description>A short YouTube interview from Twin Cities Code Camp where Jason Bock and I talk about my session and my time working at McFarlane Toys.</description><pubDate>Mon, 17 Nov 2008 00:00:00 GMT</pubDate></item><item><title>XamlParserException – AG_E_PARSER_BAD_TYPE</title><link>https://donnfelker.com/xamlparserexception-ag_e_parser_bad_type/</link><guid isPermaLink="true">https://donnfelker.com/xamlparserexception-ag_e_parser_bad_type/</guid><description>Fixing Silverlight&apos;s cryptic AG_E_PARSER_BAD_TYPE error: add a Microsoft.Windows.Controls reference to your Prism Shell project, not just the module.</description><pubDate>Fri, 14 Nov 2008 00:00:00 GMT</pubDate></item><item><title>Silverlight Cross Domain Issue</title><link>https://donnfelker.com/silverlight-cross-domain-issue/</link><guid isPermaLink="true">https://donnfelker.com/silverlight-cross-domain-issue/</guid><description>A Silverlight app calling a Java web service threw cross-domain security exceptions when run from disk, not from a web server. Here&apos;s the fix.</description><pubDate>Wed, 12 Nov 2008 00:00:00 GMT</pubDate></item><item><title>New GMail Mobile Version</title><link>https://donnfelker.com/new-gmail-mobile-version/</link><guid isPermaLink="true">https://donnfelker.com/new-gmail-mobile-version/</guid><description>The new Gmail Mobile adds account switching and offline reading, but on Windows Mobile it is still Java and the address book keyboard is broken.</description><pubDate>Thu, 06 Nov 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Speaking at Twin Cities Developers Guild</title><link>https://donnfelker.com/speaking-at-twin-cities-developers-guild/</link><guid isPermaLink="true">https://donnfelker.com/speaking-at-twin-cities-developers-guild/</guid><description>Speaking at the Twin Cities Developers Guild on the Dependency Inversion Principle, dependency injection, and IoC containers to make your code testable.</description><pubDate>Thu, 06 Nov 2008 00:00:00 GMT</pubDate></item><item><title>Disabling/Turn off the WcfSvcHost Test Client in VS2008</title><link>https://donnfelker.com/disablingturn-off-the-wcfsvchost-test-client-in-vs2008/</link><guid isPermaLink="true">https://donnfelker.com/disablingturn-off-the-wcfsvchost-test-client-in-vs2008/</guid><description>Stop Visual Studio 2008&apos;s WcfSvcHost test client from launching automatically - just delete one GUID from your project file&apos;s PropertyGroup.</description><pubDate>Mon, 03 Nov 2008 00:00:00 GMT</pubDate></item><item><title>How To: Implement a simple REST Services in WCF 3.5 Part 1</title><link>https://donnfelker.com/how-to-implement-a-simple-rest-services-in-wcf-3-5-part-1/</link><guid isPermaLink="true">https://donnfelker.com/how-to-implement-a-simple-rest-services-in-wcf-3-5-part-1/</guid><description>Part 1 of building a REST service in WCF 3.5: WebGetAttribute, WebHttpBinding, and WebServiceHost, walked through with a simple gas-price API.</description><pubDate>Mon, 03 Nov 2008 00:00:00 GMT</pubDate></item><item><title>How Can You Learn WCF?</title><link>https://donnfelker.com/how-can-you-learn-wcf/</link><guid isPermaLink="true">https://donnfelker.com/how-can-you-learn-wcf/</guid><description>The two WCF books I actually recommend, in the order to read them, plus a complexity chart showing which one covers what topics best.</description><pubDate>Sun, 02 Nov 2008 00:00:00 GMT</pubDate></item><item><title>Loading PowerShell Profiles from Other Script Files</title><link>https://donnfelker.com/loading-powershell-profiles-from-other-script-files/</link><guid isPermaLink="true">https://donnfelker.com/loading-powershell-profiles-from-other-script-files/</guid><description>How to load external functions into your PowerShell profile.ps1, plus a script to pull shared team profiles from a network share automatically.</description><pubDate>Wed, 29 Oct 2008 00:00:00 GMT</pubDate></item><item><title>How Did C# Get Its Name?</title><link>https://donnfelker.com/how-did-c-get-its-name/</link><guid isPermaLink="true">https://donnfelker.com/how-did-c-get-its-name/</guid><description>C# was originally called Cool. Anders Hejlsberg explains why the name changed and where the sharp symbol&apos;s wordplay on C++ came from.</description><pubDate>Tue, 28 Oct 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>TFS Dependency Replicator Gotcha</title><link>https://donnfelker.com/tfs-dependency-replicator-gotcha/</link><guid isPermaLink="true">https://donnfelker.com/tfs-dependency-replicator-gotcha/</guid><description>TFS Dependency Replicator throws a DirectoryNotFoundException when the destination file does not exist yet. Here is the workaround and a real fix.</description><pubDate>Tue, 28 Oct 2008 00:00:00 GMT</pubDate></item><item><title>Integration Testing</title><link>https://donnfelker.com/integration-testing/</link><guid isPermaLink="true">https://donnfelker.com/integration-testing/</guid><description>What integration testing actually means versus unit testing, with a worked C# example showing how to mock dependencies and test how layers interact.</description><pubDate>Fri, 24 Oct 2008 00:00:00 GMT</pubDate></item><item><title>Visual Studio Project MSBuild Import Error Fix</title><link>https://donnfelker.com/visual-studio-project-msbuild-import-error-fix/</link><guid isPermaLink="true">https://donnfelker.com/visual-studio-project-msbuild-import-error-fix/</guid><description>Getting a &apos;Microsoft.CSharp.targets was not found&apos; error in Visual Studio? Swap $(MSBuildToolsPath) for $(MSBuildBinPath) in your project file.</description><pubDate>Mon, 20 Oct 2008 00:00:00 GMT</pubDate></item><item><title>GMail Tip – Finding Un-Read Email</title><link>https://donnfelker.com/gmail-tip-finding-un-read-email/</link><guid isPermaLink="true">https://donnfelker.com/gmail-tip-finding-un-read-email/</guid><description>The fastest way to find unread email in Gmail: type label:unread into the search box and hit search, no digging through pages of mail.</description><pubDate>Fri, 17 Oct 2008 00:00:00 GMT</pubDate></item><item><title>TFS – Disabling Continuous Integration with NO-CI</title><link>https://donnfelker.com/tfs-disabling-continuous-integration-with-no-ci/</link><guid isPermaLink="true">https://donnfelker.com/tfs-disabling-continuous-integration-with-no-ci/</guid><description>How to stop a TFS 2008 check-in from triggering an endless continuous integration build loop, using the ***NO_CI*** comment trick.</description><pubDate>Fri, 17 Oct 2008 00:00:00 GMT</pubDate></item><item><title>Google IG Home Page – RSS Feed Issues</title><link>https://donnfelker.com/google-ig-home-page-rss-feed-issues/</link><guid isPermaLink="true">https://donnfelker.com/google-ig-home-page-rss-feed-issues/</guid><description>Google IG&apos;s RSS reader silently stops updating when your feed has too many items, showing months-old posts. Keep feeds to 5-30 items to avoid it.</description><pubDate>Wed, 15 Oct 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>The Importance of Incremental Builds</title><link>https://donnfelker.com/the-importance-of-incremental-builds/</link><guid isPermaLink="true">https://donnfelker.com/the-importance-of-incremental-builds/</guid><description>TFS 2008&apos;s default &apos;Full Build&apos; cleans and re-fetches everything on every check-in. Switching to IncrementalBuild cut our 20-minute build to 4.</description><pubDate>Wed, 15 Oct 2008 00:00:00 GMT</pubDate><category>development</category></item><item><title>TFS Users &amp; Groups with Active Directory Policies</title><link>https://donnfelker.com/tfs-users-groups-with-active-directory-policies/</link><guid isPermaLink="true">https://donnfelker.com/tfs-users-groups-with-active-directory-policies/</guid><description>AD group changes can take up to 60 minutes to reach TFS security. Restart the TFS Task Scheduler service to force an immediate policy refresh.</description><pubDate>Tue, 14 Oct 2008 00:00:00 GMT</pubDate></item><item><title>Windows se7en?</title><link>https://donnfelker.com/windows-se7en/</link><guid isPermaLink="true">https://donnfelker.com/windows-se7en/</guid><description>Microsoft named its next OS Windows 7, so I gave it a better name: Windows se7en, an OS so gangster it&apos;ll cut you if you slip, son.</description><pubDate>Tue, 14 Oct 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Twin Cities Code Camp Presentation and Code</title><link>https://donnfelker.com/twin-cities-code-camp-presentation-and-code/</link><guid isPermaLink="true">https://donnfelker.com/twin-cities-code-camp-presentation-and-code/</guid><description>Source code and slides from my Twin Cities Code Camp talk on wiring the Windows Workflow Rules Engine into a WCF service for flexible rules.</description><pubDate>Mon, 13 Oct 2008 00:00:00 GMT</pubDate></item><item><title>Sleep Deprived WCF Error</title><link>https://donnfelker.com/sleep-deprived-wcf-error/</link><guid isPermaLink="true">https://donnfelker.com/sleep-deprived-wcf-error/</guid><description>A WCF &apos;metadata unavailable&apos; error, caused by a missing type in the namespace path or an enum using DataMemberAttribute instead of EnumMemberAttribute.</description><pubDate>Sat, 11 Oct 2008 00:00:00 GMT</pubDate></item><item><title>Dependency Walker &amp; SP1 TFS 2008 Upgrade Issues</title><link>https://donnfelker.com/dependency-walker-sp1-tfs-2008-upgrade-issues/</link><guid isPermaLink="true">https://donnfelker.com/dependency-walker-sp1-tfs-2008-upgrade-issues/</guid><description>TFS 2008 SP1 upgrade fatal-erroring? A stray Dependency Replicator service was blocking IIS Admin - uninstall it, patch, then reinstall it.</description><pubDate>Fri, 10 Oct 2008 00:00:00 GMT</pubDate><category>development</category></item><item><title>My Visual Studio Settings – My Altered Vibrant Ink Settings Setup</title><link>https://donnfelker.com/my-visual-studio-settings-my-altered-vibrant-ink-settings-setup/</link><guid isPermaLink="true">https://donnfelker.com/my-visual-studio-settings-my-altered-vibrant-ink-settings-setup/</guid><description>My dark Visual Studio color scheme, an altered version of Vibrant Ink, as a downloadable vssettings file. Requires the Consolas font to look right.</description><pubDate>Tue, 07 Oct 2008 00:00:00 GMT</pubDate></item><item><title>.NET 4.0 and Visual Studio 2010</title><link>https://donnfelker.com/net-4-0-and-visual-studio-2010/</link><guid isPermaLink="true">https://donnfelker.com/net-4-0-and-visual-studio-2010/</guid><description>.NET 4.0 and Visual Studio 2010 are already coming with ALM features like Test Impact View, gated check-in, and branch visualization tooling.</description><pubDate>Tue, 07 Oct 2008 00:00:00 GMT</pubDate></item><item><title>Twin Cities Code Camp This Weekend</title><link>https://donnfelker.com/twin-cities-code-camp-this-weekend/</link><guid isPermaLink="true">https://donnfelker.com/twin-cities-code-camp-this-weekend/</guid><description>Quick reminder: Twin Cities Code Camp is this weekend and I&apos;m speaking on using the Workflow Rules Engine within WCF for business logic.</description><pubDate>Tue, 07 Oct 2008 00:00:00 GMT</pubDate></item><item><title>4 Common Follies Made In Unit/Integration Testing</title><link>https://donnfelker.com/4-common-follies-made-in-unitintegration-testing/</link><guid isPermaLink="true">https://donnfelker.com/4-common-follies-made-in-unitintegration-testing/</guid><description>Four testing mistakes I&apos;ve been burned by: skipping getters/setters, sharing a dev database, testing against live external services, and unfinished test stubs.</description><pubDate>Fri, 03 Oct 2008 00:00:00 GMT</pubDate></item><item><title>RuleSetDialog &amp; LINQ Queries</title><link>https://donnfelker.com/rulesetdialog-linq-queries/</link><guid isPermaLink="true">https://donnfelker.com/rulesetdialog-linq-queries/</guid><description>Can you use LINQ inside the WF RuleSetDialog editor? No. Here&apos;s why it fails validation and a workaround using properties and methods instead.</description><pubDate>Thu, 02 Oct 2008 00:00:00 GMT</pubDate></item><item><title>That Sneaky .NET 3.5 External RuleSet Toolkit Sample</title><link>https://donnfelker.com/that-sneaky-net-3-5-external-ruleset-toolkit-sample/</link><guid isPermaLink="true">https://donnfelker.com/that-sneaky-net-3-5-external-ruleset-toolkit-sample/</guid><description>The .NET 3.5 External RuleSet Toolkit sample for externalizing Workflow&apos;s rule engine is oddly buried in the WCF samples download, not the WF ones.</description><pubDate>Tue, 30 Sep 2008 00:00:00 GMT</pubDate></item><item><title>Resizing a VHD and a Volume</title><link>https://donnfelker.com/resizing-a-vhd-and-a-volume/</link><guid isPermaLink="true">https://donnfelker.com/resizing-a-vhd-and-a-volume/</guid><description>Ran out of disk space in a Virtual PC VHD? Here&apos;s how to resize it with VHDResizer, remount it, and extend the volume with diskpart.</description><pubDate>Fri, 26 Sep 2008 00:00:00 GMT</pubDate></item><item><title>New Digs</title><link>https://donnfelker.com/new-digs/</link><guid isPermaLink="true">https://donnfelker.com/new-digs/</guid><description>I moved to Minneapolis and joined Magenic, a .NET consulting shop packed with MVPs, including Rockford Lhotka, creator of CSLA.NET.</description><pubDate>Wed, 24 Sep 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Testing For Developers Series</title><link>https://donnfelker.com/testing-for-developers-series/</link><guid isPermaLink="true">https://donnfelker.com/testing-for-developers-series/</guid><description>Kicking off a series untangling the confusion around unit, integration, functional, regression, and load tests, with my own opinionated definitions.</description><pubDate>Fri, 19 Sep 2008 00:00:00 GMT</pubDate></item><item><title>Unit Testing – It’s not what most of you think …</title><link>https://donnfelker.com/unit-testing-its-not-what-most-of-you-think/</link><guid isPermaLink="true">https://donnfelker.com/unit-testing-its-not-what-most-of-you-think/</guid><description>Most tests developers call unit tests are actually integration tests. Here&apos;s how dependency injection and mocking fix that, with real code.</description><pubDate>Fri, 19 Sep 2008 00:00:00 GMT</pubDate></item><item><title>Book Review: Be Prepared</title><link>https://donnfelker.com/be-prepared-a-practical-handbook-for-new-dads/</link><guid isPermaLink="true">https://donnfelker.com/be-prepared-a-practical-handbook-for-new-dads/</guid><description>A review of Be Prepared: A Practical Handbook for New Dads, the no-nonsense, funny alternative to typical sugar-coated new-parent books.</description><pubDate>Thu, 18 Sep 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Custom Google Maps Geocode Powershell CmdLet</title><link>https://donnfelker.com/custom-google-maps-geocode-powershell-cmdlet/</link><guid isPermaLink="true">https://donnfelker.com/custom-google-maps-geocode-powershell-cmdlet/</guid><description>A custom Get-GoogleGeocode PowerShell cmdlet that geocodes one address, a list of addresses, or an entire file of them via the Google Maps API.</description><pubDate>Thu, 18 Sep 2008 00:00:00 GMT</pubDate></item><item><title>My 2009 Browser Forecast</title><link>https://donnfelker.com/my-2009-browser-forecast/</link><guid isPermaLink="true">https://donnfelker.com/my-2009-browser-forecast/</guid><description>A gut-feeling, Twitter-fueled forecast for how the 2009 browser market shakes out, with a buzzy new upstart called Chrome stirring things up.</description><pubDate>Wed, 17 Sep 2008 00:00:00 GMT</pubDate></item><item><title>Restoring a Dell Inspiron 6400 To Factory</title><link>https://donnfelker.com/restoring-a-dell-inspiron-6400-to-factory/</link><guid isPermaLink="true">https://donnfelker.com/restoring-a-dell-inspiron-6400-to-factory/</guid><description>Dell&apos;s PCRestore.exe utility fails silently with no error text. Here&apos;s the actual System Restore path that resets an Inspiron 6400 to factory.</description><pubDate>Wed, 17 Sep 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Why Windows Task Manager Sucks</title><link>https://donnfelker.com/why-windows-task-manager-sucks/</link><guid isPermaLink="true">https://donnfelker.com/why-windows-task-manager-sucks/</guid><description>Windows Task Manager can&apos;t tell you what&apos;s hammering your disk when svchost spikes. AnVir Task Manager Free actually shows you why.</description><pubDate>Wed, 17 Sep 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Little Sophia</title><link>https://donnfelker.com/little-sophia/</link><guid isPermaLink="true">https://donnfelker.com/little-sophia/</guid><description>A rare non-technical post here: my daughter Sophia arrived September 10, 2008, a healthy 7lbs 8oz, via natural water birth. Mom and baby are great.</description><pubDate>Fri, 12 Sep 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>My Blog was down, Like Whoa.</title><link>https://donnfelker.com/my-blog-was-down-like-whoa/</link><guid isPermaLink="true">https://donnfelker.com/my-blog-was-down-like-whoa/</guid><description>My old host accidentally deleted my account and the blog only survived by luck, not my backup plan. Moved hosts and learned the lesson the hard way.</description><pubDate>Tue, 09 Sep 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Mozilla Ubiquity</title><link>https://donnfelker.com/mozilla-ubiquity/</link><guid isPermaLink="true">https://donnfelker.com/mozilla-ubiquity/</guid><description>Hands-on with Mozilla Ubiquity, the Firefox add-on that lets you type natural-language commands for weather, Wikipedia, translation, and email.</description><pubDate>Fri, 29 Aug 2008 00:00:00 GMT</pubDate></item><item><title>You Received an Error. So what. Deal with it.</title><link>https://donnfelker.com/you-received-an-error-so-what-deal-with-it/</link><guid isPermaLink="true">https://donnfelker.com/you-received-an-error-so-what-deal-with-it/</guid><description>A ThoughtWorks forum&apos;s ugly crash page is a reminder: always give users a friendly error message and a way to contact support, or you&apos;re losing them.</description><pubDate>Fri, 29 Aug 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Twin Cities Code Camp – Oct 11</title><link>https://donnfelker.com/twin-cities-code-camp-%e2%80%93-oct-11/</link><guid isPermaLink="true">https://donnfelker.com/twin-cities-code-camp-%e2%80%93-oct-11/</guid><description>I&apos;m speaking at the 5th Twin Cities Code Camp on Oct 11 about using the Workflow Rules Engine inside a WCF service for flexible rules.</description><pubDate>Wed, 27 Aug 2008 00:00:00 GMT</pubDate></item><item><title>Unnecessary Abstractions</title><link>https://donnfelker.com/unnecessary-abstractions/</link><guid isPermaLink="true">https://donnfelker.com/unnecessary-abstractions/</guid><description>A code review facepalm: someone hand-rolled IP address parsing logic that .NET&apos;s built-in IPAddress class already handles perfectly.</description><pubDate>Wed, 27 Aug 2008 00:00:00 GMT</pubDate></item><item><title>Twin Cities Give Camp Update</title><link>https://donnfelker.com/twin-cities-give-camp-update/</link><guid isPermaLink="true">https://donnfelker.com/twin-cities-give-camp-update/</guid><description>An update on the Twin Cities Give Camp website, some ongoing hosting hiccups, and how to sign up to volunteer or sponsor the event.</description><pubDate>Sat, 23 Aug 2008 00:00:00 GMT</pubDate></item><item><title>Insane Flight Prices</title><link>https://donnfelker.com/insane-flight-prices/</link><guid isPermaLink="true">https://donnfelker.com/insane-flight-prices/</guid><description>A quick rant about flight prices -- a short hop from Minneapolis to Des Moines quoted at over $700, cheaper to just make the 3.5-hour drive.</description><pubDate>Fri, 22 Aug 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>The Twin Cities Give Camp</title><link>https://donnfelker.com/the-twin-cities-give-camp/</link><guid isPermaLink="true">https://donnfelker.com/the-twin-cities-give-camp/</guid><description>Launching Twin Cities Give Camp: a weekend where developers, designers, and DBAs build free custom software for local non-profits.</description><pubDate>Wed, 13 Aug 2008 00:00:00 GMT</pubDate></item><item><title>DiscountASP vs. Me</title><link>https://donnfelker.com/discountasp-vs-me/</link><guid isPermaLink="true">https://donnfelker.com/discountasp-vs-me/</guid><description>A rant about DiscountASP.NET recycling its app pool every few minutes because of Community Server 2007&apos;s memory footprint, logging everyone out mid-post.</description><pubDate>Fri, 08 Aug 2008 00:00:00 GMT</pubDate><category>development</category></item><item><title>Is Premature Optimization Really Evil?</title><link>https://donnfelker.com/is-premature-optimization-really-evil/</link><guid isPermaLink="true">https://donnfelker.com/is-premature-optimization-really-evil/</guid><description>A real story about an order system that broke under a sales spike, used to argue premature optimization is only evil when you optimize the wrong thing.</description><pubDate>Thu, 24 Jul 2008 00:00:00 GMT</pubDate><category>development</category></item><item><title>Mobilizing Your/My Blog – mobile.blog.donnfelker.com</title><link>https://donnfelker.com/mobilizing-yourmy-blog-mobile-blog-donnfelker-com/</link><guid isPermaLink="true">https://donnfelker.com/mobilizing-yourmy-blog-mobile-blog-donnfelker-com/</guid><description>How I used Mofuse to mobile-enable my blog and pointed a custom subdomain at it with a simple CNAME record, no code required at all.</description><pubDate>Thu, 17 Jul 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Passed the ASP.NET 3.5 Exam</title><link>https://donnfelker.com/passed-the-asp-net-3-5-exam/</link><guid isPermaLink="true">https://donnfelker.com/passed-the-asp-net-3-5-exam/</guid><description>I passed the ASP.NET 3.5 beta exam at Tech-Ed 2008, which makes me a certified MCTS in both ASP.NET 2.0 and ASP.NET 3.5 now. Woohoo!</description><pubDate>Thu, 17 Jul 2008 00:00:00 GMT</pubDate><category>development</category></item><item><title>Calgary ALT.NET Open Space – August 15-17</title><link>https://donnfelker.com/calgary-alt-net-open-space-august-15-17/</link><guid isPermaLink="true">https://donnfelker.com/calgary-alt-net-open-space-august-15-17/</guid><description>Details on the Calgary ALT.NET Open Space, an unconference covering TDD, BDD, DDD, Agile, and Lean, with sessions set by whoever shows up.</description><pubDate>Mon, 14 Jul 2008 00:00:00 GMT</pubDate><category>development</category></item><item><title>Tree Surgeon 2.0 Released</title><link>https://donnfelker.com/tree-surgeon-2-0-released/</link><guid isPermaLink="true">https://donnfelker.com/tree-surgeon-2-0-released/</guid><description>Tree Surgeon 2.0 is out: support for VS 2003/2005/2008, a choice of NUnit or MbUnit, and updated NAnt scripts for .NET 1.1 through 3.5.</description><pubDate>Mon, 14 Jul 2008 00:00:00 GMT</pubDate><category>development</category></item><item><title>Virtual Earth – End of Life</title><link>https://donnfelker.com/virtual-earth-end-of-life/</link><guid isPermaLink="true">https://donnfelker.com/virtual-earth-end-of-life/</guid><description>Microsoft is retiring Virtual Earth versions 3, 4, and 5 in the coming months. Here&apos;s what it means, and why my MapPoint geocoding class is unaffected.</description><pubDate>Wed, 02 Jul 2008 00:00:00 GMT</pubDate></item><item><title>Recommended Reading</title><link>https://donnfelker.com/recommended-reading/</link><guid isPermaLink="true">https://donnfelker.com/recommended-reading/</guid><description>A running list of the software and IT books I actually recommend, from Fowler&apos;s enterprise patterns to Hunt&apos;s Pragmatic Programmer.</description><pubDate>Sat, 21 Jun 2008 00:00:00 GMT</pubDate></item><item><title>GMail = Dog Slow</title><link>https://donnfelker.com/gmail-dog-slow/</link><guid isPermaLink="true">https://donnfelker.com/gmail-dog-slow/</guid><description>Gmail crawling because of all its AJAX and JavaScript? Switch to the Older Version or Standard HTML view for a noticeably faster inbox.</description><pubDate>Fri, 13 Jun 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>I Took The ASP.NET 3.5 Beta Exam, and then the red pill</title><link>https://donnfelker.com/i-took-the-asp-net-3-5-beta-exam-and-then-the-red-pill/</link><guid isPermaLink="true">https://donnfelker.com/i-took-the-asp-net-3-5-beta-exam-and-then-the-red-pill/</guid><description>I took the ASP.NET 3.5 beta exam with almost no prep -- 70 tough questions covering WCF, AJAX, and mobile, plus tips on surviving Microsoft&apos;s exam tricks.</description><pubDate>Tue, 10 Jun 2008 00:00:00 GMT</pubDate><category>development</category></item><item><title>Resources from Desert Code Camp</title><link>https://donnfelker.com/resources-from-desert-code-camp/</link><guid isPermaLink="true">https://donnfelker.com/resources-from-desert-code-camp/</guid><description>Slides, source code, and a fix for a Unity DynamicMethod bug from my Dependency Injection and Inversion of Control talk at Desert Code Camp.</description><pubDate>Tue, 03 Jun 2008 00:00:00 GMT</pubDate></item><item><title>Intro to Microsoft Unity – Dependency Injection Container</title><link>https://donnfelker.com/intro-to-microsoft-unity-dependency-injection-container/</link><guid isPermaLink="true">https://donnfelker.com/intro-to-microsoft-unity-dependency-injection-container/</guid><description>A hands-on intro to Microsoft&apos;s Unity dependency injection container, covering manual and XML-based type registration with a downloadable sample app.</description><pubDate>Mon, 26 May 2008 00:00:00 GMT</pubDate><category>development</category></item><item><title>TIP: Utilizing Fluent Syntax with the &quot;Is&quot; Keyword in Rhino Mocks and NUnit</title><link>https://donnfelker.com/tip-utilizing-fluent-syntax-with-the-quotisquot-keyword-in-rhino-mocks-and-nunit/</link><guid isPermaLink="true">https://donnfelker.com/tip-utilizing-fluent-syntax-with-the-quotisquot-keyword-in-rhino-mocks-and-nunit/</guid><description>Rhino Mocks and NUnit both use an Is keyword, which collides. Use NUnit&apos;s Iz syntax helper instead so both fluent APIs work together.</description><pubDate>Fri, 23 May 2008 00:00:00 GMT</pubDate></item><item><title>Presenting at the Phoenix Arizona Desert Code Camp</title><link>https://donnfelker.com/presenting-at-the-phoenix-arizona-desert-code-camp/</link><guid isPermaLink="true">https://donnfelker.com/presenting-at-the-phoenix-arizona-desert-code-camp/</guid><description>I&apos;m teaching a course on Dependency Injection and Inversion of Control at the Phoenix Arizona Desert Code Camp on May 31st, 2008. See you there.</description><pubDate>Wed, 14 May 2008 00:00:00 GMT</pubDate></item><item><title>Using iTextSharp To Watermark/Write Text To Existing PDF’s</title><link>https://donnfelker.com/using-itextsharp-to-watermarkwrite-text-to-existing-pdfs/</link><guid isPermaLink="true">https://donnfelker.com/using-itextsharp-to-watermarkwrite-text-to-existing-pdfs/</guid><description>How to watermark existing PDFs with real text (not clunky images) using iTextSharp, complete with orientation detection and working C# code.</description><pubDate>Sun, 11 May 2008 00:00:00 GMT</pubDate><category>development</category></item><item><title>The Importance of Unit Testing WCF Attributes</title><link>https://donnfelker.com/the-importance-of-unit-testing-wcf-attributes/</link><guid isPermaLink="true">https://donnfelker.com/the-importance-of-unit-testing-wcf-attributes/</guid><description>A WCF gotcha: removing the IsOneWay attribute silently turns an async call into a blocking one. You need unit tests on your service contracts too.</description><pubDate>Wed, 07 May 2008 00:00:00 GMT</pubDate></item><item><title>Upgraded Personal Blog to DasBlog 2.x</title><link>https://donnfelker.com/upgraded-personal-blog-to-dasblog-2-x/</link><guid isPermaLink="true">https://donnfelker.com/upgraded-personal-blog-to-dasblog-2-x/</guid><description>Upgraded my blog to DasBlog 2.0.7 in about 10 minutes flat, then spent 30 more verifying cross-posting and admin login still worked.</description><pubDate>Tue, 06 May 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Software Development: Greeenfield vs. Brownfield</title><link>https://donnfelker.com/software-development-greeenfield-vs-brownfield/</link><guid isPermaLink="true">https://donnfelker.com/software-development-greeenfield-vs-brownfield/</guid><description>Greenfield vs brownfield development, explained with real examples of each, plus my own breakdown of how much of my career was spent in each camp.</description><pubDate>Mon, 05 May 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>By Far, The Coolest Flash App I’ve EVER Played With</title><link>https://donnfelker.com/by-far-the-coolest-flash-app-ive-ever-played-with/</link><guid isPermaLink="true">https://donnfelker.com/by-far-the-coolest-flash-app-ive-ever-played-with/</guid><description>Why Atmosphere&apos;s paintitgold.com Flash graffiti app, letting you spray-paint any URL&apos;s screenshot, is the most fun web app I&apos;ve played with.</description><pubDate>Thu, 01 May 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>3.5 Beta Exams Not Available In Phoenix</title><link>https://donnfelker.com/3-5-beta-exams-not-available-in-phoenix/</link><guid isPermaLink="true">https://donnfelker.com/3-5-beta-exams-not-available-in-phoenix/</guid><description>Phoenix is a top-5 US city, but no local testing center was rated high enough to proctor the ASP.NET 3.5 beta exams -- the nearest was in Prescott.</description><pubDate>Tue, 29 Apr 2008 00:00:00 GMT</pubDate><category>development</category></item><item><title>Simple Download Counter HttpHandler</title><link>https://donnfelker.com/simple-download-counter-httphandler/</link><guid isPermaLink="true">https://donnfelker.com/simple-download-counter-httphandler/</guid><description>A quick-and-dirty ASP.NET IHttpHandler that counts file downloads using a simple XML counter, built in minutes to test if an idea was worth pursuing.</description><pubDate>Tue, 29 Apr 2008 00:00:00 GMT</pubDate><category>development</category></item><item><title>TechEd Developer 2008 &amp; Party With Palermo</title><link>https://donnfelker.com/teched-developer-2008-amp-party-with-palermo/</link><guid isPermaLink="true">https://donnfelker.com/teched-developer-2008-amp-party-with-palermo/</guid><description>I&apos;ll be at TechEd Developer 2008 and the Party With Palermo event - drop me a line if you&apos;re going too so we can meet up in person.</description><pubDate>Tue, 29 Apr 2008 00:00:00 GMT</pubDate></item><item><title>WTF’s Per Minute</title><link>https://donnfelker.com/wtfs-per-minute/</link><guid isPermaLink="true">https://donnfelker.com/wtfs-per-minute/</guid><description>A quick repost of the classic WTFs-per-minute code quality chart I found on digg, saved here mainly so I have my own copy to reference.</description><pubDate>Mon, 07 Apr 2008 00:00:00 GMT</pubDate></item><item><title>NUnit 2.4.7 and the RowTest Attribute with Example</title><link>https://donnfelker.com/nunit-2-4-7-and-the-rowtest-attribute-with-example/</link><guid isPermaLink="true">https://donnfelker.com/nunit-2-4-7-and-the-rowtest-attribute-with-example/</guid><description>NUnit 2.4.7 shipped with the RowTest add-in, letting you run one test method against multiple data rows instead of duplicating tests.</description><pubDate>Tue, 01 Apr 2008 00:00:00 GMT</pubDate></item><item><title>I Can’t Read Your Screen, Mr. Presenter</title><link>https://donnfelker.com/i-cant-read-your-screen-mr-presenter/</link><guid isPermaLink="true">https://donnfelker.com/i-cant-read-your-screen-mr-presenter/</guid><description>A pet peeve about presenters with unreadable tiny fonts, and the fix: ZoomIt for live zooming plus a dedicated big-font account for demos.</description><pubDate>Mon, 31 Mar 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>PhotoShop Express vs. Paint.NET</title><link>https://donnfelker.com/photoshop-express-vs-paint-net/</link><guid isPermaLink="true">https://donnfelker.com/photoshop-express-vs-paint-net/</guid><description>I hoped Photoshop Express would be a Photoshop Lite like Paint.NET. Instead it&apos;s a slow, upload-dependent browser app. Paint.NET still wins.</description><pubDate>Mon, 31 Mar 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Implicitly Typed Locals – R# V4</title><link>https://donnfelker.com/implicitly-typed-locals-r-v4/</link><guid isPermaLink="true">https://donnfelker.com/implicitly-typed-locals-r-v4/</guid><description>Why I disabled ReSharper 4&apos;s suggestion to use var everywhere -- implicit typing doesn&apos;t improve naming or your API, it just adds noise.</description><pubDate>Fri, 28 Mar 2008 00:00:00 GMT</pubDate></item><item><title>Beginner Test Driven Development Habits</title><link>https://donnfelker.com/beginner-test-driven-development-habits/</link><guid isPermaLink="true">https://donnfelker.com/beginner-test-driven-development-habits/</guid><description>Five habits new TDD teams fall into, like skipping the refactor step and treating tests as a debugger, plus how to coach developers past them.</description><pubDate>Sun, 23 Mar 2008 00:00:00 GMT</pubDate><category>development</category></item><item><title>TIP: Getting the Base Directory of where your App is Running</title><link>https://donnfelker.com/tip-getting-the-base-directory-of-where-your-app-is-running/</link><guid isPermaLink="true">https://donnfelker.com/tip-getting-the-base-directory-of-where-your-app-is-running/</guid><description>Need your app&apos;s running directory in .NET? Use AppDomain.CurrentDomain.BaseDirectory, which works for both web and non-web projects.</description><pubDate>Sun, 23 Mar 2008 00:00:00 GMT</pubDate></item><item><title>The Calendar and the Cloud</title><link>https://donnfelker.com/the-calendar-and-the-cloud/</link><guid isPermaLink="true">https://donnfelker.com/the-calendar-and-the-cloud/</guid><description>Google&apos;s new two-way Outlook Calendar sync lets a consultant merge client and personal calendars into one master schedule, with SMS agenda alerts.</description><pubDate>Tue, 11 Mar 2008 00:00:00 GMT</pubDate></item><item><title>Knock Knock. Who’s There? Me. Too Bad. Go Away.</title><link>https://donnfelker.com/knock-knock-whos-there-me-too-bad-go-away/</link><guid isPermaLink="true">https://donnfelker.com/knock-knock-whos-there-me-too-bad-go-away/</guid><description>After a fresh Windows rebuild, Team Foundation Server locked out its own administrator -- turns out McAfee antivirus was silently blocking the connection.</description><pubDate>Mon, 03 Mar 2008 00:00:00 GMT</pubDate></item><item><title>Free Conferencing Utilities</title><link>https://donnfelker.com/free-conferencing-utilities/</link><guid isPermaLink="true">https://donnfelker.com/free-conferencing-utilities/</guid><description>A roundup of free conference call services for consultants and freelancers who need to host calls without paying for a dial-in line.</description><pubDate>Fri, 29 Feb 2008 00:00:00 GMT</pubDate></item><item><title>Creating .NET Event Sources with PowerShell</title><link>https://donnfelker.com/creating-net-event-sources-with-powershell/</link><guid isPermaLink="true">https://donnfelker.com/creating-net-event-sources-with-powershell/</guid><description>Skip writing a whole app to register a Windows Event Log source - a two-line PowerShell command checks for it and creates it if missing.</description><pubDate>Tue, 26 Feb 2008 00:00:00 GMT</pubDate></item><item><title>Notepad? THE PowerShell IDE? Please, Save Me – Give Me Some IntelliSense</title><link>https://donnfelker.com/notepad-the-powershell-ide-please-save-me-give-me-some-intellisense/</link><guid isPermaLink="true">https://donnfelker.com/notepad-the-powershell-ide-please-save-me-give-me-some-intellisense/</guid><description>Writing PowerShell in Notepad is like driving when you could fly. PowerGUI gives you IntelliSense, debugging, and a watch window instead.</description><pubDate>Fri, 22 Feb 2008 00:00:00 GMT</pubDate></item><item><title>A FREE Remote-Collab Tool From Microsoft? (And a list of others)</title><link>https://donnfelker.com/a-free-remote-collab-tool-from-microsoft-and-a-list-of-others/</link><guid isPermaLink="true">https://donnfelker.com/a-free-remote-collab-tool-from-microsoft-and-a-list-of-others/</guid><description>Microsoft&apos;s free SharedView beta impressed me for pair programming and screen sharing -- plus a roundup of other remote collaboration tools worth trying.</description><pubDate>Tue, 19 Feb 2008 00:00:00 GMT</pubDate><category>development</category></item><item><title>Is Your Network Slow?</title><link>https://donnfelker.com/is-your-network-slow/</link><guid isPermaLink="true">https://donnfelker.com/is-your-network-slow/</guid><description>A quick screenshot of a network transfer estimated to take about 32 years -- proof that some slow networks are beyond even agile fixes.</description><pubDate>Tue, 19 Feb 2008 00:00:00 GMT</pubDate></item><item><title>Frustrated… Party of 1! MSBuild … PLEASE JUST WORK!</title><link>https://donnfelker.com/frustrated-party-of-1-msbuild-please-just-work/</link><guid isPermaLink="true">https://donnfelker.com/frustrated-party-of-1-msbuild-please-just-work/</guid><description>An MSBuild plus TeamBuild gotcha: why $(OutDir) file lists come up empty, and how creating them in a separate target with CreateItem fixes it.</description><pubDate>Mon, 18 Feb 2008 00:00:00 GMT</pubDate></item><item><title>About Me</title><link>https://donnfelker.com/about-me/</link><guid isPermaLink="true">https://donnfelker.com/about-me/</guid><description>Software architect turned entrepreneur -- my background across ASP.NET, agile consulting, motocross racing, motorcycle mechanics, and Brazilian Jiu Jitsu.</description><pubDate>Wed, 13 Feb 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>VS2008 HotFix Posted Yesterday</title><link>https://donnfelker.com/vs2008-hotfix-posted-yesterday/</link><guid isPermaLink="true">https://donnfelker.com/vs2008-hotfix-posted-yesterday/</guid><description>Microsoft posted a VS2008 hotfix with HTML source view, design view, editing, and web site build performance fixes. Grab the download here.</description><pubDate>Sun, 10 Feb 2008 00:00:00 GMT</pubDate></item><item><title>Podcast for PowerShell – PowerScripting.net</title><link>https://donnfelker.com/podcast-for-powershell-powerscripting-net/</link><guid isPermaLink="true">https://donnfelker.com/podcast-for-powershell-powerscripting-net/</guid><description>PowerScripting.net is a solid podcast covering all things PowerShell, worth adding to your toolbelt if you&apos;re learning the language.</description><pubDate>Sat, 09 Feb 2008 00:00:00 GMT</pubDate></item><item><title>The FooTheory Community</title><link>https://donnfelker.com/the-footheory-community/</link><guid isPermaLink="true">https://donnfelker.com/the-footheory-community/</guid><description>I&apos;ve joined the FooTheory blog community and will cross-post everything here too. Check out two of my favorite blogs there: Matt&apos;s and Bennie&apos;s Weblogs.</description><pubDate>Sat, 09 Feb 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Gleaning Clarity Through Unit Test Names</title><link>https://donnfelker.com/gleaning-clarity-through-unit-test-names/</link><guid isPermaLink="true">https://donnfelker.com/gleaning-clarity-through-unit-test-names/</guid><description>A naming convention for bug-fix unit tests, FIX_TicketNumber_Method_State_ExpectedResult(), that documents the fix right in the test name.</description><pubDate>Fri, 08 Feb 2008 00:00:00 GMT</pubDate></item><item><title>MSN Run Once Bombs…</title><link>https://donnfelker.com/msn-run-once-bombs/</link><guid isPermaLink="true">https://donnfelker.com/msn-run-once-bombs/</guid><description>It happens to the best of us, even the creators of the technology…</description><pubDate>Mon, 21 Jan 2008 00:00:00 GMT</pubDate></item><item><title>Usability – Don’t Make Me Think/Remember…</title><link>https://donnfelker.com/usability-dont-make-me-thinkremember/</link><guid isPermaLink="true">https://donnfelker.com/usability-dont-make-me-thinkremember/</guid><description>Why do UPS, FedEx, and your health portal make you re-enter info they already have? A rant on usability, autocomplete, and not making users think.</description><pubDate>Mon, 14 Jan 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Works in Firefox, But Not in IE? (or vice versa) WTF!!!!</title><link>https://donnfelker.com/works-in-firefox-but-not-in-ie-or-vice-versa-wtf/</link><guid isPermaLink="true">https://donnfelker.com/works-in-firefox-but-not-in-ie-or-vice-versa-wtf/</guid><description>Cross-browser CSS bugs are a nightmare compared to WinForms rendering. My go-to fix: the CSS Creator Forum, which has solved every issue I&apos;ve hit.</description><pubDate>Mon, 14 Jan 2008 00:00:00 GMT</pubDate><category>misc</category></item><item><title>TFS – ItemExistsException Fix</title><link>https://donnfelker.com/tfs-itemexistsexception-fix/</link><guid isPermaLink="true">https://donnfelker.com/tfs-itemexistsexception-fix/</guid><description>Tracking down and fixing a TFS ItemExistsException caused by duplicate labels left behind after moving a project, across two build servers.</description><pubDate>Wed, 09 Jan 2008 00:00:00 GMT</pubDate></item><item><title>Sending Email in a Development Environment without an SMTP Server</title><link>https://donnfelker.com/sending-email-in-a-development-environment-without-an-smtp-server/</link><guid isPermaLink="true">https://donnfelker.com/sending-email-in-a-development-environment-without-an-smtp-server/</guid><description>No local SMTP server? Configure .NET&apos;s mailSettings to drop emails into a pickup directory so you can test sending without actually sending.</description><pubDate>Tue, 08 Jan 2008 00:00:00 GMT</pubDate><category>development</category></item><item><title>TFS Build Not Publishing Web Applications</title><link>https://donnfelker.com/tfs-build-not-publishing-web-applications/</link><guid isPermaLink="true">https://donnfelker.com/tfs-build-not-publishing-web-applications/</guid><description>Why TFS builds silently skip copying web apps to _PublishedWebsites: a commented-out MSBuild import in the .csproj file, and the one-line fix.</description><pubDate>Tue, 08 Jan 2008 00:00:00 GMT</pubDate><category>development</category></item><item><title>Visual Studio Hangs on a Team Foundation Server UNDO Command</title><link>https://donnfelker.com/visual-studio-hangs-on-a-team-foundation-server-undo-command/</link><guid isPermaLink="true">https://donnfelker.com/visual-studio-hangs-on-a-team-foundation-server-undo-command/</guid><description>Visual Studio 2005 hanging on a Team Foundation Server Undo command? The undocumented devenv /resetuserdata switch fixed it for me.</description><pubDate>Thu, 13 Dec 2007 00:00:00 GMT</pubDate></item><item><title>Full path to the solution file… too long?</title><link>https://donnfelker.com/full-path-to-the-solution-file-too-long/</link><guid isPermaLink="true">https://donnfelker.com/full-path-to-the-solution-file-too-long/</guid><description>Hitting Visual Studio&apos;s 260-character MAX_PATH limit creating a solution? Build it elsewhere and copy it over, or map a share for a shorter path.</description><pubDate>Wed, 05 Dec 2007 00:00:00 GMT</pubDate></item><item><title>Google.com/ig/ and Big Feeds (over 512K in size)</title><link>https://donnfelker.com/google-comig-and-big-feeds-over-512k-in-size/</link><guid isPermaLink="true">https://donnfelker.com/google-comig-and-big-feeds-over-512k-in-size/</guid><description>Bumped your RSS feed to 1000+ items for a BlogEngine migration and forgot to change it back? FeedBurner chokes past 512K and serves stale posts.</description><pubDate>Sat, 01 Dec 2007 00:00:00 GMT</pubDate></item><item><title>Syntax Highlighting for .build and .msbuild</title><link>https://donnfelker.com/syntax-highlighting-for-build-and-msbuild/</link><guid isPermaLink="true">https://donnfelker.com/syntax-highlighting-for-build-and-msbuild/</guid><description>A simple Visual Studio trick I wish I&apos;d known sooner: map .build and .msbuild file extensions to the XML editor to get proper syntax highlighting.</description><pubDate>Sat, 01 Dec 2007 00:00:00 GMT</pubDate></item><item><title>Weird Error after VS2005 Crash &amp; The K.I.S.S. Principle</title><link>https://donnfelker.com/weird-error-after-vs2005-crash-amp-the-k-i-s-s-principle/</link><guid isPermaLink="true">https://donnfelker.com/weird-error-after-vs2005-crash-amp-the-k-i-s-s-principle/</guid><description>After a VS2005 crash corrupted a project file beyond repair, the fix was simple: restore from backup first, troubleshoot second. K.I.S.S.</description><pubDate>Sat, 01 Dec 2007 00:00:00 GMT</pubDate></item><item><title>Cruise Control.NET &amp; Visual Source Safe – SS.EXE Hangs</title><link>https://donnfelker.com/cruise-control-net-amp-visual-source-safe-ss-exe-hangs/</link><guid isPermaLink="true">https://donnfelker.com/cruise-control-net-amp-visual-source-safe-ss-exe-hangs/</guid><description>CruiseControl.NET hanging on &apos;Checking For Modifications&apos; with Visual SourceSafe? A stray space in the password field was silently blocking SS.EXE.</description><pubDate>Fri, 30 Nov 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>Frustrating MS Test Issue – blah blah blah is not trusted</title><link>https://donnfelker.com/frustrating-ms-test-issue-blah-blah-blah-is-not-trusted/</link><guid isPermaLink="true">https://donnfelker.com/frustrating-ms-test-issue-blah-blah-blah-is-not-trusted/</guid><description>MSTest throwing the location of the file is not trusted on a referenced DLL? Right-click it, hit Unblock, and the error disappears.</description><pubDate>Mon, 19 Nov 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>Comma Delimiting Strings in .NET – The Framework Way</title><link>https://donnfelker.com/comma-delimiting-strings-in-net-the-framework-way/</link><guid isPermaLink="true">https://donnfelker.com/comma-delimiting-strings-in-net-the-framework-way/</guid><description>Stop using StringBuilder to join comma-separated strings in .NET - the built-in CommaDelimitedStringCollection class does it for you.</description><pubDate>Thu, 15 Nov 2007 00:00:00 GMT</pubDate></item><item><title>Vitamin or Prescription?</title><link>https://donnfelker.com/vitamin-or-prescription/</link><guid isPermaLink="true">https://donnfelker.com/vitamin-or-prescription/</guid><description>A simple framework for prioritizing feature requests: ask if it&apos;s a &apos;vitamin&apos; (nice to have) or a &apos;prescription&apos; (required to survive).</description><pubDate>Wed, 14 Nov 2007 00:00:00 GMT</pubDate><category>development</category><category>misc</category></item><item><title>MODI – The Lightweight DOM Inspector Bookmarklet</title><link>https://donnfelker.com/modi-the-lightweight-dom-inspector-bookmarklet/</link><guid isPermaLink="true">https://donnfelker.com/modi-the-lightweight-dom-inspector-bookmarklet/</guid><description>MODI is a bookmarklet DOM inspector: hover over any element to see its parents and classes, no install required, works on any machine.</description><pubDate>Tue, 13 Nov 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>Becoming a Better Developer in Six Months</title><link>https://donnfelker.com/becoming-a-better-developer-in-six-months/</link><guid isPermaLink="true">https://donnfelker.com/becoming-a-better-developer-in-six-months/</guid><description>A personal list of skills and certifications to tackle over six months, from AForge.NET&apos;s AI and computer vision libraries to WCF and Silverlight.</description><pubDate>Mon, 29 Oct 2007 00:00:00 GMT</pubDate></item><item><title>VS2008 VPC’s Are Expiring Prematurely on Nov 1st</title><link>https://donnfelker.com/vs2008-vpcs-are-expiring-prematurely-on-nov-1st/</link><guid isPermaLink="true">https://donnfelker.com/vs2008-vpcs-are-expiring-prematurely-on-nov-1st/</guid><description>VS2008 Beta2 virtual PCs are set to expire prematurely on Nov 1, 2007 due to an OS timeout. Back up your TFS database before it happens.</description><pubDate>Sat, 27 Oct 2007 00:00:00 GMT</pubDate></item><item><title>Content Type Class File</title><link>https://donnfelker.com/content-type-class-file/</link><guid isPermaLink="true">https://donnfelker.com/content-type-class-file/</guid><description>Tired of looking up MIME content types every time? Here&apos;s a free downloadable static C# class with constants for every common file extension.</description><pubDate>Wed, 24 Oct 2007 00:00:00 GMT</pubDate></item><item><title>A Geek’s Checkbook Register</title><link>https://donnfelker.com/a-geeks-checkbook-register/</link><guid isPermaLink="true">https://donnfelker.com/a-geeks-checkbook-register/</guid><description>I hate balancing a checkbook, so I automated it with ClearCheckBook.com and its CheckBot texting feature -- log transactions by SMS, no spreadsheet required.</description><pubDate>Wed, 17 Oct 2007 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Auto-Insert Attribute Quotes in HTML</title><link>https://donnfelker.com/auto-insert-attribute-quotes-in-html/</link><guid isPermaLink="true">https://donnfelker.com/auto-insert-attribute-quotes-in-html/</guid><description>A quick Visual Studio tip: enable automatic attribute-value quotes when typing HTML in the ASPX editor, so you stop typing them by hand.</description><pubDate>Fri, 12 Oct 2007 00:00:00 GMT</pubDate><category>development</category><category>screencasts</category></item><item><title>Map a Drive in .NET and PowerShell</title><link>https://donnfelker.com/map-a-drive-in-net-and-powershell/</link><guid isPermaLink="true">https://donnfelker.com/map-a-drive-in-net-and-powershell/</guid><description>Quick code snippets for mapping, checking, and deleting a network drive at runtime, shown both in .NET (System.Diagnostics.Process) and PowerShell.</description><pubDate>Fri, 12 Oct 2007 00:00:00 GMT</pubDate></item><item><title>The Ergonomic Consultant</title><link>https://donnfelker.com/the-ergonomic-consultant/</link><guid isPermaLink="true">https://donnfelker.com/the-ergonomic-consultant/</guid><description>A consultant&apos;s survival kit for bad client desks: the Natural Ergonomic keyboard, a wired mouse, a laptop riser, and tricks for scoring a decent chair.</description><pubDate>Fri, 12 Oct 2007 00:00:00 GMT</pubDate><category>misc</category></item><item><title>A Sandbox/Test Server Is a Sandbox For A Reason</title><link>https://donnfelker.com/a-sandboxtest-server-is-a-sandbox-for-a-reason/</link><guid isPermaLink="true">https://donnfelker.com/a-sandboxtest-server-is-a-sandbox-for-a-reason/</guid><description>Why every service provider needs a sandbox environment that actually mirrors production -- and what happens to your code (and trust) when it doesn&apos;t.</description><pubDate>Sat, 06 Oct 2007 00:00:00 GMT</pubDate><category>business</category><category>development</category><category>misc</category><category>mobile</category></item><item><title>Watermarking Images in ASP.NET with an HttpHandler</title><link>https://donnfelker.com/watermarking-images-in-asp-net-with-an-httphandler/</link><guid isPermaLink="true">https://donnfelker.com/watermarking-images-in-asp-net-with-an-httphandler/</guid><description>How to watermark JPG, PNG, GIF, and BMP images on the fly in ASP.NET using a simple HttpHandler, with working C# code you can drop in today.</description><pubDate>Tue, 18 Sep 2007 00:00:00 GMT</pubDate><category>development</category><category>screencasts</category></item><item><title>Belkin is Gangster</title><link>https://donnfelker.com/belkin-is-gangster/</link><guid isPermaLink="true">https://donnfelker.com/belkin-is-gangster/</guid><description>A short, tongue-in-cheek post noting that Belkin&apos;s corporate headquarters is located right in Compton, California - which is objectively gangster.</description><pubDate>Fri, 14 Sep 2007 00:00:00 GMT</pubDate></item><item><title>Automated Form Posting with .NET / ASP.NET’s CURL</title><link>https://donnfelker.com/automated-form-posting-with-net-asp-nets-curl/</link><guid isPermaLink="true">https://donnfelker.com/automated-form-posting-with-net-asp-nets-curl/</guid><description>How to use .NET&apos;s HttpWebRequest to post form data to a site with no API, capturing headers with Fiddler to automate an SMS-sending web form.</description><pubDate>Thu, 13 Sep 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>Google AdWords &amp; Discover Card</title><link>https://donnfelker.com/google-adwords-amp-discover-card/</link><guid isPermaLink="true">https://donnfelker.com/google-adwords-amp-discover-card/</guid><description>Google AdWords wouldn&apos;t accept my Discover Card back in 2007. Here&apos;s the payment rant, Google&apos;s canned response, and why it still bugged me.</description><pubDate>Tue, 11 Sep 2007 00:00:00 GMT</pubDate></item><item><title>Simulating Bandwidth in Web Applications</title><link>https://donnfelker.com/simulating-bandwidth-in-web-applications/</link><guid isPermaLink="true">https://donnfelker.com/simulating-bandwidth-in-web-applications/</guid><description>Net Limiter lets you throttle your own connection to 56k so you can actually feel how your AJAX, Flash, or Silverlight app performs for slow users.</description><pubDate>Mon, 10 Sep 2007 00:00:00 GMT</pubDate></item><item><title>SubSonic on GoDaddy Shared Hosting</title><link>https://donnfelker.com/subsonic-on-godaddy-shared-hosting/</link><guid isPermaLink="true">https://donnfelker.com/subsonic-on-godaddy-shared-hosting/</guid><description>SubSonic throws a SecurityException on GoDaddy&apos;s medium-trust hosting because of trace logging calls - comment out these lines and recompile to fix it.</description><pubDate>Mon, 10 Sep 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>Texting/SMS Your Mobile Phone From .NET (or any other technology)</title><link>https://donnfelker.com/textingsms-your-mobile-phone-from-net-or-any-other-technology/</link><guid isPermaLink="true">https://donnfelker.com/textingsms-your-mobile-phone-from-net-or-any-other-technology/</guid><description>A running list of carrier email-to-SMS gateways and third-party services for sending text messages from .NET or any code, plus which ones to trust.</description><pubDate>Mon, 10 Sep 2007 00:00:00 GMT</pubDate></item><item><title>CodeSmith Screencast</title><link>https://donnfelker.com/codesmith-screencast/</link><guid isPermaLink="true">https://donnfelker.com/codesmith-screencast/</guid><description>A screencast showing how to use CodeSmith to loop through a database schema and generate a text file for every table automatically.</description><pubDate>Wed, 05 Sep 2007 00:00:00 GMT</pubDate><category>screencasts</category></item><item><title>DB2 / SQL SERVER 2005 / .NET</title><link>https://donnfelker.com/db2-sql-server-2005-net/</link><guid isPermaLink="true">https://donnfelker.com/db2-sql-server-2005-net/</guid><description>Notes from moving DB2 data into SQL Server 2005 via SSIS: the Microsoft OLE DB2 driver chokes on BLOBs, the IBM ODBC driver on DateTime precision.</description><pubDate>Wed, 22 Aug 2007 00:00:00 GMT</pubDate></item><item><title>SQLyog MySQL GUI Tool</title><link>https://donnfelker.com/sqlyog-mysql-gui-tool/</link><guid isPermaLink="true">https://donnfelker.com/sqlyog-mysql-gui-tool/</guid><description>SQLyog is the MySQL GUI client I switched to after years on the command line and phpMyAdmin - faster for everyday tabular data work.</description><pubDate>Tue, 21 Aug 2007 00:00:00 GMT</pubDate></item><item><title>Outlook Live Mail Connector</title><link>https://donnfelker.com/outlook-live-mail-connector/</link><guid isPermaLink="true">https://donnfelker.com/outlook-live-mail-connector/</guid><description>Microsoft&apos;s Outlook connector for Windows Live Mail syncs email and contacts, but locks calendar sync behind a paid account. Still team Gmail.</description><pubDate>Sat, 18 Aug 2007 00:00:00 GMT</pubDate></item><item><title>Installing BlogEngine.NET on GoDaddy Shared Hosting</title><link>https://donnfelker.com/installing-blogengine-net-on-godaddy-shared-hosting/</link><guid isPermaLink="true">https://donnfelker.com/installing-blogengine-net-on-godaddy-shared-hosting/</guid><description>Step-by-step fix for installing BlogEngine.NET on GoDaddy shared hosting, working around trust-level restrictions and App_Data permission issues.</description><pubDate>Fri, 17 Aug 2007 00:00:00 GMT</pubDate></item><item><title>Postponing .NET User Group Presentation</title><link>https://donnfelker.com/postponing-net-user-group-presentation/</link><guid isPermaLink="true">https://donnfelker.com/postponing-net-user-group-presentation/</guid><description>Had to postpone tomorrow night&apos;s .NET User Group talk due to unforeseen circumstances. A new date is coming in the next couple months.</description><pubDate>Tue, 14 Aug 2007 00:00:00 GMT</pubDate></item><item><title>SubVersion / TortoiseSVN Global Ignore Pattern</title><link>https://donnfelker.com/subversion-tortoisesvn-global-ignore-pattern/</link><guid isPermaLink="true">https://donnfelker.com/subversion-tortoisesvn-global-ignore-pattern/</guid><description>TortoiseSVN&apos;s Global Ignore Pattern setting keeps bin, obj, dll, pdb, and other build junk out of source control - here&apos;s the exact pattern I use and why.</description><pubDate>Fri, 10 Aug 2007 00:00:00 GMT</pubDate></item><item><title>Windsor Links</title><link>https://donnfelker.com/windsor-links/</link><guid isPermaLink="true">https://donnfelker.com/windsor-links/</guid><description>Bookmarking Ayende&apos;s collection of Castle Windsor IoC container tutorials and patterns, saved here mostly so I can find them again myself.</description><pubDate>Fri, 10 Aug 2007 00:00:00 GMT</pubDate></item><item><title>DbDataReader Mishap</title><link>https://donnfelker.com/dbdatareader-mishap/</link><guid isPermaLink="true">https://donnfelker.com/dbdatareader-mishap/</guid><description>A debugging gotcha: leaving a DbDataReader sitting in an unpinned Watch window during a test run triggered it early and broke a unit test.</description><pubDate>Thu, 09 Aug 2007 00:00:00 GMT</pubDate></item><item><title>Portable Applications – A Life Saver on a USB Stick</title><link>https://donnfelker.com/portable-applications-a-life-saver-on-a-usb-stick/</link><guid isPermaLink="true">https://donnfelker.com/portable-applications-a-life-saver-on-a-usb-stick/</guid><description>PortableApps lets you carry Notepad++, FileZilla, Firefox, and more on a USB stick, a lifesaver when you&apos;re working on a client&apos;s machine.</description><pubDate>Mon, 06 Aug 2007 00:00:00 GMT</pubDate></item><item><title>IIS 6 &amp; PHP – Mimicking .htaccess User/Pass Functionality</title><link>https://donnfelker.com/iis-6-amp-php-mimicking-htaccess-userpass-functionality/</link><guid isPermaLink="true">https://donnfelker.com/iis-6-amp-php-mimicking-htaccess-userpass-functionality/</guid><description>How to password-protect a directory on a PHP site running on IIS 6 using ASP.NET forms authentication, since .htaccess doesn&apos;t work on Windows.</description><pubDate>Fri, 03 Aug 2007 00:00:00 GMT</pubDate></item><item><title>Presenting at Arizona .NET User Group – Dependency Injection &amp; Inversion of Control</title><link>https://donnfelker.com/presenting-at-arizona-net-user-group-dependency-injection-amp-inversion-of-control/</link><guid isPermaLink="true">https://donnfelker.com/presenting-at-arizona-net-user-group-dependency-injection-amp-inversion-of-control/</guid><description>I&apos;m presenting Dependency Injection and Inversion of Control at the Arizona .NET User Group on August 14th at 6pm at the Microsoft office.</description><pubDate>Fri, 03 Aug 2007 00:00:00 GMT</pubDate></item><item><title>Tip: DirectorySeparatorChar</title><link>https://donnfelker.com/tip-directoryseparatorchar/</link><guid isPermaLink="true">https://donnfelker.com/tip-directoryseparatorchar/</guid><description>Stop hardcoding backslashes in file paths. Use .NET&apos;s Path.DirectorySeparatorChar so your code works on Windows, Mac, and *NIX alike.</description><pubDate>Sun, 29 Jul 2007 00:00:00 GMT</pubDate></item><item><title>Ubuntu and Virtual PC 2007 Mouse Issues</title><link>https://donnfelker.com/ubuntu-and-virtual-pc-2007-mouse-issues/</link><guid isPermaLink="true">https://donnfelker.com/ubuntu-and-virtual-pc-2007-mouse-issues/</guid><description>Installing Ubuntu 7.04 inside Virtual PC 2007 leaves the mouse completely unrecognized. Here are the two links that fixed it for me.</description><pubDate>Sat, 28 Jul 2007 00:00:00 GMT</pubDate></item><item><title>Returning XML Data as a Record Sets through the CLR in SQL Server 2005</title><link>https://donnfelker.com/returning-xml-data-as-a-record-sets-through-the-clr-in-sql-server-2005/</link><guid isPermaLink="true">https://donnfelker.com/returning-xml-data-as-a-record-sets-through-the-clr-in-sql-server-2005/</guid><description>How to use a SQL Server 2005 CLR stored procedure to return a row plus its embedded XML column data as proper record sets in one query.</description><pubDate>Fri, 27 Jul 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>HOW TO: Display Required Field Validators at Page Load</title><link>https://donnfelker.com/how-to-display-required-field-validators-at-page-load/</link><guid isPermaLink="true">https://donnfelker.com/how-to-display-required-field-validators-at-page-load/</guid><description>A short snippet to force ASP.NET RequiredFieldValidators to run on page load, so required-field asterisks show up before the user submits.</description><pubDate>Fri, 20 Jul 2007 00:00:00 GMT</pubDate></item><item><title>ASP.NET AJAX Always Visible Control Frustrations</title><link>https://donnfelker.com/asp-net-ajax-always-visible-control-frustrations/</link><guid isPermaLink="true">https://donnfelker.com/asp-net-ajax-always-visible-control-frustrations/</guid><description>ASP.NET AJAX&apos;s Always Visible Control won&apos;t target a user control directly. Here&apos;s the hacky but working fix: wrap it in a panel instead.</description><pubDate>Tue, 17 Jul 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>ASP.NET Projects Take Forever To Load in Internet Explorer</title><link>https://donnfelker.com/asp-net-projects-take-forever-to-load-in-internet-explorer/</link><guid isPermaLink="true">https://donnfelker.com/asp-net-projects-take-forever-to-load-in-internet-explorer/</guid><description>ASP.NET projects taking minutes to load in Internet Explorer during debugging while other sites load instantly? Resetting IE&apos;s settings fixed it.</description><pubDate>Mon, 09 Jul 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>HTML 5 vs HTML 4</title><link>https://donnfelker.com/html-5-vs-html-4/</link><guid isPermaLink="true">https://donnfelker.com/html-5-vs-html-4/</guid><description>Early notes on HTML5 vs HTML4: the new browser-native input types like date, email, and range that promised to kill custom UI widgets.</description><pubDate>Sat, 23 Jun 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>.NET Scaffolding</title><link>https://donnfelker.com/net-scaffolding/</link><guid isPermaLink="true">https://donnfelker.com/net-scaffolding/</guid><description>Tree Surgeon scaffolds a consistent .NET project layout, borrowing Rails&apos; convention-over-configuration approach to keep code where you&apos;d expect it.</description><pubDate>Thu, 21 Jun 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>Teamprise Explorer Client vs. Visual Studio Team Explorer</title><link>https://donnfelker.com/teamprise-explorer-client-vs-visual-studio-team-explorer/</link><guid isPermaLink="true">https://donnfelker.com/teamprise-explorer-client-vs-visual-studio-team-explorer/</guid><description>Comparing Teamprise Explorer and the Visual Studio Team Explorer plug-in for working with CodePlex&apos;s TFS-hosted source - and why the VS plug-in won out.</description><pubDate>Thu, 07 Jun 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>Windows Surface</title><link>https://donnfelker.com/windows-surface/</link><guid isPermaLink="true">https://donnfelker.com/windows-surface/</guid><description>A first look at Microsoft&apos;s original Surface: a 30-inch multi-touch tabletop that lets you grab data by hand, no keyboard or mouse required.</description><pubDate>Thu, 31 May 2007 00:00:00 GMT</pubDate></item><item><title>Live Maps Send to Mobile</title><link>https://donnfelker.com/live-maps-send-to-mobile/</link><guid isPermaLink="true">https://donnfelker.com/live-maps-send-to-mobile/</guid><description>Google Maps needs a Java client on your phone, Live Maps doesn&apos;t. Here&apos;s how to text driving directions to any mobile without one installed.</description><pubDate>Mon, 28 May 2007 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Microsoft Astoria Project</title><link>https://donnfelker.com/microsoft-astoria-project/</link><guid isPermaLink="true">https://donnfelker.com/microsoft-astoria-project/</guid><description>A look at Microsoft&apos;s Codename Astoria, an early REST-based data services project poised to compete with SOAP and WS-* web services.</description><pubDate>Mon, 28 May 2007 00:00:00 GMT</pubDate></item><item><title>Blogs, Podcasts and Screencasts</title><link>https://donnfelker.com/blogs-podcasts-and-screencasts/</link><guid isPermaLink="true">https://donnfelker.com/blogs-podcasts-and-screencasts/</guid><description>My go-to list of developer blogs, podcasts, screencasts, and magazines circa 2007, from Hanselman and Fowler to .NET Rocks and MSDN Magazine.</description><pubDate>Fri, 25 May 2007 00:00:00 GMT</pubDate><category>development</category><category>misc</category></item><item><title>Complexity and Staying Up To Speed</title><link>https://donnfelker.com/complexity-and-staying-up-to-speed/</link><guid isPermaLink="true">https://donnfelker.com/complexity-and-staying-up-to-speed/</guid><description>Feeling overwhelmed by how fast software moves? Practical advice on picking a niche and using blogs, podcasts, and screencasts to keep up.</description><pubDate>Fri, 25 May 2007 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Wireless Rest Areas</title><link>https://donnfelker.com/wireless-rest-areas/</link><guid isPermaLink="true">https://donnfelker.com/wireless-rest-areas/</guid><description>Driving cross-country, I found highway rest areas in Louisiana and Texas with free wifi, clearly signposted. Worth a search before your next road trip.</description><pubDate>Sat, 19 May 2007 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Simplifying Database Modeling in Visio 2002/2003 through SQL Generation</title><link>https://donnfelker.com/simplifying-database-modeling-in-visio-20022003-through-sql-generation/</link><guid isPermaLink="true">https://donnfelker.com/simplifying-database-modeling-in-visio-20022003-through-sql-generation/</guid><description>Visio 2002/2003 can&apos;t forward-engineer databases, so I used the Orthogonal Toolbox plugin and a custom XSLT to turn ERD diagrams straight into SQL DDL.</description><pubDate>Fri, 11 May 2007 00:00:00 GMT</pubDate></item><item><title>New Version Notepad++</title><link>https://donnfelker.com/new-version-notepad/</link><guid isPermaLink="true">https://donnfelker.com/new-version-notepad/</guid><description>A new Notepad++ release brings multi-file recursive search/replace, an NppExec script runner, clickable links, and Aspell spell-check support.</description><pubDate>Wed, 09 May 2007 00:00:00 GMT</pubDate></item><item><title>Temporary Projects in Visual Studio 2005</title><link>https://donnfelker.com/temporary-projects-in-visual-studio-2005/</link><guid isPermaLink="true">https://donnfelker.com/temporary-projects-in-visual-studio-2005/</guid><description>A hidden Visual Studio 2005 option lets you create in-memory throwaway projects that never touch disk or clutter your recent projects list.</description><pubDate>Tue, 08 May 2007 00:00:00 GMT</pubDate></item><item><title>C# Microsoft MapPoint 4.5 Geocode (Latitude and Longitude) Class</title><link>https://donnfelker.com/c-microsoft-mappoint-4-5-geocode-latitude-and-longitude-class/</link><guid isPermaLink="true">https://donnfelker.com/c-microsoft-mappoint-4-5-geocode-latitude-and-longitude-class/</guid><description>A C# geocoding class built on the Microsoft MapPoint 4.5 SDK, for developers who want an alternative to my Google Maps geocode class.</description><pubDate>Mon, 07 May 2007 00:00:00 GMT</pubDate></item><item><title>Good SharePoint HowTo Videos</title><link>https://donnfelker.com/good-sharepoint-howto-videos/</link><guid isPermaLink="true">https://donnfelker.com/good-sharepoint-howto-videos/</guid><description>A short list of solid SharePoint how-to videos from Microsoft and DNR TV covering search, InfoPath forms, content types, and the Business Data Catalog.</description><pubDate>Thu, 26 Apr 2007 00:00:00 GMT</pubDate></item><item><title>Unit Testing .NetTiers Processors with Dependency Injection</title><link>https://donnfelker.com/unit-testing-nettiers-processors-with-dependency-injection/</link><guid isPermaLink="true">https://donnfelker.com/unit-testing-nettiers-processors-with-dependency-injection/</guid><description>How to unit test tightly-coupled .NetTiers Processors by injecting a CountryService through the constructor instead of the database.</description><pubDate>Tue, 17 Apr 2007 00:00:00 GMT</pubDate></item><item><title>Tree Surgeon Development</title><link>https://donnfelker.com/tree-surgeon-development/</link><guid isPermaLink="true">https://donnfelker.com/tree-surgeon-development/</guid><description>I&apos;ve joined the Tree Surgeon open source project, now on CodePlex under Bil Simser, to help build out its dev tree and build tooling.</description><pubDate>Mon, 16 Apr 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>The .NET Developer Search Engine</title><link>https://donnfelker.com/the-net-developer-search-engine/</link><guid isPermaLink="true">https://donnfelker.com/the-net-developer-search-engine/</guid><description>Dan Appleman&apos;s SearchDotNet.com is a custom Google search scoped to expert .NET sites, cutting through generic noise when Google fails you.</description><pubDate>Fri, 13 Apr 2007 00:00:00 GMT</pubDate></item><item><title>Codeplex is down?</title><link>https://donnfelker.com/codeplex-is-down/</link><guid isPermaLink="true">https://donnfelker.com/codeplex-is-down/</guid><description>This morning, I went to log into Codeplex and I got the dreaded YSOD</description><pubDate>Thu, 12 Apr 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>Keyboard Shortcuts for TestDriven.NET</title><link>https://donnfelker.com/keyboard-shortcuts-for-testdriven-net/</link><guid isPermaLink="true">https://donnfelker.com/keyboard-shortcuts-for-testdriven-net/</guid><description>How to bind a keyboard shortcut in Visual Studio for TestDriven.NET&apos;s Run Tests command, so you can stop right-clicking to run your tests.</description><pubDate>Fri, 06 Apr 2007 00:00:00 GMT</pubDate></item><item><title>Handling unexpected exceptions and tracing</title><link>https://donnfelker.com/handling-unexpected-exceptions-and-tracing/</link><guid isPermaLink="true">https://donnfelker.com/handling-unexpected-exceptions-and-tracing/</guid><description>How to catch unhandled ASP.NET errors globally with Application_Error, log them via trace listeners, and stop leaking YSOD details to users.</description><pubDate>Sun, 01 Apr 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>ASP.NET HOWTO: Enable Default Enter Button in ASP.NET 2.0</title><link>https://donnfelker.com/asp-net-howto-enable-default-enter-button-in-asp-net-2-0/</link><guid isPermaLink="true">https://donnfelker.com/asp-net-howto-enable-default-enter-button-in-asp-net-2-0/</guid><description>How to make the Enter key submit an ASP.NET 2.0 form: set the HtmlForm&apos;s DefaultButton property instead of writing custom JavaScript.</description><pubDate>Thu, 29 Mar 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>Overcomplicating simple things – ASP.NET AJAX Confirmation Button Extender</title><link>https://donnfelker.com/overcomplicating-simple-things-asp-net-ajax-confirmation-button-extender/</link><guid isPermaLink="true">https://donnfelker.com/overcomplicating-simple-things-asp-net-ajax-confirmation-button-extender/</guid><description>The ASP.NET AJAX ConfirmButtonExtender does the same job as a one-line OnClientClick confirm() call, just with a lot more overhead.</description><pubDate>Wed, 28 Mar 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>error CS0030: Cannot convert type (Login.master)</title><link>https://donnfelker.com/error-cs0030-cannot-convert-type-login-master/</link><guid isPermaLink="true">https://donnfelker.com/error-cs0030-cannot-convert-type-login-master/</guid><description>CS0030 &apos;cannot convert type&apos; error after precompiling? Don&apos;t name your master page code-behind class Login - it collides with ASP.NET&apos;s own class.</description><pubDate>Tue, 27 Mar 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>IIS 7 – This configuration section cannot be used at this path.</title><link>https://donnfelker.com/iis-7-this-configuration-section-cannot-be-used-at-this-path/</link><guid isPermaLink="true">https://donnfelker.com/iis-7-this-configuration-section-cannot-be-used-at-this-path/</guid><description>Fixing IIS 7&apos;s 500.19 configuration lock error by changing overrideModeDefault to Allow in applicationHost.config, or unlocking it via appcmd.</description><pubDate>Mon, 26 Mar 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>Using Excel to help with Data formatting (SQL Scripts)</title><link>https://donnfelker.com/using-excel-to-help-with-data-formatting-sql-scripts/</link><guid isPermaLink="true">https://donnfelker.com/using-excel-to-help-with-data-formatting-sql-scripts/</guid><description>How to use Excel&apos;s LEFT, MID, RIGHT, and SEARCH functions to turn messy copy-pasted address data into ready-to-run SQL INSERT scripts.</description><pubDate>Fri, 23 Mar 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>HOWTO: Build a Store Locator in ASP.NET</title><link>https://donnfelker.com/howto-build-a-store-locator-in-asp-net/</link><guid isPermaLink="true">https://donnfelker.com/howto-build-a-store-locator-in-asp-net/</guid><description>A full ASP.NET store locator: geocoding addresses with the Google Maps API, a SQL distance calculation, and downloadable source code.</description><pubDate>Sat, 17 Mar 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>HOWTO: Debugging JavaScript using “debugger;”</title><link>https://donnfelker.com/howto-debugging-javascript-using-debugger/</link><guid isPermaLink="true">https://donnfelker.com/howto-debugging-javascript-using-debugger/</guid><description>How to debug JavaScript inside Visual Studio using the debugger keyword, plus the Internet Explorer settings you need to flip to enable it.</description><pubDate>Thu, 15 Mar 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>Notepad++ Shortcuts – Vista 64bit Update</title><link>https://donnfelker.com/notepad-shortcuts-vista-64bit-update/</link><guid isPermaLink="true">https://donnfelker.com/notepad-shortcuts-vista-64bit-update/</guid><description>My old XP registry trick for launching Notepad++ by typing n broke on Vista x64, so here&apos;s the updated reg file plus shell integration.</description><pubDate>Wed, 14 Mar 2007 00:00:00 GMT</pubDate></item><item><title>C# Google Geocode (Latitude and Longitude) Class</title><link>https://donnfelker.com/c-google-geocode-latitude-and-longitude-class/</link><guid isPermaLink="true">https://donnfelker.com/c-google-geocode-latitude-and-longitude-class/</guid><description>A free C# class for geocoding US, Canadian, and European addresses into latitude and longitude using the Google Maps API, with code and download.</description><pubDate>Tue, 13 Mar 2007 00:00:00 GMT</pubDate></item><item><title>aspnet_wp.exe could not be started?</title><link>https://donnfelker.com/aspnet_wp-exe-could-not-be-started/</link><guid isPermaLink="true">https://donnfelker.com/aspnet_wp-exe-could-not-be-started/</guid><description>Getting aspnet_wp.exe could not be started with error 80070545? Check which .NET Framework version is actually configured to run the app pool.</description><pubDate>Mon, 12 Mar 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>Open Source .NET Wiki</title><link>https://donnfelker.com/open-source-net-wiki/</link><guid isPermaLink="true">https://donnfelker.com/open-source-net-wiki/</guid><description>ScrewTurn Wiki is a GPL, medium-trust-friendly open source .NET 2.0 wiki that needs just IIS and one writable folder, no SQL Server required.</description><pubDate>Sun, 11 Mar 2007 00:00:00 GMT</pubDate></item><item><title>Visual Studio SP1 with Vista</title><link>https://donnfelker.com/visual-studio-sp1-with-vista/</link><guid isPermaLink="true">https://donnfelker.com/visual-studio-sp1-with-vista/</guid><description>Installing Visual Studio 2005 SP1 on Windows Vista? You need the regular SP1 first, then the separate Vista update, in that order.</description><pubDate>Sat, 10 Mar 2007 00:00:00 GMT</pubDate></item><item><title>Tree Surgeon – .NET 2.0 Reference Incorrect</title><link>https://donnfelker.com/tree-surgeon-net-2-0-reference-incorrect/</link><guid isPermaLink="true">https://donnfelker.com/tree-surgeon-net-2-0-reference-incorrect/</guid><description>Tree Surgeon&apos;s NAnt.exe.config still points at .NET 2.0 Beta 1, breaking the msbuild task. Here&apos;s the exact config fix to get it building.</description><pubDate>Tue, 06 Mar 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>Running Notepad++ From the command line</title><link>https://donnfelker.com/running-notepad-from-the-command-line/</link><guid isPermaLink="true">https://donnfelker.com/running-notepad-from-the-command-line/</guid><description>Launch Notepad++ from the command line just as fast as Notepad2 by remapping its App Paths registry key to a quick two-letter shortcut, nn.</description><pubDate>Sat, 03 Mar 2007 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Gemini Webservice interacting with SharePoint Business Data Catalog</title><link>https://donnfelker.com/gemini-webservice-interacting-with-sharepoint-business-data-catalog/</link><guid isPermaLink="true">https://donnfelker.com/gemini-webservice-interacting-with-sharepoint-business-data-catalog/</guid><description>How to hook Gemini&apos;s issue tracker web service into SharePoint MOSS 2007 using the Business Data Catalog and a hand-written metadata XML file.</description><pubDate>Fri, 02 Mar 2007 00:00:00 GMT</pubDate></item><item><title>Confluence Tree Surgeon</title><link>https://donnfelker.com/confluence-tree-surgeon/</link><guid isPermaLink="true">https://donnfelker.com/confluence-tree-surgeon/</guid><description>Tree Surgeon, ThoughtWorks&apos; free .NET tree generator, scaffolds a full solution with NUnit, NCover, and NAnt build scripts in seconds.</description><pubDate>Wed, 28 Feb 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>Gemini 2.0.5 “The Redirect Loop”</title><link>https://donnfelker.com/gemini-2-0-5-the-redirect-loop/</link><guid isPermaLink="true">https://donnfelker.com/gemini-2-0-5-the-redirect-loop/</guid><description>Debugging a maddening 401/302 redirect loop between Gemini&apos;s default.aspx and main.aspx: the fix that worked was an uninstall and reinstall.</description><pubDate>Tue, 27 Feb 2007 00:00:00 GMT</pubDate></item><item><title>Namespace Aliasing – The using directive</title><link>https://donnfelker.com/namespace-aliasing-the-using-directive/</link><guid isPermaLink="true">https://donnfelker.com/namespace-aliasing-the-using-directive/</guid><description>How to alias a C# namespace or a class with the using directive -- handy when two libraries share a namespace or a type name is painfully long.</description><pubDate>Thu, 22 Feb 2007 00:00:00 GMT</pubDate></item><item><title>Google Maps on your Mobile</title><link>https://donnfelker.com/google-maps-on-your-mobile/</link><guid isPermaLink="true">https://donnfelker.com/google-maps-on-your-mobile/</guid><description>Google Maps for mobile phones back in 2007 let you find stores, get directions, and save favorite spots right on your BlackBerry or J2ME phone.</description><pubDate>Wed, 21 Feb 2007 00:00:00 GMT</pubDate><category>misc</category></item><item><title>Updated: Formatted XML From SQL</title><link>https://donnfelker.com/updated-formatted-xml-from-sql/</link><guid isPermaLink="true">https://donnfelker.com/updated-formatted-xml-from-sql/</guid><description>How to return SQL Server query results as formatted XML elements, using FOR XML AUTO, the ELEMENTS option, and a custom ROOT name.</description><pubDate>Wed, 21 Feb 2007 00:00:00 GMT</pubDate></item><item><title>Generate XML in SQL</title><link>https://donnfelker.com/generate-xml-in-sql/</link><guid isPermaLink="true">https://donnfelker.com/generate-xml-in-sql/</guid><description>Skip DataTable.WriteXml() entirely. SQL Server 2005&apos;s FOR XML AUTO clause can generate XML straight from a query. Here&apos;s a quick example.</description><pubDate>Mon, 19 Feb 2007 00:00:00 GMT</pubDate></item><item><title>The hidden Trace page, trace.axd</title><link>https://donnfelker.com/the-hidden-trace-page-trace-axd/</link><guid isPermaLink="true">https://donnfelker.com/the-hidden-trace-page-trace-axd/</guid><description>ASP.NET&apos;s built-in trace.axd page shows detailed per-request timing and stats once you flip on tracing in web.config, plus how to log custom output.</description><pubDate>Tue, 13 Feb 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>Simian Upgrade</title><link>https://donnfelker.com/simian-upgrade/</link><guid isPermaLink="true">https://donnfelker.com/simian-upgrade/</guid><description>Simian&apos;s new release quietly dropped the -recurse flag, breaking my CruiseControl.NET build. Here&apos;s the fix, plus how fast the vendor patched it.</description><pubDate>Wed, 07 Feb 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>Force HTTPS on all requests, HttpModule</title><link>https://donnfelker.com/force-https-on-all-requests-httpmodule/</link><guid isPermaLink="true">https://donnfelker.com/force-https-on-all-requests-httpmodule/</guid><description>How to force every request to HTTPS in classic ASP.NET with a simple IHttpModule, instead of relying on IIS settings or per-page redirects.</description><pubDate>Sat, 03 Feb 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>Prototype/Proof of Concept code is not production code!</title><link>https://donnfelker.com/prototypeproof-of-concept-code-is-not-production-code/</link><guid isPermaLink="true">https://donnfelker.com/prototypeproof-of-concept-code-is-not-production-code/</guid><description>Prototype and proof-of-concept code exists to align with clients, not to ship. Why POC code should never be repurposed into your production app.</description><pubDate>Fri, 02 Feb 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>The “as” Keyword</title><link>https://donnfelker.com/the-as-keyword/</link><guid isPermaLink="true">https://donnfelker.com/the-as-keyword/</guid><description>A C# &apos;as&apos; cast gotcha: casting a boxed value type to string silently returns null instead of throwing, unlike a direct cast. Know your types.</description><pubDate>Tue, 30 Jan 2007 00:00:00 GMT</pubDate></item><item><title>New Lines</title><link>https://donnfelker.com/new-lines/</link><guid isPermaLink="true">https://donnfelker.com/new-lines/</guid><description>Stop hardcoding carriage-return-and-newline pairs in your C# strings. Use the built-in Environment.NewLine property so your code adapts to any platform.</description><pubDate>Wed, 17 Jan 2007 00:00:00 GMT</pubDate></item><item><title>Escaping String Literals</title><link>https://donnfelker.com/escaping-string-literals/</link><guid isPermaLink="true">https://donnfelker.com/escaping-string-literals/</guid><description>A simple C# trick: prefix a string with @ to stop escaping backslashes in file paths, plus the one case where it still trips you up.</description><pubDate>Sun, 14 Jan 2007 00:00:00 GMT</pubDate></item><item><title>Warnings as Errors</title><link>https://donnfelker.com/warnings-as-errors/</link><guid isPermaLink="true">https://donnfelker.com/warnings-as-errors/</guid><description>Why I configure every .NET project to treat compiler warnings as build-breaking errors, and how to turn it on in Visual Studio or csc.exe.</description><pubDate>Thu, 11 Jan 2007 00:00:00 GMT</pubDate></item><item><title>ASP.NET File Name at Runtime</title><link>https://donnfelker.com/asp-net-file-name-at-runtime/</link><guid isPermaLink="true">https://donnfelker.com/asp-net-file-name-at-runtime/</guid><description>A quick ASP.NET snippet and base Page class for grabbing the current page&apos;s file name at runtime without repeating the same helper everywhere.</description><pubDate>Wed, 10 Jan 2007 00:00:00 GMT</pubDate><category>development</category></item><item><title>Hiding Code From The Debugger</title><link>https://donnfelker.com/hiding-code-from-the-debugger/</link><guid isPermaLink="true">https://donnfelker.com/hiding-code-from-the-debugger/</guid><description>Tired of stepping through helper methods you already know work? The DebuggerHidden attribute tells the debugger to skip that code entirely.</description><pubDate>Tue, 09 Jan 2007 00:00:00 GMT</pubDate></item><item><title>Conditional Switch Statement with Enumeration String Value</title><link>https://donnfelker.com/conditional-switch-statement-with-enumeration-string-value/</link><guid isPermaLink="true">https://donnfelker.com/conditional-switch-statement-with-enumeration-string-value/</guid><description>How to switch on a string value of a C# enum without hitting the &apos;a constant value is required&apos; compiler error - just Enum.Parse it first.</description><pubDate>Sat, 06 Jan 2007 00:00:00 GMT</pubDate></item></channel></rss>