Skip to content

Instantly share code, notes, and snippets.

View noseratio's full-sized avatar

Andrew Nosenko noseratio

View GitHub Profile

What Hiring Should Look Like

This is definitely not the first time I've written about this topic, but I haven't written formally about it in quite awhile. So I want to revisit why I think technical-position interviewing is so poorly designed, and lay out what I think would be a better process.

I'm just one guy, with a bunch of strong opinions and a bunch of flaws. So take these suggestions with a grain of salt. I'm sure there's a lot of talented, passionate folks with other thoughts, and some are probably a lot more interesting and useful than my own.

But at the same time, I hope you'll set aside the assumptions and status quo of how interviewing is always done. Just because you were hired a certain way, and even if you liked it, doesn't mean that it's a good interview process to repeat.

If you're happy with the way technical interviewing currently works at your company, fine. Just stop, don't read any further. I'm not going to spend any effort trying to convince you otherwise.

@richlander
richlander / modernizing-csharp9.md
Last active April 26, 2024 17:14
Modernizing a codebase for C# 9

Modernizing a codebase for C# 9

There are lots of cases that you can improve. The examples use nullable reference types, but only the WhenNotNull example requires it.

Use the property pattern to replace IsNullorEmpty

Consider adopting the new property pattern, wherever you use IsNullOrEmpty.

string? hello = "hello world";
const streamWithContext = (context, stream) => ({
async next(value) {
return Promise.race([context.cancelled, stream.next(await value)]);
},
async return(value) {
return Promise.race([context.cancelled, stream.return(await value)]);
},
async throw(error) {
return Promise.race([context.cancelled, stream.throw(await error)]);
},
@SimonCropp
SimonCropp / Enabling_OSS_sustainability.md
Last active January 3, 2021 18:51
Enabling OSS sustainability

Add "requesting sponsorship" to package metadata

Package formats (nuget, npm etc) should be amended to add the concept of "this package is requesting sponsorship via ...". The "via..." part could be influence by the GitHub Funding.yml convention.

Surface "requesting sponsorship" in tooling

Once "requesting sponsorship" metadata is added, tooling can expose this in a variety of ways. For example:

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

09.04.2021 — 8h

  • Setup blitz project
  • Add Github and Gmail auth
  • Send emails with link to reset password
  • Create an email template
  • Setup CI for tests and builds
  • Send confirmation email after creating an account with login and password
  • Handle account confirmation on the frontend
  • Update DB models to contain info about origin and confirmed account
@Damovisa
Damovisa / private-health.md
Last active May 8, 2025 10:40
Australian Private Health Insurance

How Private Health Insurance works in Australia (for hospital procedures)

Disclaimer: I'm not an expert, and this is what I've gathered to the best of my ability. I could be wrong in parts. I'm almost certainly missing some detail and have some terminology wrong.

What happens when you go to hospital for a procedure?

If you end up in hospital for a procedure, you'll incur a number of costs. Insurance generally breaks these down into Hospital Expenses, and Medical Expenses. Hospital expenses are things like your bed on the ward, operating theatre fees, and administrative fees. Medical expenses are what your doctors charge - if it's an operation, that'll be your surgeon and the anaesthetist.

If you're a public patient at a public hospital, Medicare will pay for both of these. You shouldn't be out of pocket at all. But if you're a private patient at a public or private hospital, Medicare will only pay some. This is where private health insurance comes in. Private health insurance also means you

@MelbourneDeveloper
MelbourneDeveloper / JsonValue.cs
Created June 24, 2021 07:44
Json Data Structure
using System.Collections.Immutable;
namespace JsonDataStructure
{
public record JsonValue
{
public ValueType ValueType { get; }
public string? StringValue { get; init; }
public bool? BooleanValue { get; init; }
using System;
using System.Reactive.Linq;
using System.Reactive.Subjects;
public class ReplayLimitedSubscriptionsSubject<T> : ISubject<T>
{
private readonly ISubject<T> _subject = new Subject<T>();
private readonly int _replayMaxSubscriptions;
private ReplaySubject<T> _replaySubject;
private int _subscriptionsCount = 0;
@akarpov89
akarpov89 / InterpolatedParsing.cs
Created October 1, 2021 14:58
Interpolated parsing technique
using System.Runtime.CompilerServices;
using static ParsingExtensions;
string input = "Name: Andrew; Age: 31";
string? name = null;
int age = 0;
if (input.TryParse($"Name: {Placeholder(ref name)}; Age: {Placeholder(ref age)}"))
{