Apple Shortcut for creating a long-term (per day) stock chart that can be used as a widget with Charty.
- iOS or macOS
- Charty
Apple Shortcut for creating a long-term (per day) stock chart that can be used as a widget with Charty.
brew install openjdk && echo 'export PATH="$(brew --prefix openjdk)/bin:$PATH"' >> ~/.zshrc |
if application "Spotify" is running then | |
using terms from application "Spotify" | |
if player state of application "Spotify" is paused then | |
tell application "Spotify" to play | |
else | |
tell application "Spotify" to pause | |
end if | |
end using terms from | |
else | |
using terms from application "Music" |
/* | |
* 1. Sign in to Firstrade's positions page (https://invest.firstrade.com/cgi-bin/main#/cgi-bin/acctpositions). | |
* 2. Open DevTools (Command + Option + i) JS console (Esc), paste the code below. Then stuff will be copied. | |
* 3. Open a new text file, paste the copied content into it and save it as *.csv. | |
* 4. Go to the Portfolios page on Yahoo Finance (https://finance.yahoo.com/portfolios), click "Import" and upload the file created on step 3. | |
* 5. You now have a new portfolio imported from your Firstrade positions data (you might want to rename it). | |
*/ | |
function getPositionTable() { |
async function lookup(word, dictionaryCode = 'american-english', accessKey = window.ACCESS_KEY) { | |
const response = await fetch( | |
`https://dictionary.cambridge.org/api/v1/dictionaries/${dictionaryCode}/search/first/?q=${word}&format=xml`, | |
{ | |
method: 'GET', | |
headers: { accessKey }, | |
} | |
); | |
const json = await response.json(); | |
const parser = new DOMParser(); |
function delay(ms = 1000) { | |
return new Promise((resolve) => { | |
setTimeout(resolve, ms); | |
}); | |
} | |
function getCourseIdFromPath() { | |
try { | |
const [, id] = window.location.hash.match(/course-wizard\/edit\/([^/]+)/); | |
return id; |
Error: The application encountered the following error: uninitialized constant Bundler::Settings (NameError) | |
/nix/store/li2vmpp6mxqzrs6s95szj1xga380hsv4-sample-rails-app-dev-bundler-env/lib/ruby/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/settings.rb:6:in `<module:Bundler>' | |
/nix/store/li2vmpp6mxqzrs6s95szj1xga380hsv4-sample-rails-app-dev-bundler-env/lib/ruby/gems/2.5.0/gems/bundler-1.17.3/lib/bundler/settings.rb:5:in `<top (required)>' | |
/nix/store/928i2cf1wizgm7dapmnk0m8ijrsjdj43-ruby-2.5.7/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:72:in `require' | |
/nix/store/928i2cf1wizgm7dapmnk0m8ijrsjdj43-ruby-2.5.7/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:72:in `require' | |
/nix/store/li2vmpp6mxqzrs6s95szj1xga380hsv4-sample-rails-app-dev-bundler-env/lib/ruby/gems/2.5.0/gems/bundler-1.17.3/lib/bundler.rb:273:in `settings' | |
/nix/store/li2vmpp6mxqzrs6s95szj1xga380hsv4-sample-rails-app-dev-bundler-env/lib/ruby/gems/2.5.0/gems/bundler-1.17.3/lib/bundler.rb:84:in `configured_bundle_path' | |
const appMachine = Machine({ | |
id: 'app', | |
initial: 'unauthenticated', | |
states: { | |
unauthenticated: { | |
on: { | |
LOGIN: 'authenticated', | |
}, | |
}, | |
authenticated: { |