HNHacker News
TopNewBestAskShowJobs

_qc3o

6,424 karma · joined March 31, 2014

[100, 107, 97, 114, 97, 112, 101, 116, 121, 97, 110, 64, 103, 109, 97, 105, 108, 46, 99, 111, 109].pack('c*')

[ my public key: https://keybase.io/davidk01; my proof: https://keybase.io/davidk01/sigs/_rVceS38sLD_k2NaRQzwCKazNrOiXCl7wy36Mm567QE ]

submissionscomments
_qc3o··on Crony capitalism may be cannibalizing productive capitalism in the U.S.
I find the juxtaposition of productive and capitalism odd. The entire point of capitalism is to slush money around. That is the definition of productivity in capitalism but somehow some people got the money part mixed up with "value" and now they need fancy mental gymnastics to explain how the system working as intended is in fact not working.

Basic system theory 101 says if you work with and optimize a proxy instead of the true metric then you will always deviate from your true and intended path. Money is only a proxy for value and some people did not get the memo. You need some second and third order correction terms if you use proxies.

_qc3o··on Ask HN: Why can't I get dev jobs anymore?
I honestly don't think you have to do any of those things. You don't need to blog or contribute to OSS or write code on the weekends. I've never had a hiring manager care about any of it. Most just care that you can get along with other people and solve problems relevant to the job. Which is really another way of saying they want well adjusted people.

You can do all those things as well but most people won't care. Blogging and pushing code to GitHub has helped me become a better programmer but it has not directly helped me get jobs.

_qc3o··on Show HN: L2: An elegant untyped, unsafe, unhygienic programming language
I get all the other adjectives but where is the elegance?
_qc3o··on Is there a tension between creativity and accuracy?
But you see how you are making my point. Mathematicians as a bunch are very creative and precise at the same time. Going back to my point about the article setting up a false dichotomy. Mathematicians study formal systems which are as precise a thing as humans have managed to make so far. Even if their initial exploration of new territory is not precise it is always in the context of formal systems.

I think the problem is the article is trying to put vaguely defined terms on some spectrum and the tension he is talking about is just an artefact of his own special mapping. Really there is no tension and this mapping is not canonical because the terms are not well-defined. So comparing accuracy, creativity, etc. on a single spectrum doesn't make sense. Mathematics being an existence proof that you can do both things at the same time.

_qc3o··on Typing the technical interview
Any sophisticated enough type system contains an ad-hoc, informally-specified, bug-ridden, slow implementation of half of Prolog.
_qc3o··on Leverage Points: Places to Intervene in a System
I've recently started reading up on systems theory and cybernetic systems and contrary to what the names suggest learning more about the theory does not make you better at designing systems. You get much more attuned to how large and complex systems fail but there is no crank you can turn that will provide insights and then let you implement changes that will lead to positive progress.

No matter what you do at the end of the day you have to still convince people that what they're doing is probably wrong and no one ever wants to hear that. Cognitive dissonance and sunk cost thinking almost always trump any kind of analysis and the system continues to operate as it has always operated until a large enough shock shakes it and changes are made. Most often the changes are made too late and great human misery is the result. Current climate issues is one prominent example that comes to mind. Uber and Zenefits being the other examples that I can think of were earlier interventions would have helped.

_qc3o··on Has Python killed Ruby?
Not just visually. It is also conceptually much more aesthetically pleasant. I still don't know how metaclasses, descriptors, __magic__ methods, multiple inheritance, all the different string formatting schemes, generators/co-routines, etc. work in Python. The amount of stuff you have to learn in Python is a lot more than in Ruby.
_qc3o··on Rust's Type System Is Turing-Complete: Type-Level Programming in Rust
New rule. Any sufficiently advanced type system is an ad-hoc re-implementation of Prolog. Once you have unification and backtracking you basically have Prolog and can implement whatever Turing machine you want with the type system.
_qc3o··on Ask HN: How to effectively learn PowerShell?
https://smile.amazon.com/Windows-PowerShell-Cookbook-Scripti...
_qc3o··on Learn ClojureScript in a Cloud IDE
> When I was a teenager, I got a Dreamhost account and learned web development by uploading PHP scripts and refreshing the page until I got what I wanted. The world of transpilers and SPAs has robbed beginners of this simple experience.

This is the thing that makes me angry the most. We started with interpreted languages with fast feedback loops and then "real" software engineers got into the game and turned all these interpreted languages with fast feedback loops into "compiled" messes with nightmarish debugging experiences.

Fast feedback loops and obvious debugging trails should be a feature that more people pay attention to and the more layers you add the less likely you are to have either one.

_qc3o··on COP21: Arnold Schwarzenegger: 'Go part-time vegetarian to protect the planet'
So? The planet has also gone through several extinction events. The white knighting ain't helping anyone. Obtuse or not.
_qc3o··on Palantir could help power ‘extreme vetting’ of immigrants
I'm pretty sure Peter Thiel is a psychopath. Not as a derogatory term but as it is is defined in a clinical sense. Which is fine but what I find disturbing is that somehow we have allowed him to rise to such high positions of power. I think collectively as humans we should have done better. We shouldn't have made this guy a billionaire.

I don't really know what the article is talking about. Pretty sure it's clickbait. Hadoop could enable extreme vetting of immigrants. You don't need Palantir to help with that.

_qc3o··on Tell HN: Political Detox Week – No politics on HN for one week
Talk is cheap and political discussion is especially cheap. How do you propose to lead constructive discussions around these matters that will lead to actionable items for cleaning up the mess?

From what I have seen I don't think HN in its current form is the right forum for those discussions. Even scanning this sub-thread prompted by your comment I'm already starting to see that the discussion seems to be devolving. Here is a group of technologists that could in theory spin up another forum with moderation tools and integration with HN to have back and forth between the two forums based on what "flavor" (political or technical) the discussion was going in and all I see is second-guessing and critiquing with no actionable and constructive items in the mix.

_qc3o··on Elementary OS
Try setting up a virtualenv on windows, linux, mac and then tell me there are no issues. Sometimes the versions won't even line up for some libraries because whatever works on windows will not work on linux will not work on mac. Same with ruby gems and npm modules that require compilation.
_qc3o··on Elementary OS
I really don't understand why developers use macs at all. They're not good dev machines. All production systems I work with are some flavor of linux (mostly ubuntu). There is actually a real impedance mismatch when I'm using my mac for work purposes. All those cores and RAM become meaningless when I have to do everything in a VM anyway. My personal dev machine is a project sputnik running ubuntu 16.04. I can understand why designers would use them but programmers never made any sense.
_qc3o··on The Ops Identity Crisis
I look forward to the day when every software developer has half a clue about monitoring, logging, high availability, configuration management, orchestration/scheduling, performance tuning, build/deployment pipelines, data management/archiving, security and exploit mitigation, etc.

The full-stack developer like the serverless/ops-less future is a pipe dream. Most technology organizations barely even know how to build the software to begin with let alone figure out the right way to operate it.

_qc3o··on D-Wave Founder's New Startup Combines AI, Robots, and Monkeys in Exo-Suits
These d-wave guys are the greatest scam geniuses in history. First they make a "quantum computer" and now they're building trainable exo-suits. I don't even know where they come up with this stuff.
_qc3o··on From Kafka to ZeroMQ for real-time log aggregation
They said availability was "death of a child", not dropping log messages. The trade-off they've made here in terms of being available with some potential loss of visibility is the right one. The system overall is clearly simpler and simpler systems have simpler failure modes and so it is easier to add mitigation components on top that can recover from those failure modes to guarantee higher uptime.

I've never heard anyone say managing a production Kafka cluster was easy or simple. Well, anyone who has had to actually maintain such clusters hasn't said it anyway.

_qc3o··on Optical solutions to NP-Complete problems
This is like sleep sort: https://rosettacode.org/wiki/Sorting_algorithms/Sleep_sort. Same principles apply. Time delays are used to achieve the result.

I thought this would have used the quantum/wavelike properties of light but I was wrong.

_qc3o··on Configuration (mis)management or why I hate puppet, ansible, salt, etc.
I've started using terraform and packer since I wrote that post. I'm going to stick with those tools for the time being. Configuration management is solving a problem that no longer exists. Pre-bake your infrastructure and then download the rest at runtime if you can't do it at bake time.

Coupled with docker, hashicorpt vault, and fpm I think the problem of deploying and configuring anything is pretty much solved and the remaining issue is basically how you go about doing orchestration for things like rabbitmq clustering which I don't think any of the existing configuration management tools try to address anyway. You either need to configure the topology ahead of time which kinda defeats the purpose of having a reactive infrastructure or you have to write some kind of custom thing on top of what you are using already which again kinda defeats the purpose since most of these configuration management tools try to be declarative and you often need imperative things to configure something like a rabbitmq cluster.

_qc3o··on BSD vs. Linux (2005)
You're talking about kernel vs userland. That's not base vs non-base. The BSD distributions unintentionally muddy the waters by calling what is an equivalent of a linux distribution a base system and so lose out on the distinction you are drawing.
_qc3o··on BSD vs. Linux (2005)
I read the article. The distinction is indeed arbitrary. How much do you need for a base system really? Do you need more than the kernel, network drivers, and the filesystem? Last time I checked FreeBSD came with way more than those things. So someone, somewhere decided to include a whole bunch of other things as part of the base whereas they could just as easily be addon packages. I think FreeBSD includes various compilers and perl by default. Why's that? How is a compiler an essential part of a system? There are no apriori reasons to make certain "addons" part of the base system and others not. Linux does not draw this distinction and reaps the benefits of a more coherent system.

The equivalent of "base system" in linux land is called a distribution and rightfully so. There is nothing basic about a distribution. It is an arbitrary set of choices made by the distribution maintainers and it is sold/advertised as such.

_qc3o··on BSD vs. Linux (2005)
But I thought BSDs where more monolithic and coherent systems. How is drawing a distinction between base system and non-base system make that true? If anything Linux embodies that philosophy much better. There is no ad-hoc and arbitrary decision between what is part of the base system and what is not. The system as whole is coherently laid out without drawing any base/user distinctions. Daemons are daemons, binaries are binaries, tools are tools, configuration is configuration and they all go in predictable places to become part of the overall system.
_qc3o··on Systemd v230 kills background processes after user logs out, breaks screen, tmux
Time to switch to one of the BSDs. I hear they're a better unix than unix and these systemd clowns are out of control.
_qc3o··on Ansible vs. Chef (2015)
If you're using yaml and templates then you've already lost. The only tool in this game that is not braindead is chef. Sometimes you need imperative things and conditional logic with iteration. If you don't have a real programming language then the contortions you have to go through gets really old really fast.

As for the deployment patterns. If you're in the cloud then you should be baking AMIs (or equivalent in your cloud provider) and shipping your configuration the same way you ship your application code, as native packages like .deb or .rpm. If you jumped on the docker bandwagon then your hosts are basically there to look pretty and host the containers which means you have some other way of getting configuration to your servers, i.e. etcd, consul, etc. so the problems brought up in this post don't exist in that setting. You are also probably using some kind of container orchestration system like kubernetes so again the problem of orchestration and deployment is offloaded to some other system. The only problem you have in that setting is doing a rolling deploy of containers and halting when things go wrong.

I think the only place any of these tools make sense now is some private on-premise cloud. Ever other place has already moved on.

_qc3o··on Systemd mounted efivarfs read-write, allowing motherboard bricking via 'rm'
With fuse you certainly can.
_qc3o··on Systemd mounted efivarfs read-write, allowing motherboard bricking via 'rm'
Because everything is a file in unix derivative land. That is a common accepted practice at least but optimizing for the common case here is the right thing to do. How often do people need to manage EFI things through the filesystem and how much of an inconvenience is it to have the initial mount be read-only? The answer is obvious to me because I know people run `rm -rf` often enough that having a safeguard in place is the right thing to do.
_qc3o··on Layoffs Hit Gumroad as the E-Commerce Startup Restructures
Huh? I thought Gumroad was one of the better services out there for selling stuff. Too bad "hypergrowth" mania devalues companies like Gumroad because they look like a pretty awesome and sustainable business.
_qc3o··on Why I Left the Thiel Fellowship for Quora
Hmm, the essay does sound like it was written by a 20 year old indeed. Unfortunate then that she is maximizing learning by going to Quora. What exactly is she going to learn at Quora? The industry has very little to offer in terms of learning unless you are in the top echelons of Google's, Microsoft's, and Facebook's research divisions. Most software and product engineering is mundane drudgery and even if there is room to learn and grow you still have to deal with workplace politics, credit stealing, jealousy, etc. All those things are detrimental to learning.

Within the first 3 months she is going to learn everything there is to learn about Quora. By her own admission she will then move on to the next learning experience until one day she will realize academia is the only place that true learning happens.

_qc3o··on Lisp in Small Pieces: Table of Contents and Code
Yes, lisp dialects are powerful but there is no magic. The road to enlightenment is long and arduous and can not be put in an HN comment box. It's like I said in my original comment, the only way to get there is to just continue to write code and explore different paradigms and languages.
Page 1 of 2Next →