Skip to content

Instantly share code, notes, and snippets.

View igmarin's full-sized avatar
🏠
Working from home

Ismael Marín igmarin

🏠
Working from home
View GitHub Profile
@owainlewis
owainlewis / agentic-principles.md
Last active April 23, 2026 03:07
AI Coding Principles

AI Agent Engineering Workflow

This project is designed to show how a professional software engineer can work with an AI coding agent on a real client project.

The goal is not to ask an agent to "just build the app." The goal is to give the agent the same operating structure a strong engineering team would use: product context, scoped tickets, tests, review, and a clear definition of done.

Core Principle

Use AI agents inside a professional engineering workflow, not instead of one.

@lummie
lummie / custom_time.go
Last active August 14, 2024 14:14
Golang custom date / time formats when marshalling to JSON
// CustomTime provides an example of how to declare a new time Type with a custom formatter.
// Note that time.Time methods are not available, if needed you can add and cast like the String method does
// Otherwise, only use in the json struct at marshal/unmarshal time.
type CustomTime time.Time
const ctLayout = "2006-01-02 15:04:05 Z07:00"
// UnmarshalJSON Parses the json string in the custom format
func (ct *CustomTime) UnmarshalJSON(b []byte) (err error) {
@nijicha
nijicha / install_nodejs_and_yarn_homebrew.md
Last active July 25, 2025 09:02
Install NVM, Node.js, Yarn via Homebrew
@sharathchandramg
sharathchandramg / install-comodo-ssl-cert-for-nginx.md
Last active August 17, 2023 13:17
Steps to install a Comodo Wildcard certificate with Nginx.

The steps below show how to install comodo certificate on centos7.

I have used bigrock.in for the domain registration and procuring the certificates

Create a certificate request

  1. Create a folder to put all our ssl certificates

     mkdir /etc/nginx/ssl/c2r_com
    

cd /etc/nginx/ssl/c2r_com

@Humoud
Humoud / spree-models-cheat-sheet.md
Last active February 3, 2023 14:09
A cheat sheet for the models of Spree. Spree is a complete open source e-commerce solution for Ruby on Rails.
class Ticket < ActiveRecord::Base
belongs_to :grouper
belongs_to :user
validate :user_cant_be_blacklisted, on: :confirmation
validate :user_cant_double_book, on: :confirmation
validate :grouper_cant_be_full, on: :confirmation
validate :grouper_cant_have_occurred, on: :confirmation

What is a unit in TDD - a unit of work. A use-case in the system.

http://cl.ly/RY8x

3 options for a unit of work:

  • Return Value / Exception
  • Noticable State Change (adding a user for example)
  • 3rd Party Call (only place to use mock objects?)

More than just testing the implementation of the code that you're writing, or

@nuclearsandwich
nuclearsandwich / rake_routes_output.txt
Created July 15, 2012 19:10
Ruby Sunday Homework
posts GET /posts(.:format) posts#index
POST /posts(.:format) posts#create
new_post GET /posts/new(.:format) posts#new
edit_post GET /posts/:id/edit(.:format) posts#edit
post GET /posts/:id(.:format) posts#show
PUT /posts/:id(.:format) posts#update
DELETE /posts/:id(.:format) posts#destroy

Remove me from this list and please don't contact me again by any means. That means don't e-mail me, don't call me, don't find me at conferences, don't send carrier pigeons to my house with small notes attached to their feet, don't even wave to me in the street if you see me. I'll snub you right there in public and that will be really awkward for you. I can't be held responsible if your friends don't talk to you anymore after that. And no, I don't care how great your position supposedly is, what technology it's using, where it's at, how many celebrities are invested, how close they are to closing funding, how much equity they're offering, how many times Paul Graham has high-fived the founders, how close they are to the Mission in San Francisco, how much the position is paying, how great the company is, who claims they know me that works there, how big their signing bonus is, or who I'll supposedly be working for/with. I'm not interested.

Just once more to be totally clear: don't contact me again. At al