Skip to content

Instantly share code, notes, and snippets.

View ccarvalho-eng's full-sized avatar
🏰
Working from home

Cristiano Carvalho ccarvalho-eng

🏰
Working from home
  • Coimbra, Portugal
  • 15:15 (UTC +01:00)
View GitHub Profile
@atomkirk
atomkirk / soc2-by-myself.md
Last active August 6, 2024 20:50
I got SOC 2 certified by myself

I got SOC 2 certified by myself

From April 10 to May 2, 2024, I did all the work myself to get SOC 2 Type II certified. I'm now half way through the observation period to get Type II. The observation period is easy, you just have to babysit the controls. Getting to Type I is much harder. It took me somewhere around 100 hours.

image

SOC 2 is a security framework that, for many customers, eliminates the need to have you, as a vendor, fill out a lengthy security questionnaire. The SOC 2 controls and audits ask pretty much all the questions you'd get from a customer's security team. In fact, that is a great way to think about SOC 2. It's essentially a very thorough questionnaire you fill out once, an independent auditor forms an opinion of it in a report, and you share with all your customers.

There are two parts to SOC 2. The initial audit, where an auditor writes a Type I report sharing their opinion of your current setup. Then there's a 3 month observ

@Ladicle
Ladicle / README.org
Last active April 15, 2025 04:08
Emacs Configuration 2024

Emacs Configuration 2024

https://gist.github.com/assets/1159133/5f2b8f77-c11a-41e6-a5e8-5e799100dbb3.png

@sesgoe
sesgoe / 01_scripts_and_styles.js
Last active May 30, 2024 09:26
Retool Realtime WebSocket
const webSocket = new WebSocket('wss://echo.websocket.org');
//Event listeners are the pillars upon which WebSockets are built. This event fires when the WebSocket is considered 'OPEN',
//which means that it has connected successfully.
webSocket.addEventListener('open', function(event) {
console.log('websocket connected successfully') //log this into the browser console so we can check if the websocket connected
});
//This is a global reference to the websocket that we created. We need this because otherwise multiple JS
@hjertnes
hjertnes / doom.txt
Created April 6, 2018 08:28
Doom Emacs Cheatsheet
SPC
SPC: find file
, switch buffer
. browse files
: MX
; EX
< switch buffer
` eval
u universal arg
x pop up scratch
@Joseph-N
Joseph-N / _message.html.erb
Last active April 15, 2021 11:09
Tutorial code snippets for chat application in rails. Tutorial link http://goo.gl/l3e8zN
<li class="<%= self_or_other(message) %>">
<div class="avatar">
<img src="http://placehold.it/50x50" />
</div>
<div class="chatboxmessagecontent">
<p><%= message.body %></p>
<time datetime="<%= message.created_at %>" title="<%= message.created_at.strftime("%d %b %Y at %I:%M%p") %>">
<%= message_interlocutor(message).name %> • <%= message.created_at.strftime("%H:%M %p") %>
</time>
</div>
@gabrielso
gabrielso / .vimrc
Created September 14, 2012 20:55
My vimrc, no plugins at all :)
" Use Vim settings, rather than Vi settings
set nocompatible
" Read file when modified outside Vim
set autoread
" Do not keep any history
set viminfo='0,:0,<0,@0,f0
set nobackup
set nowb
@sanxac
sanxac / scss2sass.sh
Created March 15, 2012 20:45
convert scss files to sass and delete .scss files in a directory
#!/bin/bash
for f in *.scss; do sass-convert $f ${f%scss}sass ; done
rm *.scss
@vjm
vjm / _form.html.erb
Created June 30, 2011 13:08
CRUD Devise Example
<%= form_for(@user) do |f| %>
<% if @user.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@user.errors.count, "error") %> prohibited this user from being saved:</h2>
<ul>
<% @user.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>