Skip to content

Instantly share code, notes, and snippets.

View alogic0's full-sized avatar

Oleg Tsybulskyi alogic0

  • Odessa, Ukraine
View GitHub Profile
@alogic0
alogic0 / rn-video.hs
Last active August 17, 2018 21:06
Using regex-applicative for renaming files
module Main where
import Text.Regex.Applicative
import Text.Regex.Applicative.Common
import System.Environment
import Control.Monad.State
-- transformation example: "4_CAM 6_main_20180801101345_20180801101432.avi"
-- --> "20180801101345_20180801101432_4_CAM_6.avi"
-- or: "5_IPC_main_20160807164154_20160807164247.avi"
@alogic0
alogic0 / Cyrillic_in_GHCi.md
Last active August 11, 2018 10:48
Вывод кириллицы в GHCi

source: http://edu.mmcs.sfedu.ru/mod/page/view.php?id=16778
author: Vitaly Bragilevsky

Вывод кириллицы в GHCi

Для того, чтобы в консоли GHCi нормально отображалась кириллица, можно сделать следующее (при условии, что установлена Haskell Platform):

Установить пакет wl-pprint:

cabal install wl-pprint

@alogic0
alogic0 / gasolina.html
Last active January 10, 2019 03:17
error message from a yii site
<html>
<pre>
Phasolina\PhasolinaException: Unknown error in /home/gasonline/www/vendor/gasolina/phasolina/src/Phasolina.php:242
Stack trace:
#0 /home/gasonline/www/frontend/components/User.php(132): Phasolina\Phasolina-&gt;request(Object(Phasolina\Endpoint\CityAccountGetRequest))
#1 /home/gasonline/www/frontend/components/User.php(150): frontend\components\User-&gt;loginByCookie()
#2 /home/gasonline/www/frontend/components/User.php(28): frontend\components\User-&gt;renewAuthStatus()
#3 /home/gasonline/www/vendor/yiisoft/yii2/web/User.php(351): frontend\components\User-&gt;getIdentity()
#4 /home/gasonline/www/vendor/yiisoft/yii2/base/Component.php(130): yii\web\User-&gt;getIsGuest()
#5 /home/gasonline/www/frontend/components/View.php(49): yii\base\Component-&gt;__get('isGuest')
@alogic0
alogic0 / full_moon.sh
Created April 28, 2019 21:33
Full moon dates
#!/bin/bash
moon_ar=(19 17 17 15 14 14 12 12);
c=0;
for i in {05..12};
do LC_TIME=ru_UA.UTF-8 date -d "2019-${i}-${moon_ar[$c]}" +'%B %d %a'; c=$(($c+1));
done \
| sed -E 's/(.+)/\L\1/; s/^(\w)/\U\1/; s/^(\w+)ая /\1ай /; s/^(\w+)я /\1ь /; s/^(\w+)а /\1 /'
@alogic0
alogic0 / git-tips.md
Last active May 12, 2019 22:33
Some git recipes, tips and how-tos.

If you want to list all the files currently being tracked under the branch master, you could use this command:

git ls-tree -r master --name-only
If you want a list of files that ever existed (i.e. including deleted files):
git log --pretty=format: --name-only --diff-filter=A | sort - | sed '/^$/d'
@alogic0
alogic0 / exchange_to_from.pl
Created June 17, 2019 23:28
Exchange "to" and "from" parameters in a URL to booking.uz.gov.ua
#!/usr/bin/perl
## Usage: $0 'https://booking.uz.gov.ua/ru/?time=00%3A00&url=train-wagons&date=2019-08-01&from=2218020&wagon_type_id=%D0%9F&train=058%D0%9B&to=2208001'
use v5.14;
use strict;
use warnings;
say $ARGV[0];
$_=$ARGV[0];
chomp;
@alogic0
alogic0 / GirardNewton.hs
Created January 19, 2021 03:13
Solution for math problem
-- Haskell version of formulae from
-- https://youtu.be/4FNCIYD8HdA
import Control.Monad (join)
import Data.Ratio
oneS :: [Rational]
oneS = join $ repeat [1, (-1)]
pSum :: Int -> Rational
@alogic0
alogic0 / zig_cheetsheet.md
Last active March 7, 2023 18:03 — forked from ityonemo/test.md
Zig in 30 minutes

A half-hour to learn Zig

This is inspired by https://fasterthanli.me/blog/2020/a-half-hour-to-learn-rust/

Basics

the command zig run my_code.zig will compile and immediately run your Zig program. Each of these cells contains a zig program that you can try to run (some of them contain compile-time errors that you can comment out to play with)

@alogic0
alogic0 / reverse_codepoint.zig
Last active April 9, 2023 16:54
reverse utf-8 strings, codepoints only
const std = @import("std");
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
const allocator = gpa.allocator();
fn reverse_string(str: []const u8) ![]u8 {
var len = str.len;
var out = try allocator.alloc(u8, len);
var str_iter = (try std.unicode.Utf8View.init(str)).iterator();
@alogic0
alogic0 / paskha.zig
Last active April 12, 2023 22:47
calc orthodox Easter day
const std = @import("std");
const expect = std.testing.expect;
const expectEqualDeep = std.testing.expectEqualDeep;
const stdout = std.io.getStdOut().writer();
const stderr = std.io.getStdErr().writer();
const cumdaytab = [_][14]i32{
[_]i32{ 0, -1, 30, 58, 89, 119, 150, 180, 211, 242, 272, 303, 333, 364 },
[_]i32{ 0, -1, 30, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 },