Skip to content

Instantly share code, notes, and snippets.

View mormegil-cz's full-sized avatar

Petr Kadlec mormegil-cz

View GitHub Profile
@mormegil-cz
mormegil-cz / antiprechylovac.js
Last active May 27, 2016 15:34
Pro fanatické odpůrce přechylování, kterým se z -ová dělá fyzicky špatně. http://wpcz.org/c/13510540
$(function() {
var reFeminine = /([\s,.?!:;()[\]]|^)([A-ZÁČĎÉÍĽŇÓŘŠŤÚÝŽ]\S*)ov(á|é|ou)([\s,.?!:;()[\]]|$)/g;
function defeminize(index, elem) {
var $elem = $(elem);
$elem.html($elem.html().replace(reFeminine, '$1$2$4'));
}
$('#firstHeading, #mw-content-text p').each(defeminize);
});
/*global mediaWiki, jQuery */
/*jslint browser: true, plusplus: true, white: true */
/*jshint browser:true, laxbreak:false, plusplus:false, white:false, undef:true, unused:true */
( function ( mw, $ ) {
'use strict';
if ( /*mw.config.get( 'wgNamespaceNumber' ) || */ !/^(edit|submit)$/.test( mw.config.get( 'wgAction' ) ) ) {
@mormegil-cz
mormegil-cz / DecodeZfo.cs
Created October 2, 2015 09:22
.zfo file decoding // Načtení .zfo souboru
// Načtení/dekódování .zfo souboru vzniklého exportem zprávy z datové schránky
// Ve skutečnosti je .zfo soubor PKCS#7 soubor, v normální společnosti označovaný příponou .p7s,
// obsahující vyexportovanou zprávu podepsanou certifikátem datových schránek.
// Takže jeho načtení je triviální:
object DecodeZfo(string zfoFilename)
{
var msg = File.ReadAllBytes(zfoFilename);
var cms = new SignedCms();
cms.Decode(msg);
/**
* @brief
* Zobrazit u překladů odkazy na Wikislovníky v jiných jazycích
*
* @details
* V sekci „Překlady“ zobrazí u jednotlivých překladů odkazy na příslušné heslo
* ve Wikislovníku v daném jazyce. Nekontroluje existenci cílové stránky.
*
* @author
* [[meta:User:Danny B.]]
$(function() {
var $btn = $('<button>').text('Sitematrix!');
$btn.click(function() {
var api = new mw.Api();
api.get( {
action: 'sitematrix'
} ).done ( function ( data ) {
var result = [];
var matrix = data.sitematrix;
@mormegil-cz
mormegil-cz / CheckuserLinqpad.cs
Created March 20, 2015 09:03
Parsing and processing Checkuser ipusers results in C#/LINQ
// https://cs.wikipedia.org/wiki/Speciální:ApiSandbox#action=query&list=checkuser&format=json&curequest=ipusers&cutarget=.....&cureason=.....&cutoken=.....
dynamic data = JsonConvert.DeserializeObject(File.ReadAllText(@"curesults.json"));
var cudata = Enumerable.Select((IEnumerable<object>)data.query.checkuser.ipusers, cu =>
{
dynamic d = cu;
return new {
d.end,
d.editcount,
SELECT linksfromlist.pl_title, (SELECT COUNT(*) FROM pagelinks incominglinks WHERE incominglinks.pl_title=linksfromlist.pl_title AND incominglinks.pl_namespace=linksfromlist.pl_namespace AND incominglinks.pl_from_namespace=0) linkcount
FROM pagelinks linksfromlist
INNER JOIN page ON linksfromlist.pl_from=page_id
WHERE page_namespace=2 AND page_title='Vojtěch_Dostál/Pískoviště3'
AND linksfromlist.pl_namespace=0
ORDER BY linkcount DESC
@mormegil-cz
mormegil-cz / VolbyStatistiky.cs
Created September 29, 2014 19:33
Triviální statistické zpracování volebních dat z projektu Otevřené volby (ovolby.cz); v tomto případě zjištění rekordně nízkých účastí
// LINQPad C# Program
const int COL_VOLBY = 0;
const int COL_OBVOD = 1;
const int COL_OBEC = 3;
const int COL_K1_VOLICI = 6;
const int COL_K1_OBALKY = 7;
const int COL_K2_VOLICI = 10;
const int COL_K2_OBALKY = 11;
<?php
/**
* Simple emulation of ICU sortkeys for trivial strings (strings containing [A-Za-z0-9] only)
*
* See http://userguide.icu-project.org/collation/architecture#TOC-Sort-Keys
*/
function simple_sort_key($str)
{
@mormegil-cz
mormegil-cz / CodeBowlingReverse.cs
Created January 23, 2014 16:16
A “longest” implementation of a string reverse, per http://codegolf.stackexchange.com/q/19225/6532
This file has been truncated, but you can view the full file.
using System;
using System.Text;
class C
{
static void Main()
{
var c0 = Console.Read();
if (c0 > 0 && c0 != 13)
{