What Technologies Are You Future Proofing With?

15 points by conor_f ↗ HN
I feel like I have frequently missed the boat with impactful technologies. At the time of release/hype I dismissed React, Docker, Kubernetes, Rust, and more.

What technologies are currently coming to popularity that you are learning/keeping abreast of so you don't get left behind?

22 comments

[ 3.6 ms ] story [ 62.2 ms ] thread
CUE ( https://cuelang.org | https://cuetorials.com ) Configure, Unify, Execute.

I'm building https://github.com/hofstadter-io/hof on top of it. I also use it a lot in CI / cloud related things. Tamed the monorepo with CUE too

Have you heard of Computer Aided Software Engineering (CASE) tools?

hof reminds me of those. Granted, I'm likely too young to have ever used them.

Are they back with a vengeance, but with type-safety? :)

Having built extensively on top of CUE, may I ask your thoughts on Dhall?

I wanted to use it as a YAML conformance tool, detecting drift across multiple git hashes of the same file. The aim would be to evolve a superset (if possible) data model that includes all fields (or reconciles them).

That would become the database tables.

I actually compared Dhall and CUE when I first decided to pick a language for config. CUE's theory spoke to me more, this page in particular https://cuelang.org/docs/concepts/logic/

Dhall is written in Haskell, CUE in Go. I write Go extensively and can make use of CUE's Go API, something I couldn't do with Dhall. Since then, it seems like Dhall's development has fallen off a cliff. The CUE creator has built a team and they have raised funds. There is a sizable team behind CUE now. Lot's of exciting things to come.

There's a CUE community call next Tuesday, if you want to watch live: https://github.com/cue-lang/cue/discussions/2219 and the old ones are here: https://www.youtube.com/@cuelang

CUE can detect backwards compatibility of config, I use this for your exact use case. https://docs.hofstadter.io/first-example/data-layer/checkpoi... (sorry, I need to work on the docs more) The goal is to be able to generate SQL to create and migrate database tables automatically.

Thank-you for your reply. The CUE community call was very professional and gave the impression of a well-moderated project.

The hof docs are helpful. I didn't encounter any big issues.

I hope to use some kind of type-safety checkers for YAML files in the future. It's too easy to make mistakes and too difficult to simply discover valid values.

Hof looks really interesting. The documentation is super thorough as well (for the parts that are written!). Starred and will keep up to date on it.
I think AI is really going to rock a lot of fields in the next 5 years. And one needs to adjust.
It definitely will, but as a product people are using, or as a tool/product most developers will be working with? I can see it being the drive force behind popular products, but typically there's not many ML/AI "experts" working to produce models, most of the development work is all around data pipelines and normal product features that will interact with an API that is using ML/AI.
Quic sounds like it has a lot of performance potential but hasn't hit critical mass yet
I think WebAssembly/WASI will take off if someone wraps it in a shell that supports a powerbox, with logging, debugging, and possibly undo/redo, time travel debugging, etc.

A way to run ANY random program from anywhere, and just give it a file in a safe and secure manner fills so many needs that most people can't even imagine right now.

PS: I'd have written it myself, but there's about 1000 items to check off just to get an MVP working on a PC if my survey of the standards is right. 500ish instructions, and a boatload of APIs.

PPS: I've looked at several implementations, but I don't have the familiarity with the languages they are written in to be able to dig deep into the guts and add the required code to turn the WebAssembly VM into a black box whos interface I can control. Thus, it seems I have to build my own 8(

> Docker, Kubernetes, Rust

These won't go away for a long time. So it's worth picking them up today.

Absolutely. I started learning Docker last year and Nix as a complementary tool this year.

Haven't had the opportunity to look at Kubernetes yet, and usually work higher in the stack than Rust I think! But thanks for the advice.

'Distributed SQLite'. There are so many projects to make SQLite replicable/ horizontally scaling (dqlite, rqlite, sqlfs, litestream, ...), there must be a great need for a simple to administer SQL DB with more horses than the single node SQLite.
rqlite[1] author here. I may not follow your point, but one of rqlite's design goals is simplicity-of-operation. I like to think it's one of the easiest-to-operate distributed databases out there.

[1]https://www.rqlite.io

AI/ML. We can argue what AI/ML really is capable of, but one thing for sure, with current market condition, I only see companies spend more money on AI/ML infrastructure than ever before. My company is putting ton of money into that space. I was planning on doing SICP and Crafting Interpreter this year, but I just might switch over to AI/ML study just to make sure I'm in the conversation for my future.

Another no so popular take, BlockChain/Ledger type technology in traditional financial market will see an uptick in activities.2

There are a lot of people who thinks there will be less AI investments soon since a lot of projects may have a problem showing profitability. We'll see.
I’m focusing on becoming a beast at systems design and architecture more than specific technologies. Whether that becomes some AI system or yet another glorified overly complex web application.

Its a much harder skill to master and more valuable imo.

> I’m focusing on becoming a beast at systems design and architecture I am also interested in it. Which exact steps are you doing to learn this?
I started with the basics by reading a few books like Clean Code, Clean Architecture, etc.

I also started reading protocol specifications. For example, I read the XMPP protocol as I was setting up ejabbered.

At work I try to find inefficiencies and opportunities in the way we do things across all domains. When I find an issue, I create a quick draft of the problem and potential solution, along with the pros/cons etc. I share that with the broader architectural group leaders and end up demo'ing it in front of them. So far, I've been able to get maybe a dozen such ideas implemented (best part - I didn't do the actual work but get to see the benefits like faster builds, or when I did some things for our mobile app UI an easier way to work with dynamic components, etc.).

On the side I am trying to build up a company since last summer in the AI space. I'm still trying to figure out what exactly I want to build, talking to people/customers, but along the way I'm building a ton of the underlying foundation for the business. I've learned a lot about writing extensible and modular code, and across languages and technologies. It is a lot of fun, and I doubt I'd have learned all that on my own at my job.

Im not sure if it’s future proofing exactly, but I’m placing my bets on Nix powered development systems.

The conceptual clarity combined with sparse documentation, rough edged user land, and the army of edge cases give me flashes of Docker in 2013/14.

It’s a pain to use but the promise is there. When setup and working, Nix seems like _the_ way forward for reproducible builds and dev environments at any 20+ dev team.

I work in dev experience at a larger tech company. I work on many different REPLs, often jumping into unfamiliar projects- in my first three months I’ve worked on go, python, node, terraform, k8s, etc.

With nix I’m able to clone a repo in an ecosystem I don’t use, create a couple files (flake.nix + .envrc) and reliably create a working, isolated dev environment that works and doesn’t mess my other projects… gaming changing.

(Plus I took the plunge after system issues to move to a VM running NixOS, defined in my dotfile repo.)

The language is difficult, the documentation needs to get there, the amount of breaking or confusing api are big hurdles. I think some simple wrapper like https://devenv.sh may be what gets the industry on board.

Old warm C :))))

Joking. In reality, Python and React working well, but sometimes i write chunks of C code for performance critical things, and in some cases have to use jquery, because old browsers.

And K8s and Docker will definitely live long, because good market fit.

For Rust, I'm not sure. For me it is not mature enough, so if will learn just now, in half year will need to learn new version.

vim, shell scripting, Python. ;). (that was a joke.... and not a joke...)