HN user

ldite

647 karma
Posts24
Comments129
View on HN
temporal.io 2mo ago

Temporal is becoming Crystal Palace Football Club's front-of-shirt partner

ldite
3pts0
github.com 1y ago

Ninety Seven Things Every Programmer Should Know

ldite
2pts1
anarc.at 1y ago

Qalculate Hacks

ldite
2pts0
spectrum.ieee.org 2y ago

Build the Most Accurate DIY Quartz Clock Yet

ldite
1pts0
arstechnica.com 2y ago

AI-generated news anchors are freaking me out

ldite
1pts0
retrocomputing.stackexchange.com 2y ago

Was bootloading from punch cards possible on System/370 machines?

ldite
11pts2
arxiv.org 2y ago

An In-Depth Analysis of the Slingshot HPC Interconnect

ldite
2pts0
www.kerrisdalecap.com 4y ago

Astra Space: Headed for Dis-Astra [pdf]

ldite
5pts0
venthur.de 5y ago

The State of Python Packaging in 2021

ldite
3pts1
space.stackexchange.com 5y ago

What skipped test on Genesis would have detected the backwards accelerometer?

ldite
2pts0
sst-soa.arc.nasa.gov 6y ago

State of the Art of Small Spacecraft Technology

ldite
3pts0
www.nasa.gov 6y ago

State of the Art Small Spacecraft Technology [pdf]

ldite
3pts0
www.youtube.com 6y ago

Making Strong Shelves with Topology Optimization

ldite
1pts0
www.fxguide.com 7y ago

The Fractal Nature of Guardians of the Galaxy Vol. 2

ldite
2pts0
1iyiwei.github.io 7y ago

Towards Virtual Reality Infinite Walking: Dynamic Saccadic Redirection

ldite
2pts0
www.gov.uk 8y ago

Warpaint

ldite
2pts0
www.cem.me 9y ago

PKI Posters

ldite
1pts0
www.cs.cmu.edu 9y ago

DeepDoggo: Learning to Answer “Who's a Good Dog?” [pdf]

ldite
3pts0
www.mnot.net 12y ago

RFC2616 (HTTP 1.1) is Dead

ldite
2pts0
www.bbc.co.uk 12y ago

Live streaming to the browser using Media Source Extensions and MPEG-DASH

ldite
12pts2
www.metafilter.com 13y ago

Women in technology, in US census sample, are paid less

ldite
1pts0
dash-mse-test.appspot.com 13y ago

Youtube demo of DASH (dynamic http streaming) [Chrome canary only]

ldite
1pts0
hgpu.org 14y ago

Breaking CSA (digital TV encryption) in near real-time

ldite
7pts0
dvcs.w3.org 14y ago

W3C Proposal from MS, Google, Netflix for adding copy protection API to html5

ldite
108pts102
Why Clojure? 1 year ago

But that's not what a Clojure dev would do.

Apparently I and my fellow Clojure devs aren't real Clojure devs. Or perhaps you mean "true" clojure developers, or "good" clojure developers. (cf. https://en.wikipedia.org/wiki/No_true_Scotsman)

And even if we were Clojure devs we've inherited multiple big Clojure codebases that were apparently written by non-Clojure devs, and heavily refactoring is not on the to-do list.

Why Clojure? 1 year ago

The dynamic typing and "everything is a map" can be a PITA. At the moment I'm working on a codebase that has I/O to JSON APIs, Avro schemas and postgres databases. That means that a field called "date" can be either a string, integer days since the epoch or a Java Date, and (because this codebase isn't great) there's no way of knowing without tracing the call stack.

With the right discipline (specs, obsessively normalising all data at the boundaries, good naming conventions) this wouldn't have been a problem, but that discipline is optional, and headbanging aggravation results.

(This is, of course, a generic "dynamic typing" problem, but that's a key feature of Clojure)

I didn't mean FAANG companies - these days I work for a boring 500 person SaaS company (outside London) and we have at least 50-100 engineers at £100k+, excluding equity.

I get a lot of recruiter spam on Linkedin for roles at retail banks, outsourcers, consultancies, SaaS companies, startups, etc. etc. in the £90-110k bracket. I do also get a lot of recruiter spam for laughably underpaid jobs, in particular hardware/embedded roles, which is why I switched out of embedded.

Ceefax Simulator 2 years ago

Funnily enough my memory of trying to implement the DSM-CC specs is that they are broadly equivalent to a denial-of-service attack on your brain

I should have added that I've had similar experiences with (old school, untyped) python codebases - absent the esoteric programmers, which is not a small difference - although with python you tend to hit performance issues if your call stacks get too deep. Ironically the JVM performance lets you dig yourself into a gnarlier pit before you have to face up to it.

Ah clojure. It's all fun and games until five years down the line, you've had 100% dev churn, and you have a 100kloc codebase that nobody understands, full of functions that don't give the slightest hint of the shape of the data they're processing (it's all lists!) yet down the bottom of the callstack there's some function that'll explode if the map doesn't have whatever magical key it expects.

If you're really lucky, someone will have thrown in a bunch of 'specs' that make a bunch of assertions about the data, put them on the API entry points, and then scattered some slightly different specs with slightly more restrictive assertions on various 'internal APIs', resulting in random explosions in production!

And the joy of working with an esoteric language is that it attracts esoteric developers, who often get frustrated by the requirements of being a software engineer in a large company (i.e. everything that's not writing code), which leads to the aforementioned 100% dev churn (after a lot of shouting).

what could amount to a basic human error

That's the point - if the C-level could go to prison then you'd find that mysteriously there were multiple overlapping systems of control implemented such that no one person could make a simple human error and expose reams of customer data: it would require systematic failure.

(At that point, when safety systems are in place but fail for complicated hard to predict reasons, malicious negligence is hard to prove and executives don't go to jail.)

I've been round that loop a few times; if you use a full language for config then you either have to impose iron discipline or you sooner or later end up needing a configuration format for your configuration format.

That is to say the configuration eventually becomes a program in itself, with a few key values... which then get pulled out into a simple config file.

See: autotools, sendmail, etc.

There's nothing intrinsically superior about storing commits as diffs - subversion stores its commits as diffs (or at least, it did a decade or so ago,) and I haven't heard anyone enthusing about svn in a long time.

Qt 6.0 6 years ago

You can't say that and then not link the comment!

I keep trying to get started with puppet/chef, but their homepages are so buried in mounds of enterprise products that it's incredibly hard to figure out how to get started.

Once I eventually figured out which of their indistinct products is actually the basic tool I then tried to follow their tutorials, which want me to install hundreds of megabytes of who knows what, set up heavyweight servers, watch video tutorials (!), and who knows what.

When I eventually slogged through all that to get to a minimally working setup trying to convert a few fairly trivial ansible plays for what I would have thought of as fairly standard stuff rapidly turned into "time to write some ruby"!

I gave up.