alco
Remote: Yes
Willing to relocate: No
Technologies: Elixir, Go, TypeScript, Postgres, SQLite, Docker, AWS, sync engine, containers, distributed systems
Resume: https://sholik.dev/resume/
Email: [email protected]
I build data infrastructure: sync engines, durable streams, and backend systems that must stay correct through load, restarts, and failure. I have expert-level, hands-on knowledge of Postgres logical replication and of the BEAM VM's concurrency and memory model. I'm looking for a remote senior software engineer role in distributed systems, replication, storage, AI agent infrastructure, or performance engineering. I'm deepest in Elixir/OTP and Postgres, productive in Go and TypeScript, and more interested in hard systems problems than any particular language.
> Firebase Data Connect provides you with a local emulator for end-to-end prototyping as well as continuous integration and continuous deployment (CI/CD) flows
Developers at Google have chosen PGLite for those qualities so that users of Firebase Data Connect had better CI/CD workflows. It wouldn't be fair to say this is an insignificant use case.
Location: Kyiv, Ukraine
Remote: Yes
Willing to relocate: planning a move to UTC time zone within the EU
Technologies: Elixir, Go, TypeScript, Python, AWS, GCP, Docker, Kubernetes, PostgreSQL, RabbitMQ
Résumé/CV: https://www.dropbox.com/s/6njitiijrb0gs37/Oleksii%20Sholik%20Resume.pdf?dl=0
Email: [email protected]
Hi, my name is Oleksii. Having worked as a backend engineer for the past almost 10 years, I'm an expert in Elixir/OTP and PostgreSQL, skilled in Go, AWS, and Kubernetes. Looking for new challenges in distributed computing, global data consistency, high scalability, and observability.I actively contributed to the Elixir programming language between 2012 and 2016, developing UX improvements for IEx (colors, history, .iex.exs), implementing core functions in Enum, List, OptionParser, String, System modules.
Chris McCord's keynote was also really interesting, he explained how he implemented Phoenix Presence using a certain kind of CRDT.
And for some laughs I recommend watching Gary Rennie's funny story about achieving 2 million clients simultaneously connected to a single Phoenix server.
The fundamental difference of content-addressed networks is their resiliency in the face a single authority trying to track down all of the sources that have copies of the content.
Even though IPFS is still in its infancy, one of its primary goals is to solve the problem of content suddenly disappearing from the Internet.
Could you please add a field on the site where I could paste the URL of a webpage? That would work for me as a workaround to using the extension.
http://munificent.github.io/wren/qa.html#why-did-you-create-...
By "programming model" I mean things like immutability, concurrency, fault-tolerance, and the way you design systems with OTP.
Elixir semantics is very close to Erlang's, but it also has things beyond what Erlang can offer as easily: macros, protocols, comprehensions with any kind of enumerable as a generator.
Of course, the core facilities provided by the runtime system are left unchanged: concurrency primitives, functional semantics, distribution, error handling (Elixir has slightly different conventions, but the idea of "letting it crash" remains). And in OTP land there are quite a few additions that simply make OTP more "elixirish" (like getting a lazy stream of events from GenEvent).
I don't share your belief that early libraries and frameworks have the potential to override Elixir's broad domain. In other words, even if there will be a widely popular library/framework for Elixir, it won't automatically negate its other strength or fitness for a wide range of uses.
During the recently held ElixirConf we've seen it used in a telecom company, also powering game servers, distributed robots, and hobby projects like an elevator controller and command-line applications. The community already has a diverse set of interests and many of us will be pushing the adoption in our respective areas of interest.
In any case, our best effort today would be to continue hacking and having fun with Elixir, and at the next year's conference we'll be able to see in which direction the trends go.
Elixir is fool-proof from turning it into a "Ruby on Erlang" simply because it embraces and improves on Erlang's programming model. Some libraries are ported over from Ruby. But there are also libraries ported from other languages and libraries that have been written for Elixir specifically.
Just a heads up: please don't make hasty generalisations based on a single project you've seen.
To work with input split into columns, use awk. By default, it assumes the columns are separated with spaces. This can be customized with the '-F' option.
So your last example can be rewritten as
awk -F, '{s+=$1} END{print s}' data.csvFor example, this code generates a bunch of functions using some compile-time code execution and a macro: https://github.com/alco/benchfella/blob/2513f85eff3886fdf1b3.... Doing the same in Erlang would involve using some 3rd party tool for code generation or doing the whole thing at runtime, in a more verbose way.
In short, achieving similar development productivity with Erlang would be quite a challenge.
The same way you can call 'Portal.Door.get({:orange, :"room2@COMPUTER-NAME"})' on the first node (the one corresponding to room1).
That is why I emphasized that the worst case in particular has its bound within a constant factor of n², hence Ɵ.