
tempo: 138 bpm
key: f#m
- 32 bars for intro
- 16 bar chorus
- 16 X 3 (48 bar) verse
- 16 bar breakdown
- 16 bar chorus x 2
- 32 bar outro
scales:
a pent
b pent
d pent

tempo: 138 bpm
key: f#m
scales:
a pent
b pent
d pent

THE STRUCTURE
104bpm
dm, dm, em, am
2 64 bar chunks with a 4 bar break in the middle
c,v,pc,c BREAK v,pc,c,c
8 bar intro
16 chorus
16 vs
16 pc
16 chorus
4 bar break
16 vs
16 pc
16 chorus
16 chorus
8 bar outro
A browser extension to detect and adjust track tempo on Bandcamp
Detect and Adjust the tempo of tracks on Bandcamp
👉 Pick from ±6, ±10, ±16, or WIDE mode.
👉 Click on the percentage to reset the tempo
👉 Detect the BPM of tracks on album pages
👉 Adjust tempo on wishlist / collection page
👉 You're now a DJ!
i wonder if lgpt works using ppsspp?
i was excited when delta was added to the app store and i could run lsdj but them remembered i don’t like the sound on the wave channel in emulation.
lsdj has the best interface of all trackers in my opinion. handheld with just 2 buttons is perfect. lgpt is basically the same but made to run samples which is perfect because i really wanted 808s and breakbeats.
lgpts weakness is chords. you have to go lane by lane and line everything up. it’s made for beats and baselines that’s where it shines. it would be perfect to find a phone case that has gameboy style buttons that connects to bluetooth for a perfect handheld tracking experience.
squarebeat i was excited for but keyboard control was never a priority instrthe focus was on touch and that just rubs me the wrong way. might as well use fl mobile.
ios has many options that leave things to be desired my favourite is still koala sampler and audio evolution for laying things out horizontally.
Lip trills, also known as lip bubbles or lip buzzing, are a popular vocal warm-up exercise for singers and public speakers. Here's why they're important:
Physical Warm-up: Lip trills engage the muscles involved in vocal production, including the diaphragm, abdominals, intercostal muscles, and muscles around the lips and mouth. By doing lip trills, you gently warm up these muscles, preparing them for more strenuous vocal activities.
Vocal Flexibility: Lip trills help to increase vocal flexibility and agility. They require control over airflow and the coordination of various muscles, which translates to greater flexibility in vocal range and pitch control.
Relaxation: Lip trills encourage relaxation in the vocal mechanism. When done correctly, they can help to release tension in the throat and neck muscles, promoting a more relaxed and open sound.
Breath Control: Lip trills require consistent airflow, which helps singers develop better breath control and support. By focusing on maintaining a steady stream of air through the lips, singers can improve their breath management skills.
Resonance: Lip trills can also help singers develop resonance in their voices. The buzzing sensation created by the lips helps to stimulate resonance in the vocal tract, leading to a richer, more resonant sound.
Warm-up Routine: Incorporating lip trills into a regular warm-up routine can help establish a consistent vocal routine and promote vocal health. Consistent warm-ups can reduce the risk of vocal strain and injury, allowing singers to perform at their best for longer periods.
Overall, lip trills are an effective and versatile warm-up exercise that offer numerous benefits for singers and speakers alike. They are especially valuable for improving vocal technique, flexibility, and overall vocal health.
These exercises help you internalize the feeling of a lowered larynx because to maintain the buzz tone your technique has to be correct. Using this as a diagnostic feedback is very useful.
“biting an apple”
imagine your biting an apple opposed to yawning. thinking of a spectrum with the pharyngeal NG forward sound on one end and back of the throat roundness of a yawn. Apple bite is the best of both gives you a more balanced tone if your leaning too far in either direction.
dissecting vocal techniques under a microscope and dipping into extremes is useful to understand techniques but its nice to have something that helps you recalibrate back to normal.
I Like to learn by experimenting and feeling what too much feels like and working back from there. The learning and unlearning processes.
sing high notes without falsetto video by power to sing.
so i dropped spotlight for alfred but its annoying that even after reindexing im not getting notes or mail to show up in searches. sucks becaues spotlight usually defaults to web searches when i want to get apps.
MY FIX:
ehhh just use both.
on my redragon TKL keyboard i used karabiner to remap
the right control key to be numpad zero
(originally to trigger shortcuts app)
just re maapped that to trigger spotlight so now ive got regular cmd space for alfred and R ctrl to be spotlight

magic stave uses your phones mic to visualize the input frequency on a staff. helps you better understand where you fit in relation to sheet music and instruments.
the voice is a free fretless instrument its easy to get lost. midi keyboards confused me with transpose buttons i never felt any connection to what middle c was. there were a million cs and none of them were the same across different software. very disoriented felt like playing pin the tail on the donkey. spun around blindfolded.
finally some concrete answers! now i know what c3 feels like in relation to my voice. helps me understand each octave feels different and helps me better grasp when i switch gears into a mixed chest voice it feels like unlocking a map in a video game.
https://apps.apple.com/ca/app/magic-stave-free/id354929718
thats for ios
Use Key-Based Authentication: Instead of relying solely on passwords, use SSH key pairs for authentication. This method is more secure as it eliminates the risk of brute force attacks on passwords.
Disable Root Login: Prevent direct root logins via SSH by setting PermitRootLogin no in your SSH configuration (/etc/ssh/sshd_config). Instead, log in as a regular user and use sudo for administrative tasks.
Change Default SSH Port: Changing the default SSH port (22) can help reduce the number of automated attacks. Specify a custom port in your SSH configuration file (/etc/ssh/sshd_config).
Limit SSH Access: Restrict SSH access to specific users or groups who actually need it. This can be achieved using the AllowUsers, AllowGroups, or DenyUsers directives in the SSH configuration file.
Use Strong Encryption Algorithms: Ensure that SSH is configured to use strong encryption algorithms. Disable weak algorithms and protocols such as SSHv1 and insecure ciphers.
Enable Two-Factor Authentication (2FA): Implement two-factor authentication for SSH logins. This adds an extra layer of security by requiring a second form of authentication, such as a time-based one-time password (TOTP) or a hardware token.
Set Idle Timeout: Configure SSH to disconnect idle sessions after a certain period of inactivity to mitigate the risk of unauthorized access due to abandoned connections.
Monitor SSH Logs: Regularly monitor SSH logs for suspicious activity, such as failed login attempts or unauthorized access. Use tools like fail2ban or sshguard to automatically ban IP addresses with multiple failed login attempts.
Disable SSH Protocol 1 (SSHv1): SSHv1 is considered insecure and should be disabled in favor of SSHv2. Ensure that only SSH protocol version 2 is enabled in your SSH server configuration.
Use TCP Wrappers: Use TCP wrappers (/etc/hosts.allow and /etc/hosts.deny) to control access to SSH services based on IP address or hostname.
Implement Port Knocking: Port knocking is a security technique that involves dynamically opening firewall ports by sending a sequence of connection attempts to predefined ports. This can help conceal the SSH service and protect against port scans.
Regularly Update Software: Keep your SSH server software and system up to date with the latest security patches and updates to mitigate vulnerabilities.
I dont want to use ssh keygen because I already have a pubkey generated previously.
All the other tutorials usually start from there usually,
so heres how you get your pubkey set up on a pi if you've already got one kicking around.
cat ~/.ssh/id_rsa.pub
copy it, login to your pi.
ssh username@raspberrypi.local
mkdir -p ~/.ssh # Create .ssh directory if not exists
touch ~/.ssh/authorized_keys # Create authorized_keys file if not exists
vim ~/.ssh/authorized_keys # Open the authorized_keys file in a text editor
paste it in, change permissions.
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
you could just use raspi-config but heres how to do it from the term.
sudo vim /etc/ssh/
set PasswordAuthentication no
save and restart ssh service
sudo systemctl restart ssh
thought i could just ssh into it.
thought maybe i just forgot what i called the pi.
nmapped but couldnt find it. thought maybe i suck at using nmap.
logged into the router. still didn't see the pi.
ugh I really didn't want to have to get up and grab that hdmi cable.
turns out the network wasn't showing up.
makes sense, since i set the new router to hidden.
used raspi-config to add it back.
tried rebooting still wasn't showing up.
network={
ssid="your SSID"
scan_ssid=1
psk=your PSK
}
then reboot
sooperlooper is really great I forgot.
I was missing mobius and looking around for that one but it hasnt been updated in years and now it wont run on modern macs.
its sad thats a dead project because that was my favourite looper on windows.
was digging around. I tried superlooper before but it wasnt jiving.
Tried installing it again this time it said the typical mac warning
I think thats what stopped me last time
the work around is you hod ctrl (or was it alt?)
and it gives you the option to run the file.
AND IT WORKED!! i was able to load it in auhost.
next problem i wasn't getting audio.
last time i went down a rabbit hole trying to get jack installed on mac. you don't need to mess around with that if you run the au plugin.
the example html
<div>
<p>Paragraph 1</p>
<span>Span 1</span>
<p>Paragraph 2</p>
<span>Span 2</span>
</div>
element ~ sibling {
/* CSS styles */
}
This selector will match all sibling elements that come after the specified "element" in the HTML structure, provided they share the same parent element.
how is that different from p > span {} ?
he difference lies in the specificity of the selectors and the elements they target.
p ~ span {}: This selector targets all elements that are siblings of elements, regardless of their depth in the HTML structure. It selects any that comes after a within the same parent element. p > span {}: This selector targets all elements that are direct children of elements. It only selects elements that are immediate children of elements, not any deeper in the hierarchy. So, the key difference is in how they select elements based on their relationship in the HTML structure. The ~ combinator selects siblings that come after a specified element, while the > combinator selects direct children of a specified element. whats the difference between p > span {} and p + span {} ? The difference between p > span {} and p + span {} lies in the relationship they specify between the and elements: p > span {}: This selector targets elements that are direct children of elements. It selects elements that are immediate descendants of elements. p + span {}: This selector targets elements that are immediately preceded by a element. It selects the first sibling that directly follows a element in the HTML structure. element. element. In CSS, there are several selectors that resemble regular expressions in their pattern matching capabilities. These selectors allow you to target elements based on patterns in their attributes or content. Some of the commonly used ones include: Attribute Selectors: These selectors allow you to target elements based on the presence, value, or partial value of their attributes. Pseudo-classes: These selectors allow you to target elements based on their state or position in the document. Combination Selectors: These selectors allow you to combine multiple selectors to target specific elements. While CSS selectors are not as powerful or flexible as regular expressions, they offer a wide range of options for targeting elements based on various criteria within the document structure and attributes.
css selectors similar to regex
[attr]: Selects elements with the specified attribute.[attr="value"]: Selects elements with the specified attribute and value.[attr^="value"]: Selects elements with the specified attribute and a value that begins with "value".[attr$="value"]: Selects elements with the specified attribute and a value that ends with "value".[attr*="value"]: Selects elements with the specified attribute and a value that contains "value" anywhere within it.
:nth-child(n): Selects elements based on their position among their siblings.:nth-of-type(n): Selects elements based on their position among elements of the same type.:not(selector): Selects elements that do not match the specified selector.:first-child, :last-child: Selects elements based on their position as the first or last child of their parent.:first-of-type, :last-of-type: Selects elements based on their position as the first or last of their type among siblings.
selector1, selector2: Selects elements that match either selector1 or selector2.selector1 selector2: Selects elements that are descendants of selector1 and also match selector2.selector1 > selector2: Selects elements that are direct children of selector1 and also match selector2.
you can export your reading list on desktop buts its ugly and unstyled by default. its a bunch of dt and dl tags (you don't see those often in the wild.
body, a{
background-color: #333;
font-family: monospace;
color: #888;
display: inline-block;
padding: 10px;
margin-bottom: 10px;
text-align: center;
width: 90%;
}
dt >a {
background-color: #444;
border-radius: 10px;
}
a:hover {
color: black;
}
good way to override default browser styles at the head of a sheet before starting a project.
*,
*::before,
*::after {
box-sizing: border-box;
}
* {
margin: 0;
padding: 0;
}
choice eliminator lite is the plugin you add.
it removes options from the list as they get picked.
you can use it to schedule appointments.
another use could be for a potluck,
to maintain unique records.
prevent duplicate items like john bringing the hotdogs
jimmy wont see an option for hotdogs if its already been picked.
practical sheets
this guys channel is amazing for Gapp scripting things.
when working on my site locally in the config.toml I change baseURL to "/" but when i put it on github I sometimes forget what its supposed to be.
baseURL = 'https://bweew.github.io/site1/'
canonifyURLs = true