Skip to content

Instantly share code, notes, and snippets.

View remcoros's full-sized avatar
Loading...

Remco Ros remcoros

Loading...
View GitHub Profile
@remcoros
remcoros / forks.md
Last active November 6, 2025 22:36

Why a "temporary" soft fork isn't real, and "future rules" aren't consensus

People seem to talk about ideas like temporary soft forks or future rules when proposing Bitcoin changes. They sound clever, but fall apart once you apply Bitcoin's well-defined axioms and consensus terminology.

Soft Fork vs. Hard Forks

Soft fork: makes some previously valid blocks invalid. Tightens the rule set.

Hard fork: makes some previously invalid blocks valid. Broadens the rule set.

Keybase proof

I hereby claim:

  • I am remcoros on github.
  • I am remcoros (https://keybase.io/remcoros) on keybase.
  • I have a public key whose fingerprint is DC65 5569 AF85 387C 6D8E EAF8 97DB 954E 4EE0 B956

To claim this, I am signing this object:

<Application x:Class="HearthCap.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:converters="clr-namespace:HearthCap.UI.Converters"
xmlns:startUp="clr-namespace:HearthCap.StartUp">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
@remcoros
remcoros / member_online_status.html
Last active February 2, 2021 15:21
Get online PlanetSide 2 outfit members and show them in a table. uses jQuery & KnockoutJS. See www.redmistoutfit.com for an example (it's in the right sidebar)
<script src="//ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.2.min.js" type="text/javascript"></script>
<script src="//ajax.aspnetcdn.com/ajax/knockout/knockout-2.2.1.js" type="text/javascript"></script>
<script type="text/javascript">
(function($) {
var ViewModel = function(options) {
var self = this;
this.options = options;
this.url = 'http://census.soe.com/get/ps2/outfit_member?c:limit=1000&c:resolve=online_status,character(name,battle_rank,active_profile_id)&c:join=type:profile^list:0^inject_at:profile^show:name.en^on:character.active_profile_id^to:id&id=' + this.options.outfit_tag;
this.Members = ko.observableArray([]);
@remcoros
remcoros / ClayJsonConverter.cs
Created February 2, 2012 13:26
ClayJsonConverter
public class ClayJsonConverter : JsonConverter
{
public override bool CanRead
{
get
{
// TODO: read Clay objects
return false;
}
}
@remcoros
remcoros / gist:1717660
Created February 1, 2012 15:50
Clay Walker
// ClayWalker
public class ClayWalker
{
private readonly Func<int, string, object, object> _memberfound;
public ClayWalker(Func<int, string, object, object> memberfound)
{
_memberfound = memberfound;
}
public static class IPFilter
{
public static int MaxRequestsPerGarbageCollect = 60;
public static int GarbageCollectFrequencyInMinutes = 60;
public static Action<Entry> RequestExceededAction = (e) => { }
private static IDictionary<string, Entry> entries = new Dictionary<string, Entry>();
private static DateTime lastGarbageCollect;
public static void Log(string ip)
BlogFrontpage.php: (view)
<h1>
<?= Model->Blog->Name ?>
</h1>
<h2>
<?= Model->Blog->TagLine ?>
</h2>
----