Skip to content

Instantly share code, notes, and snippets.

View yeradis's full-sized avatar

Yeradis P. Barbosa Marrero yeradis

View GitHub Profile

Reverse interview

Engineering

  1. What tech stack do you use? Are you rolling out new technologies or sunsetting older ones? Do you have any legacy system that you need to maintain?
  2. What is your maturity stage? Finding a direction, feature work, maintenance...
  3. What are the next big engineering challenges you will face?
  4. How are requirements delivered to the engineering teams? How are technical decisions made and communicated?
  5. What level of involvement do engineers have in relation to architecture and system design? How much freedom for decision making do individual developers have? What happens if an engineer identifies areas of improvement?
  6. What is the junior/senior balance of the team?
@gangefors
gangefors / Install FreeNAS SCALE on a partition and create a mirror.md
Last active April 29, 2025 21:33
How to install TrueNAS SCALE on a partition instead of the full disk

Install TrueNAS SCALE on a partition instead of the full disk

The TrueNAS installer doesn't have a way to use anything less than the full device. This is usually a waste of resources when installing to a modern NVMe which is usually several hundred of GB. TrueNAS SCALE will use only a few GB for its system files so installing to a 16GB partition would be helpful.

The easiest way to solve this is to modify the installer script before starting the installation process.

@kepano
kepano / obsidian-web-clipper.js
Last active April 28, 2025 07:22
Obsidian Web Clipper Bookmarklet to save articles and pages from the web (for Safari, Chrome, Firefox, and mobile browsers)
javascript: Promise.all([import('https://unpkg.com/[email protected]?module'), import('https://unpkg.com/@tehshrike/[email protected]'), ]).then(async ([{
default: Turndown
}, {
default: Readability
}]) => {
/* Optional vault name */
const vault = "";
/* Optional folder name such as "Clippings/" */
@mychalvlcek
mychalvlcek / !Spring Quartz - multitenancy.md
Last active June 12, 2024 09:39
Spring Quartz - multitenancy

To achieve multitenant behavior for quartz scheduler, we need to setup:

  • set tenantId for every job we created.. we use quartz JobDataMap (handy key/value store) in Job class
  • JobListener - to inject tenantId from JobDataMap into current thread-bounded tenant context

This will work with shared quartz database.. if we want to have separated quartz databases/schemas for every tenant, we can instantiate multiple SchedulerFactoryBean with its custom dataSource

@rnystrom
rnystrom / example.swift
Created January 18, 2021 00:30
Show the keyboard as a UISearchController in a modal is displayed
class ViewController: UIViewController {
@IBAction func onSearch(_ sender: Any) {
let fakeWindow = UIWindow(windowScene: view.window!.windowScene!)
let fakeTextField = UITextField()
fakeTextField.autocorrectionType = .no
fakeWindow.addSubview(fakeTextField)
fakeWindow.makeKeyAndVisible()
fakeTextField.becomeFirstResponder()
@3v1n0
3v1n0 / map-string-any-kotlin-serialization-tests.kt
Last active October 10, 2024 20:49
Kotlin Map<String, Any?> (andy Any type in general) (de)serialization tests with both Binary (CBOR) and JSON support
import kotlinx.serialization.*
import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.CompositeDecoder
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder
import kotlinx.serialization.json.*
import kotlin.reflect.KType
import kotlin.reflect.full.isSubtypeOf
import kotlin.reflect.full.starProjectedType
@benkuhn
benkuhn / README.md
Last active March 21, 2024 04:43
Migration tool README

$NAME is a language-agnostic tool for managing your Postgres schema, designed to make downtime-free schema changes as easy as possible to develop and run.

High-level overview

$NAME improves database migration ergonomics in five major ways:

  1. It stores previous versions of your schema in source control and auto-generates scaffolding for new migrations by "diffing" them with the current schema. This ensures that your production schema never drifts out of sync from the schema defined by your application.

  2. It automates many recipes for doing tricky migrations like column renames "online," without requiring downtime or a synchronized application deploy. Naive methods of renaming a column require multiple application deploys and costly table rebuilds. $NAME's recipe doesn't require either.

@DougGregor
DougGregor / concurrent_merge_sort_algorithm_club.swift
Created December 12, 2020 06:09
Concurrent merge sort ported from the Swift Algorithm Club site
// Ported from https://www.raywenderlich.com/741-swift-algorithm-club-swift-merge-sort
func mergeSort<T: Comparable>(_ array: [T]) async -> [T] {
guard array.count > 1 else { return array }
let middleIndex = array.count / 2
async let leftArray = await mergeSort(Array(array[0..<middleIndex]))
async let rightArray = await mergeSort(Array(array[middleIndex..<array.count]))
return merge(await leftArray, await rightArray)
@rocboronat
rocboronat / .phrase.yml
Created December 11, 2020 09:31
PhraseApp configuration to download translation files on both Flutter ARB and Android XML at the same time
phrase:
access_token: <your access token here>
project_id: <your project ID here>
push:
sources:
- file: ./lib/l10n/intl_<locale_name>.arb
params:
file_format: arb
pull:
targets:
@joshdholtz
joshdholtz / Fastfile
Last active February 23, 2022 18:33
Check if fastlane is building in Xcode run script
lane :build do
gym(
xcargs: "FASTLANE=true"
)
end