Code review - Toy Hexdump

Hello,

Over the last two days, I’ve been working on a small re-implementation of hexdump. At the moment, it supports two output modes: the standard format and the canonical (-C) format.

I'd like to receive some feedback on the code as I am learning. (I have some Python and JavaScript background so the idea of using callbacks comes from there).

If no filename is provided, it reads from stdin. Currently, only short options are supported (-C and -V).

You can run it as either:

  • ./hexdump -C file
  • ./hexdump file -C
  • ./hexdump file

>AI usage disclosure:

I did use Claude and ChatGPT only for code reviews but both failed miserably suggesting to use bit shifting instead of memcpy for the standard formatting (the two-bytes-hex), so I don't think are reliable sources for reviews.

The source code is available on my Codeberg page: https://codeberg.org/paolobietolini/c-learning/src/commit/6e423d4ba196c9634a694ccb4f29addb2f34a159/projects/hexdump/hexdump.c.

Thanks in advance.

PS: Not sure if this breaks the rule #3

reddit.com
u/KafkaOnTheStore — 5 days ago

What data-related problem are you facing?

I've created the MCP server for Google Tag Manager to support me in boring tasks such as quick audits and tag creation.

It’s already helping a lot of pros in the industry, what other GTM, or data, headaches should I tackle next?

Share your pain points!

u/KafkaOnTheStore — 13 days ago

38, analyst background, want to transition to SWE. Have shipped real software. Looking for honest assessmen

My background is in Digital analytics for 4+ years.

My actual job is analytics implementation (Tag Management) but I've been writing software on the side that people use.

I have shipped a Google Tag Manager MCP server in Go (118 stars, hosted public instance, actively maintained) and several smaller open source tools.

Currently studying C (K&R) because i like "low"-level.

Financial runway is not a constraint.

Goal: SWE role, ideally at a company (or freelance) building devtools or analytics infrastructure where my domain knowledge is relevant, not a liability.

The problem is that I have no CS degree, no professional SWE title, 38 years old, bad market.

Specific questions:

* With this portfolio, am I deluding myself or is this a realistic transition?

* Which companies or company types actually hire people like me?

* What's the gap between where I am and hireable as a junior/mid SWE?

reddit.com
u/KafkaOnTheStore — 14 days ago
▲ 0 r/praca

Przebranżowienie na programistę w wieku 38 lat, nauka po godzinach, czy to ma sens?

Mam 38 lat, jestem Włochem mieszkającym w Krakowie. Od kilku lat pracuję w marketingu cyfrowym (analitycs + JS), ale praca mnie nudzi.

Chcę przejść do programowania niskopoziomowego (Rust/C), bardziej z pasji i temperamentu niż dla pieniędzy.

Plan: nie rzucam pracy, uczę się wieczorami przez 12-18 miesięcy, aż znajdę zatrudnienie w nowej dziedzinie.

Nie pytam o samą technologię (o to pytam na innym subie), tylko o stronę życiową i zawodową:

  • Czy zmiana branży w wieku 38 lat, ucząc się obok etatu, jest realna, czy to naiwne?

  • Jak długo daliście radę utrzymać taką naukę po godzinach bez wypalenia?

  • Czy ktoś robił podobny skok po 35 i jak wyszło, finansowo i psychicznie?

Proszę o szczere opinie, także te zniechęcające. Dzięki.

reddit.com
u/KafkaOnTheStore — 23 days ago

Zmiana branży na programowanie systemowe (Rust/C) w wieku 38 lat, realne w Krakowie?

Cześć. Jestem Włochem mieszkającym w Krakowie.

Od 8 lat pracuję w digital marketingu jako digital analyst (głównie JavaScript). Martech mnie nudzi, data engineering próbowałem, ale to za dużo abstrakcji jak na mój gust. Ciągle wracam do C i programowania niskopoziomowego: chcę rozumieć maszynę, a nie tylko używać gotowych narzędzi.

Plan: zostaję w obecnej pracy i uczę się Rusta (C trzymam jako fundament), aż będę gotowy do zatrudnienia. Realnie 12-18 miesięcy, po godzinach obok etatu.

Pytania do osób z branży:

  • Jak wygląda realny rynek w Krakowie dla systems software / Rust / low-level poza embedded i telecomem? Ile jest takich ofert naprawdę?

  • Czy firmy biorą pod uwagę osoby zmieniające branżę po 35, bez dyplomu CS, jeśli mają solidne portfolio?

  • Czy 12-18 miesięcy to realistyczny czas, czy oszukuję samego siebie?

  • Rust czy jednak C++ pod kątem liczby ofert lokalnie?

Wolę szczerą odpowiedź niż miłą. Jeśli to głupi pomysł, powiedzcie wprost. Dzięki.

Edit: format

reddit.com
u/KafkaOnTheStore — 23 days ago

OpenAI Pixel Templates

I built GTM templates for the new OpenAI Ads Measurement Pixel + Conversions API (open source)

OpenAI's ads platform shipped a measurement pixel and a server-side Conversions API, so I wrote three templates:

  • Web tag for the pixel - init/event modes, Consent Mode v2 (ad_storage), optional auto SHA-256 hashing of email/external ID
  • Variable that maps standard GA4 ecommerce dataLayer pushes (purchase, add_to_cart, etc.) to OpenAI's event format, so you don't re-tag anything
  • Server tag for the CAPI - inherits GA4 event data in the server container, auto-populates IP/UA, supports event_id dedup against the browser pixel

submitted to the Community Gallery (still in review, so for now you'd import the .tpl manually):

https://github.com/digitalanalytix

u/KafkaOnTheStore — 26 days ago

is Tag Management a commodotized skill?

I’ve been in the analytics and tracking space for almost a decade now. I know JavaScript inside out and have built highly complex tracking implementations for massive, multinational companies as an in-house specialist.

But lately, I’m feeling incredibly burnt out on the direction the industry is heading.

It feels like 90% of what stakeholders care about nowadays is just compliance gymnastics and ad-platform feeding. The entire conversation has shifted to: "How can we send the absolute maximum amount of data the GDPR allows to Meta/Google?" or "We need Server-Side GTM strictly so we can bypass browser restrictions and save our ad attribution."

Validating business logic? Building robust, clean data pipelines to actually understand the customer journey or improve the product? Crickets. Rarely do I ever see stakeholders who want to leverage this data to actually understand their business base better. It’s all just a pipeline to feed the advertising beast.

Is anyone else experiencing this shift? How are you dealing with the frustration of being a highly skilled engineer whose primary job has devolved into keeping marketing pixels alive?

reddit.com
u/KafkaOnTheStore — 1 month ago

is Tag Management a commodotized skill?

I’ve been in the analytics and tracking space for almost a decade now. I know JavaScript inside out and have built highly complex tracking implementations for massive, multinational companies as an in-house specialist.

But lately, I’m feeling incredibly burnt out on the direction the industry is heading.

It feels like 90% of what stakeholders care about nowadays is just compliance gymnastics and ad-platform feeding. The entire conversation has shifted to: "How can we send the absolute maximum amount of data the GDPR allows to Meta/Google?" or "We need Server-Side GTM strictly so we can bypass browser restrictions and save our ad attribution."

Validating business logic? Building robust, clean data pipelines to actually understand the customer journey or improve the product? Crickets.

Rarely do I ever see stakeholders who want to leverage this data to actually understand their business base better. It’s all just a pipeline to feed the advertising beast.

Is anyone else experiencing this shift? How are you dealing with the frustration of being a highly skilled engineer whose primary job has devolved into keeping marketing pixels alive?

reddit.com
u/KafkaOnTheStore — 1 month ago

GTM quietly shipped "Tag Serving Path", you can now serve gtm.js first-party with a cloaked container ID

Heads up if you are running sGTM. As of May, 5 the Web Container client in server-side GTM has a new Tag Serving Path field. It lets you serve gtm.js (and gtag.js) through your tagging server with a randomized alphanumeric path that hides which container is being loaded.

So instead of:

https://www.googletagmanager.com/gtm.js?id=GTM-XXXXXX

you load:

https://yoursite.com/data/zxq7pm2r/

(where /data is your tagging server path and /zxq7pm2r is the auto-generated serving path).

The container ID is still in the query string of course, but the loader URL itself no longer screams "GTM", which is what most ad blockers pattern-match on. Some will still catch it via the ?id= parameter; others won't.

Few questions for who already tried it:

  • Did you measured a recovery in pageview counts after the switch?

  • The path is auto-generated when you add a container but you can override it. Anyone benchmarking whether a custom-rotated path performs better than the default?

reddit.com
u/KafkaOnTheStore — 2 months ago