Skip to content

Instantly share code, notes, and snippets.

View pH-7's full-sized avatar
:octocat:
💡Creative Engineer 🚀 Enjoying Learning New Exciting Things! 😋 =>My Way of Life 🏝

♚ PH⑦ de Soria™♛ pH-7

:octocat:
💡Creative Engineer 🚀 Enjoying Learning New Exciting Things! 😋 =>My Way of Life 🏝
View GitHub Profile
@pH-7
pH-7 / PhoneLinkComponent.tsx
Created June 9, 2024 01:58
React Native PhoneLink component. e.g. <PhoneLink phoneNumber="+442011145678" />
import React from 'react';
import { StyleSheet, Text, TouchableOpacity, Linking } from 'react-native';
interface PhoneLinkProps {
phoneNumber: string;
}
export const PhoneLink: React.FC<PhoneLinkProps> = ({ phoneNumber }) => {
const handlePress = () => {
Linking.openURL(`tel:${phoneNumber}`);
@pH-7
pH-7 / .tmux.conf
Created June 3, 2024 12:28
My tmux conf file ~/.config/tmux/tmux.conf
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
run '~/.tmux/plugins/tpm/tpm'
@pH-7
pH-7 / retry.ts
Last active May 15, 2024 14:54
Retry - A generic retry function (handy for various use cases)
/**
* A generic retry function (handy for various use cases).
*/
const retry = async <T>(fn: () => Promise<T>, maxRetries = 3, delay = 1000): Promise<T> => {
let retries = 0;
while (retries < maxRetries) {
try {
return await fn();
} catch (error) {
@pH-7
pH-7 / fonts-coding-vs-code.md
Last active June 10, 2024 04:28
My favorite fonts for convenient coding on VS Code

Best fonts for your IDE

  1. Space Mono (my favorite one)
  2. Fira Code (my second favorite one 😄)
  3. MonoLisa
  4. Inconsolata
  5. Apercu Mono
  6. Input Mono
  7. Gintronic
@pH-7
pH-7 / get-mac-finder-preferences.md
Last active April 25, 2024 17:23
Copy Mac Finder preferences to another Mac

Apple's iCloud isn't able to sync the Finder preferences. However, you can copy/paste the following two plist files to your new Mac.

Copy the following two files to your other Mac computer

~/Library/Preferences/com.apple.dock.plist
~/Library/Preferences/com.apple.finder.plist
@pH-7
pH-7 / .vimrc
Last active January 29, 2024 12:07
My ~/.vimrc configuration file
syntax on
@pH-7
pH-7 / install-postgres14-mac-os.md
Last active December 18, 2023 02:44
Install Postgres 14 on Mac OS

Install Postgres 14

First, make sure you have homebrew installed.

Then, in your terminal, run brew install postgresql@14.9

Login into psql postgres

start/stop postgres

@pH-7
pH-7 / install-and-set-default-python-27-mac.md
Last active December 18, 2023 02:18
Install Python v2.7 and set it as default one on Mac OS

Install Python 2.7 on Mac OS

You will need to have Python 2.7 (and not v3 to avoid incompatibilities with some libraries). To check what’s your default Python version, type python -V in your terminal.

brew install pyenv
pyenv install 2.7.18
pyenv global 2.7.18 # set Python 2.7 as the global default one
@pH-7
pH-7 / show-last-tags.sh
Last active May 1, 2024 00:37
Show the last three git tags (very handy) - https://github.com/pH-7
git tag --sort=-creatordate | head -n3
@pH-7
pH-7 / library-versus-require-in-R.md
Last active August 25, 2023 12:00
Which one to load a library in R - "library()" VS "require()" in R

library VS require in R

When loading a library, always use library. Never use require

TL;DR: require breaks one of the fundamental rules of robust software systems, fail early. In a nutshell, this is because, when using require, your code might yield different, erroneous results, without signalling an error. This is rare but not hypothetical! Consider this code, which yields different results depending on whether {dplyr} can be loaded:

On the other hand, require does install the package if hasn’t been installed (whereas library doesn’t).