Skip to content

Instantly share code, notes, and snippets.

@alexradzin
alexradzin / selftar.sh
Last active April 27, 2025 18:08
Script that creates self extracting executable script from tar.gz file.
#!/bin/sh
if [ $# -eq 0 ]; then
echo "This script creates self extractable executable"
echo Usage: $0 TAR.GZ [COMMAND]
exit;
fi
if [ $# -gt 0 ]; then
TAR_FILE=$1
@alexradzin
alexradzin / Base.java
Last active September 24, 2024 10:28
Failing attempt to instrument base class
public class Base {
public void base() {
System.out.println("Base.base()");
}
public void foo() {
System.out.println("Base.foo()");
}
}
@alexradzin
alexradzin / Book.java
Created February 12, 2019 00:21
Improved Visitor
package visitor;
public class Book implements Visitable {
private final String title;
private final int pageCount;
public Book(String title, int pageCount) {
this.title = title;
this.pageCount = pageCount;
}
@alexradzin
alexradzin / NumbersTest.java
Created April 16, 2023 16:09
Write function that accepts positive number and prints all numbers with number of digits less than given number. For example input=2 should print 1..9, input=3 should print 1..99 etc.
package com.numberstest;
import org.junit.jupiter.api.Test;
import java.util.Arrays;
public class NumbersTest {
@Test
void n() {
printNumbersBuildOfDigitsLessThan(4);
@alexradzin
alexradzin / CyclicRotation.java
Created March 21, 2023 13:08
Codility:CyclicRotation
class CyclicRotation {
public int[] solution(int[] a, int k) {
int res[] = new int[a.length];
for (int i = 0; i < a.length; i++) {
int j = (i + k) % a.length;
res[j] = a[i];
}
return res;
}
}
@alexradzin
alexradzin / binarygap.java
Created March 21, 2023 12:36
Codility:BinaryGap
class BinaryGap {
public int solution(int num) {
boolean start = false;
int maxZeroCount = 0;
int zeroCount = 0;
for (; num > 0 ; num = num / 2) {
int b = num % 2;
if (b == 1 && !start) {
start = true;
@alexradzin
alexradzin / Bird.java
Created February 22, 2023 09:45
Evaluator: alternative to the Visitor pattern
package visitoralternative;
public interface Bird {
}
@alexradzin
alexradzin / git-more.sh
Created August 4, 2022 07:46
Script that iterates over git revisions from oldest to the newest in current branch
#!/bin/sh
pressAnyKey="Press any key to continue"
pressAnyKeySpaces=`echo $pressAnyKey | sed 's/./ /g'`
(git log --pretty="format:%H %s"; echo) | tac | while read line; do
hash=`echo $line | cut -d' ' -f1`;
message=`echo $line | cut -d' ' -f2-`;
git checkout -q $hash;
echo $message;
printf "$pressAnyKey\r"
@alexradzin
alexradzin / Twitter.java
Created June 15, 2022 12:47
Trivial twitter implementation
package com.sunbit;
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@alexradzin
alexradzin / TaskTest.java
Last active June 12, 2022 13:51
Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target.
package com.alexr.exercise;
import org.junit.jupiter.api.Test;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;