Skip to content

Instantly share code, notes, and snippets.

View nicolas17's full-sized avatar

Nicolás Alvarez nicolas17

  • Buenos Aires, Argentina
View GitHub Profile
--- /dev/null 2025-01-11 19:36:29.422682662 -0300
+++ init-settings-5.0.plist 2025-02-11 20:49:32.280023436 -0300
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>urls</key>
+ <dict>
+ <key>about</key>
@nicolas17
nicolas17 / __init__.py
Last active May 27, 2024 20:32
HDQ decoder for sigrok
# Copyright (c) 2024 JJTech <[email protected]>
#
# SPDX-License-Identifier: GPL-2.0-or-later
"""
HDQ (High-speed Data Queue) is a simple protocol used for Texas Instruments
'Gas Gauge' battery fuel gauges. It is used to read and write data to the fuel
gauge's memory.
Similarly to the '1-wire' protocol, it is a single-wire protocol that uses a
single data line to communicate with the fuel gauge.
# SPDX-FileCopyrightText: 2023 Nicolás Alvarez <[email protected]>
#
# SPDX-License-Identifier: MIT
import requests
import time
import sys
import datetime
sess = requests.session()
[
{
"type": "ota",
"prerequisiteBuild": "20G5070a",
"deviceMap": [
"iPad7,4"
],
"url": "https://updates.cdn-apple.com/2023SummerSeed/patches/042-36984/458DD0C0-49B8-40F7-9D0D-D9A82C76DFDA/com_apple_MobileAsset_SoftwareUpdate/69f1a7b082026702574e20f83ea4e2115ecd6ae7.zip",
"active": true,
"hashes": {
c: command
cc: commandContext
v: version
P: payload
N: bulkedPayload
fP: fanoutPayload
aP: additionalPayload
Pm: payloadMetadata
i: messageId
U: messageUUID
@nicolas17
nicolas17 / yellow.asm
Last active November 11, 2024 10:29
hello-world iOS app
.global _main
.extern _putchar
.align 4
_main:
// prolog; save fp,lr,x19
stp x29, x30, [sp, #-0x20]!
str x19, [sp, #0x10]
#!/usr/bin/python3
# SPDX-FileCopyrightText: 2022 Nicolás Alvarez <[email protected]>
#
# SPDX-License-Identifier: MIT
import os
import sys
import json
import re

3 people have 6x16TB, 96TB each, total raw storage is 288TB across 18 disks

Configuration Usable storage Resilience
Each person does RAID-6
The same data is stored by all people
4x16TB = 64TB Any 7 disks can be lost (worst case 2 people lose 3 disks each and lose the RAID, third person loses 2 disks and can still recover).
If we're lucky, max 14 disks can be lost (two people lose all 6 disks, third person loses 2 disks).
Any person has all data locally without needing other nodes.
Each person does RAID-5
The same data is stored by all people
5x16TB = 80TB Any 5 disks can be lost (worst case 2 people lose 2 disks each and lose the RAID, third person loses 1 disk and can still recover).
If we're lucky, max 13 disks can be lost (two people lose all 6 disks, third person loses 1 disk).
Any person has all data locally without needing other nodes.
Spread files across all disks/peopleUse 6-of-18 parity 6x16TB = 96TB Any 12 disks can be lost, but n
@nicolas17
nicolas17 / gist:07df9344adef593f289ee2123c8990d5
Created August 3, 2022 19:06
Apple's DMCA against tweets linking to ipsw.dev
Copyright owner:
> Apple Inc.
Name:
> Louis Ferrari
Company:
> Kilpatrick Townsend Stockton LLP
Job title:
> Case Manager
Email:
> [email protected]