HNHacker News
TopNewBestAskShowJobs

synthc

894 karma · joined December 22, 2015

reach me at hackernews@chrisblom.net
submissionscomments
synthc··on Algebraic Path Finding
It was only named 'dynamic programming' because its inventor thought is was a more marketable name:

"I spent the Fall quarter (of 1950) at RAND. My first task was to find a name for multistage decision processes. An interesting question is, ‘Where did the name, dynamic programming, come from?’ The 1950s were not good years for mathematical research. We had a very interesting gentleman in Washington named Wilson. He was Secretary of Defense, and he actually had a pathological fear and hatred of the word, research. I’m not using the term lightly; I’m using it precisely. His face would suffuse, he would turn red, and he would get violent if people used the term, research, in his presence. You can imagine how he felt, then, about the term, mathematical. The RAND Corporation was employed by the Air Force, and the Air Force had Wilson as its boss, essentially. Hence, I felt I had to do something to shield Wilson and the Air Force from the fact that I was really doing mathematics inside the RAND Corporation. What title, what name, could I choose? In the first place I was interested in planning, in decision making, in thinking. But planning, is not a good word for various reasons. I decided therefore to use the word, ‘programming.’ I wanted to get across the idea that this was dynamic, this was multistage, this was time-varying—I thought, let’s kill two birds with one stone. Let’s take a word that has an absolutely precise meaning, namely dynamic, in the classical physical sense. It also has a very interesting property as an adjective, and that is it’s impossible to use the word, dynamic, in a pejorative sense. Try thinking of some combination that will possibly give it a pejorative meaning. It’s impossible. Thus, I thought dynamic programming was a good name. It was something not even a Congressman could object to. So I used it as an umbrella for my activities”.

From: Richard Bellman, Eye of the Hurricane: An Autobiography (1984, page 159)

synthc··on Docker is deleting Open Source organisations - what you need to know
Another reminder that VC-funded hosting does not last forever. Self-host your mission critical dependencies folks!
synthc··on Ask HN: Freelancer? Seeking freelancer? (March 2023)
SEEKING WORK | REMOTE (EU timezone)

I'm available for part-time contracts or short consulting gigs in addition to my main assignment. My main assignment ends this summer, also open to discuss longer full-time engagements after that.

Skills:

- 15 years of experience in companies ranging from 5-person startups to huge multinationals, MSc in AI

- Deep experience with Kafka, streaming processing and adjacent tech: designing messaging based architectures, fixing bottlenecks.

- Rule modeling and discrete optimization with Optaplanner, Google OR-tools & MiniZinc.

- Building prototype apps for visualization and decision support with ClojureScript.

See profile for contact details.

synthc··on Ask HN: What is your experience in tech consulting?
It doesn't have to scale if the rates are high enough.
synthc··on Intermittent Fasting Completely Reverses Type 2 Diabetes in Study
Any references that prove this? I have been skipping breakfast for years, and feel fine. Eating breakfast makes me feel sluggish
synthc··on Switzerland: snow flown in by helicopter in attempt to keep ski slopes open
Think again.
synthc··on Why we picked Java
Nice anecdote, but was it because of the language or because a small motivated team gets much more done than a big enterprise that is bogged down in meetings?
synthc··on Why we picked Java
Based on one guy who did a hobby research project based on GitHub issues?
synthc··on Why we picked Java
Having used both statically and dynamically typed languages, I don't think this is true at all.

Most modern languages are pretty close in productivity, architecture and the way a company is organized have much more impact on productivity.

In big enterprises every small change requires 3 meetings, in a startup you can just make the change.

synthc··on Ask HN: Programs that saved you 100 hours? (2022 edition)
Shell productivity tools like fish, fzf and z.

Feels like doing parkour on the command line!

synthc··on Why we picked Java
Yes Maven uses XML.
synthc··on Why we picked Java
I'm fine with Java copying features. I'm happy to use Kotlin now while it is ahead, no problem with switching back to Java once it catches up.
synthc··on Drag and Drop from Terminal
Linux has xdg-open to open files from the terminal
synthc··on The one about Lisp interactivity
I would also not normally connect to a REPL in a production environment, but it can come in handy.

One can certainly attach a debugger to a running process in production, I've done it several times to debug gnarly issues.

synthc··on The one about Lisp interactivity
True, for Java and Kotlin I use the debugger in IntelliJ like a REPL all the time. You can even evaluate arbitrary expressions, connect to running applications even applications running on another machine.

It's not as powerful as a proper lisp repl as you cannot redefine functions or classes, but it is still very useful.

synthc··on Is Turbopack really 10x faster than Vite?
It's just the evolution of a marketeer.
synthc··on Elasticsearch SQL
Seems like all the NoSQL databases eventually implement SQL, maybe we should use EventuallySQL instead NoSQL
synthc··on Ask HN: How to show a not “so perfect” MVP to potential customers?
Use a recording in your presentations instead of a live demo A video usually feels "real" enough to an audience, but you can avoid crashers or unexpected inputs.
synthc··on Revised Report on the Propagator Model (2011)
Has anyone used propagators in practice? I find it a very interesting concept, but have not encountered it in the wild.
synthc··on Clojure 15th Anniversary: A Retrospective
for prototyping a long running repl is fine.

For validation/testing starting with a clean slate takes away a lot of my worries.

synthc··on Clojure 15th Anniversary: A Retrospective
My theory is that some people get really attached to the language and take criticism to it personal. See the comment above where someone says 'I feel compelled to defend the honor of my favorite language'. It does get cult-like at times, which is too bad as adressing the failings instead of ignoring them would improve the language and increase adoption.
synthc··on Clojure 15th Anniversary: A Retrospective
But programmers should be worried about every what-if scenario, regardless of language.
synthc··on Clojure 15th Anniversary: A Retrospective
deps.edn is a building block not a finished build tool. You need to import libraries for common tasks like building an uberjar.

There are plenty of reasons to start a new REPL: - adding a library

- changing the project config

- messing up the repl state

- starting with a clean slate

- switching branches

synthc··on Clojure 15th Anniversary: A Retrospective
In my experience the Clojure community is pretty tone-deaf when it comes to critisim. The usual response being something along the lines of 'your problem is not a problem, it was meant that way'.
synthc··on Trying new programming languages helped me grow as a software engineer
I was wondering where this 1 return practice originated from, but yeah, it makes sense in that context.
synthc··on Trying new programming languages helped me grow as a software engineer
Macros
synthc··on Trying new programming languages helped me grow as a software engineer
Yes this is exactly what I meant. After years of coding in Haskell and Clojure, and then going back to Java I have absolutely no problems with

    int max(int x,int y) { 
      if (x>y) 
        return x;
      else 
        return y;
   }
I just looks completely fine to me, but colleagues would complain about it in reviews and I just don't understant the problem at all. The variant with the extra result variable looks just wierd to me, and I have seen much uglier code written by people desperately avoiding early/multiple returns.
synthc··on Trying new programming languages helped me grow as a software engineer
Yes this is an excellent example of different cultures and ecosystems.

In Python a library like requests is a thin abstraction over http calls it is very easy to understand what is going on and get started.

In Java, there is a tendency to wrap everything so it fits with a framework and is super generic and configurable. For example look at the Feign library.

Each approach has its pro's and cons, but knowing both of them good as it allows you to pick the right solution for different use cases.

About getting into java: i'd recommend using Spring Boot. I provides a low abstraction http client (RestTemplate) that allows for straightforward calls to REST services.

synthc··on Trying new programming languages helped me grow as a software engineer
Different languages also have their own culture and ecosystem, which are also valuable to learn in order to get a different perspective.

Some things that are taken as best practices are bad practices in other langauges and vice versa.

For example, lots of Java devs are against early and multiple returns to the point of absurdity, while in functional languages this is idiomatic and no problem at all.

Using different languages lets you see how different approaches work out in practice, so you can get a better view about which approaches work and which approaches are just cargo-cult nonsense.

synthc··on Crimean bridge: Explosion is 'the beginning', says Zelensky adviser
And what solution would you suggest here? I'd like to hear it. Preferably one that does not setup Russia for another invasion in a couple of years, like you know, when they took Crimea.
← PreviousPage 3 of 8Next →