Same here. I never understood why a paren on the left of a function name “looks like fingernail clippings” but to the right it’s “just how code works.”
Recently I’ve been reimplementing some sequencing patches using Scheme for Max and I can say it’s really a joy to use so far. Thank you Iain for making and releasing it. And documenting it!
As someone that loves what Max and Max for Live can do, but prefers a more traditional programming language when implementing complex logic, it really is exactly what I’ve been hoping for. And it’s a Lisp!
I've found s-expressions to be one of my favorite things about Clojure. I understand that many people dislike them, and that many people get used to them, but I loved the syntax from the get go.
> Being born poor is obviously not a personal choice, but actions taken along the way (having a child when young), taking the risk with illegal and highly addictive drugs, committing violent crime, are conscious acts that unsurprisingly make it harder to get out of poverty. The consequences of those actions is likely particularly known in lower income areas.
I was raised with the same belief, however I have learned through broader experience that people from varying backgrounds have vastly different ways of perceiving and evaluating the information in front of them. I do not mean this to indicate, for example, that people in poverty are inferior and incapable of logically assessing the consequences of a teen pregnancy.
Rather, I would suggest that you and I were likely privy to a myriad of small, incremental and beneficial teachings and experiences that led to our view of teen pregnancy. As a result I believe it unwise to judge others, who did not have the privilege of those same teachings, based on the assumption that they knew the "unsurprising" "consequences" of their actions.
LWT's channels look more like filehandles. I think the GP was asking about channels in the CSP sense. It looks like LWT has that too in the form of streams.
We tend to take an in-between approach, baking base AMIs as needed but configuring and installing code with Ansible at boot time. We've got scripts to cut tarballs with an Ansible playbook plus support files from any tag in our repo. Then it's just a matter of specifying the tag in user-data when starting an instance. We do that through CloudFormation.
This approach has been really helpful for us. We recently open-sourced our Clojure library[1] for running React on Nashorn (the Javascript engine in Java 8). Currently it consumes Hiccup-style markup, but we hope to add Enlive- and Om-style interfaces in the future.
Right, but to be clear: I don't believe that only masculine men deserve authority. I think our species' slow evolution from violence as the single source of authority is possibly the most hopeful development in our history.
I have a pet theory that the reason that women (as well as non-traditionally-masculine men) are considered bossy, while other men are considered "go-getters" is due to a lack of the threat of violence. Not that a type-A guy is going to assault you if you don't capitulate to their authority. More that there is a perceived or possible threat.
In contrast to women who would be considered bossy or abrasive because they don't "back up" their claims to authority. I suppose that there is often a feeling of resentment that society/culture/custom is taking the place of that threat.
Again, all supposition and musing on my part. Probably much better articulated by someone writing on the subject 50 years ago!
Exactly. I'm always confused when someone suggests that paying off a mortgage is stupid. Sure, 5% return on mortgage money borrowed at 3% is profitable. But there are many assumptions here: how sure is that spread? Can you pay your mortgage each month if the market tanks? How large is the spread when investment is no longer hypothetical and within some risk tolerance? How much tax are you paying on gains?
To be clear: I do not mean to imply that GP is making such a bold and unconsidered claim. Just that I've been hearing them a lot lately.
Because we live in a world that is not homogeneous and are all enriched as a result. Ending up as one's own version of Howard Hughes, locked in a room with a gun and a pile of money, is unappealing to me.
Agreed. Over the past 9 years I've had to implement double, triple and end-of-the-month checking on PayPal to be sure that we have some reconciled idea of reality with respect to payments.
What's worse, their system essentially rewrites history over time. This means that rather than keeping a ledger of payment events, they change the dates and amounts depending of payment status / reversal /etc. Querying later in the week and the data is different. For the same charge.
I ended up keeping an event log of everything we ever get from them (IPN, API polling, reports) and synthesizing that into a current snapshot at query time. The code is riddled with comments saying, essentially, "this charge, then return, then recharge and failure means that the payment is OK".
We've had good luck with DynamoDB, but it could be that it just fits our use case very well. What sort of frustration were you running into? (Honestly interested to avoid trouble down the line)
I actually learned about confd via your post. Thanks for that.
In our case, HTTPS isn't an issue but there are good arguments for using a tried-and-true proxy. I see Vulcan as a quick way to test out docker containers for our architecture.
In the end I'll probably use confd to rewrite a VCL file for Varnish. It's just a matter of deciding how many containers and what level of sidekicking/ambassadoring I'm willing to put up with to "properly" organize things...
Yes, confd was on my radar and looks promising. In my case, we've already got a wad of perl duct-tape out there and adding etcd was a baby step. Using confd would have been a later step.
Vulcand will likely allow me to replace the whole shebang in one step.