HNHacker News
TopNewBestAskShowJobs

timclark

903 karma · joined January 17, 2008

submissionscomments
timclark··on Moby Dick Workout (2022)
I used war and peace to explain to a CEO how wasteful a mobile API was; twelve distinct items of data to display but we sent JSON larger than war and peace.
timclark··on Dependency injection frameworks add confusion
The D in SOLID is for dependency INVERSION not injection.

Most dependency injection that I see in the wild completely misses this distinction. Inversion can promote good engineering practices, injection can be used to help with the inversion, but you don’t need to use it.

timclark··on Ask HN: In 2023, what’s the easiest way to build an (iOS, Android) app?
Try flutter - in my experience it is the shortest path from idea to working application.
timclark··on Amplify UI – Don't just prototype. Connect your UI to the cloud
In my experience this is a superb way to rapidly create bad integrations with AWS.

Some of the simple things will be easy, everything else will be hard.

Also instead of supplying an SDK, Amplify will provide components that can seriously constrain lots of your UI architecture decisions.

For Javascript the old mobile SDK was much more usable.

Almost all of the AWS services have a sensible JSON API, I wish that AWS would just generate sensible SDK bindings for Swift, Javascript and Dart and stop all development on Amplify.

timclark··on Release of AWS CDKv2 and Construct Hub
I wish I could upvote this more - if I can’t do it in CloudFormation I won’t use it.
timclark··on Ask HK: Quickest way to develop mobile apps as back end engineer in 2021?
If you don’t know front end development Flutter can get you a very long way very quickly.
timclark··on The Solid Steel Yarn Winder
The plastic and wooden winders make tables wobble as well in my experience.
timclark··on [dead]
More accurately - Google migrates chrome application to web application.

'Google Kills Keep' is inaccurate.

timclark··on Prefer Fakes over Mocks
It depends on how you define your 'unit'; a unit can be as large or as small as you require.

But, I'd suggest if you can't test a single class in isolation easily (and you might need fakes/mocks) then the class probably needs redesigning.

timclark··on Missing Covid-19 test data was caused by the ill-thought-out use of Excel
X can be a check digit. From memory the check digit is calculated using a modulo 11 calculation.
timclark··on Ask HN: Suggestions for books about API design?
A philosophy of software design - John Ousterhout

This has an interesting generic discussion of API design which is technology agnostic.

timclark··on Science Fiction Books I’ve Read (2018)
Read shorter books!
timclark··on Domain-Oriented Microservice Architecture
I’ve seen one service per database table, and have had architects seriously think that a table equals a bounded context. Then they try to work out how to do two-phase commit across micro services.
timclark··on Use of Assertions (2014)
Having worked on multiple systems that have done similar things to this, I'd fall on the side of no!

If you're not really careful the assertions will quickly obscure the actual logic (as does logging), a careless engineer can easily add a bad assertion and fill up your monitoring system, another careless engineer can write a complicated but broken assertion without any tests - they've all happened to me on multiple production systems.

Eiffel style pre and post conditions might be a solution as the assertions are kept away from the main code path in the method signatures - but at that point a modern statically typed language might give you more value (preferably with null safety and sum types).

timclark··on Breakthrough in inverse Laplace transform procedures
I got taught them in a course on linear systems which was a pre-requisite course to control theory.

Lots of electrical circuits, mechanical systems and electro-mechanical systems can be modelled using laplace transforms if they are linear systems.

I did an electrical and electronic engineering degree and we got to skip the tedious differential equation solving lectures that the mechanical, civil and chemical engineers had to attend because of Monsieur Laplace.

timclark··on Minimizing Logic Expressions
You can minimise the number of gates but that doesn't minimise the number of transistors as that varies by the type of logical operation performed by the gate.

Practically you probably care more about the number of transistors than the number of gates.

timclark··on A quiet roadside revolution is boosting wildflowers
My key reading from the article was over-fertility leads to mono-culture, so paradoxically you need to reduce soil fertility to encourage diversity.

Reducing soil fertility probably needs intervention to remove rotting vegetation etc.

I am guessing that at one point in time native plants would have had animals and insects that were eating them and maybe reducing soil fertility.

timclark··on Nobody talks about the real reason to use Tabs over Spaces
From memory go fmt will use both tabs and spaces when formatting but it uses tabs for indentation from the left margin and uses spaces for some alignment of variables - so it doesn't introduce any crazy interleaving of tabs and spaces which I like.
timclark··on Show HN: A Mac Desktop App to Manage S3 and Dynamo
How do you manage AWS credentials? We use short lived credentials that are stored in the standard file system location and expire frequently, can your application just use these? We gave up exporting permanent credential a long time ago.
timclark··on Branca – Authenticated and encrypted API tokens using modern crypto
This doesn’t seem to offer useful authentication to me like public / private key pair can with JWT. In order to authenticate I will need to know the secret key.
timclark··on Using the New AWS Secrets Manager for Serverless
It has caused us failures as lambdas have scaled up as it is quite easy to hit a rate limit.
timclark··on Ask HN: What sci-fi most resembles the Strugatsky brothers' “Roadside Picnic?”
Two similar books by Stansislaw Lem would be His Master's Voice and Fiasco.
timclark··on Testing of Microservices
The article linked from here on integrated tests, http://blog.thecodewhisperer.com/permalink/integrated-tests-... is also well worth reading.
timclark··on How I implemented my own crypto
How will cryptography libraries ever develop if someone doesn't roll their own?
timclark··on Ask HN: What are the best books you've read that few others have?
Adrift on the Sea of Rains by Ian Sales

A Dream of Wessex by Christopher Priest

timclark··on Ask HN: What language-agnostic programming books should I read?
Domain Driven Design by Eric Evans

Implementing Domain Driven Design by Vaughn Vernon

Clean Code by Robert Martin

I think you will find some code in all of the books but the ideas are applicable almost everywhere.

timclark··on The Domain-Driven Design Paradox (2016)
All those things that you mentioned are just implementation details that some people use with DDD, you can do DDD with assembly if you wanted to.
timclark··on A London Subway Experiment: Please Don’t Walk Up the Escalator
That is the normal recommendation on the London Underground and that is what they are specifically not doing in this case as an experiment.

http://citytransport.info/Digi/P1240646a.jpg

timclark··on The cave divers who went back for their friends
How would the ROV be controlled? Radio won't work. Long cables are problematic in cave environments, they snag, they get pulled by currents.
timclark··on Ask HN: What stack would you use to build a CRUD web app on the JVM today?
ReactJS + DropWizard + JDBI (or JOOQ) if you like JAX-RS.

ReactJS + Spark framework (or Vert.x 3 or Ratpack) + JDBI if you don't like JAX-RS.

I don't like JAX-RS, but it is hard to beat DropWizard if you do.

Page 1 of 6Next →