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

Posts tagged #software-engineering

297 posts

  • 2026-10-21

    The Bedrock of Software Design | Alex Fedoseev

    A simple concept that makes software easier to understand, harder to misuse, and safer to change.

  • 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-03-02

    Object Technology Jeff Sutherland

  • 2026-03-01

    Optimizing Database Performance in Rails

  • 2026-03-01

    How do I know whether my Rails app is thread-safe or not?

  • 2026-03-01

    Dockerize the multi-services application for local development

  • 2026-03-01

    simple full text search using postgres on rails (Example)

  • 2026-03-01

    How to Choose Your Ruby Interpreters and Runtimes | Toptal

  • 2026-03-01

    textacular/textacular: Textacular exposes full text search capabilities from PostgreSQL, and allows you to declare full text indexes. Textacularwill extend ActiveRecord with named_scope methods making searching easy and fun!

  • 2026-03-01

    Faster PostgreSQL Counting

  • 2026-03-01

    Need faster code? Try Multithreading – Hacker Noon

  • 2026-03-01

    Hire People or Optimize Processes: A cost-benefit analysis for engineering leaders

  • 2026-03-01

    Untangling Ruby Threads

  • 2026-03-01

    Understanding a fundamental Ruby abstraction for concurrency | via @codeship

  • 2026-03-01

    Maintain the “GitHub flow” with Gitpod, an online, browser IDE – JAXenter

  • 2026-03-01

    codercom/code-server

  • 2026-02-28

    Animated GIF optimizer and compressor

    Free online tool for optimizing animated GIF images to reduce file size. Compress GIFs with LZW compression, reduce colors or frame rate, remove duplicate frames.

  • 2026-02-28

    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! This was my opinion back in 2015 I will create a new post showing what has changed!

    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. ...

    Read more →
  • 2026-02-11

    Building the Panama Canal

  • 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-30

    Coding is forever changed

    Continuing a theme of the previous blog, I am starting to really believe that programming, coding, software development is going to be forever changed. I say this, among other things, from the perspective of someone who has taught software engineering, development, and intro programming courses.

    I have been doing more and more programming using AI tools. In my case, Claude Code in particular. But I think they are all similar and converging. From time to time, the leader switches around. But really, that is kind of meaningless because it is very unclear what it means to be the leader. In other words, what is the metric by which we compare them? There are more or less an infinite number of us...

    Read more →
  • 2025-08-29

    Big O

    A visual introduction to big O notation.

  • 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-08-07

    We'd be Better Off with 9-bit Bytes

    Like the pdp-10 had

  • 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-30

    Dokku: my favorite personal serverless platform – Hamel’s Blog

    Like Heroku, but you own it.

  • 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-22

    Jade Rubick - Implementing Amazon's single threaded owner model a retrospective

    A Single Threaded Owner (STO), is a single leader that is completely responsible for their area of the product. I share my experiences implementing this model, including the tradeoffs and challenges. And I give the nuts and bolts of how we implemented it and what we learned.

  • 2024-06-17

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

    Analyze how a Git repo grows over time.

  • 2024-06-10

    Piku

    piku, inspired by dokku, allows you do git push deployments to your own servers, no matter how small they are.

  • 2024-05-09

    Deploy on Your Own Servers

    Fastest way to deploy a Rails app!

  • 2024-04-12

    Asimovo Home - Asimovo

    Smarter Robotics Collaborate / Simulate / Accelerate RoboDevOps platform to accelerate your development and adoption Get Started Connecting robotics teams to resources We are on a mission to accelerate the development and introduction of smarter robots into everyday life. Our platform empowers iterative development and collaboration helping you accelerate your development process and team performance: Use

  • 2024-04-12

    Riders.ai | Introducing Learntech - Playtech

    No course has ever been this engaging and effective in teaching hard-to-master STEM skills!

  • 2024-03-14

    Asyncio Patterns in Python

    Recently I needed to run millions of API calls to an internal service. API calls are IO blocking. This means that when my service calls the…

  • 2024-02-07

    Cal.com | Pricing

    Open Source Scheduling: Send a link and meet or build an entire marketplace for humans to connect.

  • 2024-01-11

    Fixit: linting framework with auto-fixes — Fixit documentation

    Fixit: linting framework with auto-fixes — Fixit documentation –

  • 2023-12-30

    Explore Integrations - IFTTT

    Get more from the services you love on IFTTT. Explore the latest tips and tricks, browse by category, or search by name.

  • 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-08-11

    Service Objects | Jared Norman

    Service Objects are a popular software design pattern in the Ruby on Rails community. They are used to extract procedural logic away from models and controllers and into their own objects.

  • 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-06-16

    File: Advanced I/O with Polyphony — Documentation for polyphony (1.1.1)

  • 2023-06-14

    Nova

    The beautiful, fast, flexible, native Mac code editor from Panic.

  • 2023-05-30

    pawurb/rails-brotli-cache: Rails cache using the Brotli algorithm offers better compression and performance.

    Rails cache using the Brotli algorithm offers better compression and performance. - GitHub - pawurb/rails-brotli-cache: Rails cache using the Brotli algorithm offers better compression and performa...

  • 2023-04-25

    The Ruby on Rails SaaS Template | Bullet Train

    Bullet Train is a Ruby on Rails SaaS-in-a-Box that saves developers months of effort and new founders tens of thousands of dollars.

  • 2023-03-19

    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-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

    Some possible reasons for 8-bit bytes

    An interesting walk down history lane… of computers

  • 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!

  • 2023-02-05

    35% Faster Than The Filesystem

    An interesting study of performance. It seems hard to believe.

  • 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-23

    GitHub - gregmolnar/prepper: Prepper is a simple server provisioning tool, built on top of SSHKit. You can use it to script your server build process.

    This seems like a very nice simple tool to solve a common problem. My only confusion is that there are a bunch of similar tools to do the same thing. Each has its own DSL, written in ruby or some other language, has its own conceptual steucture, and its own bugs. It’s enough to make me decide to just keep doing it by hand. Heres what the author says: “ Prepper is a simple server provisioning tool, built on top of SSHKit. You can use it to script your server build process. - GitHub - gregmolnar/prepper: Prepper is a simple server provisioning tool...”

  • 2022-12-19

    rails/docked: Running Rails from Docker for easy start to development

    This is not a new thing by a long shot. But thw fact that it is published by dhh is a big deal imo. For me it assures me to some extent that it is “correct” and that it will be maintained. From author: “Running Rails from Docker for easy start to development - rails/docked: Running Rails from Docker for easy start to development”

  • 2022-12-18

    Radical Simplicity in Technology | Join the movement

    For me, a very provocative set of arguments. Novel insights on how to remove complexity. Or recognizing that you may not need that additional service or technology. The author: “Radical Simplicity is a startup development method to make development faster and more fun that plays well with lean startups”

  • 2022-12-14

    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-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-12-05

    My Applets - IFTTT

    Manage your IFTTT Applets.

  • 2022-11-29

    A Complete Guide to Lock Convoys | Dave Kilian's Blog

    A very interesting concept and scenario that affects scale in surprising ways. In the category of everything old is nee again, this was identified and named back in the 1970’s!

  • 2022-11-28

    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-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-10-30

    Shell Script Best Practices — The Sharat's

    This article is about a few quick thumb rules I use when writing shell scripts that I’ve come to appreciate over the years. Very opinionated....

  • 2022-10-23

    Welcome to Hypothesis! — Hypothesis 6.56.3 documentation

  • 2022-10-22

    Home - Meet Edgar

    Social Media automatic posting tool. Seems popular with the cognizenti

  • 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

    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-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-06-16

    Compatibility Information for Micro Four Thirds lens | Compatibility | Digital Camera | Digital AV | Support | Panasonic Global

  • 2022-06-02

    To Thread or Not to Thread: An In-Depth Look at Ruby’s Execution Models

    To Thread or Not to Thread: An In-Depth Look at Ruby’s Execution Models An in-depth look at threads vs processes in Ruby web applications, and when you should use each. June 2, 2022 at 07:16PM

  • 2022-05-28

    The Practical Effects of the GVL on Scaling in Ruby

    The Practical Effects of the GVL on Scaling in Ruby MRI Ruby’s Global VM Lock: frequently mislabeled, misunderstood and maligned. Does the GVL mean that Ruby has no concurrency story or CaN’T sCaLe? To underst… May 28, 2022 at 05:29PM

  • 2022-05-09

    pkolaczk/fclones: Efficient Duplicate File Finder

    Efficient Duplicate File Finder. Contribute to pkolaczk/fclones development by creating an account on GitHub.

  • 2022-04-21

    Threading in Python: The Complete Guide

    Threading in Python: The Complete Guide The Thread class allows you to create and manage new threads of execution in Python. Although the threads have been available since Python 2, it is not widely used, perhaps because of misunderstand… April 22, 2022 at 05:17AM

  • 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-04-08

    Head-First Kubernetes

    A Kubernetes tutorial for complete beginners.

  • 2022-04-08

    Head-First Kubernetes

    Head-First Kubernetes A Kubernetes tutorial for complete beginners. April 8, 2022 at 03:31PM

  • 2022-03-28

    Getting Started · mperham/sidekiq Wiki

    Simple, efficient background processing for Ruby. Contribute to mperham/sidekiq development by creating an account on GitHub.

  • 2022-03-28

    Comparing Ruby Background Processing Libraries: Delayed Job - SitePoint

    This article will teach you how background processing works as well as the alternatives the Ruby community offers to implement it in your application.

  • 2022-03-28

    flyerhzm/bullet: help to kill N+1 queries and unused eager loading

    help to kill N+1 queries and unused eager loading. Contribute to flyerhzm/bullet development by creating an account on GitHub.

  • 2022-03-28

    Scheduled Jobs and Custom Clock Processes | Heroku Dev Center

    Scheduled Jobs and Custom Clock Processes | Heroku Dev Center Schedule recurring or time-based jobs on Heroku with the Scheduler add-on or by implementing a custom clock process. March 28, 2022 at 08:19PM

  • 2022-03-28

    Comparing Ruby Background Processing Libraries: Delayed Job – SitePoint

    Comparing Ruby Background Processing Libraries: Delayed Job – SitePoint This article will teach you how background processing works as well as the alternatives the Ruby community offers to implement it in your application. March 28, 2022 at 06:52PM

  • 2022-03-28

    Partial rendering performance in Rails

    Partial rendering performance in Rails Some numbers about rendering times with different techniques March 28, 2022 at 06:52PM

  • 2022-03-28

    Getting Started · mperham/sidekiq Wiki

    Getting Started · mperham/sidekiq Wiki Simple, efficient background processing for Ruby. Contribute to mperham/sidekiq development by creating an account on GitHub. March 28, 2022 at 08:14PM

  • 2022-03-28

    flyerhzm/bullet: help to kill N+1 queries and unused eager loading

    flyerhzm/bullet: help to kill N+1 queries and unused eager loading help to kill N+1 queries and unused eager loading. Contribute to flyerhzm/bullet development by creating an account on GitHub. March 28, 2022 at 06:51PM

  • 2022-03-28

    brandonhilkert/sucker_punch: Sucker Punch is a Ruby asynchronous processing library using concurrent-ruby, heavily influenced by Sidekiq and girl_friday.

    brandonhilkert/sucker_punch: Sucker Punch is a Ruby asynchronous processing library using concurrent-ruby, heavily influenced by Sidekiq and girl_friday. Sucker Punch is a Ruby asynchronous processing library using concurrent-ruby, heavily influenced by Sidekiq and girl_friday. – brandonhilkert/sucker_punch: Sucker Punch is a Ruby asynchronous proce… March 28, 2022 at 08:14PM

  • 2022-03-26

    Using ROS on Raspberry Pi: Best Practices - The Robotics Back-End

    If you're using ROS on a Raspberry Pi board, check out those useful tips for making more robust, high-performance, and scalable robotics projects!

  • 2022-03-26

    Using ROS on Raspberry Pi: Best Practices – The Robotics Back-End

    Using ROS on Raspberry Pi: Best Practices – The Robotics Back-End If you’re using ROS on a Raspberry Pi board, check out those useful tips for making more robust, high-performance, and scalable robotics projects! March 26, 2022 at 04:13PM

  • 2022-03-24

    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...

  • 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

    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.

  • 2022-03-23

    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.

  • 2022-03-23

    My guiding principles after 20 years of programming

    My guiding principles after 20 years of programming I’ve been programming since 1999. This year I’ve officially coded for 20+ years. I’ve started with Basic but soon jumped into Pascal and C… March 23, 2022 at 02:24PM

  • 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-14

    How I test Rails applications

    How I test Rails applications When I was a Rails beginner I was amazed by Rails and Test Driven Development. But I often struggled with testing because I did not know… March 14, 2022 at 04:55PM

  • 2022-03-14

    Sinatra Best Practices: Part One

    Sinatra Best Practices: Part One While Sinatra’s one-file approach may work well for your one-off, smaller application – it can quickly become a mess as you add on multiple routes, route-handlers, helpers, and configuration.… March 14, 2022 at 04:56PM

  • 2022-03-14

    Faster Rails: Eliminating N+1 queries – Semaphore

    Faster Rails: Eliminating N+1 queries – Semaphore N+1 queries are making your Rails app painfully slow. Learn how to eliminate them from your project. March 14, 2022 at 04:28PM

  • 2022-03-09

    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.

  • 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-03-08

    How to Test Ruby Code That Depends on External APIs

    How to Test Ruby Code That Depends on External APIs Few things are more frustrating than slow, flaky test suites. You’re ready to deploy, wait 20 minutes for CI to run, only to find that a test failure in code you’ve never touched is blocking you. You dig into the source and find the problem: an external API call. It works (slowly) most of the tim… March 8, 2022 at 09:43PM

  • 2022-03-08

    Learn How to Test Third Party Services With Minitest & VCR

    Learn How to Test Third Party Services With Minitest & VCR In this article we will be learning on how to work with VCR, how to configure it and how to write tests for third-party services. March 8, 2022 at 09:45PM

  • 2022-03-05

    Advanced Postgres Performance Tips

    Advanced Postgres Performance Tips What do you do when indexes aren’t enough? March 5, 2022 at 02:50PM

  • 2022-03-05

    PostgreSQL Performance Enabling pg_stat_statements

    PostgreSQL Performance Enabling pg_stat_statements This article will help with how to enable pg_stat_statements to analyze queries and response time for the best PostgreSQL Performance. March 5, 2022 at 02:51PM

  • 2022-03-04

    The 3 Tenets of Service Objects in Ruby on Rails | HackerNoon

  • 2022-03-04

    MiniTest – Writing Test Code In Ruby (2/3)

    MiniTest – Writing Test Code In Ruby (2/3) p.s. This is a series of articles and each article builds off another. I suggest starting at Part 1…. March 4, 2022 at 02:54PM

  • 2022-03-04

    Testing network services in Ruby is easier than you think

    Testing network services in Ruby is easier than you think You’ve started a new project and it’s time for your code to depend on a third-party service. It could be something like ElasticSearch, Resque, a billing provider, or just an arbitrary HTTP API. You’re a good developer, so you want this code to be well tested. But how do you test code that fires off requests to a service that’s totally out of your control? March 4, 2022 at 02:53PM

  • 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

    How to Monitor Network and Zoom Performance & Fix “Your Internet Connection is Unstable” on Zoom

    How to Monitor Network and Zoom Performance & Fix “Your Internet Connection is Unstable” on Zoom how to monitor network performance and Zoom performance and avoid the “Your Internet Connection is Unstable” message of doom. February 1, 2022 at 10:46PM

  • 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-25

    Remote Teaching: Synchronous vs. Asynchronous | Center for Teaching and Learning | Worcester State University

    Remote Teaching: Synchronous vs. Asynchronous | Center for Teaching and Learning | Worcester State University There are two options for instructors to facilitate class sessions remotely: Synchronous or Asynchronous. January 25, 2022 at 05:14PM

  • 2022-01-12

    braintree/runbook: A framework for gradual system automation

    A framework for gradual system automation. Contribute to braintree/runbook development by creating an account on GitHub.

  • 2022-01-12

    Types of cloud computing

  • 2022-01-12

    Types of cloud computing

    Types of cloud computing

    January 12, 2022 at 05:08PM

  • 2022-01-12

    Runbook: A Ruby DSL for Gradual System Automation

    Runbook: A Ruby DSL for Gradual System Automation At Braintree, we like to write tools to automate our work. Our latest tool is Runbook, a Ruby DSL for gradually automating system… January 12, 2022 at 06:04PM

  • 2022-01-12

    braintree/runbook: A framework for gradual system automation

    braintree/runbook: A framework for gradual system automation A framework for gradual system automation. Contribute to braintree/runbook development by creating an account on GitHub. January 12, 2022 at 06:03PM

  • 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 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 ...

  • 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 is a controllable process of improving code without creating new functionality. Design Patterns are typical solutions to the commonly occurring problems in software design.

  • 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-11-27

    Learning Containers From The Bottom Up – Ivan Velichko

    Learning Containers From The Bottom Up – Ivan Velichko What is a Container? Container vs. VM? Docker vs. Kubernetes. How to organize the learning efficiently? November 27, 2021 at 07:27PM

  • 2021-10-18

    The Invention of the Pivot Table | Pivot Table Data Crunching for Microsoft Office Excel 2007

    Pivot Table Data Crunching for Microsoft Office Excel 2007,2003, (isbn 0789736012, ean 0789736012), by Jelen B., Alexander M.

  • 2021-10-16

    Noteflakes: Embracing Infinite Loops with Ruby and Polyphony

  • 2021-10-15

    Docker concepts and terminology – Code with Jason

    Docker concepts and terminology – Code with Jason Host machine The host machine is the machine that Docker is running on. When Dockerizing for development, the host machine is typically the laptop that you’re working on. In a production environment, the host machine could be (for example) an AWS EC2 instance. Images and containers Images and containers are sufficiently interrelated that it makes … October 16, 2021 at 03:20AM

  • 2021-10-15

    Noteflakes: Embracing Infinite Loops with Ruby and Polyphony

    Noteflakes: Embracing Infinite Loops with Ruby and Polyphony

    October 16, 2021 at 03:35AM

  • 2021-08-08

    Getting Started on Okteto Cloud in 5 minutes | Okteto Documentation

    Develop your Kubernetes applications in Okteto Cloud and forget about slow and tedious local development forever

  • 2021-08-07

    Getting Started on Okteto Cloud in 5 minutes | Okteto Documentation

    Getting Started on Okteto Cloud in 5 minutes | Okteto Documentation Develop your Kubernetes applications in Okteto Cloud and forget about slow and tedious local development forever August 8, 2021 at 04:54AM

  • 2021-08-01

    MicroK8s - Zero-ops Kubernetes for developers, edge and IoT | MicroK8s

    MicroK8s is the simplest production-grade upstream K8s. Lightweight and focused. Single command install on Linux, Windows and macOS. Made for devops, great for edge, appliances and IoT. Full high availability Kubernetes with autonomous clusters.

  • 2021-08-01

    Why you should build on Kubernetes from day one – Stack Overflow Blog

    Why you should build on Kubernetes from day one – Stack Overflow Blog If you’re building a new app today, it might be worth taking a closer look at making it cloud-native and using Kubernetes from the jump. The effort to set up Kubernetes is less than you think. Certainly, it’s less than the effort it would take to refactor your app later on to support containerization. August 1, 2021 at 08:24PM

  • 2021-08-01

    MicroK8s – Zero-ops Kubernetes for developers, edge and IoT | MicroK8s

    MicroK8s – Zero-ops Kubernetes for developers, edge and IoT | MicroK8s MicroK8s is the simplest production-grade upstream K8s. Lightweight and focused. Single command install on Linux, Windows and macOS. Made for devops, great for edge, appliances and IoT. Full high availability Kubernetes with autonomous clusters. August 1, 2021 at 08:54PM

  • 2021-07-26

    Structuring a Large Production Flask Application

    Structuring a Large Production Flask Application In the world of Python web frameworks Flask and Django are considered the two major frameworks. Flask is a micro-framework and is… July 26, 2021 at 11:39PM

  • 2021-07-23

    How to speed up Python application startup time

    How to speed up Python application startup time Introduction of Python 3.7’s new feature to measure import time July 24, 2021 at 03:59AM

  • 2021-07-03

    Set Up A Docker Container To Test Your Rails App

    Set Up A Docker Container To Test Your Rails App Code is never self-contained. It runs in an environment. Docker lets you define that environment in a simple and portable way. That’s why pretty much every automated testing and deployment service works with docker containers. You give them a container, and done! But how do you set up a container… July 3, 2021 at 06:14PM

  • 2021-06-29

    Creating Local Python Packages with __init__.py

    Creating Local Python Packages with init.py Packages are so confusing in Python. Here are some of the better links I’ve found about Packages for code reuse and distribution June 29, 2021 at 11:06PM

  • 2021-06-29

    Python Modules and Packages – An Introduction – Real Python

    Python Modules and Packages – An Introduction – Real Python This article explores Python modules and Python packages, two mechanisms that facilitate modular programming. June 29, 2021 at 11:09PM

  • 2021-06-21

    Scaling relational SQL databases

    A list of things that we can do when we need to scale a SQL database.

  • 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-05-31

    lbaitemple/ubuntu_server_rpi

    Contribute to lbaitemple/ubuntu_server_rpi development by creating an account on GitHub.

  • 2021-04-06

    Agile Tools | Project Management Open-Source and Free Software

    Looks like a nice overview of scrum ideas

  • 2021-04-06

    WhenIsGood: Your Account

    Plan the time to have your meeting or event by co-ordinating availability with all the particpants using this fuss-free online tool.

  • 2021-04-06

    Integrity | Continuous Integration server

    Our digital forensics service expert team provides digital evidence and support for any forensic need. We service data breach emergencies, intellectual property theft suspicions, cyber security concerns, and personal forensic investigations. Protect your

  • 2021-04-06

    Continuous Integration for Everybody — TeamCity

  • 2021-04-06

    Pricing · drone.io

    Drone is a self-service Continuous Delivery platform for busy development teams

  • 2021-04-06

    Hosted Continuous Integration Service for Ruby and Rails Applications - Semaphore

  • 2021-04-06

    How to get 4x the performance out of Heroku with UnicornThe Codeship Blog

  • 2021-04-06

    Do Things that Don't Scale

    Actually startups take off because the founders make them take off. There may be a handful that just grew by themselves, but usually it takes some sort of push to get them going. A good metaphor would be the cranks that car engines had before they got electric starters. Once the engine was going, it would keep going, but there was a separate and laborious process to get it going.

  • 2021-04-06

    Ming Y. Chow

    Ming Chow's website

  • 2021-04-06

    Rails Composer · RailsApps

    Skeleton of a rails app

  • 2021-04-06

    Error Monitoring, Error Tracking, and Notification for Ruby on Rails 2 and 3 - Honeybadger

    Honeybadger provides exception and uptime monitoring to keep your web apps error-free.

  • 2021-04-06

    Thor | Plataformatec Blog

  • 2021-04-06

    By Thor’s Hammer! « Katz Got Your Tongue?

    For the past few months, I've become more and more disillusioned by the current state of Ruby's scripting support. Sure, we have optparse, and a gamut of other solutions, but there's no full-stack package for writing robust binaries. Enter thor. The idea behind thor initially came from my work on

  • 2021-04-06

    Tsung

    Tsung demo site

  • 2021-04-06

    ruby-prof/ruby-prof

    A ruby profiler. See https://ruby-prof.github.io for more information. - ruby-prof/ruby-prof

  • 2021-04-06

    Modli : NodeJS Data Modeling, Versioning and CRUD

    Data modeling, versioning and CRUD made easy

  • 2021-04-06

    DevOps Bookmarks

    Discover the latest devops tools and frameworks

  • 2021-04-06

    Pricing | Appneta Application Performance Management

    AppNeta's award-winning suite of network monitoring tools allow unparalleled SaaS-based application end-user performance monitoring for 100% delivery confidence. Request a free demo!

  • 2021-04-06

    ferd.ca -> Queues Don't Fix Overload

    Really Excellent article about queues, overloads, bottlenecks and architecture

  • 2021-04-06

    Sinatra + Rack + Rake + ActiveRecord

    How to build an application with Sinatra, Rack and ActiveRecord?

  • 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

    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

    Sinatra Tests 101 - MiniTest

  • 2021-04-06

    How Long is a Method?

    Welcome, subscribers new and old to another week, another newsletter and a new entry in the Catalog of Smells!

  • 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

    VisuAlgo - visualising data structures and algorithms through animation

    VisuAlgo was conceptualised in 2011 by Dr Steven Halim as a tool to help his students better understand data structures and algorithms, by allowing them to learn the basics on their own and at their own pace. Together with his students from the National University of Singapore, a series of visualisations were developed and consolidated, from simple sorting algorithms to complex graph data structures. Though specifically designed for the use of NUS students taking various data structure and algorithm classes (CS1010, CS1020, CS2010, CS2020, and CS3233), as advocators of online learning, we h...

  • 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

    What do you mean ‘we need more time’?? | Dropbox Tech Blog

    A perennial challenge among software engineers and everyone else...

  • 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

    The 10 Puzzle Pieces of an Effective Microservice Architecture

  • 2021-04-06

    How to avoid making your microservices too small: An interview with Darby Frey

    The title says it all. Seems like the bane of service architecture is the scope

  • 2021-04-06

    Top 5 Python IDEs For Data Science (article) - DataCamp

    Nice overview of choices of IDEs for Python and data science

  • 2021-04-06

    An Introduction to Microservice Based Architecture Through Story — Part 1

  • 2021-04-06

    Software Testing Anti-patterns · Codepipes Blog

  • 2021-04-06

    Continuous integration vs. continuous delivery vs. continuous deployment |

    CI is a practice that makes preparing for a release easier. CD may refer to "delivery" or "deployment," which are similar but not quite the same.

  • 2021-04-06

    Microservices for Startups: An Interview with Khash Sajadi of Cloud66

  • 2021-04-06

    correlation id and causation id in event-driven systems

  • 2021-04-06

    Caching in Ruby on Rails 5.2 – Ruby Inside – Medium

    A copy of the chapter 14 about Caching of the “Learn Rails 5.2” book (Amazon Link, Apress Link) which was published in April 2018 by…

  • 2021-04-06

    Actionable Tips to Improve Web Performance with Rails

    Web performance is an extremely important metric in the digital world. Learn tools and tricks for its improvement and enjoy both better Rails-related and General Web performance.

  • 2021-04-06

    Pito Salas's Broadband Internet Speed Test

    Accurately test your Internet connection speed with this powerful broadband speed test. Improve your bandwidth speed with the truth.

  • 2021-04-06

    I Don’t Believe in Full-Stack Engineering • Robin Rendle

    I’m a designer at Sentry and a writer at CSS-Tricks.

  • 2021-04-06

    How not to structure your database-backed web applications: a study of performance bugs in the wild

  • 2021-04-06

    Docker for Rails Development |

  • 2021-04-06

    [EN][Keynote] Parallel and Thread-Safe Ruby at High-Speed with TruffleRuby / Benoit Daloze @eregontp

  • 2021-04-06

    Indexes on Rails: How to make the most of your Postgres database - Karol Galanciak - Ruby on Rails and Ember.js consultant

    Excellent advanced info on crating dB indexes, looking at query plans to understand performance.

  • 2021-04-06

    Developers Should Abandon Agile

    This is RonJeffries.com, the combination of new articles, XProgramming, SameElephant, and perhaps even some new items never before contemplated. Copyright © 1998-forever Ronald E Jeffries

  • 2021-04-06

    Is your Rails app ready for Production? | AkitaOnRails.com

    An excellent review of the various issues you have to consider when deciding the put your rails app into production.

  • 2021-04-06

    Ruby goes Serverless! - Apache OpenWhisk adds native support for Ruby

    Title says it all.

  • 2021-04-06

    How we halved our memory consumption in Rails with jemalloc

    Excellent detailed article about benchmarking a rails app and then introducing a tool that replaces malloc and purports to provide a 2x improvement

  • 2021-04-06

    Home  |  web.dev

    An interesting google tool for checking a web sites performance and other behavior.

  • 2021-04-06

    Fibers Are the Right Solution

    Good description of how to use fibers in ruby.

  • 2021-04-06

    typicode/json-server

    Useful faker for rest apis.

  • 2021-04-06

    How TDD Can Prevent Over-Engineering

    An interesting perspective on test driven development

  • 2021-04-06

    Things I Don’t Know as of 2018

    Funny and true.

  • 2021-04-06

    Do not simplify this code!

    Crazy code, interesting to look at!

  • 2021-04-06

    Ruby tricks for junior developers | Drivy Engineering

    Nice review of some more advanced ruby features.

  • 2021-04-06

    Refactoring — oops, I’ve been doing it backwards. – freeCodeCamp.org

    Good insights about becoming slave to rules without remembering why you’re do8ng it!

  • 2021-04-06

    How Microservices Saved the Internet – Hacker Noon

  • 2021-04-06

    Applying the Universal Scalability Law to organisations | the morning paper

  • 2021-04-06

    David Dollar

    A tool to allow me to launch multiple apps locally to get a new SOA service going for debugging.

  • 2021-04-06

    The Kolmogorov-Smirnov Test — Kolmogorov-Smirnov

    I’m back looking at statistics. This KS test is one of the basic statistical tests to compare two samples.

  • 2021-04-06

    Redis streams as a pure data structure

    Really really interesting use case for REDIS, and a great scalability pattern

  • 2021-04-06

    Scaling a Ruby on Rails app on Heroku

    You know I’m into scalability right now. Here’s a short article with lots of the basics.

  • 2021-04-06

    Messages on Rails Part 1 - Introduction to Kafka and RabbitMQ - Karol Galanciak - Ruby on Rails and Ember.js consultant

    Two part series on using queues to communicate between services.

  • 2021-04-06

    How do I know whether my Rails app is thread-safe or not?

    Quite good explanation of thread safety in Ruby apps

  • 2021-04-06

    Shift Left to Make Testing Fast and Reliable - Azure DevOps

    Back in September 2014, we were three years into our cloud cadence. And we were still running our testing the way we had tested before moving to the cloud. We were trying to do things faster, we were trying to optimize our automation, but we were struggling.

  • 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

    Podcast: Can Machine Learning Solve the Challenges of Cloud Computing? | Graduate School of Arts and Sciences (GSAS) | Brandeis University

    Good introduction to Cloud Computing and Machine Learning

  • 2021-04-06

    Multiple Databases with Active Record — Ruby on Rails Guides

    The new rails guide on multi databases in activerecord

  • 2021-04-06

    The "DRM" method of Ruby performance

    Excellent performance tips

  • 2021-04-06

    eBay/tsv-utils

    This looks super useful if you have very large data sets. The Unix shell is surprisingly fast and able to create parallel flows.

  • 2021-04-06

    Serverless: 15% slower and 8x more expensive

    Serverless architecture is the new hotness. It sounds good for the right situations but this article argues that it might not be all that.

  • 2021-04-06

    ongoing by Tim Bray · On Sharding

    Always great to see another clarification of this important technique.

  • 2021-04-06

    Rails Performance Tips

    Super useful modern rundown of low hanging fruit performance tips for rails.

  • 2021-04-06

    Building a Small Rails API with Serializers - Level Up Coding

    This is a useful and detailed guide.

  • 2021-04-06

    Why databases use ordered indexes but programming uses hash tables (evanjones.ca)

    A great analysis about a question that I had not thought of but is pretty interesting now that you mention it!

  • 2021-04-06

    What the f*ck, Python!

    Wonderful and instructive collection of python snippets for fun and profit.

  • 2021-04-06

    Using ROS with Docker in macOS [Xiaoke Yang]

    One of many instructions for getting Docker to run a ROS environment on MacOS.

  • 2021-04-06

    How I write backends

    Very nice detailed set of guidelines for a scalable node backend

  • 2021-04-06

    dwmkerr/hacker-laws:

    Kind of fun collection of all the laws, rules etc. that you might come across in our field

  • 2021-04-06

    Scaling to 100k Users | Alex Pareto

    Scaling is an important topic that I care about. Here’s one person’s guide to making it to 100k. It’s a very complicated topic.

  • 2021-04-06

    Library for stubbing and setting expectations on HTTP requests in Ruby.

    There are many of these building blocks. Use this to mock a web service that your system depends on. That way you can test your system without incurring the costs (in money and time) of calling the service.

  • 2021-04-06

    ajeetdsouza/zoxide

    A great new tool!

  • 2021-04-06

    Hello from Kuby | Kuby

    Looks like another wonderful rails deployment solution. Definitely will check this out as an alternative to Heroku.

  • 2021-04-06

    Stevey's Google Platforms Rant · GitHub

    I am not sure I agree with all of this but it does make for interesting and thought provoking reading.

  • 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 →
  • 2014-02-23

    The Cloud is Watching You

    It’s obvious if you think about it, but this article drives some points home. If you use some kind of web service to read, listen, watch, charge, use, borrow or share stuff, that company not only knows what you’ve (read, listened to, etc.) They also know much more specifically how you did so: Did you stick with it to the end, did you do it from a particular place, at a particular time? Did you do it in one sitting or over a day or a week or a month?

    If you then combine such observation across a farily large group of peope you can learn amazing things. Like how many people finish your book, or how far through it they get before abandoning it. Do they listen to the whole song? At what episode...

    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-03-24

    Olin College of Engineering

    I don’t know if I mentioned that I’m teaching Engineering Entrepreneurship at Olin. What a cool school! While the two course have existed at Olin, I was asked to re-invent them so to a great extent they are new.

    Here’s a blurb that appeared in the ...

    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-10-20

    Ivory Tower or Trade school?

    One of the tensions that I have seen in teaching software engineering is whether something should be viewed as legitimate research or part of the craft of computer engineering.

    It’s a slippery slope that I myself didn’t have a good articulation for.

    I came across this in a newsgroup which I think is a pretty good description. The writer is referring to Researching Information Systems and Computing...

    Read more →
  • 2012-09-24

    How much power does it take?

    I remember wondering about this when I was in college — this is before I really knew anything about computers.

    I noticed that our computer center charged by the minute of processor time and it was a lot! I remember people freaking out because their random prime number generator ran overnight and the department got billed an unexpected $1,000.00. And they were in trouble!

    So it must cost a lot to get these computers to do all these calculations, I thought. So, I asked the local expert, how much does it cost, then, when the computer isn’t doing any calculations? He laughed. He said, it costs the same, whether it’s calculating or not. How weird.

    Here’s an interesting ...

    Read more →
  • 2012-02-17

    MapReduce Patterns and Examples

    Great review article:

    “In this article I digested a number of MapReduce patterns and algorithms to give a systematic view of the different techniques that can be found in the web or scientific articles. Several practical case studies are also provided. All descriptions and code snippets use the standard Hadoop’s MapReduce model with Mappers, Reduces, Combiners, Partitioners, and sorting. This framework is depicted in the figure below.” (from Highly Scalable)

    Worth reading if you are interested in how Hadoop and friends might apply to the problems that you are trying to solve: “MapReduce Patterns, Algorithms, and Use Cases”

  • 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.

  • 2012-01-21

    Designed As Designer

    If you are interested in design and especially design and architecture of software, and you have a philosophical bent, you will enjoy this essay… I can’t even attempt to summarize it’s content, and even the abstract from the paper itself is quite inscrutable:

    “Conceptual integrity arises not (simply) from one mind or from a small number of agreeing resonant minds, but from sometimes hidden co-authors and the thing designed itself.” (From Designed As Designer)

    What can I tell you. The author is the Richard Gabriel, a luminary of the computer world. Here’s the article: Designed as Designer.

  • 2011-12-29

    MacBook Performance comparison

    Due to an unusual set of coincidences I have 3 different Macintosh computers in my office today so I could run performance comparisons. After a brief bit of research I came across XBench, a free, open source benchmarking suite. I am not positive that it is the state of the art, but it’s quite popular. Here’s what I found:

    Mac Pro, Early 2009, with 6 Gig of memory and a Solid State Disk (SDD) (MacPro4,1)

    Overall: 234.09, CPU: 198.42 Memory: 474.51 Graphics: 379.61

    MacBook Air, Late 2010, with 4 Gig of memory and a SDD (MacBookAir3,2)

    Overall: 126.07 CPU: 149.17 Memory: 198.90 Graphics: 159.94

    Macbook Air, Late 2011, with 4 Gig of memory and a SDD (MacBookAir4,2)

    Overall: 199.85 CPU: 205.25 Memory: 508.89 Graphics: 316.38

    I know, you want to know the units, and I don’t know them. But still you can see remarkably that the brand new MacBook Air is almost as performant as the huge towering Mac Pro, Pretty amazing and telling.

  • 2011-11-29

    Tens of Thousands of Servers. Wait.

    Just one phrase that jumped out of the new missive from Zuck about privacy:

    “As a matter of fact, privacy is so deeply embedded in all of the development we do that every day tens of thousands of servers worth of computational resources are consumed checking to make sure that on any webpage we serve, that you have access to see each of the sometimes hundreds or even thousands of individual pieces of information that come together to form a Facebook page.” (fromOur Commitment to the Facebook Community)

    When I tell (non computer) people that it takes hundreds or th...

    Read more →
  • 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 Trajectory where we have Tracker. My guess is that Trajectory is much less than a scrum system, maybe it’s a structured way to communicate stories and design between client and developer.

    But wasn’t Basecamp for that?

  • 2011-05-19

    [GEEKY] Yes, Virginia, Rails DOES scale

    Why doesn’t every one love Rails? I am surprised when I run into someone (Pat?) who’s not so sure about Rails. Usually it’s about scalability.

    [I warned you this is a geeky post]

    When I am designing or building a system and am questioned about whether writing it in Ruby or Rails is a good idea. Or if someone asks me my opinion or for advice about whether it makes sense that his or her developers are recommending Rails for a big site.

    What I believe is that scalability has to do with the overall system architecture — caching, queueing, horizontal scalability and so on. It does not have to do with the programming language. (What the LivingSocial guy said about this wasn’t quite ...

    Read more →
  • 2011-02-23

    Engineering

    Some choice quotes to introduce a good lecture about Engineering:

    ‘…[snip], Napoleon dismissed Robert Fulton’s claim of a steam-powered ship: “What, sir, would you make a ship sail against the wind and currents by lighting a bonfire under her deck? I pray you excuse me. I have no time to listen to such nonsense.”

    Or consider the pronouncement of Dr. Dionysus Lardner, professor at University College in London, on the prospects of a new form of transportation: “Rail travel at high speed is not possible because passengers, unable to breathe, would die of asphyxia.”

    Or hear the opinion of the commander of the army’s cavalry in 1938, just before ...

    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)

  • 2010-01-05

    The Boston node of OSDV

    I’ve been working quite a bit on the Open Source Digital Voting foundation project over the last 9 months or so. It’s really weird but I’ve turned myself into a mini-expert on how elections are organized and run here in the USA. It’s fascinating and way complicated. OSDV is a non-profit organization dedicated to developing a suite of election (as in Democracy) hardware and software.

    The umbrella name for that project is TrustTheVote: an open source project, which will work closely with election officials around the country to learn requirements and then develop software which in turn will be offered free of charge to those who want to de...

    Read more →
  • 2009-12-17

    I’ll be teaching a course at Brandeis University

    Follow along as I develop the course: Brandeis University Web App Dev, Mobile App Dev and Incubator I’m fortunate to have the opportunity to co-teach 3 courses next year at Brandeis University. It’s something that I have wanted to do for a long time now and I am looking forward to it. As an experiment, I thought I would publish the course notes as I am developing them and perhaps get some feedback, suggestions or even volunteer guest speakers.

    Here are the blurbs:

    Web Application Development: *An introduction to web programming that covers t...

    Read more →
  • 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.