HackerTrans
TopNewTrendsCommentsPastAskShowJobs

mgomez

no profile record

Submissions

Show HN: ETscript – An experimental interpreter for Salesforce's AMPscript

github.com
2 points·by mgomez·3 years ago·0 comments

New semaphore puzzle lights up at Adobe HQ

blog.adobe.com
3 points·by mgomez·3 years ago·0 comments

comments

mgomez
·2 years ago·discuss
NPR's is one of my favorites: https://www.npr.org/404
mgomez
·2 years ago·discuss
Ivan answered this in one of his AMAs on Reddit[1] a couple of years ago. He used "Pea" because "Apple" was already taken.

[1] https://old.reddit.com/r/IAmA/comments/s2elpv/i_made_a_free_...
mgomez
·3 years ago·discuss
I've yet to dip my toes into Wasm. This might push me to finally get going. Based on a quick search, Wasmer and Wasmtime appear to be the two most popular runtimes with the latter being backed by some big names (via the Bytecode Alliance). Wasmer seems to push new features first. Can someone share what their experience was like with either or why they chose one over the other?
mgomez
·3 years ago·discuss
Here's a non-wizard tutorial that I bookmarked when I started with F# (I also had a hard time finding a simple example at first):

https://learn.microsoft.com/dotnet/fsharp/get-started/get-st...

What I like about this page is that it shows a basic project structure.
mgomez
·3 years ago·discuss
> I have two young kids and I'm constantly humbled by how fearless they are...There's this tremendous power in "not knowing what you don't know" that sometime in university disappeared from me...

"The teenage spirit." There was an interview[1] with one of the founders of Teenage Engineering (makers of the OP-1 synth) that drew from this line of thinking when naming their company:

> They took their name Teenage Engineering from an early prototype that they never launched, but it fits the company and its philosophy well. “The teenage spirit is sometimes about doing things without having any knowledge of how to do them,” he says. “You just do it. That’s often how we go about things. If there’s something we don’t know, say electronics, we learn; we don’t let it stop us. It’s about having more will than knowledge, which is a more rock ’n’ roll way of solving things.”

[1] https://web.archive.org/web/20220421192821/https://www.sandv...
mgomez
·3 years ago·discuss
ETscript: https://github.com/markgomez/etscript

An interpreter for AMPscript (DSL for personalizing emails) that I used when I was at ExactTarget/Salesforce. I wanted to learn Rust and needed a project-based approach.

It doesn't really have a real-world use case since it's not integrated with any email platform (e.g., Marketing Cloud). I had loads of fun working on it though! Oh, and it's still missing a garbage collector.
mgomez
·3 years ago·discuss
Give "A half-hour to learn Rust" a try: https://fasterthanli.me/articles/a-half-hour-to-learn-rust

Books/tutorials/etc. never really worked for me because they were all "happy path" exercises (read: too boring). Things only started clicking when I had to overcome obstacles while porting projects written in different languages over to Rust.
mgomez
·3 years ago·discuss
https://docs.oracle.com/en/java/javase/

If you're like me and more interested in language additions, each release entry has a "Language Updates" section (under "Language and Libraries") with example code/usage.
mgomez
·3 years ago·discuss
I've spent the last several weeks porting a backend I had written in Go over to Rust (using Axum) and so far so good. But I don't know if I can call things in the Rust world like Axum/Actix/etc. "frameworks" anymore considering all the time I've had to spend researching/vetting crates to get the same functionality that comes out of the box in Spring/ASP.net/Django/etc.

Take handling datetimes for example. Do I use time or chrono? The initial developer/maintainer of chrono left[1] and for the longest time the crate was unmaintained while a CVE remained open[2] until a new maintainer finally came along and addressed it (I think?). All right, so, time it is then... but it uses its own custom format specifiers[3] that I had to get used to coming from the more familiar strftime used by other languages.

Or how about input/form validation. One of the most popular crates for that, validator, had its maintainer admit that they don't even use it themselves?[4] Of course I can already hear people yelling at me, "well, why don't you contribute then?!", and I certainly would love to if I could! But I have to finish what's in front of me first.

That being said, I still very much enjoy using Rust. Maybe less so for web-related projects. I just have to stay on an even keel despite the growing hype.

[1]: https://old.reddit.com/r/rust/comments/qamgyh/is_the_chrono_...

[2]: https://github.com/chronotope/chrono/issues/602

[3]: https://time-rs.github.io/book/api/format-description.html#v...

[4]: https://github.com/Keats/validator/issues/201
mgomez
·3 years ago·discuss
This is pretty neat. I'm wondering if something like this (on a smaller scale) could be used to catch the elusive illegal dumper in my neighborhood.
mgomez
·3 years ago·discuss
What's everyone using when it comes to data validation these days? Maintenance for one of the most popular crates for this seems to have slowed[1] and options for JSON Schema validators still seem immature[2] (but the ones I've tried work well so far).

[1] https://github.com/Keats/validator/issues/201

[2] https://json-schema.org/implementations.html#validator-rust
mgomez
·3 years ago·discuss
The one without the "y":

> Ubuntu is an ancient African word meaning ‘humanity to others’. It can also be interpreted as ‘I am what I am because of who we all are’. The Ubuntu operating system brings the spirit of Ubuntu to the world of computing. And one last extra question for the road…

> How do you pronounce Ubuntu? Many people don’t get it right the first time, but it’s pronounced: oǒ’boǒntoō.

> There’s no ‘y’ at the beginning!

https://ubuntu.com/blog/top-10-questions-about-ubuntu
mgomez
·3 years ago·discuss
Previous discussion:

Why Go and Not Rust? - https://news.ycombinator.com/item?id=20983922 - September 2019 (477 comments)
mgomez
·3 years ago·discuss
Sure thing:

https://lets-go-further.alexedwards.net

That book is a follow-up to an easier book [1] that I also bought, but ended up skipping since I was only interested in writing JSON APIs.

[1] https://lets-go.alexedwards.net
mgomez
·3 years ago·discuss
To force myself “to figure out the code,” I typically do the tutorial in a different language. I wanted to get familiar with Java last year, but all the books/tutorials were boring to me. What I ended up doing was going through a book that showed how to write a backend in Go (which was also unfamiliar to me at the time) while simultaneously porting it to Java (using Vert.x). Probably sounds inefficient tackling two languages at once, but it was the only way I was able to stay engaged with the material. Of course I ended up with something unidiomatic in terms of Java, but the project works and I now have motivation for a proper refactor to keep the momentum going.
mgomez
·4 years ago·discuss
I have tinnitus. I always describe my particular case as sounding like a dialup modem that's being "muffled" because it's in the next room over, behind closed doors. With this I can now pinpoint the specific section (ANSam, 0:09–0:10).
mgomez
·4 years ago·discuss
> Historically they also ship compilers and command line dev tools as a separate package, I'm not sure if that's still a thing.

It's still a thing: https://visualstudio.microsoft.com/visual-cpp-build-tools/
mgomez
·4 years ago·discuss
It sounds like you might be stuck in a "tutorial loop". Put them aside for now, and try building a tiny project for yourself. It could be anything that interests you; scratch whatever itch you may have right now no matter how silly/useless it seems. The goal is to start writing code for something tangible (instead of learning the basic mechanics of whatever language for the nth time as you aimlessly cycle through tutorials). Your code will be crappy and unidiomatic. That's okay because after you get that first project under your belt, you'll now have a better idea as to which resources to target next to improve.
mgomez
·4 years ago·discuss
At the beginning of this year, kdy1 (Donny) said he'd be switching to Go after initially trying things out in Rust [1][2], I guess he decided to go through with Rust after all? Or is this something slightly different?

[1] https://kdy1.dev/posts/2022/1/tsc-go

[2] https://news.ycombinator.com/item?id=30074414
mgomez
·4 years ago·discuss
> I'd wish I knew golang.

You can start learning today. I picked up Go by porting my backend web projects written in different languages over, but my next task is to convert all my custom shell scripts into CLI tools using Go.