Hacker News .hnnew | past | comments | ask | show | jobs | submit | Clever321's commentslogin

Datalog feels so much more intuitive than SQL or any other query language I've used. I'm able to write concise, complex expressions pretty easily. In a SQL-based system, there seems to be a (low) complexity metric where it's easier to write/debug/maintain what was supposed to be a 'declarative' SQL query in a functional/imperative language instead. It feels like datalog is the next evolution of a declarative query language, one that is much more declarative than SQL itself.

In the "day of datomic" videos, there is a segment where Stu debugs a slow query. He does the debugging without even looking at the data model, only by rearranging the clauses. It is really, really impressive, and I can't imagine having that capability in SQL.


I greatly respect what Stu and Rich have done to make Datomic.

However, they made an explicit design decision to not include a query optimizer and execute the clauses as they were written. This is usually fine since the author has some idea of what the best order is, but there are O(2^k) different permutations of clauses so doing it by hand will fail at some point (if you want the optimal ordering).


I asked Rich about his thoughts on query optimizers last year (not in the context of Datomic specifically) and his only reservation was around the practical implications for the operational experience. Specifically, that database systems should always provide the means for developers to control exactly how/when/whether existing (cached) execution plans get re-optimized, otherwise query optimizers can actually be a source of greater problems than they solve, particularly for applications with extremely rapid changes in data.


Truly one of my favorite talks on software systems and composition. It's so dense that I had to watch it 3 times to really absorb the subtleties. He also has 'the language of the system', which is excellent, and almost a companion talk to this topic.


I've never use clojure directly in any production work, but every one of his talks have influenced a ton of my programming in other languages. I'm a bit sad he hasn't had any recent talks. Feels like they've exhausted the journey, like there's not much else to extract from the clojure mindset even though it feels like there's a lot more there.


He talked at clojure conj 2023, something like 'design, in practice'. Another great one. I think there was a gap in his keynotes because of covid. Also, it's very hard to write/talk about such profound ideas reliably every year- they just don't show up that often.


"Design in Practice" by Rich Hickey: https://www.youtube.com/watch?v=c5QF2HjHLSE


Thank you, this is a great talk! Even though I am not using clojure, Rich Hickey is one of my favorite speakers.


he just did a talk where he shows ppl how to use excel, rich hickey the manager


HA! I realize now that I had watched that live, paid the $20 to attend the conf virtually, then went a drinking binge so that I would forget I even saw it.


Data cell programming for clojure incoming.


  Location: Oregon, US (Remote)
  Remote: Yes (for the last 8 years)
  Willing to relocate: Probably not
  Technologies: Distributed systems, Full-stack web dev, Clojure, Elixir, Javascript, AWS, Datomic + Postgres
  Résumé/CV: https://www.bitsbyluke.com/portfolio
  Email: lukewhorton@gmail.com
I have over a decade of experience architecting and implementing useful software applications. I have worked successfully as an individual contributor, a team lead, a business partner, a consultant, and a mentor/educator.

I can take an abstract idea to a concrete production system, and I can incrementally evolve existing systems to better align with business demands.


I thought I was the only one insane enough to do this.


There are dozens of us! Dozens!


  Location: Oregon, US (Remote)
  Remote: Yes (for the last 8 years)
  Willing to relocate: Probably not
  Technologies: Distributed systems, Full-stack web, Clojure, Elixir, Javascript, AWS, Datomic + Postgres
  Résumé/CV: https://www.bitsbyluke.com/portfolio
  Email: lukewhorton@gmail.com
I've spent over a decade solving complex business problems, often with software. I particularly enjoy finding opportunities where software can reclaim people’s time and free them for more meaningful endeavors. I also have an affinity for teaching, especially where it involves software craftsmanship.

I have designed, built, and deployed many software systems from scratch. I have also scaled and improved existing solutions to better align with business needs. I am comfortable in a variety of programming languages (and their associated toolsets) such as Clojure/Java, Elixir/Erlang, and Javascript/Node. Given the choice, I prefer small teams working on simple solutions in a functional ecosystem.

I bring the most value to a team when working directly with stakeholders and subject matter experts. By immersing myself in a domain, I serve as a hands-on partner adept at solving core business problems and overseeing the execution of a software strategy.


I really like the datomic guidelines for change, which negates a category of migration headaches: https://blog.datomic.com/2017/01/the-ten-rules-of-schema-gro...


  Location: Oregon, US (Remote)
  Remote: Yes (for the last 8 years)
  Willing to relocate: Probably not
  Technologies: Distributed systems, Web technology, Clojure, Elixir, Javascript, Python, AWS + GCP, Datomic + Postgres
  Résumé/CV: https://www.bitsbyluke.com/portfolio
  Email: lukewhorton@gmail.com
I've spent over a decade solving complex business problems, often with software. I particularly enjoy finding opportunities where software can reclaim people’s time and free them for more meaningful endeavors. I also have an affinity for teaching, especially when it involves software craftsmanship.

My professional experience includes in a variety of programming languages, tech stacks, and associated ecosystems such as Clojure/Java, Elixir/Erlang, Python, Javascript/Node, Objective-C/Swift, and more. Given the choice I prefer simple solutions in Clojure, but I always try to use the best tool for the job.

For my next adventure, I'm looking for something in the climate solutions space. I would also consider other domains that are solving larger-scale "for the betterment of mankind" problems.


This is probably great news for clojure devs. It sounds like Rich just wants his autonomy back. Being able to choose exactly what you do, and do not, work on is precious.


  Location: Oregon, USA
  Remote: Preferred
  Willing to relocate: Unlikely
  Technologies: Functional programming (clojure, elixir, etc.), Full stack web development 
  Résumé/CV: https://lwhorton.github.io/portfolio
  Email: lukewhorton@gmail.com
I’ve spent over a decade designing and implementing modern software systems: web and mobile clients, cloud-native distributed systems, CI/CD orchestrators, auto-scaling data pipelines, public APIs, automated testing frameworks, custom DSLs, developer tooling, and so on.

But you don’t really care about that, I imagine. You want to run a more efficient business– to free up time and resources. That’s where I specialize. As an automation expert, I eliminate existing inefficiencies and uncover untapped automation potential. Let me help you streamline operations and reclaim the most precious resource: time.


  Location: Oregon, USA
  Remote: Yes
  Willing to relocate: No
  Technologies: Clojure, Elixir, Javascript; fullstack web development; distributed systems; UI/UX/User testing, API design; data design/processing; mentoring/teaching; prototyping/de-risking/incremental engineering   
  Résumé/CV: goo.gl/2xBn2c, lwhorton.github.io 
  Email: lukewhorton@gmail.com

I’m a software engineer with over a decade of experience across a variety of domains and technologies. I can design and implement nearly every aspect of modern software systems, including web, mobile, and sdk clients, cloud-native and distributed systems, CI/CD orchestrators, big data processing pipelines, public and private APIs, automated testing suites, and developer tools.

For the stakeholder/owner/operator:

But you don’t really care about that, I imagine. You want to run a more efficient business– to uncover new opportunities, and to leverage your unique competitive advantages. That’s where I specialize, software as a means to an end. I work closely with stakeholders to deeply understand your business and identify areas where technology can provide powerful tools for efficiency and growth.

For the engineer looking for help:

You want to hire a solid engineer, with a proven track record, who can help you solve difficult problems. Ideally this engineer can design solutions that meet the demands of the business today, while considering the ever-evolving needs of the system tomorrow. It would be great if this person also seeks to understand the business, not just the software, so they can become an asset in stakeholder discussions and help define the future of the company. Oh, and hopefully you can find someone who is pleasant to work with– constructive, instructive, open to feedback, and fun.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: