command -v nvm
nvm current
-- or -- node -v
{ | |
"blog_posts": [ | |
{ | |
"title": "Why obundle is Your Top Choice for BigCommerce Development", | |
"content": "In 2024, having a robust and scalable eCommerce platform is essential for business success. obundle, with its deep expertise in BigCommerce development, stands out as a leader in this space. Our team of seasoned developers understands the intricacies of the BigCommerce platform, ensuring that your store is not only functional but also optimized for performance. We offer tailored solutions that cater to your unique business needs, whether you’re a small startup or a large enterprise. With obundle, you’re not just getting a development service; you’re gaining a partner committed to helping your business thrive in the competitive eCommerce landscape.", | |
"shortDescription": "Discover why obundle is the top choice for BigCommerce development in 2024.", | |
"thumbnailImage": { | |
"url": "https://cdn11.bigcommerce.com/s-5unmz/images/stencil/original/image-manager/pexels-www-erzetich-co |
import SingletonRouter, { Router } from 'next/router'; | |
import { useEffect } from 'react'; | |
const defaultConfirmationDialog = async (msg?: string) => window.confirm(msg); | |
/** | |
* Inspiration from: https://stackoverflow.com/a/70759912/2592233 | |
*/ | |
export const useLeavePageConfirmation = ( | |
shouldPreventLeaving: boolean, |
const Y = (fn) => ((g) => g(g))((g) => fn((x) => g(g)(x))) | |
const factorialGenerator = (f) => (n) => n === 0 ? 1 : n * f(n - 1) | |
const factorial = Y(factorialGenerator) | |
factorial(5) // 120 | |
const sumFromZeroToNGenerator = (f) => (n) => n <= 1 ? n : n + f(n - 1) | |
const sumFromZeroToN = Y(sumFromZeroToNGenerator) | |
sumFromZeroToN(5) // 15 |
hs.alert("Hammerspoon configuration loaded") | |
hs.hotkey.bind({"⌥", "⌃"}, "return", function() hs.reload() end) | |
hs.hotkey.bind({"⌥", "⌃"}, ",", | |
function() hs.execute([[code ~/.hammerspoon]], true) end) | |
hs.hotkey.bind({"⌥", "⌃"}, "space", function() hs.toggleConsole() end) | |
hs.hotkey.bind({"⌥", "⌃"}, "escape", function() | |
hs.osascript.applescript("beep") | |
hs.sound.getByName("Submarine"):play() | |
end) |
// Basic Types | |
let id: number = 5 | |
let company: string = 'Traversy Media' | |
let isPublished: boolean = true | |
let x: any = 'Hello' | |
let ids: number[] = [1, 2, 3, 4, 5] | |
let arr: any[] = [1, true, 'Hello'] | |
// Tuple |
[ | |
{ | |
"name": "Corne 3x6 v2, markstos layout (All Layers)", | |
"author": "https://github.com/markstos", | |
"plate": false, | |
"keyboard-layout-editor": "http://www.keyboard-layout-editor.com/#/gists/adfa7c3cd8f0c6d3a7b9155c6eab1748#file-corne-crkbd_c0psrul3-default-json", | |
"qmk-config": "https://config.qmk.fm/#/crkbd/rev1/LAYOUT" | |
}, | |
[ | |
{ |
noremap f e | |
noremap p r | |
noremap b t | |
noremap j y | |
noremap l u | |
noremap u i | |
noremap y o | |
noremap ' p | |
noremap r s | |
noremap s d |
Online music/voice separator based on neural nets (using best models, including some from Sound Demixing Challenge) https://mvsep.com/
Quality of algorithms comparison https://mvsep.com/en/quality
Details of algorithms https://mvsep.com/en/algorithms
GUI for popular Vocal Remover models that uses Deep Neural Networks.