~/pito salas
home blog link blog pages + new post
admin

Posts tagged #software-engineering

101 posts

  • 2026-09-09

    How I code today

    Over the last three months I have written thousands of lines of code and yet I didn't write any of them, claude.ai wrote them. The world of programming, software engineering, computer science, in my opinion has been turned upside down in a matter of months.

    How I code today

    I've created a process within the world of Claude Code which I use to design, plan and implement code. Many people have created similar ones and so instead of describing mine, in detail, let me explain the general idea. The heart of it is a series of feature specs (in individual numbered markdown files) and for each feature spec a task list (in a different markdown file as well) ...

    Read more →
  • 2026-06-24

    Pi Coding Agent

    A terminal-based coding agent

  • 2026-06-19

    Clear — Intent-First Agentic Development Language

    Clear — An intent-first agentic development language. Write readable specifications. AI agents turn them into real software.

  • 2026-01-14

    ServBay - The best local PHP Python Node.js MySQL PostgreSQL Ollama web development environment Mac PHP Brew MAMP XAMPP Node.js Wordpress Install

    A multifunctional web development environment that integrates web servers, databases, and various programming languages. It offers multi-instance PHP running, powerful CLI support, and flexible domain and SSL customization, aimed at optimizing web and PHP development processes. Its efficient development environment enhances resource utilization. It includes software such as MySQL, MariaDB, PostgreSQL, PHP, Redis, etc., supports Docker, Node.js, and focuses on security, ensuring a smoother and more efficient development process.

  • 2025-08-22

    Everything I know about good system design

    I see a lot of bad system design advice. One classic is the LinkedIn-optimized “bet you never heard of queues” style of post, presumably aimed at people who are…

  • 2025-08-20

    I used to be a human coder

    You have heard how in the long distant past we had people whose job was "Computer". They were people who computed. They worked alongside mathematicians and engineers (I suppose) to make complicated calculations. I suppose they worked with strict numerical problems but also with estimates, or solving equations, or computing distributions and so on.

    Now of course a "computer" means something else. It's a piece of equipment that does the same. The "computers" from the previous paragraph don't exist any more, the job is no longer necessary. So we distinguish the two by calling them "human 'computers'".

    (As an aside, I like finding examples of words - nouns usually - which make a distinction th...

    Read more →
  • 2025-04-11

    The Best Programmers I Know | Matthias Endler

    I have met a lot of developers in my life.
    Late…

  • 2024-08-31

    The Thread API : Concurrent, colorless Ruby

    👋🏼 This is part of series on concurrency, parallelism and asynchronous programming in Ruby. It’s a deep dive, so it’s divided into 12 main parts:
    Your Ruby programs are always multi-threaded: Part 1 Your Ruby programs are always multi-threaded: Part 2 Consistent, request-local state Ruby methods are colorless The Thread API: Concurrent, colorless Ruby Interrupting Threads: Concurrent, colorless Ruby Thread and its MaNy friends: Concurrent, colorless Ruby Fibers: Concurrent, colorless Ruby Processes, Ractors and alternative runtimes: Parallel Ruby Scaling concurrency: Streaming Ruby Abstracted, concurrent Ruby Closing thoughts, kicking the tires and tangents How I dive into CRuby concurrency You’re reading “The Thread API: Concurrent, colorless Ruby”.

  • 2024-08-28

    Good Refactoring vs Bad Refactoring

    I've hired a lot of developers over the years. More than a few of them have come in with a strong...

  • 2024-06-17

    erikbern/git-of-theseus: Analyze how a Git repo grows over time

    Analyze how a Git repo grows over time.

  • 2023-10-24

    Introduction - Ruby Science by thoughtbot

  • 2023-09-19

    Death by a thousand microservices

    Death by a thousand microservices –The software industry is learning once again that complexity kills

  • 2023-08-24

    Costs exposed: Monorepo vs. multirepo – Julio Merino (jmmv.dev)

    Costs exposed: Monorepo vs. multirepo – Julio Merino (jmmv.dev) –In software engineering organizations, there are certain practices that keep costs under control even if those seem more expensive at first. Unfortunately, because such practices feel more expensive, teams choose to keep their status quo even when they know it is suboptimal. This choice ends up hurting productivity and morale because planned work is continuously interrupted, which in turn drags project completion.

    The reason I say seem and not are is because the alternatives to these cost-exposing practices also suffer from costs. The difference is that, while...

    Read more →
  • 2023-06-25

    Rails design patterns

    Rails design patterns –This article is a high-level overview of design patterns that are commonly used in Ruby on Rails applications. I also mention the cons and pros.

  • 2023-06-23

    Lago Blog – ORMs are criticized for the wrong reasons

    Lago Blog – ORMs are criticized for the wrong reasons –ORMs, often criticized, are typically misused rather than inherently flawed. While they present challenges in visibility and performance, correct usage can mitigate these issues.

  • 2023-03-19

    Zed – Code at the speed of thought

    Zed – Code at the speed of thought –Just to prove that theres never the last word on anything, especially programmers editors. I thought history ended with vscode. But take a look st this, pretty tantilizing! Author says: “Code at the speed of thought. Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.”

  • 2023-03-10

    Three-Bucket Framework for Engineering Metrics

    Three-Bucket Framework for Engineering Metrics –Deciding what metrics to track and report to stakeholders. This article is common sense but very useful advice on how yo think about what metrics make sense to measure an engineering team.

  • 2023-03-03

    The Missing Semester of Your CS Education

    Classes teach you all about advanced topics within CS, from operating systems to machine learning, but there’s one critical subject that’s rarely covered, and is instead left to students to figure out on their own: proficiency with their tools. We’ll teach you how to master the command-line, use a powerful text editor, use fancy features of version control systems, and much more!

  • 2022-12-27

    Bottlenecks of Scaleups

    Bottlenecks of Scaleups –Common bottlenecks that prevent startups from scaling as quickly as they should. Thoughtworks always has good deep insight about software engineering. This too is an interesting series.

  • 2022-12-14

    The Case for Models | Concerning Quality

    The Case for Models | Concerning Quality –An interesting idea, model based testing. The aurhor says: “Again, I’m writing about models because I have a deep desire to keep software minimal. While I don’t think it’s wrong to simply buckle up and deal with the complexity and raw magnitude of implementations as many of us do, that’s just not the path that I find appealing intuitively.”

  • 2022-12-11

    When to use gRPC vs GraphQL

    When to use gRPC vs GraphQL –Honestly, I wasnt too aware of gRPC, but very aware of GraphQL. So this vomparison could be useful in the future. Author describes the article like this: “We dig into two of the most popular API protocols to see where they work best. “

  • 2022-11-28

    CapRover · Free and Open Source PaaS!

    CapRover · Free and Open Source PaaS! –From the readme, this is a promising tool for automating deploymeny of apps to s cloud server. Perhaps one more option post Heroku. They dont mention ruby and rails but imply its covered.

  • 2022-09-02

    Duplication – Code with Jason

    Duplication – Code with Jason –Duplication can pose serious maintenance problems to codebases. Developers’ attempts to fix duplication can even sometimes introduce new problems. Certain popular approaches to addressing duplication exist, such as the rule of three and the refrain duplication is cheaper than the wrong abstraction. I think these advice snippets treat duplication in an oversimplified way that doesn’t […]

  • 2022-08-28

    CodeSee – Bring visibility to your codebase

    CodeSee – Bring visibility to your codebase –CodeSee is the world’s first solution for Continuous Code Understanding. CodeSee helps development teams visually understand how your large-scale codebase works, document it, and collaborate continuously.

  • 2022-08-12

    A Developer’s Guide to Terraform – Semaphore

    A Developer’s Guide to Terraform – Semaphore –Terraform is one of the most popular IaC tools available. Learn its benefits and how to use it. This is a nice medium level explanation.

  • 2022-08-09

    Top 20 Books a Software Developer Must Read (Updated)

    Top 20 Books a Software Developer Must Read (Updated) –A continuous learning mindset is a key quality of a software developer who wants to stay relevant and grow their market value. Vectorly has…

  • 2022-07-08

    Home – Coder v1 v1.32 docs

    Home – Coder v1 v1.32 docs –This looks pretty interesting. Sort of what I’ve been trying to home grow. “Coder is a self-hosted platform that allows organizations to securely provision developer workspaces (featuring remote IDEs and all related resources) for DevOps, platform, and software engineering teams.”

  • 2022-06-23

    The Good Research Code Handbook

    This handbook is for grad students, postdocs and PIs who do a lot of programming as part of their research. It will teach you, in a practical manner, how to organize your code so that it is easy to...

  • 2022-04-13

    Why do all databases have a public schema in PostgreSQL?

    Why do all databases have a public schema in PostgreSQL? I was just curious why all databases in PostgreSQL have a public schema that is accessible to all users. I know I can revoke privileges and grant them to one user but why is that not the default? April 13, 2022 at 02:18PM

  • 2022-03-24

    The Basics of Database Sharding – Brent Ozar Unlimited®

    The Basics of Database Sharding – Brent Ozar Unlimited® There are many ways to scale out your database; many of these techniques require advanced management and expensive add-ons or editions. Database sharding is a flexible way of scaling out a database. In this presentation, Jeremiah Peschka explains how to scale out using database sharding, covers basic techniques, and shares some of the pitfalls. This… March 24, 2022 at 03:03PM

  • 2022-03-23

    Building Scalable Databases: Pros and Cons of Various Database Sharding Schemes – Dare Obasanjo

    Building Scalable Databases: Pros and Cons of Various Database Sharding Schemes – Dare Obasanjo OpiniDatabase sharding is the process of splitting up a database across multiple machines to improve the scalability of an application. The justification for database sharding is that after a certain scale point it is cheaper and more feasible to scale a site horizontally by adding more machines than to grow it vertically by adding beefier servers. March 24, 2022 at 12:33AM

  • 2022-03-23

    Sharding your database

    Sharding your database I’m increasingly encountering users on Heroku that are encountering the need to shard their data. For most users this is something you delay as long as possible as you can generally go for sometime before you have to worry about it. Additionally scaling up your database is often a reasonable approach early on and something I encourage as a starting point as scaling up is easy to do with regards to databases. However, for the 1% of users that do need to shard when the time comes many are left wondering where to start, hence the following guide. March 24, 2022 at 12:34AM

  • 2022-03-16

    3 ways to detect slow queries in PostgreSQL

    3 ways to detect slow queries in PostgreSQL This blog post is about handling bad performance in PostgreSQL and shows three useful and quick methods to spot performance problems and slow queries. March 16, 2022 at 05:35PM

  • 2022-03-09

    How Good Is Your Test Suite? | Codementor

    How Good Is Your Test Suite? | Codementor Relying solely on code coverage as a measure of test quality is not enough. Introduce mutation and property-based testing to see how good your tests and code actually are. March 9, 2022 at 08:08PM

  • 2022-03-09

    Randall Degges – Heroku and SOA

    Randall Degges – Heroku and SOA Heroku’s platform was designed with services in mind. If you’re building a service oriented web app, you might find this interesting. March 10, 2022 at 12:16AM

  • 2022-02-01

    Flipping Out | code.flickr.com

    Code switches at Flickr

  • 2022-02-01

    Heroku Postgres | Heroku Dev Center

    Heroku Postgres | Heroku Dev Center The Heroku Postgres add-on is a production database service, offering PostgreSQL, read-only follower databases, snapshots for forks, and local client access. February 1, 2022 at 10:21PM

  • 2022-02-01

    Flipping Out | code.flickr.com

    Flipping Out | code.flickr.com Code switches at Flickr February 1, 2022 at 10:12PM

  • 2022-01-12

    Types of cloud computing

    Types of cloud computing

    January 12, 2022 at 05:08PM

  • 2022-01-12

    10 BEST Performance Testing Tools | Load Testing Tools (2022)

    10 BEST Performance Testing Tools | Load Testing Tools (2022) Performance Testing Tools help in the process of determining the speed, effectiveness, reliability, scalability and interoperability of the system, computer, network, program or application. January 12, 2022 at 04:33PM

  • 2022-01-05

    Scalable application design without magic – Leveraging client computing power for high performance with many users

    Scalable application design without magic – Leveraging client computing power for high performance with many users I needed to design a scalable backend infrastructure that could handle lots of concurrent users. I did this by leveraging the client’s computing power having it handle most of the user interaction workload. January 5, 2022 at 05:21PM

  • 2022-01-05

    Scalable architecture without magic (and how to build it if you’re not Google)

    Scalable architecture without magic (and how to build it if you’re not Google) Scalability is considered a hard problem to tackle. It’s always presented like it’s something magical done with secret, special tools that only big, million … January 5, 2022 at 05:23PM

  • 2022-01-05

    Six Rules of Thumb for Scaling Software Architectures

    Six Rules of Thumb for Scaling Software Architectures We live in an age where massive scale, Internet-facing systems like Google, Amazon, Facebook and the like are engineering icons. They… January 5, 2022 at 05:26PM

  • 2021-12-31

    The Best No-Code Tools You Should Use 🧩

    The Best No-Code Tools You Should Use 🧩 And why they are an incredible opportunity for your dev team December 31, 2021 at 02:45PM

  • 2021-12-28

    Refactoring and Design Patterns

    Refactoring and Design Patterns Refactoring is a controllable process of improving code without creating new functionality. Design Patterns are typical solutions to the commonly occurring problems in software design. December 28, 2021 at 02:37PM

  • 2021-12-22

    Build internal tools, remarkably fast.

    Build internal tools, remarkably fast. Retool is the fast way to build internal tools. Drag-and-drop our building blocks and connect them to your databases and APIs to build your own tools, instantly. Connects with Postgres, REST APIs, GraphQL, Firebase, Google Sheets, and more. Built by developers, for developers. Trusted by startups and Fortune 500s. Sign up for free. December 22, 2021 at 02:21PM

  • 2021-06-20

    Scaling relational SQL databases

    Scaling relational SQL databases A list of things that we can do when we need to scale a SQL database. June 21, 2021 at 05:31AM

  • 2021-04-06

    pretty-algorithms/activity-selection.spec.ts at master · jiayihu/pretty-algorithms

    🌊 Pretty, common and useful algorithms with modern JS and beautiful tests - jiayihu/pretty-algorithms

  • 2021-04-06

    What RESTful actually means

  • 2021-04-06

    How I fixed my biggest mistake with implementing background jobs — Saturn Flyer

  • 2021-04-06

    Clean Coder Blog

  • 2021-04-06

    Learn Enough Action Cable to Be Dangerous | LearnEnough.com

    An introduction to real-time WebSocket apps with Rails

  • 2021-04-06

    Patterns for dealing with uncertainity

  • 2021-04-06

    How To Implement Simple Authentication Without Devise

    Almost every web app requires a sign in form.In Ruby, the popular choice is the Devise gem for Rails.

  • 2021-04-06

    molybdenum-99/reality: Comprehensive data proxy to knowledge about real world

    Comprehensive data proxy to knowledge about real world - molybdenum-99/reality

  • 2021-04-06

    Command bus in a Rails application

  • 2021-04-06

    Authentication with Ruby on Rails 4.2

  • 2021-04-06

    Exploring Cryptography Fundamentals in Ruby

    Jesus Castello walks through the basics of cryptography using examples in Ruby. This is an excellent primer on crypto.

  • 2021-04-06

    Learn - Sinatra Activerecord Setup

    Learn about Sinatra Activerecord Setup. Start learning to code for free with real developer tools on Learn.co.

  • 2021-04-06

    Sinatra Tests 101 - MiniTest

  • 2021-04-06

    How I Reduced my DB Server Load by 80%

    Database load can be a silent performance killer. I’ve been optimizing the query performance of a web app I run designed to get people involved in open sourc...

  • 2021-04-06

    Ruby concurrency: in praise of condition variables · vaneyckt.io

  • 2021-04-06

    Do the Right Thing and Document Your Rails API with Swagger — SitePoint

    Parth Modi generates executable docs for his Rails API using swagger-docs and swagger-ui.

  • 2021-04-06

    Resource Oriented Design  |  Cloud APIs  |  Google Cloud Platform

  • 2021-04-06

    No Silver Bullet – essence and accident in software engineering | the morning paper

  • 2021-04-06

    The Docker Book

    A book about Docker.

  • 2021-04-06

    RAML 100 Tutorial | RAML

  • 2021-04-06

    Idiosyncratic Ruby: Constant Shadows

    Documenting All Ruby Specialities.

  • 2021-04-06

    The Software Engineer's Online Handbook | Toptal

    Toptal enables start-ups, businesses, and organizations to hire freelance developers from a growing network of the best custom software engineers in the world. Find freelance developers to work full-time, part-time, or hourly who will seamlessly integrate into your team.

  • 2021-04-06

    Swagger – The World's Most Popular Framework for APIs.

    Simplify API development for users, teams, and enterprises with our open source and professional toolset. Find out how Swagger can help you and get started today.

  • 2021-04-06

    Rails Performance - What You Need To Know

  • 2021-04-06

    DB Browser for SQLite

    The Official home of the DB Browser for SQLite.

  • 2021-04-06

    JSON API — A specification for building APIs in JSON

  • 2021-04-06

    jnunemaker/flipper: feature flipping for ANYTHING

    :dolphin: Beautiful, performant feature flags for Ruby. - jnunemaker/flipper

  • 2021-04-06

    Minimalicious testing in Ruby 1.9 with MiniTest - Random notes by Arvid Andersson

    In this blog post I am going to try to do a introduction on writing tests in the style of Behavior Driven Development (BDD) specifications, also called specs...

  • 2021-04-06

    Matt Sears | Minitest Quick Reference

  • 2021-04-06

    How the Boeing 737 Max Disaster Looks to a Software Developer

    A great analysis of this terrible example of the impact of bugs

  • 2021-04-06

    Software development topics I've changed my mind on after 6 years in the industry - Blogomatano

    Some good ideas in here. I agree with much of it. Pick up an insight or two.

  • 2018-10-17

    Some great links for 10/18/2018

    Top 5 Contemporary Software Engineering Books – KI labs Engineering – Medium

    tags: books software engineering

    Posted from Diigo. The rest of my favorite links are here.

  • 2018-07-12

    Some great links for 07/12/2018

    Goodbye Microservices: From 100s of problem children to 1 superstar · Segment Blog

    tags: microservice

    Posted from Diigo. The rest of my favorite links are here.

  • 2018-04-25

    Some great links for 04/25/2018

    Microservice boundaries: five characteristics to guide your design

    tags: desgin soa microservices services

    Posted from Diigo. The rest of my favorite links are here.

  • 2018-04-12

    Some great links for 04/12/2018

    Micromessaging: Connecting Heroku Microservices w/Redis and RabbitMQ

    A brief article explaining different architectures for Microservices on Heroku.

    tags: reddis rabbitmq queueing

    Heroku Postgres | Heroku Dev Center

    How to share a postgres database between two separate Heroku applications!

    tags: heroku ...

    Read more →
  • 2014-06-27

    A View of 20th and 21st Century Software Engineering

    This was written in 2014:

    "I’ve been digging pretty deep into the Software Engineering literature to prepare a new course I am developing and came across this. It’s always fun to have a top-10 list even in the driest of topics, so here is Barry Boehm’s “Timeless Principles (+) and Aging Practices (-) of Software Engineering!"

    TimelessPrinciplesandAgingPractices

    For each decade, I’ve tried to identify two timeless principles headed by plus signs; and one aging practice, headed by a minus sign.

    From the 1950’s + Don’t neglect the sciences. This is the first part of the definition of “engineering”. It should...

    Read more →
  • 2014-04-12

    Rules of Thumb for Software Engineers

    Based on my own experience, some of my favorite books and blog posts, and advice from friends, I’ve come up with this. What do you think? What should I add? Please comment!

    Personal Effectiveness Rules of Thumb

    When you have your best idea ever, always remember that the idea is just 1% of the journey Yes, ideas are cheap. At least in the world of software engineering and product development, everyone and their grandfather have ideas that may be great. The distance between the idea and the reality is great. Here’s Steve Jobs about ideas

    ...

    Read more →
  • 2014-02-26

    Better to be a software developer than a college professor?

    Other than the headline, which is amusing, I am not sure about the methodology or significance of this study in US News (do they still exist?). And it seems that many professions, e.g. College Professor, don’t even get mentioned. Is it because they don’t even make the top 100? I doubt it. Anyway, Here’s more about the US News and World Report’s assessments:

    “All jobs aren’t created equal. In fact, some are simply better than the rest. U.S. News 100 Best Jobs of 2014 offer a mosaic of employment opportunity, good salary, manageable work-life balance and job security. Some careers offer just the right mix of these compone...

    Read more →
  • 2013-12-03

    How well does higher ed prepare you as a ‘software engineer’?

    This article is a bit harsh/one-sided, but I still thought it was interesting to see an attempt at comparing programming as practiced in two very different contexts.

    What’s the difference between college-level and corporate programming? | Ars Technica:

    Programming in school and programming in the real world are so inherently different to the point where there’s actually very little overlap. CS will prepare you for “real world” software development like athletics training would prepare an army for battle.

    In a vaguely related article, think about this: In the moder...

    Read more →
  • 2013-02-21

    Kluge: Is that an obsolete term?

    I was amazed today when in a group of 25 undergraduate engineering students, only three had heard the word kluge. When I explained what it was, it still did not ring a bell. When I asked how they refer to an ugly, clunky, scotch-taped solution, inelegant and embarrassing, but which basically works, they came up with “hack”.

    Query: Is the word “kluge” becoming obsolete among the geek community?

  • 2013-02-14

    How to be a star engineer!

    We all want to be star engineers, right? Here’s an intriguing article from about ten years ago engineers from top companies helped to dispel the myths about star performers and uncover the surprising secrets of stellar achievement for engineers.:

    “In 1985, I was asked a series of questions, and have been tracking down their answers ever since. Bell Laboratories (then part of AT&T Corp. and now mostly belonging to Lucent Technologies Inc.) was perplexed. It hired the best and the brightest from the world’s most prestigious universities, but only a few lived up to their apparent potential for brilliance. Most developed into solid pe...

    Read more →
  • 2012-02-04

    Software Developer Meat Market

    An interesting article in Forbes about Software Developers and Development in general, The Rise of Developeronomics. While here and there he is promoting old chestnuts which may or may not be true there is a core argument which is quite intriguing. It goes something like this:

    All companies are becoming software companies, meaning they are driven by software whatever their business actually is. Hence a key resource to a successful business is an effective, efficient and scalable capability to create innovative computer driven systems. Programmers are scarce. Hence the way to invest in the future is to culti...

    Read more →
  • 2012-02-03

    Is your software developer any good?

    Are you thinking about hiring a software developer to build your system? Here are “8 Things You Ought to Know If You Do Not Know Anything About Hiring a Software Developer“. He says:

    “I did not come to this industry with a software background. I studied math, physics, business, then finance. But over the past 12 years or so, I have learned quite a bit about how to pick a software… “friend”. So let me share with you 8 things I would want to know if I was starting afresh.” (from “8 Things You Ought to Know If You Do Not Know Anything About Hiring a Software Developer“)

    Can I be your friend?

  • 2012-02-03

    Customer vs. Consultant: Excellent advice

    From an article called “Effective Customer Consultant Relationships”:

    “As a customer, how can you get the most out of your consultants? As a consultant, how can you deliver what your customers really want? I have been on both sides of this relationship and experienced both successful and unsuccessful results. In this post, I will go through the typical aspects of these types of relationships and identify action items that I have used to forge effective and lasting customer consultant relationships for both parties.” (from “Effective Customer Consultant Relationships”)

    If you are a tech consultant or are thinking of hiring one, this article has some excellent advice.

  • 2011-07-30

    Pivotal Tracker, watch out for Trajectory

    I’ve been an avid user and recommender of Pivotal Tracker, an excellent, simple to use, Scrum based project manager. I still love it a lot. Screen Shot 2011 07 29 at 4 49 33 PM

    But, today I came across a very clean and simple alternative called Trajectory.

    Screen Shot 2011 07 29 at 4 50 08 PM

    You may want to check it out. I can’t say why we need ...

    Read more →
  • 2011-02-09

    A great article about scientific discourse

    This article is called “Fact and Folklore In Software Engineering” and while it is about that, the part that was more interesting to me was the first section talking about Scientific Discourse:

    “This article is about why some “facts” refuse to die, and about how to avoid being fooled by opinion disguised as scientific “fact”. We start, therefore, with some observations on science and facts.” (from “Fact and Folklore In Software Engineering”)

    Here he goes on to describe “The messy workings of scientific discourse”. It’s clarifying explanation of a process that we understand intuitively but actually ...

    Read more →
  • 2011-02-04

    [GEEKY] Great classic article about Mocks and Subs (non-geeks: don’t ask!)

    A seminal article about an advanced topic in software testing: Mocks aren’t Subs

    “The term ‘Mock Objects’ has become a popular one to describe special case objects that mimic real objects for testing. Most language environments now have frameworks that make it easy to create mock objects. What’s often not realized, however, is that mock objects are but one form of special case test object, one that enables a different style of testing. In this article I’ll explain how mock objects work, how they encourage testing based on behavior verification, and how the community around them uses them to develop a different style of testing.” (from Mocks aren’t Subs by Martin Fowler)

  • 2007-12-31

    Space Shuttle Software: YERO

    Who would think that our advanced space fairing craft have a YERO (Year End Rollover) problem? From an article about the YERO problem:

    “The YERO problem relates to the shuttle orbiter’s computers needing to reset through a change of year, which could cause a glitch on orbit.” (from Nasa News)

    I’ve been reading more about the pre-Shuttle space program. One factoid which is almost hard to believe was that the computers on the Apollo had the power of a modern day digital watch. I bet they didn’t have a YERO problem 🙂

  • 2007-01-22

    Dreaming in code

    I heard about this book, “Dreaming in Code”… it looks really interesting but kind of depressing to read which is why I didn’t run out to buy it. Building software is just really really hard and for some reason no matter how smart and experienced we are, projects still can easily run themselves into the ground.

    I’ve often heard (and said) why can’t we build software the way we build bridges? People building bridges don’t have the kind of disasters that we have in software. (Note: Joel on Software’s blog’s logo is a bridge…)

    Anyway, you should check heck out this post from ...

    Read more →
  • 2006-07-28

    links for 2006-07-28

    Guardian Unlimited Technology | Technology | Why we all sell code with bugs

    Fun article about why there’s always bugs in software. If that’s a surprise to you, well… read this article!

    (tags: software development bugs)

    Nine Steps to Delivering Defect-Free Software

    Another article on the question of developing ‘bug free code’…

    (tags: software development bug)

  • 2006-07-13

    links for 2006-07-13

    Devshop.com – Really smart project management, just for software teams.

    This looks like an interesting entry into ‘on demand’ project management. See the site for screenshots. They are still looking for beta testers.

    (tags: ajax cool Programming Methodology Software tools)

  • 2006-06-13

    links for 2006-06-13

    The Joel on Software Discussion Group – Why I Hate Frameworks

    If you get too carried away with frameworks and architecture, this is a good reality check.

    (tags: architecture funny)

  • 2005-06-04

    Good article about software design

    Just add this one to your reading list:

    “(XP) challenges many of the common assumptions about software development. Of these one of the most controversial is its rejection of significant effort in up-front design, in favor of a more evolutionary approach.

    To its detractors this is a return to “code and fix” development – usually derided as hacking. To its fans it is often seen as a rejection of design techniques (such as the UML), principles and patterns. Don’t worry about design, if you listen to your code a good design will appear.” (From “Is Design Dead?”)”

    Thought-provoking.

    Technorati Tags: software, recommended, technical

  • 2004-11-29

    Adam Bosworth on KISS

    Adam Bosworth’s speech Adam Bosworth’s an interesting guy, and very smart, and has been deeply involved in web services and many related technologies for years. He really knows this stuff. And it’s interesting, because one of the key Web Services technologies is SOAP, a loosely coupled, “webbish” way of doing remote procedure calls.

    [Aside #1: If you feel your eyelids getting heavy around now, I appologize for not labeling this entry as “GEEK” but I thought it was border line]

    ...

    Read more →

© Salas Blog. All rights reserved.