Skip to content

Instantly share code, notes, and snippets.

@nicholaspufal
nicholaspufal / ruby-3.1.0-benchmarks.mdown
Last active January 12, 2022 02:27
Ruby 3.1.0 Benchmarks

Script

# foo.rb
def execute_high_cpu_task
  1000.times do
    10 ** 999999
  end
end
@nicholaspufal
nicholaspufal / X1C6_S3_DSDT.patch
Created August 28, 2018 01:01
X1C6 (Thinkpad X1 Carbon 6th gen) patch to add ACPI S3 sleep state support
--- dsdt.dsl 2018-03-03 14:47:12.279105691 +0100
+++ dsdt.dsl 2018-03-03 14:26:30.606427931 +0100
@@ -18,9 +18,8 @@
* Compiler ID "INTL"
* Compiler Version 0x20160527 (538314023)
*/
-DefinitionBlock ("", "DSDT", 2, "LENOVO", "SKL ", 0x00000000)
+DefinitionBlock ("", "DSDT", 2, "LENOVO", "SKL ", 0x00000001)
{
- External (_GPE.TBNF, MethodObj) // 0 Arguments
@nicholaspufal
nicholaspufal / canada-tourist-visa-steps.markdown
Last active August 29, 2015 14:23
Canadian tourist visa - application steps for brazilians

Canadian tourist visa - application steps for brazilians

  1. Determine your eligibility and apply online: http://www.cic.gc.ca/ctc-vac/getting-started.asp Note: This is just a questionnaire with basic questions to determinate eligibility. Later on you will fill in information that will then be used as part of the visa process.

  2. You will then proceed to another form that will generate a personal checklist at the end. Make sure to always inform the purpose is for "tourism". It will also ask you if you have a valid US visa. You will also need either a scanner or a camera available to take copy of some documents.

  3. Personal checklist: in the personal checklist screen make sure to write down (you should print that page actually) the reference code as you will need it later to have access to this application. The reference code expires 1 month after you start this process. Make sure to execute all the items requested here, as you will need to upload them in the next screen:

  • **[FORM] A
@nicholaspufal
nicholaspufal / gist:1215385
Created September 13, 2011 22:40
FISL 2011 - Eriberto Mota FORENSE HD

Quick format: permite instalar o File System.

Complete format: igual a Quick, mas vai preenchendo tudo com 0/ (zero fill) -> OBS: apenas na área do disco. A área do controlador permanece intacta.

A área do controlador é o que a FORENSE usa para localizar os arquivos, através de um leitor hexadecimal.

Hardware & Software

Em nível de hardware um HD possui várias trilhas (que são as camadas do disco).

@nicholaspufal
nicholaspufal / programming_terms.md
Created March 20, 2011 16:40
Termos, teorias e técnicas comumente usados em programação.

Heap e Stack (segmentos da memória)

A memória possui 3 segmentos: text/code segment, stack segment e heap segment.

  • Text/code segment: onde o código compilado do programa reside. É a representação do programa em linguagem de máquina com as operações que devem ser realizadas, incluindo todas as funções, tanto as definidas pelo usuário, como as do sistema.

  • Stack segment: espaço onde variáveis automáticas que estão dentro de funções serão alocadas. Usa o conceito de FIFO (first in, first out), ou seja, dados são alocados e desalocados por apenas uma das "pontas", o Top do stack. Ex: todas as variáveis declaradas no main() entram no stack. Se main() chamar func1(), func1() - junto com parâmetros que tiver - passa para o Top do stack. Quando func1() retornar algum valor (return), ela é desalocada do stack. Evidente que ficará lixo nessa área da memória, deixado por um prévio uso.