HNHacker News
TopNewBestAskShowJobs

dmux

1,283 karma · joined July 25, 2013

submissionscomments
dmux··on Price shocks in formative years scar consumption for life
I only mentioned laddering to ease any fears of "locking everything up all at once" the OP may have had -- I hadn't considered interest rates.
dmux··on Price shocks in formative years scar consumption for life
>So I just hoard cash like an idiot as that makes me feels safe and lets me sleep well at night.

If you haven't already, look into Certificates of Deposit ("CD") at your local bank. They're FDIC insured (so if the bank goes under, you're covered, up to something like $250k) and you don't have to worry about losing the principal amount you put in. If you ever need to withdraw that money in case of an emergency, you only risk losing out on the interest. Instead of dumping a ton of money into a single CD, look into CD laddering wherein you setup multiple CDs that expire in 3 months, 6 months, etc or some other cadence that you're comfortable with.

dmux··on The First Lisp Compiler
Do you mind enumerating what those systems are? I've only played around with Allegro CL and SBCL myself.
dmux··on The First Lisp Compiler
> In LISP 1.5, function definitions were stored on the property list of the function's name...

The fact that this was once the norm but has since been done away with saddens me. I've always been fascinated with "live environments" but felt they only went half way if they didn't include the source code itself. If I'm going to be updating something in a running system, I want to know what source code was used to get the system to the state its currently in, and preferably be able to query that source code as data. Of course, that code could be kept within source control, but then it's a shadow of the running system -- a map of the territory and not the territory.

As far as I know, the only languages/environments where this functionality is still available are Tcl, Smalltalk, and to some extent stored procedures within an RDBMS.

dmux··on Mental illness, mass shootings, and the politics of American firearms (2015)
>Focusing on the guns as though they're the root problem when irresponsible people are involved is like painting over the rust on your car and thinking it "solves" the problem.

Guns aren't the root problem but their accessibility is an enabler -- a multiplying force for opportunistic carnage.

>Any reasonable person will understand that making such judgments is an ongoing process.

This goes against what we've seen with mass killers and the third parties involved: Average, every-day people convince themselves that their loved one / friend will get over whatever they're dealing with. We also know that many of these mass killers are sociopaths and have no difficulties in acting normal and hiding their motives.

dmux··on Mental illness, mass shootings, and the politics of American firearms (2015)
>No, you are actually safer not having an irresponsible person in your home. If everyone in your home is a responsible person...

Gun violence solved: Just don't have an irresponsible person in your home.

It's not like people have mental breakdowns or have an onset of a mental illness, right? Of course not, once responsible, always responsible.

dmux··on Mental illness, mass shootings, and the politics of American firearms (2015)
I don't see how holding the third parties responsible would prevent the acts themselves. That's a retroactive measure. Reducing the availability of guns is proactive.

>With the Sandy Hook shooting, was the owner of the gun prosecuted for allowing the shooter to have it?

No, because she was the first person killed by the very weapon.

dmux··on Mental illness, mass shootings, and the politics of American firearms (2015)
>When you advocate for punishing law-abiding citizens for the misdeeds of criminals

I don't think you're arguing in good-faith here. The Misdeeds of criminals? It's not like mass shootings are carried out by felons. They're carried out by mentally ill people that have access to guns they should not have access to. They're not criminals until they take action.

dmux··on Mental illness, mass shootings, and the politics of American firearms (2015)
> No, the problem is guns in the possession of people who can't use them responsibly.

The problem is that guns are so readily available that even those that cannot use them responsibly can still get their hands on them. Three of the four guns used in Columbine weren't even purchased by the killers but by a fellow school mate who had turned 18 and could buy them for the killers. Similarly, with the Sandyhook shooting -- it wasn't even the shooter's gun that was used.

dmux··on Mental illness, mass shootings, and the politics of American firearms (2015)
>Guns are self-defense weapons. They are particularly useful as equalizers: a little old lady who can shoot can defend herself against a mugger much larger than her in a way she couldn't possibly do by any other means.

Ah yes, the classic example of little old ladies defending themselves. This is pretty much a "think of the children" trope.

dmux··on Ask HN: What developer tools would you like to see?
I've been looking for a language agnostic documentation tool that uses tags in code comments to provide function parameter type hints, etc. Something like JSDoc but available across any language.
dmux··on Notes on the M4 Macro Language (2008)
Is anyone aware of other general purpose text manipulation tools concerning documentation within source files? I've been trying to find something like JSDoc that I can use to get some editor hints around parameter types, return values, etc.
dmux··on Modern JavaScript Tutorial
Thanks for sharing this! In the last couple of years I've moved from being primarily a Java developer to a nodejs developer and I love exploring what dynamic languages bring to the table.
dmux··on Ask HN: Is DBA still a good job?
Yeah, that's my experience as well. They've always run ETL type jobs.
dmux··on Ask HN: Is DBA still a good job?
I think a better analogy would be the engineering team we see frantically trying to keep the engines together in Sci-Fi movies/TV. The DBA is on the same ship as everyone else!
dmux··on Perl, the first postmodern computer language (1999)
Perl was the first dynamic language I learned after taking most of my college courses in Java. It was an eye opening experience in many regards: ease of standing up a web app via CGI.pm, dynamic dispatch tables using anonymous sub procedures, an OOP system based on "blessed" data structures, access to the symbol table, etc. In the last couple of years I've gotten into learning Common Lisp and it's surprising how many similarities there appear to be. I'm actually kind of surprised that given Perl's ability to change packages in an ad-hoc fashion that some type of live programming system was never developed for it.
dmux··on Common Lisp Resources
>First-class functions, lambdas, and closures are mostly unheard of in the top 20 programming languages. Aside from JS, you're pretty much out of luck.

PHP, Perl and Swift all have first-class functions, lambdas and closures although I'd agree that that's not "most." This is probably getting too much into semantics, but aren't functions in JS just objects themselves? ;)

>People stress about "writing unit tests" because technically correct types doesn't mean your program actually works. In my time writing JS vs TS, I've seldom found that type errors were the problem aside from making the type checker happy. Most errors are in what the code actually does or does not do. The instant feedback from the entire system is far superior to unit tests because it can catch things that your unit tests might not be testing for.

I don't think having a "live" system like CL precludes the need for unit tests. Sure, it's beneficial to be able to play around with code right away, but unless you're planning on manually running through the same tests again and again, how do you know you've not introduced a regression at some point?

dmux··on Common Lisp Resources
Doesn't the ability to "hot reload" in either CL or Node largely depend on how the application is structured? For example, if you were developing a web server that sat in an infinite loop waiting for requests to come in, how would you go about redefining a function referenced inside that loop? Wouldn't there need to be two threads of execution? One that was the web-server and a second that acted as the REPL? To redefine something in the web-server, the two threads would have to synchronize in order for the new definition to be passed off. Couldn't this same setup be implemented in any language that supports threads and some type of `eval` function?

Edit: The two threads of execution I mentioned above are likely what the combination of SLIME + Swank are doing.

dmux··on Zuo: A Tiny Racket for Scripting
And https://practical-scheme.net/gauche/index.html
dmux··on Launch HN: AirMyne (YC W22) – Capturing CO2 from air at industrial scale
>We have developed a process to bring air in contact with a base substrate that captures CO2 molecules while letting N2 and O2 molecules pass through. After energy is applied, CO2 is desorbed from the substrate for downstream treatment and compression.

This sounds very similar to how Verdox[0] is approaching the problem. What sets your approach apart?

[0] https://verdox.com/

dmux··on Ask HN: Great Blogs by Programmers
I've always found Mark Seemann's blog posts to be really pragmatic and insightful. He oftentimes puts to words things that I've always "felt" but hadn't quite found the thread to pull.

https://blog.ploeh.dk/archive/

dmux··on Starting with microservices
One problem I've never seen mentioned regarding microservices is what happens when the organization that produced them has moved from growing to stagnation and finally into decline. If microservices ship the org-chart, what happens when that organization fails to attract engineers?

I worked for a company that microserviced themselves into a pit. We had a huge layoff which completely killed the morale of the remaining engineering staff. Over the next 3 years, more and more engineers left and the company refused to replace them. What started out as teams (~5 people) responsible for ~3 microservices ended up as teams of ~3 people responsible for ~6 microservices.

It was kind of cool to be responsible for more architecture and see how it all fit together, but the sad reality was that too many of the microservices that had been stood up were stitching together disparate data from other microservices to then perform what a single SQL query against a RDBMS was doing.

dmux··on BCHS: OpenBSD, C, httpd and SQLite web stack
I'd like to point out that Wapp doesn't necessarily need to be run as a plain-old CGI application, I've had success running it with it's own built in web-server behind NGINX, for example.
dmux··on On Pitman's “Special forms in Lisp” (2011)
Are f-expressions needed in normal-order evaluation models or only in applicative-order evaluation models? From SICP, it seems that applicative-order (evaluate the arguments and then apply) is what necessitates the need for special forms.
dmux··on It's not what programming languages do, it's what they shepherd you to (2020)
Very cool, Graham, checking it out now!
dmux··on It's not what programming languages do, it's what they shepherd you to (2020)
Thanks for the explanation. I got caught up on the "message passing" vs "api" part of your original comment and was wondering how you differentiated between the two.

>A good Java API wouldn't have many Setters/Getters that do nothing but set/get references to internal objects, but rather ones that parse and make sense of it's internal state.

I completely agree. Getter/Setter obsession often leads to breaking the Law of Demeter in most Java code bases I've seen.

dmux··on Bound to Fail: The Rise and Fall of the Liberal International Order (2019)
>In what way is democracy to be considered destabilizing?

I think it's interesting to think of the receiving side of this as well: how stable are democratic allies when their foreign policy can change election cycle to election cycle?

dmux··on It's not what programming languages do, it's what they shepherd you to (2020)
>It's surprising to me that as a engineer you seem to be taking pride in not knowing things.

I'm not the GP, but I think this is off the mark. There's a big difference in purposefully choosing boring technology and purposefully taking pride in not knowing things.

dmux··on It's not what programming languages do, it's what they shepherd you to (2020)
>...clearly intend for low level, C-style imperative code to be isolated early behind a message-passing interface and for systems to be built out of message-passing between objects.

>...Java software is designed as big C-style procedures which call into APIs using object methods.

Do you mind going into more detail regarding those two styles in Java? I wouldn't exactly say that Java shepherd's its programmers towards the message passing style at all.

dmux··on Keyboard lets people type so fast it’s banned from typing competitions
I'm having difficulties finding the source right now, but I remember reading a story about a sysadmin that was berated for his typing speed and the story ended with him replying "I don't get paid to type code fast, I get paid to press enter very, very slowly."
← PreviousPage 5 of 14Next →