This page is not created by, affiliated with, or supported by Slack Technologies, Inc.

## 2022-06-28

## Channels

- # announcements (9)
- # aws (2)
- # beginners (45)
- # biff (2)
- # calva (20)
- # cider (4)
- # cljdoc (15)
- # cljs-dev (9)
- # clojure (102)
- # clojure-austin (14)
- # clojure-europe (39)
- # clojure-france (3)
- # clojure-germany (1)
- # clojure-norway (39)
- # clojure-spec (1)
- # clojure-uk (3)
- # conjure (8)
- # cursive (6)
- # datahike (3)
- # datomic (8)
- # emacs (28)
- # events (1)
- # holy-lambda (6)
- # hyperfiddle (13)
- # jobs (11)
- # keechma (2)
- # lsp (4)
- # malli (34)
- # nbb (36)
- # off-topic (52)
- # pathom (5)
- # pedestal (2)
- # portal (1)
- # reagent (2)
- # reitit (3)
- # remote-jobs (1)
- # scittle (1)
- # spacemacs (2)
- # xtdb (5)

**Talk Proposal**
In August, I’d like to present on using a SAT Solver in Clojure. Specifically, the CP-SAT solver from Google’s OR Tools to solve linear optimization problems of integers and booleans. Google says “OR-Tools is fast and portable software for combinatorial optimization.” OR-Tools is written in C++, but has JNI wrappers for Java, and as we know, Clojure has first rate Java interop.
https://developers.google.com/optimization/mip
Linear optimization problems of integers and booleans.
I want to demo a few things here— depending on available time and interest:
1. How to use a linear optimization library to solve real world problems
2. Some simple example of Java interop
3. Different, Clojure idiomatic, programming paradigms that can be built on top of this library (symbolic, data structure driven, DSL— using Instaparse).
Some of you may have seen my previous talk on core.logic. My work here is eventually intended to replace my use of core.logic. I haven’t benchmarked, but OR Tools is orders of magnitude faster, and this programming model is more straight-forward for the types of problem I have. OR Tools is a fast, production quality library.
Examples

```
(parse-equations "
2x - 3y = z
z < 12")
```

Or
```
[["=" [["y"]] [[2 "x"] [3]]] ; y = 2x + 3
["<" [["x"]] [[4]]] ; (x < 4)
```

@staypufd @U0954HGDQ Let me know if we August or another month is available.

Anyone else… let me know if there is any particular angle that you’d like me to go into more.

Hey @milmotte, I'll let you know in a few days. Still waiting to hear on our other speaker. She had some health concerns for doing one in July, so I offered August. Your talk looks great, but I'll read they it a bit when I'm home later.

@U0954HGDQ @staypufd I can have http://skipprenovation.com provide Pizza for whichever month I wind up in. Will just want a head count, so would like to get the Meetup posted soon so people can start indicating if they’re in or not.

Also, I’ll have my company supply pizza, so ask people accurately RSVP before game-day.