The Curious Engineer

All blogs / Software / engineering practice

mike.mainguy

mikemainguy.blogspot.com

Software / engineering practiceJava / JVMRuby / RailsEngineering management / careers

Posts
310 from 19 Nov 2007 to 20 Jun 2025
Posting
now and then
Kind
personal blog
Feed
https://mikemainguy.blogspot.com/feeds/posts/default

2025 2

  1. Frictionless Experience
  2. Are You Being Strategic or Just Tactical in Disguise?

2024 3

  1. Generating swagger doc with copilot for undocumented rails app
  2. A new video series "The User Experience"
  3. webxr with Babylonjs, A-frame/Threejs, and Unity

2023 10

  1. MACH TEN Addendum: for companies wanting to use MACH platforms
  2. Scaling teams: Two strong oxen or 1024 chickens?
  3. Now not to do identity management (read this nintendo) [from 2019]
  4. Composable Software Architecture
  5. ChatGPT and generative AI will not eliminate programmers
  6. A Practical Application of Machine Learning
  7. web xr and the immersive web
  8. A Story About Artifical Intelligence
  9. The Metaverse versus The Immersive Web
  10. Why Digital Transformations Falter

2022 5

  1. The Real Value Behind MACH and Composable Platforms
  2. feature switch it
  3. Experiential Commerce
  4. On Software Technical Debt
  5. B2B, B2C, B2B2C oh my!

2021 4

  1. A Brief(ish) Explainer on Headless Architecture
  2. Platform Mobility is the "next big thing"
  3. social network censorship
  4. There was an old woman who swallowed a fly [anti-pattern]

2020 2

  1. What the heck is source code, environments, and versioning for non technical people
  2. Amazon busted?

2019 2

  1. MQTT/AMQP design implications
  2. The dark side of git...

2018 1

  1. The state of programming languages and frameworks

2017 4

  1. The Technical Estimation Paradox
  2. Software Architectural Decision Making
  3. An open letter to Trump supporters (warning, bad words)
  4. Yet Another Take On Software Developer Archetypes

2016 13

  1. Five simple steps to select the ultimate software development tool
  2. News media bias and how to read through it
  3. The end of election 2016 is near! (Thank God)
  4. My perspective on female programmers
  5. Honor, Dignity, and Victim Culture
  6. Headless rasberry pi 3 install for OSX for non-noobs
  7. Do you test your IT operations and business processes?
  8. Let it crash
  9. Problems in the internet of things
  10. Painting while blindfolded
  11. The craft of software development
  12. Process versus flexibility
  13. Navigating The Internet of Things

2015 19

  1. Lies, Damn Lies, and Virtualization
  2. Sideways customer service
  3. The (slightly tongue in cheek) role of the database administrator
  4. How to design a useful javascript framework
  5. Why I'm pushing your buttons
  6. Real world Internet of Things
  7. Please use ANSI-92 SQL Join Syntax
  8. Amdahl's Law, Gustafson's Law, and user experience stretching to optimize parallel web design
  9. The Programmers Code
  10. Simple thoughts versus simple solutions
  11. the myth of asynchronous JDBC
  12. Installing Varnish on Cento6
  13. Refactoring 101 for complete beginners
  14. The Hazard of Not Taking Things Personally at Work
  15. Installing virtualbox guest additions on Centos 7 minimal image
  16. My (potentially bad) parenting advice
  17. Accuracy Versus Precision
  18. Trail of tears architecture anti-pattern
  19. Minecraft is the new Doom

2014 13

  1. Why software estimates change and inflate
  2. Easily changing java versions in OSX
  3. Why OSX sucks and you should use ubuntu instead
  4. It's not NoSQL versus RDBMS, it's ACID + foreign keys versus eventual consistency
  5. Things to remember about information security
  6. Avoid hibernate anemia and reduce code bloat
  7. Success, Failure, and Tradition
  8. We are not our code
  9. Through The Looking Glass Architecture Antipattern
  10. Women in technology
  11. Testing Love and Polyamorous TDD
  12. The brokenness of java in the cloud
  13. Continuous integration versus delayed integration

2013 14

  1. Web application framework popularity over time
  2. Running off the jetway or how to make decisions under pressure
  3. Running and software development
  4. Using Olark online chat component
  5. Fun with character encoding and when to use ISO8859 instead of UTF-8
  6. MQTT over websockets with javascript apache and active mq
  7. An unflattering commentary on Rackspace cloud server security
  8. Java's problem is that Jidigava idigis gididibidigeridigish
  9. Software is design, how ruby is better for that job than java
  10. Fixing Perverse Incentives in Software Development
  11. When to refactor code
  12. Apologetic Agile Development
  13. java static fields
  14. Database pagination on mySql and Oracle

2012 30

  1. Ubuntu 12.04 on macbook pro
  2. Developer's Creed
  3. Effectively communicating software requirements - PART 1
  4. equals and hashCode for dummies (again)
  5. Fixing Hibernate, DB2, H2, and Boolean Issues With a User Type
  6. How to juice your java performance
  7. Use computers for repeatable tasks, use humans for creative tasks
  8. How to shoot yourself in the foot with HashCodeBuilder
  9. Clean code is an important quality, but not the MOST important
  10. Java programmers: Code to the interface, even if the interface is a class
  11. ya ain't gonna need it until ya need it
  12. All java archeditects read this
  13. The Notoriously Tricky "Step 0"
  14. Exploiting the Cloud for Personal Productivity
  15. Always Pull Branches When Merging
  16. Confessions of a Morning Person
  17. Lotus Notes, A Lesson in Poor User Experience
  18. The VB Model versus the Delphi Model
  19. Disruptive changes fuel innovation, innovation creates disruptive changes
  20. Being too early devalues your time
  21. Why some people think messaging is more scaleable
  22. Run your enterprise like a startup
  23. Aggressive control freaks make great programmers
  24. Using Mongoid, MongoHQ, and Heroku
  25. Governance Gone Wild
  26. Architectural Antipattern: "Through The Looking Glass"
  27. The Best Practices Myth
  28. people are not interchangeable cogs, they are more like the wind
  29. The difference between Black Swans, Flying Green Monkeys, and Unicorns
  30. All software is a commodity

2011 57

  1. Java classes, objects, and instances demystified (hopefully)
  2. The java collections framework for newbies
  3. Is your team a cross country team or a soccer team?
  4. How to ask intelligent questions
  5. stop branching! agile is soccer, not american football
  6. I beat ruby on rails by 6 months
  7. Gorillarinas, Putting the agile skirt on a waterfall Gorilla
  8. Promiscuous programming
  9. Two factor developer personality type scoring
  10. My javascript parseInt("08") surprise!
  11. JIRA, Pivotal Tracker, and Playnice.ly for issue tracking
  12. Should I use mongodb, couchdb, or redis?
  13. Amazon silk using webkit and SPDY
  14. Using git in an agile environment
  15. cross platform mobile development with phongap, rhomobile, and titanium
  16. What's the difference between macports and homebrew?
  17. Using Devise for authentication in rails 3
  18. defining IaaS, PaaS, and SaaS for cloud computing
  19. Another Ruby 1.9.2 gotcha hashes are not arrays
  20. Lucid Charts and Gliffy for online diagramming
  21. Push versus pull deployment models
  22. Groupon makes me tired
  23. The overhead of annual enrollment in the US
  24. Heroku is a bus, Engineyard is a car
  25. The economics of scaling software development teams
  26. Ruby 1.9.2 changes and i18n on Mac OSX
  27. git and github not change mangement tools
  28. Avoid Bowfinger Syndrome
  29. javascript sleep method
  30. Adding methods at runtime in javascript, ruby, and java
  31. Object Oriented Javascript
  32. Git for dummies
  33. The difference between urgency and importance
  34. Deciding on NOSQL vs RDMS
  35. Technology decision matrix (Using Ubuntu, Redhat & Suse as examples)
  36. Hey GOF, It's not a good metaphor unless you can drop it on your foot
  37. Coaching a winning team
  38. The Joystick Soccer Coach
  39. The ruby and java fightclub
  40. Productivity, billable hours, and expert craftsmen
  41. The difference between Scalability, Performance, Efficiency, and Concurrency explained
  42. Computus in scala and java
  43. Amazon EC2 Collapse and designing for cloud computing
  44. How important is the devops movement
  45. Parsing RSS in java and Jruby
  46. If it's stupid but it works, it's still stupid, it just also happens to work
  47. Simple software estimation guidelines
  48. Monoglot Developers are like Stereotypical Arrogant Americans
  49. Hard problems versus hard solutions
  50. Example of the difference between Ruby and Java
  51. Excellent customer service requires fixing broken windows
  52. This difference between agility and speed
  53. Change your change management process to support agility
  54. The SIDPERS-3 boondoggle
  55. anti-fragile software
  56. Is time a side effect of universal expansion?
  57. Your enterprise domain model should not be represented in code

2010 62

  1. Making the MQ versus RPC decision
  2. My experience at Denny's and three rules for success
  3. Rails, Grails, and convention over configuration
  4. The internet is causing the world to shrink
  5. If IDE's Were Star Wars Characters
  6. Why you should purchase Intellij.
  7. GWT is not a substitute for a web developer
  8. Architecture and Scaling Cloud Applications
  9. Just enough math to be dangerous
  10. Cloudant couchdb is free
  11. Rails and grails package management
  12. Rails and grails job scheduling
  13. Technology and programming trends
  14. Hacked Server on Rackspace
  15. Overloaded terms in the Ruby community
  16. Ruby on rails and groovy grails comparison
  17. jQuery ajax performance tuning
  18. Amazon EC2 versus rackspace cloud hosting
  19. db2 locking and MVCC
  20. HTTP 1.1, rfc 2616 and reading comprehension
  21. Secure your rackspace cloud server
  22. Cloud Computing Gotchas part II
  23. Cloud Computing Gotchas
  24. garage sales part two (geocoding and rendering)
  25. Garage sale maps
  26. tether droid eris to Ubuntu 10.04 machine
  27. My verizon bill
  28. What should I post online?
  29. Active Directory Authorization with Java
  30. Why windows is useful in the cloud
  31. firefox 3.6 and google chrome
  32. Why windows will not work in the cloud
  33. Kmart pharmacy customer (dis)service
  34. tech search
  35. Programming with eclipse
  36. Linux in the cloud (Ubuntu 10.04 vs RHEL 5.4)
  37. Cavemen, Exploding Nails, and Software Development
  38. Open development
  39. Window decorations in ubuntu 10.04
  40. NoSQL versus RDBMS
  41. The Psychology of user interfaces
  42. Technical Leadership
  43. Are you a really smart web developer?
  44. The cult of being busy
  45. Google Testing Blog: Clean Code Talks - Unit Testing
  46. What are unit tests?
  47. Those lazy developers....
  48. Were you talking about ME in your blog?
  49. gambler's fallacy
  50. The Peter Principle was wrong-ish
  51. Groovy, Eclipse, and Karmic Koala
  52. Chuck Norris programming language
  53. What are developers going to do?
  54. Business Analysts and Software Developers
  55. We're going crazy with all this service stuff
  56. Pandora
  57. media cache (with caching)
  58. App engine media cache
  59. The Road to Enterprise Cloud Computing
  60. Leadership - Followership
  61. Information Architecture
  62. T. Boone Pickens, Bill Gates, Warren Buffet, Steve Jobs, Eddie Lampert

2009 48

  1. Ira Glass on Storytelling
  2. The elves leave middle earth
  3. ATI drivers on Karmic Koala
  4. Bad code gone wild
  5. Ubuntu Cafe
  6. Crazy autogenerated email signatures
  7. Sometimes you need to break the rules
  8. dd-wrt on a linksys router.
  9. Building a custom debian package
  10. opennms install on ubuntu
  11. Requirements are not necessarily required
  12. Think like a genius
  13. The hazards of microbenchmarks
  14. Hill climbing problem with your career
  15. The Curse of Knowledge
  16. Elusive software requirements
  17. Upgrading Linux ATI drivers on ubuntu
  18. Transition from two guys in a garage to multinational company
  19. Cakes, Onions, and Ogres have layers, are you sure your code needs them?
  20. Project insanity
  21. I met me today
  22. What is development time?
  23. Broken Design
  24. Difference between strategy and tactics
  25. Leadership styles
  26. Sharpening the saw
  27. The ulitmate software development tool
  28. The journey is the destination
  29. Lazy Man's web hosting
  30. Cultural regression
  31. Agile Enterprise Architecture
  32. Top Down Management
  33. Right to privacy
  34. The Human Factor
  35. Some Folks are Unreachable
  36. ALERT! EMERGENCY FIX REQUIRED!!!
  37. Meetings gone bad
  38. Commander's intent
  39. Kmart.com has a stretchy layout now!
  40. Do the right thing...
  41. Buying a new keyboard via Bricks and Clicks
  42. Motif ES 8 and linux
  43. Big three retail web stores
  44. Earn cash with google
  45. The Information Technology Genie
  46. Technological Decision Making
  47. Creating great teams
  48. Google App Engine Part II

2008 13

  1. Grails, Rails, and Java
  2. Google App Engine
  3. Portals
  4. Architectural Thinking
  5. The Agile Development Process
  6. Corporate Open Source Software
  7. Wasted compute cycles running screen savers
  8. Be on time for meetings
  9. Grand theft childhood
  10. Hammers and Screws again
  11. Xn= kXn-1(1-Xn-1)
  12. Why use a wiki?
  13. Proper Web Design

2007 8

  1. Entropy or Energy?
  2. Why experts suck
  3. New Songs
  4. Enterprise Scalability and Architecture
  5. You can't be a manager, you've never done project management
  6. On Infrastructure and agility
  7. Selling good practices
  8. No Fluff Just Stuff 2007