Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
adamkl
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
17 ms
·
121.
▲
by
adamkl
6y ago
Cheap integration tests is usually an oxymoron (when cheap refers to the tightness of the developer feedback loop). Gary was coming from the land of Ruby-on-rails where a full set of integration tests could take hours. In that environment,
122.
▲
by
adamkl
6y ago
I agree, but if you watch the linked screen cast you can see that its just Gary Bernhardt's take on Hexagonal/Clean/Onion Architecture. The idea that your business logic should be isolated from external dependencies (in his c
123.
▲
by
adamkl
6y ago
Sandi mentions this during a talk she gave on refactoring a few years ago. [0] It’s a great little video for showing junior developers how a messy bit of code can be cleaned up with a few well chosen OOP patterns (and a set of unit tests to
124.
▲
by
adamkl
6y ago
Not sure where the hostility is coming from. I didn’t read anything disparaging about Haskell in hencq’s comment. He/she just made a factual statement about Clojure’s approach to data types being analogous to Unix/strings when it
125.
▲
Using influenza surveillance networks to estimate SARS-CoV-2 in the US
(stm.sciencemag.org)
1 points
by
adamkl
6y ago
|
0 comments
126.
▲
Bank of England considering negative interest rates
(thetimes.co.uk)
2 points
by
adamkl
6y ago
|
0 comments
127.
▲
by
adamkl
6y ago
Also related, for those who'd rather read an article: https://css-tricks.com/model-based-testing-in-react-with-sta...
128.
▲
Write Fewer Tests from Automation to Autogeneration
(youtube.com)
1 points
by
adamkl
6y ago
|
1 comments
129.
▲
Model-Based Testing in React with State Machines
(css-tricks.com)
2 points
by
adamkl
6y ago
|
0 comments
130.
▲
by
adamkl
6y ago
Rather than just looking at the home page for Crux (which has a lot of impressive tech jargon), I recommend that you watch the related video, “Temporal Databases for Streaming Architectures”, on YouTube which I found did a much better job o
131.
▲
by
adamkl
6y ago
Document DBs are ok if you only ever want to use the data in the same way that you stored it. There are definitely use cases where that makes sense, but you lose a lot of query power when compared to a relational database, which makes it l
132.
▲
by
adamkl
6y ago
I think you are confusing SRP (Single Responsibility Principal [0]) with ISP (Interface Segregation Principal [1]). [0] https://en.m.wikipedia.org/wiki/Single-responsibility_princi... [1] https://en.m.wikipe
133.
▲
by
adamkl
6y ago
While this is a pretty complete list of some of the most interesting things out there, it might be a little overwhelming to a newcomer. I'd suggest starting with what everyone seems to start with: - https://www.braveclojure.
134.
▲
by
adamkl
6y ago
Yes, as I said in my original post (and others in this thread), you can absolutely come up with elegant solutions to this in other languages. In my experience though, for every one elegant solution like yours, there will be ten developers
135.
▲
by
adamkl
6y ago
I agree, I wouldn’t suggest Clojure for a large company with lots of junior developers. I wouldn’t suggest Java either, though. Go would be a better fit for that situation these days. I look at Clojure and Go as different sides of a coin. O
136.
▲
by
adamkl
6y ago
That’s great if your dealing exclusively with CSV files and a fixed set of data types, but the point is that this approach in Clojure is universal regardless of where the data is coming from, or going to. Everything comes in as a map, gets
137.
▲
by
adamkl
6y ago
Well, you can write code a lot like this in JavaScript using a library like Ramda, and get a lot of the benefits. But then everyone that you on-board to that project has to be up to speed with how the code is being written and why. With Clo
138.
▲
by
adamkl
6y ago
https://www.groundedsage.dev/posts/the-clojure-mindshare/#he...
139.
▲
by
adamkl
6y ago
Assuming that you are mapping the results to a Dictionary, sure it would be similar. My point was more that C#/Java developers (myself included at one point in time) would typically reach for classes to store the results, rather than j
140.
▲
by
adamkl
6y ago
You could definitely do something like this in other languages, probably even in Java/C# using a HashMap or Dictionary, but the difference is that this is “the way” you would do this in Clojure. It’s not, generally speaking, they way y
141.
▲
by
adamkl
6y ago
It may look terse, but its not code golf. Any Clojure developer would understand what this does (its actually pretty straight forward), but to an outsider, it definitely looks strange. Part of using Clojure is becoming familiar with the lan
142.
▲
by
adamkl
6y ago
If you really wanted to (and you understand Clojure's destructuring and lambda syntax) you could even do it in two lines: (defn csv-data->maps [[head & lines]] (map #(zipmap head %) lines))
143.
▲
by
adamkl
6y ago
Here is a very simple example that I think does a great job of illustrating how Clojure was designed to deal with "data" in a straight-forward and concise way: (defn csv-data->maps [csv-data] (map zipmap (repeat (
144.
▲
by
adamkl
6y ago
"The code for that project has run for years without modification or error." To follow up on this point, if you ever need ammunition to sell the use of Clojure inside an enterprise level organization, just show your Chief Archit
145.
▲
by
adamkl
6y ago
"hosting it in a robust systems language suitable for implementing well-trodden functions" Maybe take a look at Joker [0] to start. A Clojure interpreter written in Go. [0] https://github.com/candid82/joker
146.
▲
by
adamkl
6y ago
A great quote from the introduction, on why Rich took a sabbatical to work on Clojure: ...to give myself the opportunity to work on whatever I found interesting, without regard to outcome, commercial viability or the opinions of others. On
147.
▲
by
adamkl
6y ago
Grokking Simplicity: Taming complex software with functional thinking I’m cheating a bit because this is only under 200 pages because it’s a work in progress. It’s such an easy read, but does a great job at explaining the value of functiona
148.
▲
by
adamkl
6y ago
Agree: - Dead-simple concurrency model. Even if it won’t be the most performing one for some (or most) situations, it should be built into the language and be very easy to use. Ideally built with functions alone, requiring no special synta
149.
▲
Hot-swap API endpoints and stream processors using Clojure and Dataworks
(github.com)
1 points
by
adamkl
6y ago
|
0 comments
150.
▲
by
adamkl
6y ago
I just wanted to link to eropple's comment[0] as he provides a good counterpoint to the discussion of the merits of Nest.js [0]: https://news.ycombinator.com/item?id=23302463
More ›