HNHacker News
TopNewBestAskShowJobs

tlarkworthy

5,770 karma · joined October 22, 2012

Software Developer with a passion for transparency.

Firebase -> Google -> Futurice -> Taktile

Now in Berlin.

submissionscomments
tlarkworthy··on The new silent majority: People who don't tweet
BTW, your observable profile link is broken
tlarkworthy··on Just say no to :latest
If you don't use latest, your ecosystem fragments and risks diamond dependencies. If you do use latest, some of your ecosystem risks randomly breaking.

I think it's best to use latest because the combinatorics of the ecosystem as a whole is much smaller. With everything on latest, you have to play whack-mole on individual services to get them to catch up. But you are doing this just when the community at large is most invested in understanding the process of upgrading.

The alternative is that ancient binary A depends on ancient binary B's legacy behaviour, and B has no need to upgrade but A have a very serious need and now you have a serious problem. Maybe upgrading B breaks C for instance. It's almost uncoordinateable at that point once versions drift significantly. You get true technical debt.

tlarkworthy··on Court Rules Websites Embedding Google Fonts Violates GDPR
Visiting a website by a European in Europe does not require IP address to be exposed to US soil, right?
tlarkworthy··on Court Rules Websites Embedding Google Fonts Violates GDPR
I don't think it has anything to do with that. It is the transmission of an IP address to US jurisdiction. Hosting a web page on github pages would have this issue too... (?)
tlarkworthy··on Court Rules Websites Embedding Google Fonts Violates GDPR
So if you website is hosted by Github pages (US), then that is ok because you can't self host?
tlarkworthy··on Accounts to Support Ukrainian Army Directly via Bank of Ukraine
>as is the case with any charity

it's not a charity, its on a .gov.ua website and its the national bank. This is going to the gov/military.

tlarkworthy··on Is Grammarly a keylogger? What can you do about it?
This article misses the way I use it, which is much safer. I am security minded but also a terrible writer.

I have Grammarly as a browser extension that is OFF BY DEFAULT, except, when I am writing on Medium, and a few times when I click to enable it temporarily.

Problem solved! I feel this article is not serious about a the "What you can do about it". I am fairly confident I have sensitive information controlled, yet I do get the very real benefits when I write a blog post.

I also copy and paste markdown into the standalone web app occasionally because it can correct markdown without getting tripped up by syntax! I am very happy with the quality of grammarly corrections and I do think it is possible to use it safely, just not with its default settings.

tlarkworthy··on Against Pair Programming
I find pair programming very good for transmitting workflow improvements. It's not the kind of thing that makes it to blogs
tlarkworthy··on Why I Like Java (2014)
Maven central
tlarkworthy··on Concurrency in Java – I came up with a design I feel comfortable with
1. HTTP stuff should be an adapter for transport agnostic business logic. You want to be able to support gRPC or whatever later without disturbing the internal domain functionality. 2. this article is about using HTTP servers to provide general purpose concurrency handling in Java, so your point is off topic. Of course if you are writing a HTTP server you need HTTP server code, thats kinda obvious but not what we are talking about. We are talking about: if you need concurrency, should you bring up a HTTP server?
tlarkworthy··on Concurrency in Java – I came up with a design I feel comfortable with
I think this is crazy, coz now you have HTTP stuff leaking into your source code. It's just clearly a different abstraction, a worse mess that implementing Callable .

You can implement Callable in a lambda now, so a wrapper can be conjured up easily when you need it. https://www.concretepage.com/java/jdk-8/java-8-runnable-and-... (I agree implementing Callable in the business logic was naff)

tlarkworthy··on Against Pair Programming
Maybe they will have some helpful suggestions or techniques that will speed up that process...
tlarkworthy··on Ask HN: How do you manage your companies knowledge base?
I advocate rotating roles, and having an operational doc, the trick being people have to repeatedly read and update the operational doc to fill the role they have just been assigned.

Mandating the doc stays up to date when noone is actively using it is an exercise in time wasting

The problem you are facing is the weakness of having individual specialists. The problem is not the doc maintenance but organisational

tlarkworthy··on Who keeps an eye on clipboard access?
I have taken to copying a benign string after using a sensitive password and I minimize switching tabs during transport of said password.
tlarkworthy··on WebVM: Server-less x86 virtual machines in the browser
I have it working here https://webcode.run
tlarkworthy··on WebVM: Server-less x86 virtual machines in the browser
I have REDIS driver working in web using websockify bridges (and there are a few other options)

https://observablehq.com/@tomlarkworthy/redis

tlarkworthy··on Bolt founder on Stripe/YC
don't YC companies username appear in different colour to other YC alumni? That can be considered special treatment, though not Stripe specific.

https://news.ycombinator.com/item?id=10741485

tlarkworthy··on Ten years against division of labor in software
yes, lately the Butler Lampson quote echos round my head "All problems in computer science can be solved by another level of indirection"

The problem is, we have been adding layers of indirection for 80 years, and each is leaky. So now it's very difficult to do basic stuff, and people are ok with software thick with abstractions.

The next stage should be removing unnecessary layers of indirection, as, like you said, things are much easier to understand and maintain that way.

tlarkworthy··on WebAssembly: The New Kubernetes?
I hope to create a wire compatible Firebase Realtime server for edge use https://observablehq.com/@tomlarkworthy/rtdb-protocol
tlarkworthy··on WebAssembly: The New Kubernetes?
I am building a compute layer for Observablehq which enables services to brought up using nothing other than a web browser. It's a bit too soon to call it a K8s replacement but the motivation was the complexity and laggyness of bringing up services on cloud or k8s.

The WEB + on demand infrastructure is the distributed replacement of K8S

https://webcode.run/

WEBCode is about eliminating environments and the difference between backend and front end to radically reduce the number of tools necessary and to enable new development workflows like live debugging production trafic with the vanilla Chrome debugger.

tlarkworthy··on Show HN: Login with HN (Unofficially)
the exact user flow for a third party Auth system in Observablehq

https://observablehq.com/@endpointservices/login-with-commen...

all code is ISC licensed and both the server and client is embedded in a web notebook

tlarkworthy··on Literate programming: Knuth is doing it wrong (2014)
Observable is execution in topological sort order

https://observablehq.com/@observablehq/how-observable-runs

You can totally put imports at the bottom!

tlarkworthy··on Literate programming: Knuth is doing it wrong (2014)
I have been using ObservableHQ as my main environment for over a year. I have found that I have started adopting a "documentation driven development" methodology organically over time. The opening paragraph of the notebook, I review and edit almost every time I open the notebook. The opening paragraph provides a qualitative north star and tone setting for the whole project contained within. You can have a dynamic table to contents structuring the whole notebook. When documentation is included with source code, it is easy to skep between micro projects, as all information required to run the project and perform maintenance can be put where it makes most sense. So as a solo developer, I am able to scale more broadly than I used to be able to.

To me, literate programming is massive productivity left on the table. I love it.

I love it so much I developed https://webcode.run to extend observable to the backend with a fresh retake of a serverless compute environment. I have a working OAUTH server "hosted" here: https://observablehq.com/@endpointservices/auth if you are concerned this does not scale to interesting infra. You can eject source code as ES6 modules and publish to NPM which I have done for generally useful tools like the first REDIS client for web https://observablehq.com/@tomlarkworthy/redis

tlarkworthy··on Hot Takes on Code Freezes
> Hot Take: Putting a deploy freeze in place does not mean you will be incident free.

I find this does not match my experience at all! The number one cause of incidents are code or configuration changes. Freeze those and the incidents DO go away 95%. Of course you need to update eventually and the problems will begin again, but freezing when there is the least amount of staff to fight fires is very sensible???

of course, nothing is 100% but let's not rock the boat so that the rare traffic based incident can be dealt with by the few staff that are there.

tlarkworthy··on Metrics-driven product development is hard
metrics driven development has killed facebook.com. On its own, it is too short sighted.

How do you measure long term success? hint: u can't.

Blind application of ML is therefore, also dangerous for similar reasons.

metrics are useful for tightening the tactical decisions like, fuck, our landing page conversion is low so let's invest there, but strategically metrics are unable to be creative and innovative and all the other things you need for a great product.

tlarkworthy··on Alexa owners not using it after only two weeks
My children developed their own tastes in music well before they could read which I credit to voice tech. It's not so useful to me personally but I feel it has enriched the family experience.
tlarkworthy··on Scala at scale at Databricks
> If I'm being honest here, a quite significant part of day-to-day backend JVM software development positions is dealing with the build tool.

perhaps, because your work has over complicated it [1].

[1] If you are doing multi-distributions or multi-repo stuff perhaps it's warranted, but those complex build features better be providing serious value to the business to be worth losing 10% of the development workforce's time on build tooling.

tlarkworthy··on Ask HN: Why have we accepted the cookie pop-up situation across the web?
plausible analytics claims to not need consent as it does not do user level tracking or issue clienside state.

https://plausible.io/

tlarkworthy··on Scala at scale at Databricks
I considered it a near miss when a Scala shop rejected me because I used Maven to compile their coding challenge. Clearly the company was full of over-complicaters and actively recruiting for it.
tlarkworthy··on Queue Despair: Ordering and Poison Messages
I remember trying to productionize an ordered service and the SRE's were banging on about messages-of-death. Their band aid solution were isolated regions. i.e. DO NOT LET YOUR REGIONAL SERVICES COMMUNICATE. What they were worried about were global cascading failures, if/when someone pushes a mistake to prod.

It's kind of a shitty solution to the problem but there you have it, maybe it's the best that can be done. Rollout code changes gradually in individual regions and make sure a bug doesn't bring everything down.

← PreviousPage 12 of 34Next →