HNHacker News
TopNewBestAskShowJobs

lifebeyondfife

536 karma · joined November 24, 2011

Life Beyond Fife is my tech blog where I write random articles and applications about all sorts of software development subjects. http://lifebeyondfife.com/
submissionscomments
lifebeyondfife··on The entire city of San Francisco as a video game
I have shared this dream for 15 years https://lifebeyondfife.com/follies/real-games/

Finally got round to vibe coding something in Godot this summer for my city. It used GeoTIFFs on AWS S3 at s3://copernicus-dem-30m/ for elevation. No authentication required, each tile covers 1°×1°. Combined this with OpenStreetMap. Was enough to get started and satisfy curiosity. As you state, lots more that could be done.

lifebeyondfife··on The 29th International Obfuscated C Code Contest (IOCCC) 2025 Winners
Can jump straight to https://www.ioccc.org/2025/#inventory
lifebeyondfife··on Generating sudokus for fun and no profit
You're correct, the horizontal and vertical flips for the square, are already accounted for in the wreath product. And I miscounted the products themselves. Up to 1.2*10^12 symmetries.
lifebeyondfife··on Generating sudokus for fun and no profit
The exponential number of symmetries present in sudoku problems, means that once you've found one valid instance, you've actually found up to 9! * 3!^4 * 8 which are exactly the same.

The numbers themselves are all interchangeable, so you have 9! combinations: 362,880.

Columns 1-to-3 are all interchangeable, as are 4-to-6, and 7-to-9. On top of this, these blocks of columns (1-to-3, 4-to-6, 7-to-9) are all interchangeable. Read about wreath products in group theory to know more. Each of the above symmetries are 3!, combined to yield 3! * 3! = 36 combinations. As well as the columns though, the rows have the same property, so those can be combined too: 36 * 36 = 1,296.

Finally, there are the symmetries of a square. Combining all rotations and flips yields a further 8.

In total, sudoku has 3,762,339,840 symmetries. Owing to the starting state of the sudoku puzzle being incomplete, the orbit of the set of points (more group theory) will be smaller than 3 billion, but it provides an efficient method of recreating many more puzzles with the same property. In this case, human complexity.

lifebeyondfife··on Travle: A daily game – get between countries in as few guesses as possible
You can use the waybackmachine. This works for Worldle as well.

http://web.archive.org/web/20231127182010/https://imois.in/g...

lifebeyondfife··on How to do the thing you've been avoiding
Wait, But Why? has a fascinating series of posts on this. https://waitbutwhy.com/2013/10/why-procrastinators-procrasti...

I bought the 52x90 poster where each square is a week of your life. I've filled in significant events. It helps me ensure I keep working on making those events coming.

lifebeyondfife··on Modern SAT solvers: fast, neat and underused (2018)
Plug for my Constraint Solver if anyone wants a simple example https://github.com/lifebeyondfife/Decider
lifebeyondfife··on Show HN: Learn Python with Minecraft
When I worked at Skyscanner, we'd volunteer at events where high school kids would be shown tech stuff. We'd setup Raspberry Pis with Minecraft on them and show them some basics of running Python scripts to alter the world (with the conclusion being programmatically create loads of dynamite blocks and explode them). Then at the end of the session, give every kid their own Raspberry Pi.

It was interesting reaching the occasional child who assumed this kind of thing wasn't for them.

lifebeyondfife··on What We Learned from Building GovSlack
Only US citizens are permitted to deploy code to the US government production servers, or look at the telemetry from those servers.

(I'm a UK citizen, based in the UK, and I have local colleagues supporting products that are deployed to both commercial .com, and US .gov domains. They deploy to .com themselves, but another team based in the US deploy to .gov)

lifebeyondfife··on Today is the 1000th day of March, 2020
The pandemic is ongoing, but despite its lasting impacts e.g. hybrid or remote is the norm, many things are back to normal. One thousand days out, how are things for you?
lifebeyondfife··on Does anyone else finds AWS and other Amazon services overly complicated?
I created a CloudFormation script specifically to do this (including CloudFront for CDN). Yes, there's reasonable complexity, but it's a trade-off of security and configuration. As others noted, the documentation is good, and this took me a weekend to write including learning CloudFormation from scratch.

https://github.com/lifebeyondfife/simple-static-website

lifebeyondfife··on Ask HN: What mental models do you use everyday?
Budget: how many are working on the project? Features: what should the project do? Timeliness: when do you want the project done?

You get to choose only two.

lifebeyondfife··on Show HN: Simple CDN backed static website in AWS
You're correct, yes, I didn't realise how generous the free tier is. If you're doing fewer than 500 updates per month, Cloudflare looks good https://pages.cloudflare.com/

Because I have other resources and projects in AWS I'll keep this setup. It's so close to free that cost doesn't bother me.

lifebeyondfife··on Show HN: Simple CDN backed static website in AWS
Familiarity with S3, Route53, and CloudFront was a draw for me personally.

AWS is all about abstractions. Some of them are worth learning but increasingly there's a wall of options in AWS and, for me, it's not worth spending time staying on top of all of them. The few services needed for this setup are some of the most popular and will be there in the future.

lifebeyondfife··on Show HN: Simple CDN backed static website in AWS
Nothing particularly novel but the setup of configuring CloudFront to connect to S3 and handle SSL termination, a DNS record pointing to CloudFront, an S3 bucket to hold the contents, an S3 bucket security policy which restricts access just to CloudFront... well, it's complex and easy to misconfigure.

In terms of pricing, you can store 1GB in S3 for a year for a fraction of a dollar. The majority of the cost comes from CloudFront. Unless you have serious traffic, this is extremely cheap:

https://aws.amazon.com/cloudfront/pricing/

The interface (just put files in S3) suits me. I have a site where I deploy and invalidate the CloudFront cache in a GitHub Action: https://github.com/lifebeyondfife/whisky-menu/blob/master/.g...

lifebeyondfife··on Show HN: Simple CDN backed static website in AWS
Cloudflare Pages looks like a more productionised version of this, yes.

In terms of advantages, I'd say price, and the maturity of using AWS. I deploy a static site with a GitHub Action (look at my other repo whisky-menu for how to do this) which builds a React app, copies it to S3, and invalidates the CloudFront cache.

lifebeyondfife··on How to deal with the PhD requirement in Research industry?
Completing a PhD is risky. I'd recommend reading this to see some of the ways it can go wrong: https://100rsns.blogspot.com/

Ultimately it's a big commitment. Speak to as many people as you can who've walked the specific path you want to head down i.e. being an industry researcher.

I completed a PhD in my early twenties, and though I took a completely different career path, the skills I picked up completing it have been extremely useful. I was lucky in that it was fully funded, and was setup to finish it inside 4 years. A lot of that was down to the research group I joined, and in particular the supervisor.

lifebeyondfife··on Older job seekers get fewer offers on LinkedIn but a younger profile photo helps
I agree with you, those are absolutely fundamental. The bar should be set higher though, especially for senior engineers.

https://benjiweber.co.uk/blog/2021/04/10/dont-hire-top-talen...

This is why I stress the importance of culture. I got into engineering because I loved coding, I loved problem solving, I loved writing programs and making things happen on the screen. It's so easy for the team sport aspect of software engineering to become a blindspot if it's something you're not interested in.

lifebeyondfife··on Older job seekers get fewer offers on LinkedIn but a younger profile photo helps
I'm an engineering manager in my 40s and I've hired engineers older than me.

I appreciate you're absolutely correct, age discrimination does happen. One thing to consider for older engineers is that, though your technical expertise improves through the decades, it's not just technologies that you have to keep up with but also cultural practices. That is, the bad culture fit isn't necessarily code for "We don't want you because you're old." but could be a genuine reason.

As an example, consider the book The Phoenix Project which dissects the reasons for discarding segregation of roles like developers, QA, and ops in separate teams into service teams of DevOps / T-shaped engineers. If you haven't worked in that environment or don't appreciate the difference, you may be judged accordingly.

lifebeyondfife··on Ask HN: Engineering managers; what are the problems you face?
This is a great question.

Diversity is the solution to groupthink. From the book Surrounded By Idiots, the author demonstrates that people with different backgrounds and behaviour models come together to make stronger teams.

As engineers become more senior, they have a hand in design, in product etc. they bring something of themselves to their software solutions. Making software with only a team of white dudes means you miss the mark on issues important outside that group.

Also, inclusion goes hand in hand with diversity. People from all ethnicities and not just cis males can code, but if your team is mainly white guys, you have to work twice as hard convincing others that they'll be welcome and fit right in otherwise it becomes a self perpetuating pattern.

Also, "abilities" is subjective. If your exemplar for software engineer progression is a path that fits a majority white man route into the industry, and plays to the strengths of the people you promote, you'll over-index on those abilities. It's a good question to ask, what skills are we missing out on because our lack of diversity leads us to self selecting?

For transparency, I'm a white cis male manager, who manages a team of almost exclusively white cis males. I'm working on some long term strategic projects to help foster diversity in engineering in my city.

lifebeyondfife··on Ask HN: Engineering managers; what are the problems you face?
Working on the most important items: automate measuring the most important metrics for your team. Releases, paging events, outages, bugs, support issues. You can look at your data and get a feel for trends and whether you need to focus on quality, or delivering more features.

Look into KPIs (key performance indicators). They should be proxies for customer success - Key means only have a few. The engineers should know what they are and be given the autonomy to influence the roadmap and innovate on how best to improve them.

lifebeyondfife··on Select a muscle and it provides the exercises to workout the selected muscle
This is a great website... favourited.

I think tech workers (office workers in general) definitely should be exercising more and increasing strength, but it is so easy to do so in an inefficient or dangerous way. Targeting a single muscle group, or set of muscles on their own can cause body imbalances that lead to injuries.

I've blogged mostly about tech for 10 years now, but the last 1.5 years I decided to go off tangent to write about fitness. My goal was to help anyone with limited time who wanted to get fit, providing them a concrete, manageable set of lessons that would help guide them to doing so sensibly, and enable long term (lifelong) beneficial changes. You can read the full blog post series here https://lifebeyondfife.com/fitness, which I've since compiled into an ebook https://www.amazon.co.uk/Route-Fitness-Before-Setting-Foot-e...

lifebeyondfife··on Ask HN: Name one idea that changed your life
There are two versions of you: the experiencing self and the remembering self. If you only pleasure the experiencing self then you make lots of short term decisions e.g. it's the experiencing self who enjoys the cake, but the remembering self gets almost no benefit from it. Worse, they have to deal with the consequences of the extra calories.

I'd convinced myself that there were things I didn't like so I wouldn't do them anymore, like travelling for long holidays. But after hearing this idea I realised sometimes the pain and inconvenience of being away from home, and being stressed by travel is a temporary pain for the experiencing self. The remembering self however gets lifelong benefit.

I use this model to analyse the cost/benefit to each persona which helps make better long term choices.

lifebeyondfife··on Show HN: Tara – A smart and free alternative to Jira
Completely agree on the not going any faster point. The Mythical Man Month demonstrates this exact concept perfectly.

The budget lever is still available in limited forms e.g. do you devote two engineers from the team to project A or three? The point here is that the engineers have to be already up to speed on the codebase and already know how to work with their colleagues; and adding more on project A leaves fewer for project B, C, and D etc.

Also there is monetary budget. Can I solve an engineering inefficiency by throwing larger servers, or buying a licence for a relevant software service?

lifebeyondfife··on Show HN: Tara – A smart and free alternative to Jira
The team I work in has a product manager, a designer, a cloud infrastructure automation engineer, as well as seven software engineers. Together we collectively advocate for our users and help with those tradeoffs.

> As for "Ultimately it's not about trust, it's about

> accountability and predictability" that's precisely

> the characterization I reject.

How do you know if you're effective? Perhaps it's a difference from one company to another but I don't think it's unfair that my manager (and others dependent on my team's output) want to scrutinse my decisions, and the outcomes of the team.

Likewise, I can scrutinise the choices of engineers with weekly sprints, to ensure the goal is hit i.e. a timely release with flexible features, or a feature complete product that might overrun.

JIRA doesn't magic effectiveness, agreed. It can help show the truth of the decisions taken toward a goal and how work is progressing. I'm not advocating waterfall (any estimate of "this fully specced feature should be finished in two months" is pure fiction) but JIRA or other similar products can work to let managers know ahead of time, "We're not going to finish this by our initial estimated delivery date." That's a useful tool.

lifebeyondfife··on Show HN: Tara – A smart and free alternative to Jira
That's non-negotiable to me. You can make a short-term decision e.g. this implementation will only scale for the next month, but automated testing, clean code, other standards must be maintained.
lifebeyondfife··on Show HN: Tara – A smart and free alternative to Jira
As a manager I follow two principles that help me to prioritise tasks for a weekly sprint.

First, every project has three levers: budget, timeliness, features. Choose two. So it's not about not trusting the development team. It's about understanding the tradeoffs and how the delivery date will be affected.

Second, how well can you predict what you can achieve as a developer in one day vs one hundred days? The estimate for the former is more reliable. Likewise the estimate of what you can achieve is more reliable in a one week sprint than a two week sprint. Being able to break fully deployable commits into smaller chunks (up to three days coding time) is a skill that gets better with practice. But sometimes you just don't know how long something will take because it needs breaking down and investigating. One week sprints are ideal for timeboxing investigations; here the output isn't software but discrete software tasks that fit in a one week sprint.

Ultimately it's not about trust, it's about accountability and predictability. Sprint planning tools when used appropriately don't constrain engineers, but rather highlight the truth of how things are going.

lifebeyondfife··on Ask HN: Show Us Your Personal Website/Blog?
https://lifebeyondfife.com/

Tech: some coding projects e.g. an old constraint solver in an Excel spreadsheet which helps pick a fantasy football team, opinions on software development, how I designed my wedding ring, and a series of git-for-beginners posts.

I used to self-enforce "must make a post at least once per month" for a few years, but it's been a while since I last blogged regularly. Plan to restart this year with a series on fitness for tech/office workers.

Top tip: choosing a subject matter agnostic name means that you can alter what you blog about as your interests change over the years.

lifebeyondfife··on Ask HN: Cheap places to live with a good intellectual atmosphere?
The date of Brexit at present is 29th March. One worst case scenario is that all aeroplanes entering/leaving the country are grounded. I think it's unlikely but it has been discussed in the press https://www.theguardian.com/business/2017/mar/09/brexit-airl...

You'll probably be fine as a tourist but as I said, it's the uncertainty that's the problem. If it were me, I'd leave a week or two before 29th March.

lifebeyondfife··on Ask HN: Cheap places to live with a good intellectual atmosphere?
No problem.

The unpredicatable nature of weather in Scotland means that if it looks bright and sunny in the morning, you still need to leave your house with a jacket because you cannot guarantee that it won't rain heavily later in the day. Depending on when you take lunch or arrive at work, some people will be drenched, some will enjoy clear skies and sunshine. This isn't necessarily like this every day, but prepare for variability.

The dry air in the winter can make dry your skin, so moisturise well. It can also get windy.

That said, it's fairly temperate. The weather usually goes as low as minus single digit celsius, and as high as sub-30 celsius. And compared to other locations in Scotland it rains a lot less.

https://www.climatedata.eu/climate.php?loc=ukxx0052&lang=en

With regard to Brexit, it's hard to know where to begin so I'll recap and potentially editorialise.

The Conservative party (popular right wing political party), which is currently ruling as a minority government, has historically been split on the subject of integration with Europe. One side likes banks, free trade, free movement and big business and doesn't mind a bit of bureaucracy (pro Europe); the other likes deregulation, sovereignty, controlled immigration, "brass plaques", and small/medium business (anti Europe). This argument led to a polarising vote to the populace about whether we should leave the European Union or not.

Joining the European Union, which the UK did in the 1970s, was initially about centralising trade agreements. Now though it has a common currency (though the UK retains its own independent currency), legislates and regulates on many varied aspects of life and business, and takes huge membership fees and pays out lots of grants. Some see this as a good system even if reform is needed, some absolutely hate this with a passion.

The public vote polarised the country greatly and ended 52%/48% in favour of leaving the EU. Even if the result was conclusive the fact it's within a rounding error, the winning side committed electoral fraud and made lots of promises which they instantly backed down from, and there's evidence of Russian intereference, so there's a lot of bad feeling from both sides as many can't accept the result as final.

The key take away is that the UK has had 2 years to negotiate leaving but being in the EU affects so many aspects of life, that almost nothing has been decided and there remain so many grey areas. The worry now is that no deal will be reached and leaving the EU without a deal creates massive legal uncertainty in almost every industry conceivable, and means all trade between UK and the rest of the world (currently done via EU trade agreements) will instantly get WTO tariffs - in effect putting instantaneous costly barriers to all goods and services.

At present we're hoping politicians will become sensible and sort something out that doesn't plunge the country into financial ruin, but it's the uncertainty that's the problem at the moment.

Add to this, many in Scotland wish to be independent (another similarly polarising issue) and feel their wishes regarding Brexit are being ignored by the UK government (Scotland in comparison to the rest of the UK wanted to decisively remain in the European Union 62%/38%).

So in conclusion: (a) there's a lot of uncertainty about the UK leaving the European Union in spring next year and what this will do to the smooth running of the country (b) if the UK does leave in a crash and burn style, that may lead to renewed calls for Scotland to become independent and who knows what that will look like. Caveat emptor.

(and for full transparency of my personal bias: I'm pro European, anti Conservative party, pro Scottish independence, and was on the 100,000+ march for a 2nd independence referendum at the weekend)

Page 1 of 5Next →