HNHacker News
TopNewBestAskShowJobs

tdfirth

527 karma · joined June 23, 2020

Founder at https://cotera.co
submissionscomments
tdfirth··on Some useful regular expressions for programmers
Second this. I'm pretty happy writing code in a plain old text editor much of the time, without most IDE features.

One thing I just can't live without, however, is a code formatter. Formatting code by hand is tedious and repetitive and I have no patience for it.

tdfirth··on Ask HN: Does anyone else find the AWS Lambda developer experience frustrating?
Thanks for the recommendation, that does sound good and I'll give it a go.
tdfirth··on Ask HN: Does anyone else find the AWS Lambda developer experience frustrating?
That's really interesting, thanks for sharing. I did not have the pleasure(?) of working in the industry back then, as is true of most developers these days.

Do you hold out hope for a similar transition to a better local development workflow? What do you think it might look like?

tdfirth··on Ask HN: Does anyone else find the AWS Lambda developer experience frustrating?
Ah that's a good idea - I have actually played around with that. When they released support for running lambdas with container images I used it to have a go at making a custom lambda image.

I didn't join the dots up for this use case though, thanks!

tdfirth··on Ask HN: Does anyone else find the AWS Lambda developer experience frustrating?
Ha, I'm glad my simplification did not fall too short!

I did wonder with regards to the IP address. If you had a VPN set up for access to a VPC and ran the lambda in that VPC then that would be another option I think. You would just need to configure a static IP for your dev machine within the private network.

tdfirth··on Ask HN: Does anyone else find the AWS Lambda developer experience frustrating?
> I think one of the biggest mistakes people make when developing Lambadas is designing them differently to normal software.

That's probably very true (and I'm probably quite guilty of it!).

Thanks for your suggestions, that does sound like a good approach.

tdfirth··on Ask HN: Does anyone else find the AWS Lambda developer experience frustrating?
Hey, thanks for the link. It does look quite good - there was another comment where someone had a home-brewed set up that did something fairly similar.

I'll check it out!

tdfirth··on Ask HN: Does anyone else find the AWS Lambda developer experience frustrating?
Thanks for these suggestions, they seem pretty solid. I'm particularly keen on the idea of capturing requests/events for use in mocking.

It would be quite a powerful workflow for running integration tests. I shall do some research!

tdfirth··on Ask HN: Does anyone else find the AWS Lambda developer experience frustrating?
I wasn't referring to cost as, yes, it's definitely cheaper to just rent some servers.

The operational overhead of provisioning them, configuring them (and so on) is really difficult for a lot of teams though.

tdfirth··on Ask HN: Does anyone else find the AWS Lambda developer experience frustrating?
I have considered it, yes, and there are a couple of projects that make the HTTP aspect of lambda easier, it's true. However running HTTP requests through lambdas is just one use case for them! For other kinds of events there doesn't really seem to be an equivalent.

It would be great if there was a consistent way to do all of them.

tdfirth··on Ask HN: Does anyone else find the AWS Lambda developer experience frustrating?
To check my understanding, you basically deploy a place holder lambda which proxies events to your dev machine?

That's pretty neat if so, I might have to try that out. Are there any downsides to this approach do you think?

Thanks for your thoughts on emulators/tests too.

tdfirth··on Ask HN: Does anyone else find the AWS Lambda developer experience frustrating?
I thought Vercel was for building static sites/backends, or would it also work for generic AWS glue code? (e.g. run this lambda when the bucket changes).
tdfirth··on Ask HN: Does anyone else find the AWS Lambda developer experience frustrating?
I am not alone then at least! The particularly annoying thing is that I feel like N isn't even that high. Even 2 or 3 things interacting is a pain (unless it's stuff like RDS or just a plain old container of course).
tdfirth··on Ask HN: Does anyone else find the AWS Lambda developer experience frustrating?
That's interesting, thanks for the recommendation. I have heard good things about cloudflare workers too and the local dev setup you've described sounds quite good.

Am I right in saying that they serve a somewhat narrower use case than lambdas though? My understanding is that they are mostly used for things like modifying requests/responses rather than for building a whole backend.

tdfirth··on Ask HN: Does anyone else find the AWS Lambda developer experience frustrating?
This made me laugh, thanks.

If I'm honest, I do find AWS in general fairly high friction at times but it's way better than renting servers directly I think.

It's the only cloud provider I've really worked with to be honest though (other than a few experiments), maybe some others are much better in this regard?

tdfirth··on Ask HN: Does anyone else find the AWS Lambda developer experience frustrating?
I haven't tried it yet, no. It always struck me as being focused on making deployment quick/easy rather than on creating a good local dev workflow (i.e. the same workflow I currently have but a quicker cycle time). This never really appealed to me.

Cosmotic's comment kind of confirms my suspicions to be honest.

tdfirth··on Ask HN: Does anyone else find the AWS Lambda developer experience frustrating?
That sounds really neat, I must admit I've never written a single line of c# although I keep meaning to give it a go. Maybe this is my moment...

I'm using python mostly atm. I've played around with go/node too (both of which I'm familiar with in and of themselves) and I was thinking about switching over to one of those already.

The dependency management is easier for both of them than with python I found.

tdfirth··on Ask HN: Does anyone else find the AWS Lambda developer experience frustrating?
Oh that does look quite interesting, I hadn't heard of that. Thanks for the tip.

As you say, it only does the 'host lambdas locally' bit though. If you wanted to do stuff like test the interactions between lambdas, or test them over HTTP (for lambdas that act as components in REST APIs), you'd need to build something yourself.

tdfirth··on Lisp as an alternative to Java (2000)
I think this fits what you are looking for:

http://www.rosettacode.org/wiki/Rosetta_Code

There is a listing of 'tasks' (explore > tasks in the topnav) and each one features submissions in many different languages.

tdfirth··on The Unparalleled Genius of John von Neumann (2019)
Here is a fairly old documentary about 'Johnny' von Neumann:

https://www.youtube.com/watch?v=Y2jiQXI6nrE

He was a myth even in his own lifetime but parts of that film hint at the man. It features interviews with many of his old colleagues, discussion of what it was like to work with him, etc.

If you just watch one bit, personally I love the anecdote that begins around here:

https://youtu.be/Y2jiQXI6nrE?t=2604

It is a story of his incredible facility for mental arithmetic that I hadn't heard before. It is arguably one of his least impressive skills but for me it illustrates so clearly the gap between him and his peers.

tdfirth··on Prescriptive software is better than descriptive software
Like just about everything in life it is more nuanced than that. There is a time, a place, and a market for both opinionated and highly configurable software. Claims that one is better than another can only ever be opinion.

The title aside, I don't actually disagree with anything in the article. I've had similar experiences to the author with tools like linters and formatters. Agreeing on configuration for them can waste a surprising amount of time.

As time goes on, I do find myself more willing to change to fit my tools rather than change them to fit me. Often, I find the creator of an opinionated tool has more carefully thought through their opinions than I have anyway. Even if they haven't, tools like gofmt showcase the power of consistency for consistency's sake.

That said, I use a tiling window manager and I'm pretty insistent that control belongs where caps lock normally is, so clearly I'm not entirely bought in to my own rhetoric.

tdfirth··on Ask HN: What novel tools are you using to write web sites/apps?
Interesting analogy to TS (which I'm also a fan of). I hadn't really thought about it like that but I think there is truth to it.

As you say, the fact is that we've got all of these standards that can't be be changed without breaking the web. Those standards were also first created for a different time, so it's not surprising that some assumptions turned out to be poor.

As a result, we've ended up in a place where tools treat those standards as compilation targets. This isn't a bad thing per se but it does lead to a lot of complexity in the tool chain.

I think part of why I like tailwind is that it almost feels like I'm using plain old CSS. I get the same amount of flexibility (as much as I need anyway), but I don't feel like there is some great abstraction in between me and the styles I want the framework to produce. At the same time, it's quicker and easier to use.

Anyway, I'm aware it's a pretty divisive tool. I see a lot of strong opinions about it on HN!

EDIT: grammar

tdfirth··on Ask HN: What novel tools are you using to write web sites/apps?
I'm currently working on a PaaS product called fold.sh (very early days).

One thing I'm using that I've seen crop up on this thread is tailwindcss... I've not used it before but I'm really enjoying it so far. It's not a panacea by any means - it makes no attempt to help you organise your CSS or make it modular so you need to 'bring your own discipline'. For example, it's fairly easy to end up with inconsistent design because it makes it so easy to just add a few custom tweaks here and there. That same feature also makes it easy to duplicate information.

That said, for the first time I feel like I can actually iterate quickly on CSS and design in general. That probably says more about me than CSS but I'm having a blast. The fixed set of choices and short/consistent class names mean that I spend less time reading docs and more time iterating, which is great in my book.

Maybe it's an approach that doesn't scale well to teams? Maybe I'll regret it later? Can't comment on that yet but it has certainly given me a step change in CSS productivity.

The rest of the tech I'm using is all pretty dull, with one exception, which is that I'm using the platform to host itself (the backend at least).

Hopefully this doesn't count as too much of a shameless plug but it certainly fits the bill of a 'different approach' as I'm the only user right now!!

The (very basic) landing page is here:

https://fold.sh/

tdfirth··on Improving Shell Workflows with Fzf
Hey, sorry that I didn't really try to explain the bindings. Climb_stealth said it all really but here are some extra bits.

The first one is a normal mode binding (the n in nnoremap). yiw copies the word you are currently on (without surrounding spaces), and then <C-r>" pastes that into the :Rg command. The :Rg command is part of the fzf vim plugin and it is a wrapper around ripgrep (see the link from climb_stealth), which gives you fuzzy search over the results of a ripgrep search.

There is more detail on the <C-r>" command here:

https://vim.fandom.com/wiki/Paste_registers_in_search_or_col....

It's basically just how you paste the contents of registers into commands.

The second one is almost exactly the same except that it is a visual mode mapping (the v in vnoremap). If you highlight something with visual mode, then use that command, it will search for the highlighted text using ripgrep.

<C-Space> is just the key chord that the command is bound to. It is a pretty arbitrary personal choice, I find it a very quick and easy chord combination but you can put whatever you want in there. For example, <C-S> would activate the command when you pressed the chord 'control + s'.

There is quite a good list of keys that are unused by vim here:

https://vim.fandom.com/wiki/Unused_keys

You can pick whatever you want but I prefer not to override any of the default bindings.

Hope that helps!

tdfirth··on Improving Shell Workflows with Fzf
Those are very creative use cases for fzf, I had never considered doing something like that.

My usage of it probably counts as quite basic. That said, I use it constantly. I just love the feeling of real time interaction it gives - it is well and truly part of my muscle memory now.

I use the vim plugin too, which is also brilliant and makes navigating larger projects very quick and easy. I use these two extra bindings all the time:

  nnoremap <silent> <C-Space> yiw:Rg <C-r>"<CR>
  vnoremap <silent> <C-Space> y:Rg <C-r>"<CR>
They're very simple, but when combined with the ability to add search items to the quickfix list it makes for a pretty powerful workflow.

The first one in particular gives a great approximation of symbol search that 'just works' anywhere.

tdfirth··on Suez Canal says traffic in channel resumes after stranded ship refloated
This comment really made me chuckle. I did enjoy reading the suggestions on the other thread, but not many were entirely... practical (edit for spelling)
← PreviousPage 2 of 2