HackerTrans
TopNewTrendsCommentsPastAskShowJobs

oedo

no profile record

comments

oedo
·2 yıl önce·discuss
SEEKING WORK | PA, USA | REMOTE

Open to short-term or long-term. Potentially open to relocation.

Email: [email protected]

Resume: www.armichael.com/armichael_resume.pdf

Hi, I'm Andrew. I have experience doing backend/data/infra for small startups, I can work efficiently either with a team or independently, and I have wide exposure to a variety of technologies, problem spaces, and programming paradigms.

Skills:

- Scripting/tooling/automation/configuration in *nix environments

- Relational databases and schema design

- API design and integrations

- Server and database administration

- Documentation, technical writing, diagrams, charts, runbooks

- Mathematics and logic (I have a wealth of experience in college-level education)

- Infrastructure administration and provisioning

- Analytics

- AI search and media processing

Technologies: Linux, PostgreSQL, Python, Emacs, Docker + docker-compose, misc Lisp and Scheme dialects, Java, Bash, Lua, Make, JavaScript / TypeScript + Node.js / Deno, Terraform, Ansible, Nginx, Caddy, AI, ML, LLMs, Metabase, AWS, GCP, Supabase, DigitalOcean, Netlify, HuggingFace; learning Nix
oedo
·2 yıl önce·discuss
"You're like a laser-guided missile I can point at technical problems" -- a past employer

-----

  Location: Pittsburgh, PA
  Remote: Yes
  Willing to relocate: Yes
  Technologies: Linux, PostgreSQL, Python, Emacs, Docker + docker-compose, misc Lisp and Scheme dialects, Bash, Lua, Make, some JavaScript / TypeScript + Node.js / Deno, Terraform, Nginx, Caddy, Metabase, AWS, GCP, Supabase, DigitalOcean, Netlify, HuggingFace; learning Nix
  Résumé/CV: www.armichael.com/armichael_resume.pdf
  Email: [email protected]
-----

I'm a software engineer (backend/data/infra) with a background in college-level mathematics and CS education. Long-time Linux user, Emacs enthusiast, and adept juggler (I occasionally perform for charity and holiday events). I'm fond of expedition and sharp-set for new challenges, with wide exposure to a variety of technologies, problem spaces, and programming paradigms.

My recent work includes backend logic, backend API design + integrations, database schema design, AI vector search, media processing pipelines, and database + server administration for a startup's cross-platform mobile application.
oedo
·2 yıl önce·discuss
SEEKING WORK | PA, USA | REMOTE

Open to short-term or long-term. Potentially open to relocation.

Email: [email protected]

Resume: www.armichael.com/armichael_resume.pdf

Hi, I'm Andrew. I have experience doing backend/data/infra for small startups, I can work efficiently either with a team or independently, and I have wide exposure to a variety of technologies, problem spaces, and programming paradigms.

  "You're like a laser-guided missile I can point at technical problems" -- a past employer
Skills:

- Scripting/tooling/automation/configuration in *nix environments

- Relational databases and schema design

- API design and integrations

- Server and database administration

- Documentation, technical writing, diagrams, charts, runbooks

- Mathematics and logic (I have a wealth of experience in college-level education)

- Infrastructure administration and provisioning

- Analytics

- AI search and media processing

Technologies: Linux, PostgreSQL, Python, Emacs, Docker + docker-compose, misc Lisp and Scheme dialects, Java, Bash, Lua, Make, JavaScript / TypeScript + Node.js / Deno, Terraform, Ansible, Nginx, Caddy, AI, ML, LLMs, Metabase, AWS, GCP, Supabase, DigitalOcean, Netlify, HuggingFace; learning Nix
oedo
·2 yıl önce·discuss
"You're like a laser-guided missile I can point at technical problems" -- a past employer

-----

  Location: Pittsburgh, PA
  Remote: Yes
  Willing to relocate: Yes
  Technologies: Linux, PostgreSQL, Python, Emacs, Docker + docker-compose, misc Lisp and Scheme dialects, Bash, Lua, Make, some JavaScript / TypeScript + Node.js / Deno, Terraform, Nginx, Caddy, Metabase, AWS, GCP, Supabase, DigitalOcean, Netlify, HuggingFace; learning Nix
  Résumé/CV: www.armichael.com/armichael_resume.pdf
  Email: [email protected]
-----

I'm a software engineer (backend/data/infra) with a background in college-level mathematics and CS education. Long-time Linux user, Emacs enthusiast, and adept juggler (I occasionally perform for charity and holiday events). I'm fond of expedition and sharp-set for new challenges, with wide exposure to a variety of technologies, problem spaces, and programming paradigms.

My recent work includes backend logic, backend API design + integrations, database schema design, AI vector search, media processing pipelines, and database + server administration for a startup's cross-platform mobile application.
oedo
·2 yıl önce·discuss
"You're like a laser-guided missile I can point at technical problems" -- a past employer

-----

  Location: Pittsburgh, PA
  Remote: Yes
  Willing to relocate: Yes
  Technologies: Linux, PostgreSQL, Python, Emacs, Docker + docker-compose, misc Lisp and Scheme dialects, Bash, Lua, Make, some JavaScript / TypeScript + Node.js / Deno, Terraform, Nginx, Caddy, Metabase, AWS, GCP, Supabase, DigitalOcean, Netlify, HuggingFace; learning Nix
  Résumé/CV: www.armichael.com/armichael_resume.pdf
  Email: [email protected]
-----

I'm a software engineer (backend/data/infra) with a background in college-level mathematics and CS education. Long-time Linux user, Emacs enthusiast, and adept juggler (I occasionally perform for charity and holiday events). I'm fond of expedition and sharp-set for new challenges, with wide exposure to a variety of technologies, problem spaces, and programming paradigms.

My recent work includes backend logic, backend API design + integrations, database schema design, AI-assisted media processing pipelines, and database + server administration for a startup's cross-platform mobile application.
oedo
·3 yıl önce·discuss
Declaring a function with `lambda` prepends runtime nil checks for each argument to the function body (excluding optional args-- specified with a question mark, eg. `?x`-- and variable arguments, eg. `...`[1]).

This Fennel:

  (fn foo [x y ...]
    (print x y ...))

  (lambda bar [x ?y ...]
    (print x ?y ...))
...transpiles to this Lua:

  local function foo(x, y, ...)
    return print(x, y, ...)
  end
  local function bar(x, _3fy, ...)
    _G.assert((nil ~= x), "Missing argument x on test.fnl:3")
    return print(x, _3fy, ...)
  end
[1] Fennel's alternative `& xs` vargs format does create a runtime check in functions declared with lambda, but it always evaluates to true because it simply nil-checks the table (here `xs`) that it dumps Lua `...` vargs into.
oedo
·4 yıl önce·discuss
+1. And the subset of those applications concerned with simply converting result sets <-> JSON over HTTP may well even tolerate use of an API generator (eg PostgREST, PostGraphile, Hasura), reducing that thin layer to merely a membrane.
oedo
·4 yıl önce·discuss
>with an arbitrary function instead of MAX

Many systems support user-defined aggregates[0][1]

[0] https://www.postgresql.org/docs/current/sql-createaggregate....

[1] https://docs.oracle.com/en/database/oracle/oracle-database/2...
oedo
·4 yıl önce·discuss
>functions that take sets as input and produce arbitrarily different sets as output

It is possible to return arbitrary sets from functions in many systems-- recent versions of the SQL standard even specify table functions (with syntax "RETURNS TABLE(columns)")[0] as well as polymorphic table functions (PTFs)[1]. And in addition to implementations of those standards, extensions like PL/[pg]SQL also have a few other ways of effecting table-like returns (parameter modes, composite type returns).

>function overloading

Not standard, but some systems support it[2].

[0] https://www.postgresql.org/docs/current/xfunc-sql.html#XFUNC...

[1] https://share.ansi.org/Shared%20Documents/News%20and%20Publi...

[2] https://www.postgresql.org/docs/current/xfunc-overload.html
oedo
·4 yıl önce·discuss
Most (non-gigascale) applications that are non-trivial enough to use a relational database in the first place will benefit from using foreign key constraints (ie delegating enforcement of foreign key relationships to the database). Though, context can matter: system architecture, RDBMS limitations, etc. (eg IIRC, FK constraints complicate certain kinds of migrations in MySQL at scale).

>He rather have a smooth data migration process than having an unexpected error and abort the whole operation

That's not a good reason. It doesn't sound like he's making an educated decision based on context-- it sounds like he's sacrificing data consistency to make his own work easier. If that's the case, perhaps he should do away with all integrity constraints (primary keys, checks, et al). Then, he could enjoy a "smooth process" for adding new data, too. No more pesky errors-- just blissful, silent corruption.

>To be fair, as far as I know, he never had major data problems.

Yet, anyway. He has intentionally limited his visibility over at least one kind of problem (invalid references). His problems might not be clear until they start causing noticeable issues elsewhere.

>He is not the only one I've met who insisted on not having FK. I've even seen large systems prohibit using JOIN statements.

Allergy to the relational model. Many such cases!
oedo
·4 yıl önce·discuss
>when you do the same in other languages you get...

Your result should be unsurprising. Lisps have a minimal syntax that naturally entails high levels of nesting: (s-)expressions being used to represent functions, control structures, data, etc.

Why should a particular style convention appropriate for that kind of language necessarily transplant well to JavaScript-- a brace-delimited, Algol-inspired language with a lot of syntax?
oedo
·4 yıl önce·discuss
Anecdotal datapoint: after discovering this article a long time ago, I adopted the sleeping posture in figure 2.2 (bring it on, insects) for many years. Mattress topper on the floor-- while traveling, only a folded blanket or my jacket. Loved it and never woke up sore, no matter where I slept. Additionally, this article's quirky presentation always made the habit ripe for sharing with others (add in some play-proselytizing and lambasting the "profit-driven motives of Big Bed").

I recommend at least trying out these postures-- they may be useful to you even if only as a means of securing comfort and rest in situations or environments where accommodations may be limited (camping, crashing at a friend's place, sharing a room with friends/family, roaming the post-apocalypse, etc.)
oedo
·4 yıl önce·discuss
Yeah, this is a thing.

To enjoy years of stability on Arch[0]:

  - occasionally upgrade your system
  - before upgrading, glance at https://archlinux.org/news/ to see if anything requires manual intervention
[0] I use Arch btw
oedo
·4 yıl önce·discuss
"You're like a laser-guided missile I can point at technical problems" -- a past employer

-----

  Location: Pittsburgh, PA
  Remote: Yes
  Willing to relocate: Yes
  Technologies: PostgreSQL, Python, Emacs, Linux, GNU Make, Bash, Docker + docker-compose, misc Lisp and Scheme dialects, JavaScript, Node.js, Terraform, Nginx, misc cloud services/platforms, + more
  Learning/interested in: Nix, other expression/config languages, statically-typed functional languages, logical/data-constraint languages (eg Prolog, Datalog, Mercury, CUE), + more
  Email: [email protected]
  Resume: https://www.armichael.com/resume.pdf
  LinkedIn: https://www.linkedin.com/in/andrewrmichael
-----

I'm a software engineer (backend/data/infra) with a background in college level mathematics education and community service.

Intensely curious, with wide exposure to a variety of technologies, problem spaces, and programming paradigms.

Recent work includes relational database design and administration, data modeling, API design and integrations, documentation, and tooling/scripting/automation for a greenfield project at a startup.

I'm also a long-time juggler and occasionally perform for charity and holiday events.
oedo
·4 yıl önce·discuss
"You're like a laser-guided missile I can point at technical problems" -- a past employer

-----

  Location: Pittsburgh, PA

  Remote: Yes

  Willing to relocate: Yes

  Technologies: PostgreSQL, Python, Emacs, Linux, GNU Make, Bash, Docker, misc Lisp and Scheme dialects, JavaScript, Node.js, Terraform, Nginx, misc cloud services/platforms, + familiarity with much more

  Learning/interested in: Nix + other expression/config languages, SML + other statically-typed functional languages, logical/data-constraint languages (eg Prolog, Datalog, Mercury, CUE), + more

  Email: [email protected]

  Resume: https://www.armichael.com/resume.pdf

  LinkedIn: https://www.linkedin.com/in/andrewrmichael
-----

I'm a software engineer (backend/data/infra) with a background in college level math education and community service.

Intensely curious, fond of expedition, and sharp-set for new challenges-- I have wide exposure to a variety of technologies, problem spaces, and programming paradigms.

Recent work includes relational database design and administration, data modeling, API design and integrations, documentation, and tooling/scripting/automation for a greenfield project at a startup.

I'm also a long-time juggler, and I occasionally perform for charity and holiday events.
oedo
·4 yıl önce·discuss
If you're interested in diagramming system architecture in a top-down fashion, I'll pile on another recommendation to check out the C4 model[0].

As others have mentioned, to effectively communicate a system you must limit the context to particular layers of abstraction, and C4 is a good approach to doing just that. There's also a C4 plugin for PlantUML[1].

But don't forget that, as with all visualizations, audience and purpose are key.

Consider whether you are addressing short-term needs (eg identifying inefficiencies, modeling for a client pitch) or long-term needs (eg knowledge retention, managing complexity). If your audience's needs are short-term, you can certainly get by with much simpler tools (eg Inkscape, excalidraw/draw.io/etc, picture of a whiteboard, doodles on a napkin).

Also consider whether or not you actually have a problem better served by bottom-up (ie generated) visualizations (eg ERDs for database schema refactoring, heatmaps for profiling, GraphViz for debugging DAGs).

[0] https://c4model.com/

[1] https://github.com/plantuml-stdlib/C4-PlantUML
oedo
·4 yıl önce·discuss
Location: Pittsburgh, PA

Remote: Yes

Willing to relocate: Yes

Technologies: Python, PostgreSQL, SQL (ANSI, PL/pgSQL, PL/SQL), Emacs, Linux (general sysadmin tasks, shell + coreutils, etc.), Bash, GNU Make, Docker + docker-compose, Terraform, JavaScript + Node.js, various Lisp and Scheme dialects, Java; misc levels of familiarity with cloud services/platforms (DigitalOcean, Backblaze, AWS, Netlify), web servers/proxies (Nginx, Caddy), TypeScript, Go, Elixir, Julia, Ansible, basic web frontend (HTML5+CSS, htmx, Alpine), ZFS; currently learning/interested in Nix, statically-typed functional languages (SML et al), YAML-wrangling/expression languages (Dhall, CEL), logical/data constraint languages (Prolog, Datalog, Mercury, CUE), and a few other things

Email: [email protected]

Resume: https://www.armichael.com/resume.pdf

LinkedIn: https://www.linkedin.com/in/andrewrmichael

-----

I'm a software engineer with a background in college-level math education. I'm currently wrapping up development on a major project (backend/data for a small startup's mobile app) and am looking for new opportunities.

+ I have intense intellectual curiosity and consequently have accumulated exposure to a wide variety of technologies, problem spaces, and programming paradigms. Very open to new things. But when it comes to work, I'm also not at all averse to simply getting the job done with boring (ie reliable and effective) tools.

+ Particular areas of strength include relational databases, data modeling, API design/integrations, documentation, and dev/system tooling/scripting/automation.

+ Long-time Linux and Emacs user.

+ Also a long-time juggler (lol). Just a hobby, but I occasionally perform for charity and holiday events.
oedo
·4 yıl önce·discuss
HN in 2023:

"Conventional Codetags: a specification for structured TODO comments"
oedo
·4 yıl önce·discuss
It appears that docker cli will also eventually remove the short option for help. Their reasoning for it is to avoid conflicts with args (eg hostname '-h') in certain subcommands.[0][1]

But I don't see why they couldn't leave the base command's short option alone-- the user intent of a bare "docker -h" (or "podman -h") seems obvious.

[0] https://docs.docker.com/engine/deprecated/#-h-shorthand-for-...

[1] https://github.com/docker/cli/issues/3249
oedo
·4 yıl önce·discuss
> local notes solution ... published on the web ... crosslinked

Definitely a lot of ways to go about this.

If you haven't already, I'd suggest checking out what the creator of org-roam does for publishing his own notes: https://github.com/jethrokuan/braindump

It works quite well, and might be exactly what you want as far as publishing goes.

> end up in weird jams where Emacs has opened up 3+ panes (buffers), and I can’t figure how to even close/quit them

Typically 'q' will close Doom's popup windows (+popup/quit-window), otherwise you should be able use plain ol' Emacs 'C-x k' or Doom's '<leader> b k' (also 'b d') to kill a buffer.

If you actually want to keep the buffers, and you just want the windows out of the way, you can use winner-undo / winner-redo to cycle through past window configurations.

> bottom-up guide for personal information systems

AFAIK, this does not exist. But there is, I'm sure you've seen, a variety of independent users continually working out interesting new ways to process and link information using Emacs. For example, outside of bloggers in the Roam/Zettelkasten camp, you can always glean insights from John Kitchen's work [0][1], although it leans more towards research/academic use than PIM/PKM.

> my brother is writing a book - he’s not super technical but can get around

If it's technical/academic writing, you can honestly get astonishingly far just using org-mode's LaTeX export.

[0] https://kitchingroup.cheme.cmu.edu/

[1] https://github.com/jkitchin