Skip to content

Instantly share code, notes, and snippets.

View qcam's full-sized avatar

Cẩm Huỳnh qcam

View GitHub Profile
@qcam
qcam / senior-backend-engineer-elixir.md
Last active October 12, 2026 04:33
Iris — Senior Backend Engineer (Elixir)

Senior Backend Engineer (Elixir)

Fully remote · Flexible hours

Come build the part of AI nobody's building yet.

Most AI companies are building tools. We're building relationships, and that's a harder problem than any API integration.

At Iris, a conversation is a write, not a read. We build memory that persists after the session ends, and identity that holds up across months. We use real voices and real faces. Every message adds to the relationship instead of disappearing.

@qcam
qcam / nemotron-3.5-asr-on-device.md
Created September 9, 2026 07:10
Nemotron 3.5 ASR Streaming 0.6B — on-device feasibility (Android/iOS/Web)

Nemotron 3.5 ASR Streaming 0.6B — On-Device Feasibility (Android/iOS/Web)

Model: https://huggingface.co/nvidia/nemotron-3.5-asr-streaming-0.6b

Model facts

  • Architecture: Cache-Aware FastConformer encoder (24 layers) + RNNT decoder, 600M params — streaming with configurable 80ms–1120ms chunk latency
  • Formats: safetensors, PyTorch, GGUF (q8_0) via NeMo-Speech.cpp (C++ runtime)
  • Official hardware/OS support: NVIDIA GPU archs only (Ampere/Blackwell/Hopper/Jetson/Lovelace/Turing/Volta), Linux / Linux4Tegra. No ONNX, Core ML, or TFLite export path officially provided. No mobile or web runtime published.
  • 40 language-locales, license OpenMDW-1.1
@qcam
qcam / data.md
Last active April 25, 2026 23:10
Iris channel performance — 2026-04-25

Iris Channel Performance — 2026-04-25 (full day)

Both nodes (a1 + b1), full day data (4693 log lines).


Channel Joins (1840 total)

Channel n avg p50 p95 p99 max
ChatChannel 1297 49ms 37ms 140ms 191ms 316ms
@qcam
qcam / iris-knowledge-pipeline-review.md
Created April 22, 2026 10:53
Iris knowledge storage pipeline — review and improvement proposals

Iris Knowledge Pipeline — Review & Improvement Proposals

Current Architecture (as-is)

Data model

  • persona_knowledges — knowledge metadata: name, instructions (text[]), context/operator scope
  • persona_knowledge_chunks — individual chunks: content (text), embedding (pgvector 384/1024), position
  • personas_knowledge_graphs — extracted entity/relationship graph per persona (single JSONB blob)
@qcam
qcam / time-extension-msgpack.rb
Created May 20, 2019 09:03
MessagePack Time extension unpacker in Ruby
require "msgpack"
class DateTimeExtension
def self.unpack(data)
case data.size
when 4
seconds = data.unpack("N")[0]
Time.at(seconds).utc
when 8
defmodule GCounter.Node do
use GenServer
def start_link(node_name) do
GenServer.start_link(__MODULE__, node_name, [name: node_name])
end
@impl true
def init(node_name) do
init_counter = %{node_name => 0}
[
{
"source": "quan-cam.com",
"url": "https://quan-cam.com/rss",
"category": "personal"
},
{
"source": "medium.com/@hqc",
"url": "https://medium.com/feed/@hqc",
"category": "personal"
@qcam
qcam / rfc822.ex
Last active January 4, 2024 10:37
nimble_parsec example with RFC822 datetime parser (https://www.ietf.org/rfc/rfc822.txt)
defmodule RFC822 do
import NimbleParsec
day =
choice([
string("Mon"),
string("Tue"),
string("Wed"),
string("Thu"),
string("Fri"),
{"data":{"build-a-blog-in-elixir-with-nabo-and-phoenix":[{"content":"# g","created_at":"2019-01-14T08:18:53.347875Z","user":{"avatar_url":"https://avatars2.githubusercontent.com/u/26930297?v=4","name":"Kalipts","provider":"github","provider_user_url":"https://github.com/Kalipts"}}],"chet-server-lam-gi-day":[{"content":"s","created_at":"2019-06-24T13:33:26.312600Z","user":{"avatar_url":"https://avatars2.githubusercontent.com/u/35627119?v=4","name":"Juniorsz","provider":"github","provider_user_url":"https://github.com/Juniorsz"}}],"chuyen-an-cap":[{"content":"Vậy nếu vi phạm Creative Commons License thì sẽ bị 'xử lý' như thế nào vậy anh?","created_at":"2018-04-22T14:40:23.413143Z","user":{"avatar_url":"https://avatars3.githubusercontent.com/u/15165794?v=4","name":"j1nz","provider":"github","provider_user_url":"https://github.com/j1nz"}},{"content":"[@j1nz](https://github.com/j1nz) Mình cũng chả muốn \"xử lý\" làm gì cả ☹️. Mình là developer, mình không phải luật sư. Mình chúc họ cắn rứt lương tâm vậy.","created
@qcam
qcam / sample.xml
Last active March 20, 2018 06:42
Benchmarking XML parser in Erlang/Elixir
<?xml version="1.0" encoding="UTF-8"?>
<breakfast_menu>
<food>
<name>Belgian Waffles</name>
<price>$5.95</price>
<description>Two of our famous Belgian Waffles with plenty of real maple syrup</description>
<calories>650</calories>
</food>
<food>
<name>Strawberry Belgian Waffles</name>