Skip to content

Instantly share code, notes, and snippets.

View listochkin's full-sized avatar

Андрей Листочкин (Andrei Listochkin) listochkin

View GitHub Profile
@listochkin
listochkin / node-command-line-options.txt
Created April 17, 2014 11:00
Node V8 GC-related options
--log_gc (Log heap samples on garbage collection for the hp2ps tool.)
type: bool default: false
--expose_gc (expose gc extension)
type: bool default: false
--max_new_space_size (max size of the new generation (in kBytes))
type: int default: 0
--max_old_space_size (max size of the old generation (in Mbytes))
type: int default: 0
--max_executable_size (max size of executable memory (in Mbytes))
type: int default: 0
@listochkin
listochkin / ember.js-videos.md
Last active January 12, 2024 14:32
Ember.js Video Collection
  1. Официальные видео:
  2. Toran Billups записал очень хорошие базовые видео:
  3. Архитектура:
@listochkin
listochkin / dev-ua-jobs-rules.md
Last active January 12, 2024 14:31
Dev-UA Rules for Job Posting

Правила публикации вакансий в Frontend UA Jobs / Dev-UA Jobs

  1. Одно объявление от одного пользователя в день. Объявление текстом в сообщении, а не ссылкой на какой-то сайт вакансий. В объявлении можно описать несколько вакансий, но в рамках одной компании или команды.
  2. Разрешается публиковать вакансии в компаниях, где сам автор не работает и не участвует, но при условии, что автор может дать ответы на все вопросы о вакансии.
  3. В объявлении стоит описывать:
    • чем занимается команда, что за продукт, какая у компании бизнес-модель, какие источники финансирования проекта, какие риски присутствуют у потенциального соискателя в случае, если он согласится участвовать.
    • тип работы: временный контракт, сдельная, полная занятость, возможна ли удаленка, готовы ли вы перевозить сотрудника из другого города и страны (и какую визу при этом открываете)
    • стек технологий: что используете почему? Если вы не можете ответить на этот вопрос, то лучше вакансию не постить.
  • организация процесса:
@listochkin
listochkin / barinfuck.lol
Last active October 16, 2023 18:02 — forked from DrAzraelTod/gist:1710332
Brainfuck interpreter in Lolcode
HAI
BTW This is a BrainFuck interpreter written in LOLCode
BTW It accepts as input a BF program, followed by a "!", followed by any input to the BF program.
BTW Since BrainFuck is turing-complete, this proves that LOLCode is too
I HAS A INSTRUCTIONS BTW Array for BF instructions
I HAS A IPTR BTW Pointer to first empty element in INSTRUCTIONS
IPTR R 0
I HAS A LOOPZ BTW Array of loop start/end addresses
I HAS A LOOPSTACKZ BTW Loop stack for building the above two
@listochkin
listochkin / objdump-to-c-string.pl
Created August 9, 2023 21:21
objdump to C-string of opcodes
#!/usr/bin/env perl
# SPDX-License-Identifier: CC0 OR 0BSD OR MIT OR Apache-2.0
# 2023 Andrei Listochkin
# Usage: objdump -d program | ./objdump-to-c-string.pl <address_ranges>
# where <address_ranges> can be individual addresses or ranges
# (e.g., `1131-1137 114c 10d8 1171`)
#
# This script parses the output of 'objdump -d program' and generates formatted
@listochkin
listochkin / rust-custom-data-exercise.md
Last active June 29, 2023 10:45
Exercise: custom data for a plugin system

Custom Data for a Plugin System

This exercise is inspired by a real-world scenario encountered by one of Ferrous Systems' customers.

Imagine that we are building the next version of the best code editor out there, and for it we want to introduce a system of plugins that require configuration. Some configuration options are common: every plugin has a name, for example. Other settings can be absolutely unique.

We want to design a type that would allow us to store arbitrary custom data. It should play nicely with the rest of our code base. We want to be able to:

  • Debug-print our plugin configuration
  • compare different configs
@listochkin
listochkin / Cargo.toml
Created June 19, 2023 22:44
Fetcher test for pnpm
[package]
name = "fetch_test"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[profile.release]
debug = true
@listochkin
listochkin / rust-traits-tcp-server-exercise.md
Created June 9, 2023 21:53
Exercise: an interactive TCP echo server

Implement an interactive TCP echo server.

Here's how an interaction with it would look like from a client point of view. You connect to it using netcat, for example:

nc localhost 7878

and type in one line of text. As soon as you hit enter, the server sends the line back but keeps the connection opened. You can type another line and get it back, and so on.

Here's a bit of code to get you started:

@listochkin
listochkin / javascript-static-analysis-tools.md
Created August 16, 2013 13:52
JavaScript Static Analysis Tools

JavaScript Static Analysis Tools

Most people are familiar with these three tools:

  1. [JSHint][1]
  2. [JSLint][2]
  3. [Google Closure Linter][3]

The first one is more popular among developers because it is style-agnostic. The other two enforce rules of [Crockford Style][4] and [Google Code Style][5] respectively.

@listochkin
listochkin / README.md
Created July 9, 2018 12:24 — forked from andyshinn/README.md
pbcopy over SSH

Install

  • Add pbcopy.plist to your ~/Library/LaunchAgents/ folder.
  • Launch the listener with launchctl load ~/Library/LaunchAgents/pbcopy.plist.
  • Add RemoteForward 2224 127.0.0.1:2224 in your ~/.ssh/config file under your Host * or specific hosts sections.
  • Add [ -n "$SSH_CLIENT" ] && alias pbcopy="nc localhost 2224" to your remote ~/.bash_profile or other shell profile.
  • Enjoy pbcopy remotely!