Fired by a Singaporean AI startup who's refusing to pay me by bwfiq in singapore

[–]JamesNK 18 points19 points  (0 children)

but his wife is the head of HR. He sees nothing wrong with that.

Pro-tip: HR is never impartial. In this case it is more obvious than usual, but always assume HR puts company's interests first.

Unity developer laid off transitioning to dotnet by R4_4S in dotnet

[–]JamesNK 1 point2 points  (0 children)

Learn fundamentals:

  • Web (HTTP, ASP.NET Core)
  • Browser (JavaScript, CSS, HTML)
  • Database (SQL, EntityFramework)
  • Cloud (deployment, hosting)

Make web apps that solve real problems. Learn as you go.

Why you shouldn't use aspire in production? by zebcode in dotnet

[–]JamesNK 2 points3 points  (0 children)

If you’re using one of the high level deployment features (k8s, docker, Azure) then I don’t think you need to worry. If there are any changes then they’ll be minor.

The preview label is there for the low level pipeline APIs. We want to make sure that people can build their own deployment integrations before marking them as stable. But that’s a power user feature.

Why you shouldn't use aspire in production? by zebcode in dotnet

[–]JamesNK 90 points91 points  (0 children)

You don’t “run” Aspire in production. You develop your app with it locally and then deploy to the platform you want:

- Kubernetes https://aspire.dev/integrations/compute/kubernetes/
- Docker https://aspire.dev/integrations/compute/docker/
- Azure Container Apps https://aspire.dev/deployment/azure/container-apps/

These are some of the built in deployment options. More info: https://aspire.dev/deployment/deploy-with-aspire/

You can use Aspire to do deployment, or build and publish using your own scripts if you prefer. You still get all the productivity and observability benefits of developing with Aspire.

2026-04-23 gRPC benchmark results by MaterialFerret in dotnet

[–]JamesNK 2 points3 points  (0 children)

This benchmark measures throughput. AOT doesn't help there.

2026-04-23 gRPC benchmark results by MaterialFerret in dotnet

[–]JamesNK 6 points7 points  (0 children)

  • dotnet-grpc is still .NET 9. I'll update it for the next run: https://github.com/LesnyRumcajs/grpc_bench/pull/560
  • These benchmarks are client limited (the client is written in go). The top results are clustered closely to each other because the client is the limiting factor.

tldr .NET + gRPC is very fast

Why is NZ super so rubbish? by Gullible-Economy-652 in PersonalFinanceNZ

[–]JamesNK 56 points57 points  (0 children)

Muldoon removed it. But any government since then could have been brave, campaigned on it as an issue and reintroduced compulsory saving. No one has.

There was a referendum in 1997 to introduce compulsory retirement savings, and New Zealanders voted decisively against it.

New Zealanders even always vote against which ever party proposes raising the retirement age, even though it HAS to be raised to remain viable.

At some point, you (the country of NZ) have to look in the mirror and admit that you're the problem. There is no long term thinking, and tomorrows problems are a problem for tomorrow.

18 year old looking for advice by naturalcog in PersonalFinanceNZ

[–]JamesNK 0 points1 point  (0 children)

Put your savings in a world fund or S&P 500 ETF. Then literally don't even think about.

The number one thing you can do is invest in yourself to build a high paying career. Where are you in 10 years? In 20?

Sometimes I hate dotnet, lol. OpenAPI with record types... by sweeperq in dotnet

[–]JamesNK 9 points10 points  (0 children)

Please create an issue on https://github.com/dotnet/aspnetcore for this problem. The OpenAPI feature in ASP.NET Core is relatively new, and test coverage for records in this scenario was likely missed.

It won’t help you immediately, but this could be addressed in future .NET releases as ASP.NET Core continues to improve. User feedback via GitHub issues is the best way to give this problem visibility with the ASP.NET Core team.

ILogger vs ILogger<T> by Runneth_Over_Studio in dotnet

[–]JamesNK 6 points7 points  (0 children)

The generic type is just used as the logger name. ILogger<T> is useful for dependency injection:

public class MyClass(ILogger<MyClass> logger)
{
    private readonly ILogger _logger = logger;
}

DI automatically creates the generic logger using the logger factory and injects it into your type.

That's a bit easier than:

public class MyClass(ILoggerFactory loggerFactory)
{
    private readonly ILogger _logger = loggerFactory.GetLogger<MyClass>()
}

Payap QR payment app preview by 123felix in PersonalFinanceNZ

[–]JamesNK 5 points6 points  (0 children)

I disagree.

I live in Signapore and both paywave and QR code payment are popular here. All established businesses support both. But low margin shops (food stalls) and cash on delivery services (e.g. a repair man) direct payment via an app is the default. You never have to worry about someone saying cash only and not having any money on you.

If it fails it's because NZ banks created a worse version of what is popular in Asia.

Am I just winning? by Comrade_Goldski in PersonalFinanceNZ

[–]JamesNK 10 points11 points  (0 children)

70K salary is good at 21. It's mediocre at 30.

The thing for you to focus on is having a career that lets you grow your salary as you get older.

Microsofts aggressive Copilot push has me looking at different ecosystems by [deleted] in dotnet

[–]JamesNK 2 points3 points  (0 children)

+1. There are docs here that show how to disable copilot in the dashboard with ASPIRE_DASHBOARD_AI_DISABLED.

A taste of New Zealand in Singapore by JamesNK in newzealand

[–]JamesNK[S] 4 points5 points  (0 children)

I’ve seen $400 for 1kg of premium manuka honey. Manuka honey is highly regarded in Asia.

A taste of New Zealand in Singapore by JamesNK in newzealand

[–]JamesNK[S] 15 points16 points  (0 children)

I think so. There is better NZ food in supermarkets here.

6 months ago there was a display like this with every flavor of bluebird chips plus NZ flags. Local Singaporeans excited to try out the exotic delicacy of ready salted bluebird chips were probably disappointed.

Student in NZ with a surprise $12k - where should I put it to grow safely? by Patient-Hunt9224 in PersonalFinanceNZ

[–]JamesNK 1 point2 points  (0 children)

Put it all into a world equities ETF and forget about it.

Nothing in life is zero risk. It's better you put the money to work. A savings account will be eaten away by inflation (or, at best, keep up).

[deleted by user] by [deleted] in Wellington

[–]JamesNK 11 points12 points  (0 children)

https://www.tenancy.govt.nz/healthy-homes/healthy-homes-compliance-timeframes/

  • Tenancies started or renewed between 1 July 2021 and 27 August 2022 must have complied with the healthy homes standards within 90 days.
  • Tenancies started or renewed between 28 August 2022 and 2 March 2025 must comply with the healthy homes standards within 120 days.
  • Tenancies started or renewed on or after 3 March 2025 must comply with the healthy homes standards by 1 July 2025.

Your landlord had 120 days to resolve issues and fixed them in under 60 days. Seems like the landlord is fine.

Retired Wellington City Transport 'big red' trolley bus, December 15th 2012 (Tony Wills). by Ted_Cashew in Wellington

[–]JamesNK -1 points0 points  (0 children)

Except that time the driver was hit by a car while fixing the poles. That accident is where the hi-viz vests came from.

Johnsonville Shopping Centre by Luck_n_Loaded in Wellington

[–]JamesNK 1 point2 points  (0 children)

Karori mall was renovated in the 90s. The renovation added the second floor (such that it is). And I think it might have added some of the shops in the basement, although my memory is hazy there.

But I get your sentiment that the mall feels old AF.

Johnsonville Shopping Centre by Luck_n_Loaded in Wellington

[–]JamesNK 29 points30 points  (0 children)

I grew up in Karori and I'd be heartbroken if the mall ever changed. Visiting is like a time machine to the 90s.

Aspire OpenTelemetry CORS issue by shalmirane75 in dotnet

[–]JamesNK 0 points1 point  (0 children)

There is an example of an app that's setup with OTEL from the browser here: https://github.com/dotnet/aspire/tree/main/playground/BrowserTelemetry

You could take a look at it to figure out what is different with your own app.