Skip to content

Instantly share code, notes, and snippets.

View avilde's full-sized avatar
🚀

Andris Vilde avilde

🚀
View GitHub Profile
@avilde
avilde / compress-mov-to-mp4.sh
Created September 27, 2022 10:34
Compress MOV files to MP4 using FFMPEG
for i in *.mov; do ffmpeg -i "$i" -vcodec libx264 -crf 24 "${i%.*}.mp4"; done
@avilde
avilde / createRandomWithSeed.ts
Last active February 26, 2025 16:59
Mulberry 32-bit random seed generator - Typescript
/* eslint-disable no-bitwise, no-param-reassign, operator-assignment */
// Mulberry32 - 32-bit random seed generator
// Source: https://github.com/bryc/code/blob/master/jshash/PRNGs.md#mulberry32
/**
* Function is used to get the same random value every time to ensure
* data is the same in unit tests and screenshot tests for storybook
* @param seed
* @returns random number based on input seed
@avilde
avilde / FrontEndDeveloper.test.ts
Last active October 15, 2021 15:42
Real life example
import { FrontEndDeveloper } from "./FrontEndDeveloper";
import { StackOverflow } from "./StackOverflow";
describe("FrontEndDeveloper tests", () => {
it("should still drink coffee", () => {
const webDeveloper = new FrontEndDeveloper();
expect(webDeveloper.drinkCoffee()).toContain("coffee ☕");
});
it("should pretend to code", () => {
import { Developer } from "./Developer";
import { StackOverflow } from "./StackOverflow";
export class FrontEndDeveloper extends Developer {
public code(): string {
return StackOverflow.search("How to write unit tests");
}
}
@avilde
avilde / StackOverflow.ts
Last active October 15, 2021 15:17
Secret To Coding
/** Front-end developer secret trick )
1) Right click on URL bar in Chrome
2) Open "Manage search engines..." and "Add" new
3) Fill in data:
Search engine: StackOverflow
Keyword: SO
URL with %s in place of query:
http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=%s site:stackoverflow.com
4) Type SO and press Tab to search
*/
@avilde
avilde / Developer.ts
Created October 15, 2021 14:24
Simple Developer
export class Developer {
public drinkCoffee(): string {
return "Drinking a cup of coffee ☕";
}
}
@avilde
avilde / Developer.test.ts
Last active October 20, 2021 06:26
Simple Unit test - Developer
import { Developer } from "./Developer";
// name
test("should drink coffee", () => {
// setup
const developer = new Developer();
// action
const result = developer.drinkCoffee();
// expectation
expect(result).toContain("coffee ☕");
});
@avilde
avilde / actions.ts
Created August 12, 2021 06:24
Redux State Example
import { BalanceActionType, AddAction, WithdrawAction } from "./types"
export const add = (amount: number): AddAction => ({
type: BalanceActionType.ADD,
payload: amount,
})
export const withdraw = (amount: number): WithdrawAction => ({
type: BalanceActionType.WITHDRAW,
payload: amount,
@avilde
avilde / BalanceState.ts
Created August 12, 2021 06:17
Mobx State Example
import { makeAutoObservable } from "mobx"
export class BalanceState {
balance = 1000
constructor() {
makeAutoObservable(this)
}
add(value: number) {
@avilde
avilde / react-fc-test.json
Created June 4, 2020 06:56
Create new test file for React functional component template
{
"New Test React FC": {
"prefix": "ntfc",
"body": [
"import React from 'react';",
"import { render } from '@testing-library/react';",
"import ${1} from './${1}';",
"",
"it ('${1} renders without crashing', () => {",
"\trender(",