Skip to content
View hsdfat's full-sized avatar
🎯
Focusing
🎯
Focusing

Block or report hsdfat

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
hsdfat/README.md

Hi, I'm hsdfat 👋

Go engineer building telecom core networks and the cloud-native systems around them. I work primarily on 5G/EPC network functions, then take the production problems I find upstream to the Go and Kubernetes ecosystem.

Focus

  • 5G Core, EPC interworking, Diameter, SBI, HTTP/2, and NETCONF
  • Go services on Kubernetes, with Helm-based delivery and end-to-end testing
  • Storage, observability, and performance work that makes production systems safer under load

Current work — udm-system

A Go monorepo for a combined 5GC + EPC stack: UDM, AUSF, UDR, HSS, EIR, Diameter and HTTP/2 gateways, provisioning, and the test and profiling tools needed to operate them.

Open source

I contribute production-driven fixes to the infrastructure I use: Kubernetes tooling, storage, media, observability, stream processing, and 5G projects.

40 merged pull requests across 17 upstream projects totalling 248.8k stars · 36 in review

Browse every merged and open upstream pull request

Merged

Project ★ PR Contribution
rclone/rclone 60k #9693 fserrors: make http2 "server sent GOAWAY" a retriable error - fixes #96…
rclone/rclone 60k #9751 operations: check checksums in rcat with known size - fixes #6305
rclone/rclone 60k #9868 dropbox: fix shared folder mount for roots nested more than one level d…
rclone/rclone 60k #9869 dropbox: match shared-folder and received-file names case-insensitively
rclone/rclone 60k #9870 serve docker: fix volume path being lost when the plugin restarts
rclone/rclone 60k #9872 fs/config: only run --password-command once when using --daemon
rclone/rclone 60k #9944 operations: make --immutable work with copyto, moveto and single file c…
rclone/rclone 60k #9945 smb: save the user name in the config even if it matches the current us…
rclone/rclone 60k #9947 local: stop --copy-links following symlink loops - fixes #4402
rclone/rclone 60k #9949 vfs: fix AddVirtual ignoring isDir
rclone/rclone 60k #9950 serve dlna: log unescaped paths - fixes #7370
go-gitea/gitea 58.2k #38693 fix(lfs): failed upload deletes a concurrent upload's meta object
alibaba/open-code-review 42.5k #501 feat(allowlist): add Julia (.jl) support
seaweedfs/seaweedfs 35.1k #10656 s3api: fix ListObjectsV2 dropping objects under a partial prefix
seaweedfs/seaweedfs 35.1k #11393 fix(volume): return an error instead of panicking on a corrupt needle s…
seaweedfs/seaweedfs 35.1k #11397 fix(volume): return an error instead of 201 when a write lands on no vo…
seaweedfs/seaweedfs 35.1k #11398 fix(volume): stop ScanVolumeFileFrom at a header it cannot advance past
seaweedfs/seaweedfs 35.1k #11399 fix(volume): validate sizes in ReadNeedleBlob and WriteNeedleBlob
seaweedfs/seaweedfs 35.1k #11483 fix(volume-rust): reserve a disk before replacing a replica in VolumeCo…
grpc-ecosystem/grpc-gateway 20k #7110 docs: add runnable OpenTelemetry tracing example
grpc-ecosystem/grpc-gateway 20k #7207 fix(openapiv2): omit oneof siblings of path parameters from query param…
IBM/sarama 12.5k #3752 fix(client): only deregister the broker registered under that ID
shirou/gopsutil 11.9k #2143 [docker][linux]: support cgroup v2 in Cgroup* functions
shirou/gopsutil 11.9k #2163 [cpu][darwin]: don't crash in getFrequency when pmgr lacks voltage-stat…
uptrace/bun 5k #1414 fix(bunotel): honor WithMeterProvider when reporting DB stats metrics
uptrace/bun 5k #1415 fix(relation): do not duplicate joined models on a shared base model
nginx/nginx-gateway-fabric 1.2k #5639 fix: correct validation error diagnostics and add missing CRD schema co…
bluenviron/gortsplib 940 #1171 sdp: support oversized numbers in origin (bluenviron/mediamtx#5949)
algesten/str0m 628 #1058 Limit pacer burst size at high bitrates
kerlenton/mcpsnoop 356 #212 feat(check): emit SARIF 2.1.0 so findings land in the Security tab
kerlenton/mcpsnoop 356 #213 feat(cli): wrap and unwrap the Claude Desktop config for one server
fiorix/go-diameter 294 #262 diam: key the Unmarshal AVP index by {Code, VendorID}
nickvsnetworking/pyhss 115 #337 diameterService: iterate over a snapshot of activePeers
bluenviron/mediacommon 101 #368 h265: fix DTS extraction of streams with temporal sub-layers
bluenviron/mediacommon 101 #373 pmp4: support stsz with a constant sample size (bluenviron/mediamtx#580…
bluenviron/mediacommon 101 #375 pmp4: support tracks without edts
bluenviron/mediacommon 101 #376 pmp4: return seek errors from GetPayload
bluenviron/mediacommon 101 #377 pmp4: support tracks longer than 2^32 ticks
free5gc/amf 23 #232 fix: guard non-string DNN type assertions in GMM handler
free5gc/tngf 5 #47 fix: prevent slice-bounds panic on malformed IKE SA proposal

In review

Project ★ PR Contribution
caddyserver/caddy 76.2k #8062 caddyhttp: Add status_code option to http_redirect listener wrapper
caddyserver/caddy 76.2k #8063 caddyauth: Support third-party http.authentication.hashes modules
rclone/rclone 60k #9946 serve sftp, serve webdav: fix stale hashes reported while a file is bei…
rclone/rclone 60k #9977 docker: add mailcap for /etc/mime.types - fixes #6384
nushell/nushell 40.6k #19092 Clear sqlite history with SQL instead of deleting the file
bluenviron/mediamtx 20.3k #6195 playback: cache segment headers to speed up /list (#5094)
bluenviron/mediamtx 20.3k #6196 add udpWriteBufferSize parameter (#6100)
argoproj/argo-workflows 17k #16602 perf(executor): read the resource once for all output parameters
IBM/sarama 12.5k #3753 fix(offset): don't block PartitionOffsetManager.Close without auto-comm…
kubeshark/kubeshark 12.1k #1956 helm: use Recreate strategy for hub Deployment when local snapshots PVC…
velero-io/velero 10.3k #10212 Fix Zip Slip path check accepting a sibling directory in archive extrac…
anchore/syft 9.6k #5121 fix(binary): match istio snapshot and older pre-release versions
redpanda-data/connect 8.8k #4656 slack: only enforce token prefixes on literal values
woodpecker-ci/woodpecker 7.9k #7189 Release agents waiting on gRPC long polls on server shutdown
woodpecker-ci/woodpecker 7.9k #7192 Handle concurrent persist of identical pipeline config
uptrace/bun 5k #1435 fix: resolve map column types before scanning rows
apache/arrow-rs 3.6k #11229 fix(parquet): support non-primitive map keys in record reader
vishvananda/netlink 3.3k #1225 filter: use EncDestIPMask when encoding Flower EncDestIP
apache/iceberg-rust 1.4k #3284 fix(spec): accept object-form partition-spec in manifest metadata
bluenviron/gortsplib 940 #1178 format: support mismatched fmtp payload type
bluenviron/gortsplib 940 #1181 client: support SETUP responses without Transport header
pion/stun 859 #301 Restrict stun-client to IPv4
asticode/go-astits 619 #79 Sync to the first packet when the stream doesn't start with a sync byte
ClickHouse/clickhouse-rs 560 #478 fix(types): parse JSON type hints with parenthesized types
ClickHouse/clickhouse-rs 560 #481 fix: don't send the client's query_id with the insert DESCRIBE TABLE
pion/rtp 478 #372 Drop H264 FU-A fragments without a start
scottlamb/retina 372 #140 H.265: treat all IRAP pictures (CRA/BLA) as random access points
gopacket/gopacket 315 #172 packet: set zeroCopy in NewZeroCopyPacketSource
pion/interceptor 147 #470 Assign RTX sequence numbers at send time
nickvsnetworking/pyhss 115 #338 diameter: answer with an error Result-Code when a handler raises
bluenviron/mediacommon 101 #380 mpegts: fix reading UDP datagrams larger than 1316 bytes
bluenviron/mediacommon 101 #382 h265: fix DTS extraction of access units that contain only SEI
free5gc/smf 24 #244 fix: release SMContext and reject when UDM token fetch fails
free5gc/udm 9 #96 fix(udm): return ProblemDetails for unmatched resource URIs
free5gc/udr 4 #70 fix: return ProblemDetails for unmatched resource URIs
free5gc/ike 3 #24 fix: prevent slice-bounds panics from uint8 SPI offset overflow

Regenerated nightly from the GitHub API by scripts/build_stats.py. Own and private repositories are excluded, so every row is a public upstream contribution.

Tech

Go · Kubernetes · Helm · Docker · gRPC / protobuf · Diameter · HTTP/2 · SBI · NETCONF · distributed SQL · observability

Pinned Loading

  1. diam-gw diam-gw Public

    Go

  2. seaweedfs/seaweedfs seaweedfs/seaweedfs Public

    SeaweedFS is a distributed storage system for object storage (S3), file systems, and Iceberg tables, designed to handle billions of files with O(1) disk access and effortless horizontal scaling.

    Go 35.1k 3k