Skip to content

Instantly share code, notes, and snippets.

View asm0dey's full-sized avatar

Pasha Finkelshteyn asm0dey

View GitHub Profile
/**
* Build the Roman-numeral regex fragment via Sift. Mirrors the structure of
* the canonical Python guessit/rebulk Roman regex: a lookahead asserting at
* least one Roman character, followed by greedy thousands / hundreds / tens
* / ones blocks with subtractive pairs listed first so they bind before the
* base letters.
*/
private static SiftPattern<Fragment> buildRomanFragment() {
var romanChar = SiftPatterns.anyOf(
SiftPatterns.literal("M"), SiftPatterns.literal("C"),
@asm0dey
asm0dey / resume.json
Last active September 23, 2022 12:01
{
"basics": {
"label": "Developer Advocate – JetBrains",
"email": "me@asm0dey.site",
"phone": "+4915259817123",
"name": "Pasha Finkelshtein",
"summary": "Developer advocate for data engineering and a polyglot developer. I write in JVM languages (even exotic like Clojure), Python, and JS/TS. I love talking and people. Autonomous, but I don't like isolation. Learning never ends for me.",
"profiles": [
{
"network": "LinkedIn",
<?xml version="1.0" encoding="UTF-8"?>
<!--
-*- rnc -*-
RELAX NG Compact Syntax Grammar for the
Atom Format Specification Version 11
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.w3.org/2005/Atom" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:opds="http://opds-spec.org/2010/catalog" xmlns:atom="http://www.w3.org/2005/Atom">
<xs:import namespace="http://opds-spec.org/2010/catalog" schemaLocation="opds.xsd"/>
<xs:import namespace="http://www.w3.org/1999/xhtml" schemaLocation="xhtml.xsd"/>
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
@asm0dey
asm0dey / model.py
Last active February 13, 2022 18:31
Scan apache repos for their lates releases and respective dates
from __future__ import annotations
from dataclasses import dataclass
from datetime import datetime
from typing import Any, Callable, List, Optional, Type, TypeVar, cast
import dateutil.parser
T = TypeVar("T")
@asm0dey
asm0dey / _RADME.md
Last active February 17, 2021 17:13
To run this script you should have kotlinc in your PATH

Script name should end with .main.kts

This script may be run 2 ways:

  1. kotinc -script -jvm-target 1.8 modifier.main.kts -- <arguments here>
  2. If script has executable bit (chmod +x) it may be run with ./modifier.main.kts -- <arguments here> as it has proper shebang.

This script will update (or read) only values, which are stored inside `` tag (because only they are sored in our specific format)

This file has been truncated, but you can view the full file.
# interpreter check
>[-]<[-]++++++++[>++++++++<-]>[<++++>-]<[>>
>++++[<++++>-]<+[>++++++>+++++++>++>+++>+++++<<<<<-]>>>>>--.<<<-
-------.+++..+++++++.>--.<-----.<++.+.>-.>.<---.++.---.<--.>+++.
<------.>-----.>.<+.<++++..-.>+++++.>.<<---.>-----.>.>+++++.<<<+
.>-----.+++++++++++.>.<<+++++++.+++++.>.<---------.>--.--.++.<.>
++.<.>--.<<++++++++++.
<<[-]]
>[-]<[-]++++++++[>++++++++<-]>[<++++>-]+<[>-<[-]]>[-<
/* 001 */ public Object generate(Object[] references) {
/* 002 */ return new GeneratedIteratorForCodegenStage1(references);
/* 003 */ }
/* 004 */
/* 005 */ // codegenStageId=1
/* 006 */ final class GeneratedIteratorForCodegenStage1 extends org.apache.spark.sql.execution.BufferedRowIterator {
/* 007 */ private Object[] references;
/* 008 */ private scala.collection.Iterator[] inputs;
/* 009 */ private scala.collection.Iterator localtablescan_input_0;
/* 010 */ private boolean deserializetoobject_resultIsNull_0;
package org.jetbrains.spark.api.examples
import org.jetbrains.spark.api.*
data class Left(val id: Int, val name: String)
data class Right(val id: Int, val value: Int)
@asm0dey
asm0dey / CsvSniffer.kt
Last active April 24, 2020 10:41
csv.Sniffer from Python, ported to Kotlin
/**
* BSD 3-Clause License
*
* Copyright (c) [2020], [Pasha Finkelshteyn <asm0dey@jetbrains.com>]
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
This file has been truncated, but you can view the full file.
[2020-04-22 14:59:11] NeoMutt-20200417 debugging at level 6
[2020-04-22 14:59:11]<M> log_file_open() Debugging at level 6 to file '/home/finkel/.neomuttdebug0'
WARNING:
Logging at this level can reveal personal information.
Review the log carefully before posting in bug reports.
[2020-04-22 14:59:11]<2> mutt_window_reflow() entering
[2020-04-22 14:59:11]<3> mutt_path_tidy_dotdot() Collapse path: /tmp/finkel
[2020-04-22 14:59:11]<3> mutt_path_tidy_dotdot() Collapsed to: /tmp/finkel