41554 blogs · [ { "id": "01a08755-5a50-71c1-bb51-1f2ce12b2302", "title": "The Dark Factory Is A Lie", "url": "http://blog.trevoke.net/post/the-dark-software-factory-is-a-lie/", "published_at": "2026-08-18T13:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ce20e6b34", "title": "GenAI Is a Power Tool — Don’t Use It Like a Crutch", "url": "http://blog.trevoke.net/post/using-genai-without-losing-your-critical-thinking-skills/", "published_at": "2025-04-14T01:12:27+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ce2e9e73b", "title": "Agile and lean art delivery", "url": "http://blog.trevoke.net/post/agile-and-lean-art-delivery/", "published_at": "2020-09-05T14:26:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ce350d703", "title": "Slack time explained", "url": "http://blog.trevoke.net/post/slack-time-explained/", "published_at": "2019-11-18T23:10:10+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ce359a0da", "title": "GenStage demystified", "url": "http://blog.trevoke.net/post/genstage_demystified/", "published_at": "2019-06-23T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ce40edd7a", "title": "Choosing the right editor", "url": "http://blog.trevoke.net/post/import-choosing-the-right-editor/", "published_at": "2019-06-08T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ce41d27ae", "title": "The first step in learning any new programming language", "url": "http://blog.trevoke.net/post/learn-a-new-prog/", "published_at": "2019-06-06T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ce4c865ce", "title": "Maintainability Is Relative", "url": "http://blog.trevoke.net/post/maintainability-is-relative/", "published_at": "2016-10-23T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ce58e3346", "title": "Benefits of a rapid test suite", "url": "http://blog.trevoke.net/post/benefits-of-a-rapid-test-suite/", "published_at": "2016-04-18T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ce5fe24b5", "title": "Why Elixir is the next Great Tech", "url": "http://blog.trevoke.net/post/elixir/", "published_at": "2016-03-31T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ce6db0094", "title": "The value of estimates for a team", "url": "http://blog.trevoke.net/post/the-value-of-estimates-for-a-team/", "published_at": "2015-04-02T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ce7627d0a", "title": "The code showed that I understood a wall existed", "url": "http://blog.trevoke.net/post/code-i-understood-a-wall-existed/", "published_at": "2015-03-18T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ce7907f05", "title": "Lesson from emacs: keep data easy to manipulate and easy to present", "url": "http://blog.trevoke.net/post/separate-manipulation-from-presentation/", "published_at": "2015-01-27T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ce79eb720", "title": "Shu ha ri and evolution of a skill", "url": "http://blog.trevoke.net/post/import-shu-ha-ri-and-evolution-of-a-skill-publish/", "published_at": "2014-02-18T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ce7f54809", "title": "Learning and fear", "url": "http://blog.trevoke.net/post/import-learning-and-fear-publish/", "published_at": "2013-11-18T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ce8547cb5", "title": "The Litany Against Fear", "url": "http://blog.trevoke.net/post/import-the-litany-against-fear-publish/", "published_at": "2013-11-18T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ce8ebf416", "title": "Ruby is alive and well", "url": "http://blog.trevoke.net/post/import-ruby-is-alive-and-well-publish/", "published_at": "2013-11-11T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ce9327393", "title": "First Class", "url": "http://blog.trevoke.net/post/import-first-class-private/", "published_at": "2013-06-11T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ce9609b92", "title": "Sparring", "url": "http://blog.trevoke.net/post/import-sparring-publish/", "published_at": "2013-05-15T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ce9af06a9", "title": "School creed", "url": "http://blog.trevoke.net/post/import-school-creed-publish/", "published_at": "2013-04-27T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ce9f34b3b", "title": "Add a user to the wheel group in OSX", "url": "http://blog.trevoke.net/post/import-add-a-user-to-the-wheel-group-in-osx-publish/", "published_at": "2013-02-07T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cea6b820f", "title": "Is Rails dying?", "url": "http://blog.trevoke.net/post/import-is-rails-dying-publish/", "published_at": "2013-02-02T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ceadeff64", "title": "Hard-and-fast, black-and-white rules for getting started with Object-Oriented Programming", "url": "http://blog.trevoke.net/post/object-oriented-programming-for-beginners/", "published_at": "2012-10-18T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ceb45fee0", "title": "Ruby: gem ffi on OSX Mountain Lion 10.8", "url": "http://blog.trevoke.net/post/import-ruby-gem-ffi-on-osx-mountain-lion-10-8-publish/", "published_at": "2012-08-21T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cec431ada", "title": "Hear no evil. See no evil. Speak no evil.", "url": "http://blog.trevoke.net/post/import-hear-no-evil-see-no-evil-speak-no-evil-publish/", "published_at": "2012-07-12T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cecdc2677", "title": "The schism in martial training paradigms", "url": "http://blog.trevoke.net/post/import-the-schism-in-martial-training-paradigms-publish/", "published_at": "2012-06-19T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ced3d2de1", "title": "Devise + rspec error: undefined method 'name'", "url": "http://blog.trevoke.net/post/import-devise-rspec-error-undefined-method-name-publish/", "published_at": "2012-06-11T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ced966117", "title": "The Tooth of Knowledge (Lyrics)", "url": "http://blog.trevoke.net/post/import-the-tooth-of-knowledge-lyrics-publish/", "published_at": "2012-04-26T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cedeea588", "title": "Ruby: What is at_exit and how to write tests for it.", "url": "http://blog.trevoke.net/post/import-ruby-what-is-at_exit-and-how-to-write-tests-for-it-publish/", "published_at": "2012-01-06T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cee075711", "title": "Art of Agile Planning / Art of Agile Delivery, by James Shore and Diana Larsen", "url": "http://blog.trevoke.net/post/import-art-of-agile-planning-art-of-agile-delivery-by-james-shore-and-diana-larsen-publish/", "published_at": "2011-11-02T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ceec2da41", "title": "Society's focus on knowledge", "url": "http://blog.trevoke.net/post/import-society-focus-on-knowledge-draft/", "published_at": "2011-10-20T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cef7babcb", "title": "Grepping a single file for 'dynamic' content", "url": "http://blog.trevoke.net/post/import-grepping-a-single-file-for-dynamic-content-publish/", "published_at": "2011-08-31T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2ceffa87f9", "title": "git usage conventions", "url": "http://blog.trevoke.net/post/import-git-usage-conventions-publish/", "published_at": "2011-08-30T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cf0444d93", "title": "Matt Damon's Speech at the Save Our Schools Rally", "url": "http://blog.trevoke.net/post/import-matt-damons-speech-at-the-save-our-schools-rally-publish/", "published_at": "2011-08-04T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cf1399ef5", "title": "L'inventaire - Jacques Prevert", "url": "http://blog.trevoke.net/post/import-linventaire-jacques-prevert-publish/", "published_at": "2011-07-10T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cf1d7003d", "title": "Get started with Ruby", "url": "http://blog.trevoke.net/post/import-ruby-publish/", "published_at": "2011-01-27T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cf2a56081", "title": "A scene from a story: martial arts training", "url": "http://blog.trevoke.net/post/import-inspiration-publish/", "published_at": "2010-10-18T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cf321d165", "title": "Punches and the lower back", "url": "http://blog.trevoke.net/post/import-punches-and-lower-back/", "published_at": "2010-05-10T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cf3fec4ed", "title": "New position at Cyrus", "url": "http://blog.trevoke.net/post/import-new-position-at-cyrus-publish/", "published_at": "2010-04-22T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cf4e4140c", "title": "Ruby callbacks (hooks)", "url": "http://blog.trevoke.net/post/import-ruby-callbacks-hooks-publish/", "published_at": "2010-03-31T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cf5a7e7ea", "title": "Nidan test", "url": "http://blog.trevoke.net/post/import-nidan-test-publish/", "published_at": "2010-03-19T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cf678b173", "title": "Github's customer service: bad review", "url": "http://blog.trevoke.net/post/import-githubs-customer-service-bad-review-publish/", "published_at": "2010-03-12T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cf714b43c", "title": "Teaching kusanku to sankyu", "url": "http://blog.trevoke.net/post/import-teaching-kusanku-to-sankyu-publish/", "published_at": "2010-03-11T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cf778c5c6", "title": "Gentoo on a Dell Inspiron Mini 10", "url": "http://blog.trevoke.net/post/import-gentoo-on-a-dell-inspiron-mini-10-publish/", "published_at": "2010-03-01T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cf7ed0fe2", "title": "Country alert levels", "url": "http://blog.trevoke.net/post/import-country-alert-levels-funny-publish/", "published_at": "2010-01-20T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cf89a3712", "title": "New gem: ListBrowser", "url": "http://blog.trevoke.net/post/import-new-gem-listbrowser-publish/", "published_at": "2010-01-15T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cf9778a08", "title": "Git : moving a remote branch", "url": "http://blog.trevoke.net/post/import-git-moving-a-remote-branch-publish/", "published_at": "2009-12-29T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cfa130ada", "title": "Inter-array permutations in Ruby", "url": "http://blog.trevoke.net/post/import-inter-array-permutations-in-ruby-publish/", "published_at": "2009-12-17T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cfa652b4d", "title": "Random constrained permutations in Ruby", "url": "http://blog.trevoke.net/post/import-random-constrained-permutations-in-ruby-publish/", "published_at": "2009-12-17T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cfa790944", "title": "Calling Rake tasks within the Rails env", "url": "http://blog.trevoke.net/post/import-open-source-is-wide-open-calling-rake-tasks-publish/", "published_at": "2009-12-15T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cfad1946b", "title": "On re-reading old code", "url": "http://blog.trevoke.net/post/import-on-re-reading-old-code-publish/", "published_at": "2009-12-09T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cfadd2ed2", "title": "Monday night training", "url": "http://blog.trevoke.net/post/import-monday-night-training-publish/", "published_at": "2009-11-26T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cfb9e3d7e", "title": "Auto-vivifying hashes in Ruby", "url": "http://blog.trevoke.net/post/import-auto-vivifying-hashes-in-ruby-publish/", "published_at": "2009-11-06T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cfc620a6c", "title": "Closures in Ruby", "url": "http://blog.trevoke.net/post/import-closures-in-ruby-publish/", "published_at": "2009-10-28T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cfc8400f2", "title": "Extending Ruby for Fun and Profit", "url": "http://blog.trevoke.net/post/import-extending-ruby-for-fun-and-profit-publish/", "published_at": "2009-10-27T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cfd022d65", "title": "Hologic R2 service password", "url": "http://blog.trevoke.net/post/import-hologic-r2-service-password-publish/", "published_at": "2009-10-14T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cfda15abf", "title": "Why do I study martial arts?", "url": "http://blog.trevoke.net/post/import-why-do-i-study-martial-arts-publish/", "published_at": "2009-10-03T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cfe4df0ff", "title": "Tonight's training (good AGAIN!)", "url": "http://blog.trevoke.net/post/import-tonights-training-good-again-publish/", "published_at": "2009-09-23T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cfeb33115", "title": "Another awesome training evening", "url": "http://blog.trevoke.net/post/import-another-awesome-training-evening-publish/", "published_at": "2009-09-17T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cff238a10", "title": "Dojo tonight", "url": "http://blog.trevoke.net/post/import-dojo-tonight-publish/", "published_at": "2009-09-16T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2cff64a494", "title": "Rails, HAML, alternatible CSS for tables", "url": "http://blog.trevoke.net/post/import-rails-haml-alternatible-css-for-tables-publish/", "published_at": "2009-09-02T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d004da7cf", "title": "Spending energy uselessly", "url": "http://blog.trevoke.net/post/import-spending-energy-uselessly-publish/", "published_at": "2009-09-01T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d006e3bd5", "title": "Ruby on Rails + Sybase", "url": "http://blog.trevoke.net/post/import-ruby-on-rails-sybase-publish/", "published_at": "2009-07-31T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d00b356a3", "title": "Passwords, passwords", "url": "http://blog.trevoke.net/post/import-passwords-passwords-publish/", "published_at": "2009-06-09T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d00c89a37", "title": "Lisp on OSX", "url": "http://blog.trevoke.net/post/import-lisp-on-osx-publish/", "published_at": "2009-05-15T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d01471445", "title": "install the mysql gem on Ubuntu", "url": "http://blog.trevoke.net/post/import-install-the-mysql-gem-on-ubuntu-publish/", "published_at": "2009-04-19T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d023f2e8c", "title": "Installing the mysql gem on OSX", "url": "http://blog.trevoke.net/post/import-installing-the-mysql-gem-on-osx-publish/", "published_at": "2009-04-17T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d02489d10", "title": "The world is shrinking: two videos", "url": "http://blog.trevoke.net/post/import-two-videos-a-change-in-the-world-publish/", "published_at": "2009-03-31T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d03480136", "title": "Who follows who?", "url": "http://blog.trevoke.net/post/import-who-follows-who-publish/", "published_at": "2009-03-26T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d0378b760", "title": "Relaxing the upper body.. aka \"drop your shoulders\"", "url": "http://blog.trevoke.net/post/import-relaxing-the-upper-body-aka-drop-your-shoulders-publish/", "published_at": "2009-02-24T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d0475fda9", "title": "More stances and some testing", "url": "http://blog.trevoke.net/post/import-more-stances-and-some-testing-publish/", "published_at": "2009-02-05T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d054120f5", "title": "Grouping directories by name", "url": "http://blog.trevoke.net/post/import-grouping-directories-by-name-publish/", "published_at": "2009-01-27T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d062cc38e", "title": "stances", "url": "http://blog.trevoke.net/post/import-stances-publish/", "published_at": "2009-01-27T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d06baeeb8", "title": "Making a ruby script into a stand-alone executable", "url": "http://blog.trevoke.net/post/import-making-a-ruby-script-into-a-stand-alone-executable-publish/", "published_at": "2009-01-23T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d077719a5", "title": "Nidan... ?", "url": "http://blog.trevoke.net/post/import-nidan-publish/", "published_at": "2009-01-06T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d07d82636", "title": "Recursively iterate through every file/subfolder - VBScript", "url": "http://blog.trevoke.net/post/import-recursively-iterate-through-every-filesubfolder-vbscript-publish/", "published_at": "2008-12-30T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d08253372", "title": "(Lexicographic) Permutations in Ruby", "url": "http://blog.trevoke.net/post/import-lexicographic-permutations-in-ruby-publish/", "published_at": "2008-12-20T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d091153bf", "title": "More students testing", "url": "http://blog.trevoke.net/post/import-more-students-testing-publish/", "published_at": "2008-12-19T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d0a0605eb", "title": "Windows Vista : Corrupt user profile", "url": "http://blog.trevoke.net/post/import-windows-vista-corrupt-user-profile-publish/", "published_at": "2008-12-07T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d0a8e48e0", "title": "Martial arts while sick", "url": "http://blog.trevoke.net/post/import-martial-arts-while-sick-publish/", "published_at": "2008-11-12T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d0ab0937b", "title": "An old-school 6th dan", "url": "http://blog.trevoke.net/post/import-an-old-school-6th-dan-publish/", "published_at": "2008-11-04T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d0af18f82", "title": "How to delete all files older than a day recursively in a directory and its subdirectories", "url": "http://blog.trevoke.net/post/import-how-to-delete-all-files-older-than-a-day-recursively-in-a-directory-and-its-subdirectories-publish/", "published_at": "2008-11-04T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d0b9ce366", "title": "MIMVista and auto-deletion of archived studies", "url": "http://blog.trevoke.net/post/import-mimvista-and-auto-deletion-of-archived-studies-publish/", "published_at": "2008-11-04T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d0c76b41b", "title": "Kali sticks", "url": "http://blog.trevoke.net/post/import-kali-sticks-publish/", "published_at": "2008-05-15T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d0ca6c85e", "title": "Testing for purple", "url": "http://blog.trevoke.net/post/import-testing-for-purple-publish/", "published_at": "2008-05-01T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d0d0c9a60", "title": "Solved my left shoulder pain?", "url": "http://blog.trevoke.net/post/import-solved-my-left-shoulder-pain-publish/", "published_at": "2008-04-15T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d0d85d571", "title": "Hurt my mid-back...", "url": "http://blog.trevoke.net/post/import-hurt-my-mid-back-publish/", "published_at": "2008-04-08T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d0dd30435", "title": "Found the solar plexus yet?", "url": "http://blog.trevoke.net/post/import-found-the-solar-plexus-yet-publish/", "published_at": "2008-03-24T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d0dd8136e", "title": "So, you want to spar?", "url": "http://blog.trevoke.net/post/import-so-you-want-to-spar-publish/", "published_at": "2008-03-21T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d0e9cdc48", "title": "Which martial arts school is right for you?", "url": "http://blog.trevoke.net/post/import-which-martial-arts-school-is-right-for-you-publish/", "published_at": "2008-03-20T00:00:00+00:00" }, { "id": "01a08755-5a50-71c1-bb51-1f2d0ee1fb2a", "title": "- Seven steps", "url": "http://blog.trevoke.net/post/xp-and-dewey/", "published_at": null } ] posts Claim your blog
Back to blog.trevoke.net
Blog · corpus.blog/blogs/blog.trevoke.net/posts

blog.trevoke.net

blog.trevoke.net

2026

2025

2020

2019

2016

2015

2014

2013

2012

2011

2010

2009

2008

Undated