diff --git a/content/About.md b/content/About.md new file mode 100644 index 000000000..4e4e65670 --- /dev/null +++ b/content/About.md @@ -0,0 +1,31 @@ +--- +title: About me +compartir: true +--- + +Hello, my name is Miguel Pimentel. I am a self-taught hobby developer with too many ideas and not enough time. I was born in the Dominican Republic, and I currently live in Minnesota, US. + +I suffer from a chronic case of curiosity, which leads me to learn and do many interesting things like: + +- …designing bike trails and residential roads in AutoCAD Civil 3D. +- …creating my own [browser extensions](https://addons.mozilla.org/en-US/firefox/user/17772574/). +- …teaching [ESL](https://en.wikipedia.org/wiki/English_as_a_second_or_foreign_language). +- …learning web development and computer programming. +- …getting licensed as a Firefighter. +- …getting certified as Emergency Medical Technician. +- …inspecting public road construction projects. +- …working in a construction materials laboratory. + +## Work Experience + +As an Assist. Contract Administrator for [Metro Transit](https://www.metrotransit.org/), I oversee projects through their installation, construction, and commissioning phases. On a day-to-day basis, I manage multiple projects that tie in one way or another to the public transportation system of the Twins Cities' Metro Area in Minnesota. + +With a little over 10 years of experience in public construction, I have amassed a number of unique projects that cover many different fields. It all started when I got my first job as a Civil Engineering Technician for a contracting company near my university. I was at the time attending [INTEC](https://www.intec.edu.do/) while pursuing a Bachelor's in Civil Engineering. Unfortunately, I was unable to finish my college education due to personal problems. + +Nevertheless, today I thrive having experience in not only public infrastructure, but technology, electrical, rail, and bus related projects as well. + +## Reaching Out + +Here are some places you can find me on the web. You'll probably be able to find me in other places too, provided you look hard enough. + +[GitHub](https://github.com/semanticdata/) • [Instagram](https://instagram.com/miguelapv) • [LinkedIn](https://www.linkedin.com/in/miguelpimentel29/) diff --git a/content/Arpeggio.md b/content/Arpeggio.md new file mode 100644 index 000000000..9b24159a2 --- /dev/null +++ b/content/Arpeggio.md @@ -0,0 +1,10 @@ +--- +title: Arpeggio +compartir: true +tags: + - music +--- + +An arpeggio is a type of [[./Chords|broken chord]] in which the notes that compose a chord are individually sounded in a progressive rising or descending order. Arpeggios on keyboard instruments may be called rolled chords. + +Arpeggios indicate a chord in which the notes are sounded individually. The word "arpeggio" comes from the Italian word "arpeggiare," which means to play on a harp. diff --git a/content/Atomic Notes.md b/content/Atomic Notes.md new file mode 100644 index 000000000..d3162c496 --- /dev/null +++ b/content/Atomic Notes.md @@ -0,0 +1,10 @@ +--- +title: Atomic Notes +compartir: true +tags: + - digital-gardening +--- + +Atomic notes are single, self-contained notes that capture a single idea or piece of information. They are meant to be read and understood without needing to refer to anything more. + +They can be connected to another atomic note or idea in some way. By breaking down complex ideas into smaller, atomic notes, one can make their notes more organized and easier to review later. diff --git a/content/Aurora Borealis Sighting.md b/content/Aurora Borealis Sighting.md new file mode 100644 index 000000000..737f43cca --- /dev/null +++ b/content/Aurora Borealis Sighting.md @@ -0,0 +1,79 @@ +--- +title: Aurora Borealis Sighting +description: Wednesday, July 12th, 2023, was supposed to feature high solar activity, allowing for an incredibly large area of the northern United States to witness the Auroras as long as the light pollution was low. Unfortunately, this forecast did not come to pass. The solar activity remained within normal levels, meaning only Alaska and a few other places were able to see them. Thus cancelling these plans. But I liked the idea of presenting things like this in an Archive format. +date: 2023-07-12 +compartir: true +--- + +Wednesday, July 12th, 2023, was supposed to feature high solar activity, allowing for an incredibly large area of the northern United States to witness the Auroras as long as the light pollution was low. + +Unfortunately, this forecast did not come to pass. The solar activity remained within normal levels, meaning only Alaska and a few other places were able to see them. Thus cancelling these plans. But I liked the idea of presenting things like this in an Archive format. + +## Light Pollution Table + +| Location | Distance | Travel Time | Rank\* | +| :----------- | :-------: | :---------: | :----: | +| Minneapolis | 16 miles | 25 minutes | 0 | +| Bloomington | 2 miles | 5 minutes | 1 | +| Chaska | 15 miles | 20 minutes | 2 | +| Farmington | 24 miles | 35 minutes | 3 | +| Jordan | 22 miles | 25 minutes | 4 | +| Norwood | 35 miles | 40 minutes | 5 | +| Gaylord | 55 miles | 60 minutes | 6 | +| Rapidan | 75 miles | 75 minutes | 7 | +| Chengwatana | 95 miles | 90 minutes | 8 | +| Sacred Heart | 105 miles | 120 minutes | 9 | + +**\*** Higher Rank is considered better. + +## Tips to Get a Better Look + +Viewing the aurora depends on four important factors. + +### 1. Geomagnetic Activity + +If the geomagnetic field is active, then the aurora will be brighter and further from the poles. Geomagnetic activity is driven by solar activity and solar coronal holes and thus it waxes and wanes with time. The level of geomagnetic activity is indicated by the planetary K index or Kp. The Kp index ranges from 0 to 9. + +- For Kp in the range 0 to 2, the aurora will be far north, quite dim in intensity, and not very active. +- For Kp in the range of 3 to 5, the aurora will move further from the poles, it will become brighter and there will be more auroral activity (motion and formations). If you are in the right place, these aurora can be quite pleasing to look at. +- For Kp in the range 6 to 7, the aurora will move even further from the poles and will become quite bright and active. At this geomagnetic activity level, it might be possible to see the aurora from the northern edge of the United States. +- For Kp in the range 8 to 9, the aurora will move even further towards the equator and it will become very bright and very active. These are the events that create the best aurora and the extended auroral oval will be observable by the most people. At these levels, aurora may be seen directly overhead from the northern states of the USA. + +It should be noted that the relationship between Kp and auroral latitude are approximate and represent averages. There will be times when these relationships do not hold up exactly. + +There is an approximate relationship between Kp and the equatorward extent of the auroral oval. This relationship holds true in geomagnetic latitude, not geographic. At Kp = 0, the equator ward edge of the auroral oval is approximately 66 degrees. And it moves equatorward about 2 degrees for each level of Kp. So for Kp = 1, the aurora would move down to 64 degrees, for Kp=2, it would move to 62 degrees, etc… until reaching Kp of 9 at 48 degrees magnetic latitude. + +### 2. Location + +Go towards the magnetic poles. The north magnetic pole is currently about 400 km (250 miles) from the geographic pole and is located in the islands of north east Canada. Find a place where you can see to the north ( or south if you are in the southern hemisphere). Given the right vantage point, say for example on top of a hill in the northern hemisphere with an unobstructed view toward the north, a person can see aurora even when it is 1000 km (600 miles) further north. It should be noted that if you are in the right place under the aurora, you can see very nice auroral displays even with low geomagnetic activity (Kp = 3 or 4). + +### 3. It Must Be Dark + +Go out at night. Get away from city lights. The full moon will also diminish the apparent brightness of the aurora (not the actual brightness). One caveat that people often neglect to think of is that the high latitudes where aurora occur are also latitudes where it doesn't get dark in the summer. So combining a summer vacation to the arctic with aurora watching usually doesn't work. The aurora may still be there but it is only visible when it is dark. + +### 4. Timing + +Best aurora is usually within an hour or two of midnight (between 10 PM and 2 AM local time). These hours of active aurora expand towards evening and morning as the level of geomagnetic activity increases. There may be aurora in the evening and morning but it is usually not as active and therefore, not as visually appealing. + +The best Seasons for aurora watching are around the spring and fall equinoxes. Due to subtleties in the way the solar wind interacts with Earth's magnetosphere, there is a tendency towards larger geomagnetic storms, and thus better auroras, to occur near the equinoxes. However, the number of hours of darkness decreases (increases) rapidly near the spring (fall) equinox so this caveat must be considered for those traveling to see the aurora. + +Below are maps showing the most southern extent of where aurora might be observable for different levels of the geomagnetic Kp index (and the NOAA G scale). It should be noted that the aurora can often be observed hundreds of kilometers (miles) equatorward of the actual aurora so these figures do not indicate where the aurora may be but rather the point from which it may be observed. + +## Aurora Forecast + +### July 12th, 2023 + +![NOAA Space Weather Prediction Center - G-Kp](https://www.swpc.noaa.gov/sites/default/files/images/u2/Aurora_Kp_MapNorthAm.png) +G is NOAA Geomagnetic Storm Index (0–5) +Kp is Planetary K Index (0–9) + +### September 18th, 2023 + +![aurora forecast for 2023-09-18](https://raw.githubusercontent.com/semanticdata/public-test/main/JPEG/aurora-2.jpg) + +## Additional Resources + +- [Aurora Forecast](https://www.gi.alaska.edu/monitors/aurora-forecast) +- [Aurora Dashboard](https://www.swpc.noaa.gov/content/aurora-dashboard-experimental) +- [Space Weather Phenomena](https://www.swpc.noaa.gov/phenomena) +- [Dive Deeper Into the Science of the Aurora](https://www.swpc.noaa.gov/content/aurora-tutorial) diff --git a/content/Bookmarklets.md b/content/Bookmarklets.md new file mode 100644 index 000000000..5edf1c8fd --- /dev/null +++ b/content/Bookmarklets.md @@ -0,0 +1,562 @@ +--- +title: Bookmarklet Collection +compartir: true +--- + +You may drag the links underneath each heading to your bookmarks bar. This will create a new bookmark with the correct name and URL. + +Alternatively, you may copy the code for a bookmarklet and create your own. If you find it easier, you may use this [Bookmarklet Maker](https://caiorss.github.io/bookmarklet-maker/). + +## Utilities + +### Calculator + +Calculator + +```js +javascript: var evl, + em, + expr = prompt('Formula... (eg: 2*3 + 7/8)', ''); +with (Math) + try { + evl = parseFloat(eval(expr)); + if (isNaN(evl)) { + throw Error('Not a number!'); + } + void prompt('Result:', evl); + } catch (em) { + alert(em); + } +``` + +### Find Text and Highlight It + +Find Text and Highlight It + +```js +javascript: (function () { + var count = 0, + text, + dv; + text = prompt('Search phrase:', ''); + if (text == null || text.length == 0) return; + hlColor = prompt('Color:', 'yellow'); + dv = document.defaultView; + function searchWithinNode(node, te, len) { + var pos, skip, spannode, middlebit, endbit, middleclone; + skip = 0; + if (node.nodeType == 3) { + pos = node.data.toUpperCase().indexOf(te); + if (pos >= 0) { + spannode = document.createElement('SPAN'); + spannode.style.backgroundColor = hlColor; + middlebit = node.splitText(pos); + endbit = middlebit.splitText(len); + middleclone = middlebit.cloneNode(true); + spannode.appendChild(middleclone); + middlebit.parentNode.replaceChild(spannode, middlebit); + ++count; + skip = 1; + } + } else if ( + node.nodeType == 1 && + node.childNodes && + node.tagName.toUpperCase() != 'SCRIPT' && + node.tagName.toUpperCase != 'STYLE' + ) { + for (var child = 0; child < node.childNodes.length; ++child) { + child = child + searchWithinNode(node.childNodes[child], te, len); + } + } + return skip; + } + window.status = "Searching for '" + text + "'..."; + searchWithinNode(document.body, text.toUpperCase(), text.length); + window.status = + 'Found ' + + count + + ' occurrence' + + (count == 1 ? '' : 's') + + ' of %27' + + text + + '%27.'; +})(); +``` + +### First Commit of Repository + +First Commit of Repository + +```js +javascript: ((b) => + fetch('https://api.github.com/repos/' + b[1] + '/commits?sha=' + (b[2] || '')) + .then((c) => Promise.all([c.headers.get('link'), c.json()])) + .then((c) => { + if (c[0]) { + var d = c[0].split(',')[1].split(';')[0].slice(2, -1); + return fetch(d).then((e) => e.json()); + } + return c[1]; + }) + .then((c) => c.pop().html_url) + .then((c) => (window.location = c)))( + window.location.pathname.match(/\/([^\/]+\/[^\/]+)(?:\/tree\/([^\/]+))?/), +); +``` + +### Tab Title Editor + +Tab Title Editor + +```js +javascript: void (document.title = + prompt('Enter page title') ?? document.title); +``` + +### Tab Title and Icon Editor + +Tab Title and Icon Editor + +```js +javascript:document.title=prompt('Welcome to the Tab Cloak setup!\n\nEnter the title you want to set for this tab::');var icon=document.querySelector(`link[rel='icon']`);if (!icon) {icon = document.createElement('link');icon.rel='icon';};switch(prompt('What icon would you like to use?\n\n[1] Google Search\n[2] Google Drive\n[3] Custom URL\n\nPlease only enter a number!%27)){case%271%27:icon.setAttribute(%27href%27,%27https://www.google.com/favicon.ico%27);break;case%272%27:icon.setAttribute(%27href%27,%27https://ssl.gstatic.com/images/branding/product/1x/drive_2020q4_32dp.png%27);break;case%273%27:icon.setAttribute(%27href%27,prompt(%27Please enter the URL for the icon you want:%27));} document.head.appendChild(icon); +``` + +### URL to QR Code + +URL to QR Code + +```js +javascript: void(() => { open('https://chart.apis.google.com/chart?cht=qr&chs=300x300&chld=L|2&chl=%27 + (prompt(%27Enter text for QR code:%27) ?? (function() { throw null; }())), null, %27location=no,status=yes,menubar=no,scrollbars=no,resizable=yes,width=500,height=500,modal=yes,dependent=yes%27)})(); +``` + +### Open in Archive.is + +Open in Archive.is + +```js +javascript: (() => { + var url = + 'https://archive.is/' + + encodeURI( + window.location.protocol + + '//' + + window.location.hostname + + window.location.pathname, + ); + window.open(url, '_blank'); +})(); +``` + +### Post to Hacker News + +Post to Hacker News + +```js +javascript:void%20function(){var%20a=document.querySelector(%22meta[property='og:title']%22)%3Fdocument.querySelector(%22meta[property='og:title']%22).getAttribute(%22content%22):document.title,b=window.getSelection%26%262%3Cwindow.getSelection().toString().length%3Fwindow.getSelection().toString():a,c=encodeURIComponent,d=%22u=%22+c(document.location.href)+%22%26t=%22+c(b);setTimeout(function(){window.location.assign(%22https://news.ycombinator.com/submitlink%3F%22+d)},0)}(); +``` + +### Add to Raindrop + +Add to Raindrop + +```js +javascript:(function()%7Bvar rspW%3D450%2CrspH%3D600%2CrspL%3DparseInt((screen.width%2F2)-(rspW%2F2))%2CrspT%3DparseInt((screen.height%2F2)-(rspH%2F2))%3Bwindow.open( +``` + +### Waterize Page + +Waterize Page + +```js +javascript:(function()%7B%2F%2F%20Water.css%20Bookmarklet%0A%2F%2F%20---------------------%0A%0Aconst%20%24%24%20%3D%20(selector)%20%3D%3E%20document.querySelectorAll(selector)%0Aconst%20createElement%20%3D%20(tagName%2C%20properties)%20%3D%3E%20Object.assign(document.createElement(tagName)%2C%20properties)%0A%0A%2F%2F%20Remove%20all%20CSS%20stylesheets%2C%20external%20and%20internal%0A%24%24('link%5Brel%3D%22stylesheet%22%5D%2Cstyle').forEach((el)%20%3D%3E%20el.remove())%0A%0A%2F%2F%20Remove%20all%20inline%20styles%0A%24%24('*').forEach((el)%20%3D%3E%20(el.style%20%3D%20''))%0A%0Aconst%20linkElm%20%3D%20createElement('link'%2C%20%7B%0A%20%20rel%3A%20'stylesheet'%2C%0A%20%20href%3A%20'https%3A%2F%2Fcdn.jsdelivr.net%2Fnpm%2Fwater.css%402%2Fout%2Flight.css'%0A%7D)%0A%0A%2F%2F%20Add%20water.css%20and%20responsive%20viewport%20(if%20necessary)%0Adocument.head.append(%0A%20%20linkElm%2C%0A%20%20!%24%24('meta%5Bname%3D%22viewport%22%5D').length%20%26%26%20createElement('meta'%2C%20%7B%0A%20%20%20%20name%3A%20'viewport'%2C%0A%20%20%20%20content%3A%20'width%3Ddevice-width%2Cinitial-scale%3D1.0'%0A%20%20%7D)%0A)%0A%0A%2F%2F%20Theme%20switching%20icons%0Aconst%20moonSVG%20%3D%20'%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22feather%20feather-moon%22%3E%3Cpath%20d%3D%22M21%2012.79A9%209%200%201%201%2011.21%203%207%207%200%200%200%2021%2012.79z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E'%0Aconst%20sunSVG%20%3D%20'%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20class%3D%22feather%20feather-sun%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%225%22%3E%3C%2Fcircle%3E%3Cline%20x1%3D%2212%22%20y1%3D%221%22%20x2%3D%2212%22%20y2%3D%223%22%3E%3C%2Fline%3E%3Cline%20x1%3D%2212%22%20y1%3D%2221%22%20x2%3D%2212%22%20y2%3D%2223%22%3E%3C%2Fline%3E%3Cline%20x1%3D%224.22%22%20y1%3D%224.22%22%20x2%3D%225.64%22%20y2%3D%225.64%22%3E%3C%2Fline%3E%3Cline%20x1%3D%2218.36%22%20y1%3D%2218.36%22%20x2%3D%2219.78%22%20y2%3D%2219.78%22%3E%3C%2Fline%3E%3Cline%20x1%3D%221%22%20y1%3D%2212%22%20x2%3D%223%22%20y2%3D%2212%22%3E%3C%2Fline%3E%3Cline%20x1%3D%2221%22%20y1%3D%2212%22%20x2%3D%2223%22%20y2%3D%2212%22%3E%3C%2Fline%3E%3Cline%20x1%3D%224.22%22%20y1%3D%2219.78%22%20x2%3D%225.64%22%20y2%3D%2218.36%22%3E%3C%2Fline%3E%3Cline%20x1%3D%2218.36%22%20y1%3D%225.64%22%20x2%3D%2219.78%22%20y2%3D%224.22%22%3E%3C%2Fline%3E%3C%2Fsvg%3E'%0A%0A%2F%2F%20Theme%20toggling%20logic%0Aconst%20toggleBtn%20%3D%20createElement('button'%2C%20%7B%0A%20%20innerHTML%3A%20sunSVG%2C%0A%20%20ariaLabel%3A%20'Switch%20theme'%2C%0A%20%20style%3A%20%60%0A%20%20%20%20position%3A%20fixed%3B%0A%20%20%20%20top%3A%2050px%3B%0A%20%20%20%20right%3A%2050px%3B%0A%20%20%20%20margin%3A%200%3B%0A%20%20%20%20padding%3A%2010px%3B%0A%20%20%20%20line-height%3A%201%3B%0A%20%20%60%0A%7D)%0A%0Alet%20theme%20%3D%20'light'%0Aconst%20toggleTheme%20%3D%20()%20%3D%3E%20%7B%0A%20%20if%20(theme%20%3D%3D%3D%20'light')%20%7B%0A%20%20%20%20theme%20%3D%20'dark'%0A%20%20%20%20toggleBtn.innerHTML%20%3D%20moonSVG%0A%20%20%20%20linkElm.href%20%3D%20'https%3A%2F%2Fcdn.jsdelivr.net%2Fnpm%2Fwater.css%402%2Fout%2Fdark.css'%0A%20%20%7D%20else%20%7B%0A%20%20%20%20theme%20%3D%20'light'%0A%20%20%20%20linkElm.href%20%3D%20'https%3A%2F%2Fcdn.jsdelivr.net%2Fnpm%2Fwater.css%402%2Fout%2Flight.css'%0A%20%20%20%20toggleBtn.innerHTML%20%3D%20sunSVG%0A%20%20%7D%0A%7D%0A%0AtoggleBtn.addEventListener('click'%2C%20toggleTheme)%0Adocument.body.append(toggleBtn)%7D)()%3B +``` + +## Web Development + +### New CSS Goggles + +```js +javascript: (function () { + let domStyle = document.getElementById('domStylee'); + if (domStyle) { + document.body.removeChild(domStyle); + return; + } + domStyle = document.createElement('style'); + domStyle.setAttribute('id', 'domStylee'); + domStyle.append( + [ + '* { color:#0f0!important;outline:solid #f00 1px!important; background-color: rgba(255,0,0,.2) !important; }', + ], + ['* * { background-color: rgba(0,255,0,.2) !important; }'], + ['* * * { background-color: rgba(0,0,255,.2) !important; }'], + ['* * * * { background-color: rgba(255,0,255,.2) !important; }'], + ['* * * * * { background-color: rgba(0,255,255,.2) !important; }'], + ['* * * * * * { background-color: rgba(255,255,0,.2) !important; }'], + ['* * * * * * * { background-color: rgba(255,0,0,.2) !important; }'], + ['* * * * * * * * { background-color: rgba(0,255,0,.2) !important; }'], + [ + '* * * * * * * * * { background-color: rgba(0,0,255,.2) !important; }', + ].join(), + ); + document.body.appendChild(domStyle); +})(); +``` + +```js +javascript:(function()%7Bjavascript%3A%20(function%20()%20%7B%0A%20%20let%20domStyle%20%3D%20document.getElementById(%22domStylee%22)%3B%0A%20%20if%20(domStyle)%20%7B%0A%20%20%20%20document.body.removeChild(domStyle)%3B%0A%20%20%20%20return%3B%0A%20%20%7D%0A%20%20domStyle%20%3D%20document.createElement(%22style%22)%3B%0A%20%20domStyle.setAttribute(%22id%22%2C%20%22domStylee%22)%3B%0A%20%20domStyle.append(%0A%20%20%20%20%5B%0A%20%20%20%20%20%20%22*%20%7B%20color%3A%230f0!important%3Boutline%3Asolid%20%23f00%201px!important%3B%20background-color%3A%20rgba(255%2C0%2C0%2C.2)%20!important%3B%20%7D%22%2C%0A%20%20%20%20%5D%2C%0A%20%20%20%20%5B%22*%20*%20%7B%20background-color%3A%20rgba(0%2C255%2C0%2C.2)%20!important%3B%20%7D%22%5D%2C%0A%20%20%20%20%5B%22*%20*%20*%20%7B%20background-color%3A%20rgba(0%2C0%2C255%2C.2)%20!important%3B%20%7D%22%5D%2C%0A%20%20%20%20%5B%22*%20*%20*%20*%20%7B%20background-color%3A%20rgba(255%2C0%2C255%2C.2)%20!important%3B%20%7D%22%5D%2C%0A%20%20%20%20%5B%22*%20*%20*%20*%20*%20%7B%20background-color%3A%20rgba(0%2C255%2C255%2C.2)%20!important%3B%20%7D%22%5D%2C%0A%20%20%20%20%5B%22*%20*%20*%20*%20*%20*%20%7B%20background-color%3A%20rgba(255%2C255%2C0%2C.2)%20!important%3B%20%7D%22%5D%2C%0A%20%20%20%20%5B%22*%20*%20*%20*%20*%20*%20*%20%7B%20background-color%3A%20rgba(255%2C0%2C0%2C.2)%20!important%3B%20%7D%22%5D%2C%0A%20%20%20%20%5B%22*%20*%20*%20*%20*%20*%20*%20*%20%7B%20background-color%3A%20rgba(0%2C255%2C0%2C.2)%20!important%3B%20%7D%22%5D%2C%0A%20%20%20%20%5B%0A%20%20%20%20%20%20%22*%20*%20*%20*%20*%20*%20*%20*%20*%20%7B%20background-color%3A%20rgba(0%2C0%2C255%2C.2)%20!important%3B%20%7D%22%2C%0A%20%20%20%20%5D.join()%0A%20%20)%3B%0A%20%20document.body.appendChild(domStyle)%3B%0A%7D)()%3B%7D)()%3B +``` + +### CSS Goggles + +CSS Goggles + +```javascript +javascript: (function() { let domStyle = document.getElementById('domStylee'); if (domStyle) { document.body.removeChild(domStyle); return; } domStyle = document.createElement("style"); domStyle.setAttribute('id', 'domStylee'); domStyle.append( ['* { color:#0f0!important;outline:solid%20#f00%201px!important;%20background-color:%20rgba(255,0,0,.2)%20!important;%20}'],%20%20%20%20['*%20*%20{%20background-color:%20rgba(0,255,0,.2)%20!important;%20}'],%20%20%20%20['*%20*%20*%20{%20background-color:%20rgba(0,0,255,.2)%20!important;%20}'],%20%20%20%20['*%20*%20*%20*%20{%20background-color:%20rgba(255,0,255,.2)%20!important;%20}'],%20%20%20%20['*%20*%20*%20*%20*%20{%20background-color:%20rgba(0,255,255,.2)%20!important;%20}'],%20%20%20%20['*%20*%20*%20*%20*%20*%20{%20background-color:%20rgba(255,255,0,.2)%20!important;%20}'],%20%20%20%20['*%20*%20*%20*%20*%20*%20*%20{%20background-color:%20rgba(255,0,0,.2)%20!important;%20}'],%20%20%20%20['*%20*%20*%20*%20*%20*%20*%20*%20{%20background-color:%20rgba(0,255,0,.2)%20!important;%20}'],%20%20%20%20['*%20*%20*%20*%20*%20*%20*%20*%20*%20{%20background-color:%20rgba(0,0,255,.2)%20!important;%20}'].join()%20%20);%20%20document.body.appendChild(domStyle);})(); +``` + +### Contrast Cheker + +Contrast Checker + +```js +javascript:(function(){var constrastletelem = document.getElementById("contrastletdragable");if (constrastletelem == null) {var contrastletdragable = document.createElement("div");contrastletdragable.id = "contrastletdragable";contrastletdragable.style.width = "384px";contrastletdragable.style.position = "absolute";contrastletdragable.style.right = "20px";contrastletdragable.style.top = window.pageYOffset+20+"px";contrastletdragable.style.zIndex = "10000";contrastletdragable.style.boxSizing = "content-box";var contrastletdragzone = document.createElement("div");contrastletdragzone.id = "contrastletdragzone";contrastletdragzone.style.width = "100%";contrastletdragzone.style.height = "15px";contrastletdragzone.style.cursor = "move";contrastletdragzone.style.backgroundColor = "#0f2c65";contrastletdragzone.style.boxSizing = "content-box";contrastletdragable.appendChild(contrastletdragzone);document.body.appendChild(contrastletdragable);var contrastletclose = document.createElement("button");contrastletclose.id = "contrastletclose";contrastletclose.style.width = "15px";contrastletclose.style.height = "15px";contrastletclose.style.float = "right";contrastletclose.style.padding = "0";contrastletclose.style.border = "0";contrastletclose.style.borderTop = "1px solid #0f2c65";contrastletclose.style.borderRight = "1px solid #0f2c65";contrastletclose.setAttribute("aria-label", "Close Contrast Checker");contrastletclose.addEventListener( "click", function () {contrastletdragable.remove(); }, false,);var contrastletclosetext = document.createTextNode("X");contrastletclose.appendChild(contrastletclosetext);contrastletdragzone.appendChild(contrastletclose);var contrastlet = document.createElement("iframe");contrastlet.src = "https://webaim.org/resources/contrastchecker/mini?ver=1&a="+Math.random();contrastlet.style.width = "380px";contrastlet.style.height = "368px";contrastlet.style.margin = "0px";contrastlet.style.borderStyle = "solid";contrastlet.style.borderColor = "#0f2c65";contrastlet.style.boxSizing = "content-box";contrastletdragable.appendChild(contrastlet);let x = 0;let y = 0;const mouseDownHandler = function (e) {x = e.clientX;y = e.clientY;document.addEventListener("mousemove", mouseMoveHandler);document.addEventListener("mouseup", mouseUpHandler);};const mouseMoveHandler = function (e) {const dx = e.clientX - x;const dy = e.clientY - y;contrastletdragable.style.top = %60${contrastletdragable.offsetTop + dy}px%60;contrastletdragable.style.left = %60${contrastletdragable.offsetLeft + dx}px%60;x = e.clientX;y = e.clientY;};const mouseUpHandler = function () {document.removeEventListener("mousemove", mouseMoveHandler);document.removeEventListener("mouseup", mouseUpHandler);};contrastletdragable.addEventListener("mousedown", mouseDownHandler);document.addEventListener("keyup", function(event) {if (event.keyCode === 27) {contrastletdragable.remove();}});contrastlet.addEventListener("keyup", function(event) {if (event.keyCode === 27) {contrastletdragable.remove();}});document.addEventListener("securitypolicyviolation", (e) => {contrastlet.remove();var contrastleterrortext = document.createTextNode("The Content Security Policy on this page does not allow embedded iframes. The Contrast Checker Bookmarklet cannot run on this page. Press Esc to dismiss this message.");contrastletdragable.style.backgroundColor="#fff";contrastletdragable.appendChild(contrastleterrortext);});}})(); +``` + +### CSS Switch + +CSS Switch + +```js +javascript:(function()%7Bvar%20body%20%3D%20document.getElementsByTagName('body')%5B0%5D%3Bscript%20%3D%20document.createElement('script')%3Bscript.type%3D%20'text%2Fjavascript'%3Bscript.src%3D%20'https%3A%2F%2Fdohliam.github.io%2Fdropin-minimal-css%2Fswitcher.js'%3Bbody.appendChild(script)%7D)() +``` + +### Show Stylesheets + +Show Stylesheets + +```js +javascript: s = document.getElementsByTagName('STYLE'); +ex = document.getElementsByTagName('LINK'); +d = window.open().document; +/*set base href*/ d.open(); +d.close(); +b = d.body; +function trim(s) { + return s.replace(/^\s*\n/, '').replace(/\s*$/, ''); +} +function iff(a, b, c) { + return b ? a + b + c : ''; +} +function add(h) { + b.appendChild(h); +} +function makeTag(t) { + return d.createElement(t); +} +function makeText(tag, text) { + t = makeTag(tag); + t.appendChild(d.createTextNode(text)); + return t; +} +add(makeText('style', 'iframe{width:100%;height:18em;border:1px solid;')); +add(makeText('h3', (d.title = 'Style sheets in ' + location.href))); +for (i = 0; i < s.length; ++i) { + add(makeText('h4', 'Inline style sheet' + iff(' title="', s[i].title, '"'))); + add(makeText('pre', trim(s[i].innerHTML))); +} +for (i = 0; i < ex.length; ++i) { + rs = ex[i].rel.split(' '); + for (j = 0; j < rs.length; ++j) + if (rs[j].toLowerCase() == 'stylesheet') { + add( + makeText( + 'h4', + 'link rel="' + + ex[i].rel + + '" href="' + + ex[i].href + + '"' + + iff(' title="', ex[i].title, '"'), + ), + ); + iframe = makeTag('iframe'); + iframe.src = ex[i].href; + add(iframe); + break; + } +} +void 0; +``` + +### CSS Stats + +Stats + +```js +javascript:location.href='http://cssstats.com/stats?url=%27+window.location.href +``` + +### Performance Analyzer + +Performance Analyzer + +```js +javascript: (function () { + var el = document.createElement('script'); + el.type = 'text/javascript'; + el.src = + 'https://micmro.github.io/performance-bookmarklet/dist/performanceBookmarklet.min.js'; + el.onerror = function () { + alert( + 'Looks like the Content Security Policy directive is blocking the use of bookmarklets\n\nYou can copy and paste the content of:\n\n"https://micmro.github.io/performance-bookmarklet/dist/performanceBookmarklet.min.js"\n\ninto your console instead\n\n(link is in console already)', + ); + console.log( + 'https://micmro.github.io/performance-bookmarklet/dist/performanceBookmarklet.min.js', + ); + }; + document.getElementsByTagName('body')[0].appendChild(el); +})(); +``` + +### Font Finder + +Font Finder + +```js +javascript: (function () { + function getSelectedNode() { + if (window.getSelection().focusNode === null) return null; + return window.getSelection().focusNode.parentNode; + } + function getNodeFontStack(node) { + return window.getComputedStyle(node).fontFamily; + } + function getFirstAvailableFont(fonts) { + for (let font of fonts) { + let fontName = font.trim().replace(/"/g, ''); + let isAvailable = document.fonts.check(`16px ${fontName}`); + if (!isAvailable) continue; + return fontName; + } + } + let node = getSelectedNode(); + if (!node) { + window.alert('Please select a string of text and try again.'); + return; + } + let fonts = getNodeFontStack(node).split(','); + let firstAvailableFont = getFirstAvailableFont(fonts); + window.alert(`Font: ${firstAvailableFont}`); +})(); +``` + +### View Fonts + +View Fonts + +```js +javascript: void (function (d) { + var e = d.createElement('script'); + e.setAttribute('type', 'text/javascript'); + e.setAttribute('charset', 'UTF-8'); + e.setAttribute( + 'src', + '//www.typesample.com/assets/typesample.js?r=' + Math.random() * 99999999, + ); + d.body.appendChild(e); +})(document); +``` + +### Indentify Fonts + +Identify Fotns + +```js +javascript: void (function (d) { + var e = d.createElement('script'); + e.setAttribute('type', 'text/javascript'); + e.setAttribute('charset', 'UTF-8'); + e.setAttribute( + 'src', + '//www.typesample.com/assets/typesample.js?r=' + Math.random() * 99999999, + ); + d.body.appendChild(e); +})(document); +``` + +### Stress Test + +Stress Test + +```js +javascript:(function()%7Bvar%20d=document,s=d.createElement('script'),doit=function()%7Bif(window.stressTest)%7BstressTest.bookmarklet();%7Delse%7BsetTimeout(doit,100);%7D%7D;s.src='https://rawgithub.com/andyedinborough/stress-css/master/stressTest.js?_='%2BMath.random();(d.body%7C%7Cd.getElementsByTagName('head')%5B0%5D).appendChild(s);doit();%7D)(); +``` + +### Quick Edit + +Quick Edit + +```js +javascript: (function () { + document.designMode = 'on'; + const s = document.createElement('style'); + s.innerHTML = `body::before{content:'%E2%9C%8F%EF%B8%8F Edit Mode (ESC to end)';z-index:64;padding:1em;background:white;color:black;display:block;margin:1em;font-size:30px;border:5px solid green;}`; + document.body.appendChild(s); + window.scrollTo(0, 0); + document.addEventListener('keyup', (e) => { + if (e.key === 'Escape') { + document.designMode = 'off'; + s.remove(); + document.removeEventListener('keyup', e); + } + }); +})(); +``` + +### Edit Current Page + +Edit Current Page + +```js +javascript: document.body.contentEditable = 'true'; +document.designMode = 'on'; +void 0; +``` + +### User Agent Stats + +User Agent Stats + +```js +javascript: void (() => { + prompt('User agent:', navigator.userAgent); +})(); +``` + +### WebDev Multi Tools + +WebDev Multi Tools + +```js +javascript:(function () %7Bvar v %3D document.createElement(%27script%27)%3Bv.src %3D %27https%3A%2F%2Fcdn.jsdelivr.net%2Fgh%2FBrowncha023%2FVengeance%40v1.2.0%2Fscript.min.js%27%3Bdocument.body.appendChild(v)%3B%7D()) +``` + +### Website Stack + +Website Stack + +```js +javascript: (function () { + var el = document.createElement('script'); + el.type = 'text/javascript'; + el.src = + 'https://micmro.github.io/performance-bookmarklet/dist/performanceBookmarklet.min.js'; + el.onerror = function () { + alert( + 'Looks like the Content Security Policy directive is blocking the use of bookmarklets\n\nYou can copy and paste the content of:\n\n"https://micmro.github.io/performance-bookmarklet/dist/performanceBookmarklet.min.js"\n\ninto your console instead\n\n(link is in console already)', + ); + console.log( + 'https://micmro.github.io/performance-bookmarklet/dist/performanceBookmarklet.min.js', + ); + }; + document.getElementsByTagName('body')[0].appendChild(el); +})(); +``` + +### Website Dev Stack + +Website Dev Stack + +```js +javascript: (function () { + var d = document, + e = d.getElementById('wappalyzer-container'); + if (e !== null) { + d.body.removeChild(e); + } + var u = 'https://www.wappalyzer.com/', + t = new Date().getTime(), + c = d.createElement('div'), + p = d.createElement('div'), + l = d.createElement('link'), + s = d.createElement('script'); + c.setAttribute('id', 'wappalyzer-container'); + l.setAttribute('rel', 'stylesheet'); + l.setAttribute('href', u + 'css/bookmarklet.css'); + d.head.appendChild(l); + p.setAttribute('id', 'wappalyzer-pending'); + p.setAttribute( + 'style', + 'background-image: url(' + u + 'images/spinner.gif) !important', + ); + c.appendChild(p); + s.setAttribute('src', u + 'bookmarklet/wappalyzer.js'); + s.onload = function () { + window.wappalyzer = new Wappalyzer(); + s = d.createElement('script'); + s.setAttribute('src', u + 'bookmarklet/apps.js'); + s.onload = function () { + s = d.createElement('script'); + s.setAttribute('src', u + 'bookmarklet/driver.js'); + c.appendChild(s); + }; + c.appendChild(s); + }; + c.appendChild(s); + d.body.appendChild(c); +})(); +``` + +### Website Stack - Built With + +Website Stack - Built With + +```js +javascript: void open( + 'https://builtwith.com/?' + encodeURIComponent(location.href), +); +``` + +### Heatmap - Web Loading Time + +Heatmap - Web Loading Time + +```js +javascript: (function () { + var el = document.createElement('script'); + el.src = 'https://zeman.github.io/perfmap/perfmap.js'; + document.body.appendChild(el); +})(); +``` + +### Instagram - Download Photo + +Instagram - Download Photo + +```js +javascript:(function(){;!function(e)%7Bvar%20t=%7B%7D;function%20n(a)%7Bif(t%5Ba%5D)return%20t%5Ba%5D.exports;var%20r=t%5Ba%5D=%7Bi:a,l:!1,exports:%7B%7D%7D;return%20e%5Ba%5D.call(r.exports,r,r.exports,n),r.l=!0,r.exports%7Dn.m=e,n.c=t,n.d=function(e,t,a)%7Bn.o(e,t)%7C%7CObject.defineProperty(e,t,%7Benumerable:!0,get:a%7D)%7D,n.r=function(e)%7B%22undefined%22!=typeof%20Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,%7Bvalue:%22Module%22%7D),Object.defineProperty(e,%22__esModule%22,%7Bvalue:!0%7D)%7D,n.t=function(e,t)%7Bif(1&t&&(e=n(e)),8&t)return%20e;if(4&t&&%22object%22==typeof%20e&&e&&e.__esModule)return%20e;var%20a=Object.create(null);if(n.r(a),Object.defineProperty(a,%22default%22,%7Benumerable:!0,value:e%7D),2&t&&%22string%22!=typeof%20e)for(var%20r%20in%20e)n.d(a,r,function(t)%7Breturn%20e%5Bt%5D%7D.bind(null,r));return%20a%7D,n.n=function(e)%7Bvar%20t=e&&e.__esModule?function()%7Breturn%20e.default%7D:function()%7Breturn%20e%7D;return%20n.d(t,%22a%22,t),t%7D,n.o=function(e,t)%7Breturn%20Object.prototype.hasOwnProperty.call(e,t)%7D,n.p=%22%22,n(n.s=0)%7D(%5Bfunction(e,t,n)%7B%22use%20strict%22;n.r(t);var%20a=function(e,t)%7Breturn(a=Object.setPrototypeOf%7C%7C%7B__proto__:%5B%5D%7Dinstanceof%20Array&&function(e,t)%7Be.__proto__=t%7D%7C%7Cfunction(e,t)%7Bfor(var%20n%20in%20t)Object.prototype.hasOwnProperty.call(t,n)&&(e%5Bn%5D=t%5Bn%5D)%7D)(e,t)%7D;function%20r(e,t)%7Bif(%22function%22!=typeof%20t&&null!==t)throw%20new%20TypeError(%22Class%20extends%20value%20%22+String(t)+%22%20is%20not%20a%20constructor%20or%20null%22);function%20n()%7Bthis.constructor=e%7Da(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new%20n)%7DObject.create;function%20o(e,t)%7Bvar%20n=%22function%22==typeof%20Symbol&&e%5BSymbol.iterator%5D;if(!n)return%20e;var%20a,r,o=n.call(e),i=%5B%5D;try%7Bfor(;(void%200===t%7C%7Ct--%3E0)&&!(a=o.next()).done;)i.push(a.value)%7Dcatch(e)%7Br=%7Berror:e%7D%7Dfinally%7Btry%7Ba&&!a.done&&(n=o.return)&&n.call(o)%7Dfinally%7Bif(r)throw%20r.error%7D%7Dreturn%20i%7DObject.create;var%20i=function()%7Bfunction%20e(e,t)%7Bthis._program=e,this._module=t%7Dreturn%20e.prototype.image=function(e)%7Bthis._program.setImageLink(e),this._program.foundImage=!0,this._program.foundByModule=this._module.getName(),window.open(this._program.imageLink)%7D,e.prototype.video=function(e)%7Bvar%20t=function(e)%7Bvar%20t=new%20URL(e);return%20t.host=%22scontent.cdninstagram.com%22,t.href%7D(e);window.open(t),this._program.foundByModule=this._module.getName(),this._program.foundVideo=!0,this._program.alertNotInInstagramPost=!0%7D,e%7D(),s=function()%7Bfunction%20e()%7B%7Dreturn%20e.prototype.error=function(e,t)%7Bvar%20n=this.getName();console.error(n+%22()%22,%22%5Binstantgram%5D%20%22+t.VERSION,e)%7D,e%7D();function%20u(e)%7Bvar%20t=%5B%5D;for(t.push(e);e.parentNode;)t.unshift(e.parentNode),e=e.parentNode;return%20t%7Dfunction%20d(e)%7Bvar%20t=e%5BObject.keys(e).find(function(e)%7Breturn%20e.includes(%22Instance%22)%7C%7Ce.includes(%22Fiber%22)%7D)%5D;return%20t%7C%7Cnull%7Dfunction%20l(e)%7Bvar%20t,n;return%7Bquality:e.getAttribute(%22FBQualityClass%22),bandwidth:parseInt(e.getAttribute(%22bandwidth%22)),baseUrl:null===(n=null===(t=e.querySelector(%22BaseURL%22))%7C%7Cvoid%200===t?void%200:t.textContent)%7C%7Cvoid%200===n?void%200:n.trim()%7D%7Dfunction%20m(e,t)%7Breturn%22hd%22===e.quality&&%22hd%22!==t.quality?-1:%22hd%22!==e.quality&&%22hd%22===t.quality?1:t.bandwidth-e.bandwidth%7Dfunction%20c(e)%7Bvar%20t,n;if(e.src&&!e.src.startsWith(%22blob:%22))return%20e.src;var%20a=d(e),r=null==a?void%200:a.return.memoizedProps.fallbackSrc;if(r)return%20r;var%20o=null===(t=null==a?void%200:a.return.return)%7C%7Cvoid%200===t?void%200:t.memoizedProps.manifest;if(!o)return%20null;var%20i=(new%20DOMParser).parseFromString(o,%22text/xml%22),s=Array.from(i.querySelectorAll('Representation%5BmimeType=%22video/mp4%22%5D')).map(l).filter(function(e)%7Breturn%20e.baseUrl%7D);return%20s.sort(m),null===(n=s%5B0%5D)%7C%7Cvoid%200===n?void%200:n.baseUrl%7Dvar%20g=function(e)%7Bvar%20t,n,a,r,i,s=d(o(u(e).filter(function(e)%7Breturn%22SECTION%22===e.nodeName%7D).reverse(),1)%5B0%5D),l=null===(i=null===(r=null===(a=null===(n=null===(t=null==s?void%200:s.return)%7C%7Cvoid%200===t?void%200:t.return)%7C%7Cvoid%200===n?void%200:n.return)%7C%7Cvoid%200===a?void%200:a.memoizedProps)%7C%7Cvoid%200===r?void%200:r.post)%7C%7Cvoid%200===i?void%200:i.videoUrl;return%20l%7C%7Cc(e)%7D,p=function(e)%7Bfunction%20t()%7Breturn%20null!==e&&e.apply(this,arguments)%7C%7Cthis%7Dreturn%20r(t,e),t.prototype.getName=function()%7Breturn%22ImageVideoInStories%22%7D,t.prototype.execute=function(e)%7Bvar%20t=!1,n=null;try%7Bif(e.isStory)%7Bvar%20a=document.querySelector(%22body%22),r=a.querySelectorAll(%22video%22),o=a.querySelectorAll(%22button%5Baria-label%5D%22)%5B0%5D.nextElementSibling.querySelector(e.mediaImageElExpression)%7C%7Ca.querySelector(e.mediaImageElExpressions.img),s=%22%22;r.length%3E0?(s=g(r%5B0%5D),n=%22video%22):(s=o.src,n=%22image%22);var%20u=new%20i(e,this);if(s&&(u%5Bn%5D(s),t=!0),!1===t&&e.videos.length%3E0)%7Bvar%20d=g(e.videos%5B0%5D);if(!d&&e.videos%5B0%5D.children)%7Bvar%20l=e.videos%5B0%5D.children%5B0%5D;d=g(l)%7Dd&&(u.video(d),t=!0)%7D%7D%7Dcatch(t)%7Bthis.error(t,e)%7Dreturn%20t%7D,t%7D(s);function%20f(e)%7Bvar%20t=window,n=e.getBoundingClientRect();return%20n.bottom%3E0&&n.right%3E0&&n.left%3Ct.innerWidth&&n.top%3Ct.innerHeight%7Dvar%20h=function(e)%7Bfunction%20t()%7Breturn%20null!==e&&e.apply(this,arguments)%7C%7Cthis%7Dreturn%20r(t,e),t.prototype.getName=function()%7Breturn%22VideoInPostAndModal%22%7D,t.prototype.execute=function(e)%7Bvar%20t=!1;try%7Bif(e.isPost)%7Bvar%20n=void%200;if(1===e.videos.length&&(e.videos%5B0%5D.hasAttribute(%22playsinline%22)%7C%7Ce.videos%5B0%5D.hasAttribute(%22loop%22))&&(n=c(e.videos%5B0%5D)),e.videos.length%3E1)%7Bvar%20a=Array.from(e.videos).filter(f).find(function(e)%7Breturn%20e.hasAttribute(%22playsinline%22)%7C%7Ce.hasAttribute(%22loop%22)%7D);a&&(n=c(a))%7Dn&&((new%20i(e,this)).video(n),t=!0)%7Delse;%7Dcatch(t)%7Bthis.error(t,e)%7Dreturn%20t%7D,t%7D(s);function%20v(e,t)%7Bvar%20n,a,r=!1,o=%22%22,i=(t%7C%7Ce%5B0%5D.closest('%5Brole=%22presentation%22%5D')).parentElement,s=Array.from(i.querySelectorAll(%22button%5Baria-label%22)).filter(function(e)%7Breturn%20e.parentElement===i%7D),u=1===s.length&&%22previous%22===(null===(n=d(s%5B0%5D))%7C%7Cvoid%200===n?void%200:n.return.memoizedProps.direction),l=1===s.length&&%22next%22===(null===(a=d(s%5B0%5D))%7C%7Cvoid%200===a?void%200:a.return.memoizedProps.direction);return%20r%7C%7C(1===s.length&&l&&(o=e%5B0%5D.src,r=!0),1===s.length&&u&&(o=e%5B1%5D.src,r=!0),3===e.length&&(o=e%5B1%5D.src,r=!0)),o%7Dfunction%20y(e)%7Breturn%22user-avatar%22===e.getAttribute(%22data-testid%22)%7C%7C%22span%22===e.parentElement.localName%7C%7C%22a%22===e.parentElement.localName%7C%7Cu(e).filter(function(e)%7Breturn%22HEADER%22===e.nodeName%7D).length%3E0%7Dvar%20_=function(e)%7Bfunction%20t()%7Breturn%20null!==e&&e.apply(this,arguments)%7C%7Cthis%7Dreturn%20r(t,e),t.prototype.getName=function()%7Breturn%22ImageInPostAndModal%22%7D,t.prototype.execute=function(e)%7Bvar%20t=!1;try%7Bif(e.isPost)%7Bvar%20n=void%200,a=document.querySelector('article%5Brole=%22presentation%22%5D'),r=a.querySelector('%5Brole=%22presentation%22%5D')%7C%7Ca;if(r)%7Bvar%20o=%5B%5D;a.querySelectorAll(%22img%22).forEach(function(e)%7Bf(e)&&!y(e)&&o.push(e)%7D),1===e.images.length&&(n=e.images%5B0%5D.src,t=!0),t%7C%7C1!==o.length%7C%7C(n=o%5B0%5D.src,t=!0),t%7C%7C(n=v(o,r)),n?((new%20i(e,this)).image(n),t=!0):e.context=%7BhasMsg:!0,msg:%22index#program#screen@alert_dontFound%22%7D%7D%7D%7Dcatch(t)%7Bthis.error(t,e)%7Dreturn%20t%7D,t%7D(s),b=function(e)%7Bfunction%20t()%7Breturn%20null!==e&&e.apply(this,arguments)%7C%7Cthis%7Dreturn%20r(t,e),t.prototype.getName=function()%7Breturn%22ImageOnScreen%22%7D,t.prototype.execute=function(e)%7Bvar%20t=!1;try%7Bvar%20n=void%200,a=Array.from(document.querySelectorAll('article%5Brole=%22presentation%22%5D')).filter(f);a.reverse();var%20r=a%5B0%5D;if(r)%7Bfor(var%20o=r.querySelectorAll(%22img%22),s=%5B%5D,u=0;u%3Co.length;u++)%7Bvar%20d=o%5Bu%5D;f(d)&&!y(d)&&s.push(d)%7Dif(1===s.length&&(n=s%5B0%5D.src),!n)n=v(s,r.querySelector('div%5Brole=%22presentation%22%5D'));n?((new%20i(e,this)).image(n),t=!0):e.context=%7BhasMsg:!0,msg:%22index#program#modal@alert_dontFound%22%7D%7D%7Dcatch(t)%7Bthis.error(t,e)%7Dreturn%20t%7D,t%7D(s),x=%7Blangs:%7B%22de-DE%22:%7B%22helpers.localize_defaultlang%22:%22Ausgew%C3%A4hlte%20Sprache:%20$%7BLANG_DEFAULT%7D%20%5Cn%20Weitere%20Informationen%20zu%20den%20unterst%C3%BCtzten%20Sprachen%20findest%20du%20auf%20http://theus.github.io/instantgram%22,%22modules.update@oudated_outdated%22:%22%5Binstantgram%5D%20ist%20veraltet.%20Bitte%20besuche%20die%20Seite%20http://theus.github.io/instantgram%20f%C3%BCr%20ein%20Update.%22,%22modules.update@oudated_localInfo%22:%22%5Binstantgram%5D%20Installierte%20Version%20$%7Bdata.version%7D%20%7C%20Neue%20Version:%20$%7Bdata.gitVersion%7D%22,%22modules.update@determineIfGetUpdateIsNecessary_contacting%22:%22%5Binstantgram%5D%20sucht%20nach%20neuen%20verf%C3%BCgbaren%20Updates%E2%80%A6%22,%22modules.update@determineIfGetUpdateIsNecessary_updated%22:%22%5Binstantgram%5D%20wurde%20aktualisiert.%22,%22modules.update@determineIfGetUpdateIsNecessary_@alert_found%22:%22%5Binstantgram%5D%20hat%20ein%20neues%20Update%20gefunden.%5CnBitte%20besuche%20die%20Seite%20http://theus.github.io/instantgram,%20um%20das%20Update%20zu%20installieren.%22,%22index@alert_onlyWorks%22:%22%5Binstantgram%5D%20funktioniert%20nur%20mit%20instagram.com.%22,%22index#program#modal@alert_dontFound%22:%22%5Binstantgram%5D%20konnte%20kein%20Bild%20in%20diesem%20Post%20finden.%20Bitte%20%C3%B6ffne%20den%20Link%20in%20einem%20neuen%20Tab.%22,%22index#program#post@alert_dontFound%22:%22Ops,%20%5Binstantgram%5D%20konnte%20leider%20kein%20Bild%20finden%20%20:-(%22,%22index#program#screen@alert_dontFound%22:%22%5Binstantgram%5D%20hat%20mehr%20als%201%20Bild%20gefunden.%20Bist%20du%20in%20der%20Profilansicht?%20Falls%20ja,%20%C3%B6ffne%20bitte%20zuerst%20einen%20einzelnen%20Post%20und%20f%C3%BChre%20%5Binstantgram%5D%20erneut%20aus.%22,%22index#program@alert_dontFound%22:%22Ops,%20hast%20du%20einen%20Instagram%20Post%20ge%C3%B6ffnet?%20Zum%20Beispiel%20instagram.com/p/82jd828jd%22%7D,%22en-US%22:%7B%22helpers.localize_defaultlang%22:%22%5Binstantgram%5D%20set%20language:%20$%7BLANG_DEFAULT%7D%20%5Cn%20For%20more%20information%20about%20available%20languages%20please%20check%20http://theus.github.io/instantgram%22,%22modules.update@oudated_outdated%22:%22%5Binstantgram%5D%20is%20outdated.%20Please%20check%20http://theus.github.io/instantgram%20for%20available%20updates.%22,%22modules.update@oudated_localInfo%22:%22%5Binstantgram%5D%20Installed%20version:%20$%7Bdata.version%7D%20%7C%20New%20update:%20$%7Bdata.gitVersion%7D%22,%22modules.update@determineIfGetUpdateIsNecessary_contacting%22:%22%5Binstantgram%5D%20is%20looking%20for%20available%20updates%E2%80%A6%22,%22modules.update@determineIfGetUpdateIsNecessary_updated%22:%22%5Binstantgram%5D%20updated%20your%20current%20version.%22,%22modules.update@determineIfGetUpdateIsNecessary_@alert_found%22:%22%5Binstantgram%5D%20found%20a%20new%20available%20update.%5CnPlease%20check%20http://theus.github.io/instantgram%20to%20install%20it.%22,%22index@alert_onlyWorks%22:%22%5Binstantgram%5D%20only%20works%20on%20instagram.com.%22,%22index#program#modal@alert_dontFound%22:%22%5Binstantgram%5D%20didn't%20find%20any%20image%20in%20this%20Instagram%20post.%20Please%20try%20to%20open%20the%20link%20in%20a%20new%20tab.%22,%22index#program#post@alert_dontFound%22:%22Ops,%20%5Binstantgram%5D%20couldn't%20find%20any%20image%20%20:-(%22,%22index#program#screen@alert_dontFound%22:%22%5Binstantgram%5D%20found%20more%20than%201%20image.%20Are%20you%20on%20a%20profile%20page?%20If%20yes,%20please%20open%20a%20single%20post%20first%20and%20open%20%5Binstantgram%5D%20again.%22,%22index#program@alert_dontFound%22:%22Ops,%20did%20you%20open%20any%20Instagram%20post?%20Like%20for%20example%20instagram.com/p/82jd828jd%22%7D,%22es-AR%22:%7B%22helpers.localize_defaultlang%22:%22%5Binstantgram%5D%20elegir%20idioma:%20$%7BLANG_DEFAULT%7D%20%5Cn%20Para%20m%C3%A1s%20informaci%C3%B3n%20acerca%20de%20los%20idiomas%20disponibles,%20por%20favor%20visite%20http://theus.github.io/instantgram%22,%22modules.update@oudated_outdated%22:%22%5Binstantgram%5D%20est%C3%A1%20desactualizado.%20Por%20favor%20visite%20http://theus.github.io/instantgram%20para%20ver%20actualizaciones.%22,%22modules.update@oudated_localInfo%22:%22%5Binstantgram%5D%20Versi%C3%B3n%20instalada:%20$%7Bdata.version%7D%20%7C%20Nueva%20actualizaci%C3%B3n:%20$%7Bdata.gitVersion%7D%22,%22modules.update@determineIfGetUpdateIsNecessary_contacting%22:%22%5Binstantgram%5D%20est%C3%A1%20buscando%20nuevas%20actualizaciones%E2%80%A6%22,%22modules.update@determineIfGetUpdateIsNecessary_updated%22:%22%5Binstantgram%5D%20actualiz%C3%B3%20a%20la%20versi%C3%B3n%20actual.%22,%22modules.update@determineIfGetUpdateIsNecessary_@alert_found%22:%22%5Binstantgram%5D%20encontr%C3%B3%20una%20nueva%20actualizaci%C3%B3n%20disponible.%5CnPor%20favor%20visite%20http://theus.github.io/instantgram%20para%20instalarla.%22,%22index@alert_onlyWorks%22:%22%5Binstantgram%5D%20s%C3%B3lo%20funciona%20en%20instagram.com.%22,%22index#program#modal@alert_dontFound%22:%22%5Binstantgram%5D%20no%20encontr%C3%B3%20ninguna%20imagen%20en%20esta%20publicaci%C3%B3n%20de%20Instagram.%20Por%20favor%20intente%20abrir%20el%20link%20en%20una%20nueva%20pesta%C3%B1a.%22,%22index#program#post@alert_dontFound%22:%22Ups,%20%5Binstantgram%5D%20no%20pudo%20encontrar%20ninguna%20imagen%20:-(%22,%22index#program#screen@alert_dontFound%22:%22%5Binstantgram%5D%20encontr%C3%B3%20m%C3%A1s%20de%201%20imagen.%20%C2%BFEst%C3%A1s%20en%20una%20p%C3%A1gina%20de%20perfil?%20Si%20es%20as%C3%AD,%20por%20favor%20ingresa%20en%20una%20publicaci%C3%B3n%20y%20luego%20abre%20%5Binstantgram%5D%20nuevamente.%22,%22index#program@alert_dontFound%22:%22Ups,%20abriste%20alguna%20publicaci%C3%B3n%20de%20Instagram?%20Por%20ejemplo%20instagram.com/p/82jd828jd%22%7D,%22pt-BR%22:%7B%22helpers.localize_defaultlang%22:%22%5Binstantgram%5D%20idioma%20configurado:%20$%7BLANG_DEFAULT%7D%20%5Cnpara%20mais%20informa%C3%A7%C3%B5es%20sobre%20os%20idiomas%20suportados,%20acesse%20http://theus.github.io/instantgram%22,%22modules.update@oudated_outdated%22:%22%5Binstantgram%5D%20est%C3%A1%20desatualizado.%20Acesse%20http://theus.github.io/instantgram%20para%20atualizar%22,%22modules.update@oudated_localInfo%22:%22%5Binstantgram%5D%20vers%C3%A3o%20local:%20$%7Bdata.version%7D%20%7C%20nova%20vers%C3%A3o:%20$%7Bdata.gitVersion%7D%22,%22modules.update@determineIfGetUpdateIsNecessary_contacting%22:%22%5Binstantgram%5D%20est%C3%A1%20procurando%20atualiza%C3%A7%C3%B5es...%22,%22modules.update@determineIfGetUpdateIsNecessary_updated%22:%22%5Binstantgram%5D%20informa%C3%A7%C3%B5es%20locais%20atualizadas%22,%22modules.update@determineIfGetUpdateIsNecessary_@alert_found%22:%22%5Binstantgram%5D%20encontrou%20uma%20atualiza%C3%A7%C3%A3o.%5Cn%20acesse%20theus.github.io/instantgram%20para%20atualizar%22,%22index@alert_onlyWorks%22:%22%5Binstantgram%5D%20somente%20funciona%20no%20instagram.com%22,%22index#program#modal@alert_dontFound%22:%22%5Binstantgram%5D%20n%C3%A3o%20encontrou%20uma%20imagem%20em%20um%20post.%20Tente%20abrir%20o%20link%20em%20uma%20nova%20aba.%22,%22index#program#post@alert_dontFound%22:%22ops,%20%5Binstantgram%5D%20n%C3%A3o%20encontrou%20a%20imagem%20:(%22,%22index#program#screen@alert_dontFound%22:%22%5Binstantgram%5D%20a%20procura%20por%20imagem%20na%20tela%20encontrou%20mais%20de%201%20imagem.%20Voc%C3%AA%20est%C3%A1%20em%20um%20perfil?%20Se%20sim,%20abra%20alguma%20imagem%20antes%20de%20rodar%20o%20%5Binstantgram%5D%22,%22index#program@alert_dontFound%22:%22ops,%20voc%C3%AA%20est%C3%A1%20em%20algum%20post%20do%20instagram?%20ex:%20instagram.com/p/82jd828jd%22%7D%7D%7D,I=%7Bde:%22de-DE%22,pt:%22pt-BR%22,en:%22en-US%22,%22en-GB%22:%22en-US%22%7D%5Bnavigator.language%5D%7C%7C%22en-US%22;function%20w(e,t)%7Bvoid%200===t&&(t=I);try%7Breturn%20x.langs.hasOwnProperty(t)%7C%7C(t=%22en-US%22),x.langs%5Bt%5D%5Be%5D?x.langs%5Bt%5D%5Be%5D:%22%22%7Dcatch(n)%7Breturn%20console.error(%22%5Binstantgram%5D%20LOC%20error:%22,n),%22ops,%20an%20error%20ocurred%20in%20localization%20system.%20Enter%20in%20https://github.com/theus/instantgram/issues/new%20and%20open%20an%20issue%20with%20this%20code:%20'LOC_dont_found_str_neither_default:%5B%22+t+%22-%3E%22+e+%22%5D'%5Cn%20%20%20%20for%20more%20information%20open%20the%20console%22%7D%7Dconsole.info(w(%22helpers.localize_defaultlang%22).replace(%22$%7BLANG_DEFAULT%7D%22,I));var%20S=w;var%20A=%7BregexOriginalImage:/%5C/%5Ba-z%5D+%5Cd+%5Ba-z%5D?x%5Cd+%5Ba-z%5D?/,regexMaxResImage:/%5C/%5Ba-z%5D+%5B1080%5D+%5Ba-z%5D?x%5B1080%5D+%5Ba-z%5D?/,regexPath:/%5E%5C/(p%7Creel%7Ctv)%5C//,regexHostname:/instagram%5C.com/,regexStoriesURI:/stories%5C/(.*)+/,regexURL:/(%5B--:%5Cw?@%25&+~#=%5D*%5C.%5Ba-z%5D%7B2,4%7D%5C/%7B0,2%7D)((?:%5B?&%5D(?:%5Cw+)=(?:%5Cw+))+%7C%5B--:%5Cw?@%25&+~#=%5D+)?/%7D;var%20N=window.navigator.userAgent.indexOf(%22Edge%22)%3E-1%7C%7Cwindow.navigator.userAgent.indexOf(%22Edg%22)%3E-1,P=%7Bcover:'img%5Bstyle=%22object-fit:%20cover;%22%5D',srcset:%22img%5Bsrcset%5D%22,img:%22img%22%7D,U=window.location.pathname,z=%7BVERSION:%225.0.4%22,mediaImageElExpressions:P,mediaImageElExpression:N?P.cover:P.srcset,hostname:window.location.hostname,path:U,images:%5B%5D,imagesOnViewPort:%5B%5D,videos:document.querySelectorAll(%22video%22),foundByModule:null,isStory:A.regexStoriesURI.test(U),isPost:A.regexPath.test(U),probablyHasAGallery:%7Bcheck:null,byModule:%22%22%7D,setImageLink:function(e)%7Bthis.imageLinkBeforeParse=e,A.regexMaxResImage.test(e)?this.imageLink=e:this.imageLink=A.regexOriginalImage.test(e)?e.replace(A.regexOriginalImage,%22%22):e%7D,foundVideo:!1,foundImage:!1,imageLink:!1,imageLinkBeforeParse:!1,alertNotInInstagramPost:!1,context:%7BhasMsg:!1,msg:void%200%7D%7D;!function(e,t,n)%7Bfor(var%20a=0;a%3Ce.length;a++)t.call(n,a,e%5Ba%5D)%7D(document.images,function(e,t)%7Bvar%20n=t;!y(n)&&function(e)%7Breturn%20u(e).filter(function(e)%7Breturn%22ARTICLE%22===e.nodeName%7D).length%3E0%7D(n)&&(z.images.push(n),f(n)&&z.imagesOnViewPort.push(n))%7D),A.regexHostname.test(z.hostname)%7C%7Cwindow.alert(S(%22index@alert_onlyWorks%22)),A.regexHostname.test(z.hostname)&&!1===(new%20p).execute(z)&&!1===(new%20h).execute(z)&&!1===(new%20_).execute(z)&&!1===(new%20b).execute(z)&&(z.context.hasMsg=!1),z.context.hasMsg&&window.alert(S(z.context.msg)),!z.alertNotInInstagramPost%7C%7Cz.foundVideo%7C%7Cz.foundImage%7C%7Cwindow.alert(S(%22index#program@alert_dontFound%22))%7D%5D);})() +``` + +### Internal External Links + +Internal External Links + +```js +javascript: (function () { + var i, x; + for (i = 0; (x = document.links[i]); ++i) + x.style.color = ['blue', 'red', 'orange'][sim(x, location)]; + function sim(a, b) { + if (a.hostname != b.hostname) return 0; + if (fixPath(a.pathname) != fixPath(b.pathname) || a.search != b.search) + return 1; + return 2; + } + function fixPath(p) { + p = (p.charAt(0) == '/' ? '' : '/') + p; + /*many browsers*/ p = p.split('?')[0]; + /*opera*/ return p; + } +})(); +``` diff --git a/content/Books.md b/content/Books.md new file mode 100644 index 000000000..03bff179f --- /dev/null +++ b/content/Books.md @@ -0,0 +1,59 @@ +--- +title: Books +description: Books I've read. +compartir: true +--- + +Collection of books I have read, would like to read, or would like to read. + +## John Green + +- [An Abundance of Katherines](https://www.librarything.com/work/2569212) +- [Looking for Alaska](https://www.librarything.com/work/30329846) +- [Paper Towns](https://www.librarything.com/work/5105584) +- [The Fault in Our Stars](https://www.librarything.com/work/11456497) +- [Will Grayson, Will Grayson](https://www.librarything.com/work/8463786) + +## Jerry Spinelli + +1. [Stargirl]() +2. [Love, Stargirl](https://en.wikipedia.org/wiki/Love,_Stargirl) + +## Robert Pinsky + +- [The Sounds of Poetry: A Brief Guide](https://www.librarything.com/work/121193) + +## Janet Evanovich + +### Stephanie Plum Series + +1. _[One for the Money](https://en.wikipedia.org/wiki/One_for_the_Money_(novel) "One for the Money (novel)")\_ (1994) +2. _[Two for the Dough](https://en.wikipedia.org/wiki/Two_for_the_Dough 'Two for the Dough')_ (1996) +3. _[Three to Get Deadly](https://en.wikipedia.org/wiki/Three_to_Get_Deadly 'Three to Get Deadly')_ (1997) +4. _[Four to Score](https://en.wikipedia.org/wiki/Four_to_Score_(novel) "Four to Score (novel)")\_ (1998) +5. _[High Five](https://en.wikipedia.org/wiki/High_Five_(novel))\_ (1999) +6. _[Hot Six](https://en.wikipedia.org/wiki/Hot_Six 'Hot Six')_ (2000) +7. _[Seven Up](https://en.wikipedia.org/wiki/Seven_Up_(novel) "Seven Up (novel)")\_ (2001) +8. _[Hard Eight](https://en.wikipedia.org/wiki/Hard_Eight_(novel) "Hard Eight (novel)")\_ (2002) +9. _[To the Nines](https://en.wikipedia.org/wiki/To_the_Nines_(novel) "To the Nines (novel)")\_ (2003) +10. _[Ten Big Ones](https://en.wikipedia.org/wiki/Ten_Big_Ones_(novel) "Ten Big Ones (novel)")\_ (2004) +11. _[Eleven on Top](https://en.wikipedia.org/wiki/Eleven_on_Top_(novel) "Eleven on Top (novel)")\_ (2005) +12. _[Twelve Sharp](https://en.wikipedia.org/wiki/Twelve_Sharp_(novel) "Twelve Sharp (novel)")\_ (2006) +13. _[Lean Mean Thirteen](https://en.wikipedia.org/wiki/Lean_Mean_Thirteen 'Lean Mean Thirteen')_ (2007) +14. _[Fearless Fourteen](https://en.wikipedia.org/wiki/Fearless_Fourteen 'Fearless Fourteen')_ (2008) +15. _[Finger Lickin' Fifteen](https://en.wikipedia.org/wiki/Finger_Lickin%27_Fifteen "Finger Lickin' Fifteen")_ (2009) +16. _[Sizzling Sixteen](https://en.wikipedia.org/wiki/Sizzling_Sixteen 'Sizzling Sixteen')_ (2010) +17. _Smokin' Seventeen_ (2011) +18. _Explosive Eighteen_ (2011) +19. _Notorious Nineteen_ (2012) +20. _Takedown Twenty_ (2013) +21. _Top Secret Twenty-One_ (2014) +22. _Tricky Twenty-Two_ (2015) +23. _Turbo Twenty-Three_ (2016) +24. _Hardcore Twenty-Four_ (2017) +25. _Look Alive Twenty-Five_ (2018) +26. _Twisted Twenty-Six_ (2019) +27. _Fortune & Glory Tantalizing Twenty-Seven_ (2020) +28. _Game On: Tempting Twenty-Eight_ (2021) +29. _Going Rogue: Rise and Shine Twenty-Nine_ (2022) +30. _Dirty Thirty_ (2023) diff --git a/content/Bulma.md b/content/Bulma.md new file mode 100644 index 000000000..42456ef23 --- /dev/null +++ b/content/Bulma.md @@ -0,0 +1,10 @@ +--- +title: Bulma +compartir: true +--- + +Free, open source [[./CSS#CSS Frameworks|CSS framework]] that provides ready-to-use frontend components that you can easily combine to build responsive web interfaces. It provides a collection of pre-designed CSS classes to help build responsive and modern websites. Very versatile because it does no require any JavaScript. + +With Bulma, developers can easily create responsive layouts by leveraging the grid system and making use of the various predefined classes. It offers a wide range of components and elements like buttons, forms, navbar, cards, and more, which can be customized and combined to create a visually appealing website. + +Bulma relies on CSS flexbox to handle the alignment and positioning of elements, making it easy to create responsive designs that adjust well across different screen sizes. Additionally, it provides a comprehensive documentation with examples and code snippets, making it user-friendly for developers of all skill levels. diff --git a/content/CSS.md b/content/CSS.md new file mode 100644 index 000000000..d83f104a7 --- /dev/null +++ b/content/CSS.md @@ -0,0 +1,85 @@ +--- +title: Cascading Style Sheets +aliases: + - CSS +compartir: true +--- + +## Introduction + +CSS (Cascading Style Sheets) is a language used to describe the visual appearance and formatting of HTML documents. It defines how elements are presented on web pages, including layout, color, typography, and more. It enhances the aesthetics and overall user experience of websites. + +## CSS Frameworks + +CSS frameworks are pre-prepared collections of CSS stylesheets that help developers create visually appealing and responsive websites. These frameworks provide a set of standardized and reusable CSS components, layout systems, and pre-designed templates, making it easier to build attractive and consistent web pages. + +One popular CSS framework that deserves special mention is [[./Bulma|Bulma]]. Why does it deserve especial attention? Because I like it. 😅 + +Known for its simplicity and flexibility, [[./Bulma|Bulma]] has gained significant traction among web developers. Here's a closer look at why it has become a go-to choice for many. + +## Common Breakpoints + +Based on Bootstrap: 320px, 576px, 768px, 992px, 1200px, 1400px, 1600px. + +You can pick any breakpoint you want, it largely depends on what content your dealing with. Sometimes I swap 576px for 600px, just be consistent. + +## Mixins + +All _mobile-first-designs_ media queries and 1 _desktop-first-design_ media query per given CSS class. + +### Anything Above a Certain Screen Width (_mobile-first-design_) + +```scss +@mixin screen-min($min) { + @media (min-width: $min) { + @content; + } +} +``` + +### Anything Below a Certain Screen Width (_desktop-first-design_) + +```scss +@mixin screen-max($max) { + @media (max-width: $max - 1) { + @content; + } +} +``` + +### Anything In-between Two Values (_hybrid_) + +```scss +@mixin screen-minmax($min, $max) { + @media (min-width: $min) and (max-width: $max - 1) { + @content; + } +} +``` + +```scss +------------------------------------------------------------------ +// USING THE MIXINS +// Example - Writing a custom bootstrap-like container from scratch +------------------------------------------------------------------ + +.container { + margin: 0 auto; + width: 100%; + @include screen-min(768px) { + max-width: 750px; + } + @include screen-min(992px) { + max-width: 970px; + } + @include screen-min(1200px) { + max-width: 1170px; + } + @include screen-min(1400px) { + max-width: 1370px; + } + @include screen-min(1600px) { + max-width: 1570px; + } +} +``` diff --git a/content/Callouts.md b/content/Callouts.md new file mode 100644 index 000000000..fa27da7a6 --- /dev/null +++ b/content/Callouts.md @@ -0,0 +1,52 @@ +--- +title: Callouts Showcase +compartir: true +--- + +> [!EXAMPLE] Examples +> +> Aliases: example + +> [!note] Notes +> +> Aliases: note + +> [!abstract] Summaries +> +> Aliases: abstract, summary, tldr + +> [!info] Info +> +> Aliases: info, todo + +> [!tip] Hint +> +> Aliases: tip, hint, important + +> [!success] Success +> +> Aliases: success, check, done + +> [!question] Question +> +> Aliases: question, help, faq + +> [!warning] Warning +> +> Aliases: warning, caution, attention + +> [!failure] Failure +> +> Aliases: failure, fail, missing + +> [!danger] Error +> +> Aliases: danger, error + +> [!bug] Bug +> +> Aliases: bug + +> [!quote] Quote +> +> Aliases: quote, cite diff --git a/content/Chords.md b/content/Chords.md new file mode 100644 index 000000000..4aaa1ef87 --- /dev/null +++ b/content/Chords.md @@ -0,0 +1,10 @@ +--- +title: Chords (music) +compartir: true +tags: + - music +--- + +## Definition + +A chord, in music, is any harmonic set of pitches/frequencies consisting of multiple notes (also called "pitches") that are heard as if sounding simultaneously. For many practical and theoretical purposes, arpeggios and other types of broken chords (in which the chord tones are not sounded simultaneously) may also be considered as _chords_ in the right musical context. diff --git a/content/Chuckwalla.md b/content/Chuckwalla.md new file mode 100644 index 000000000..5fb961736 --- /dev/null +++ b/content/Chuckwalla.md @@ -0,0 +1,26 @@ +--- +title: Chuckwalla +compartir: true +--- + +Chuckwallas are lizards found primarily in arid regions of the southwestern United States and northern Mexico, with some also inhabiting coastal islands. There are five species of chuckwallas, all belonging to the genus _Sauromalus_. They are members of the iguanid family, _Iguanidae_, which includes iguanas, chuckwallas, and their prehistoric relatives. + +Chuckwallas have a robust build with wide bodies and flattened midsections. Their bellies are prominent, and their tails are thick, tapering to a blunt tip. Loose folds of skin can be observed on the neck and sides of their bodies, which are covered in small, coarsely granular scales. Chuckwallas vary in length, ranging from 15 inches to 30 inches. + +## Iguanidae (lizard family) + + + +```mermaid +mindmap + root((Iguanidae)) + Iguana + Sauromalus + Ctenosaura + Conolophus + Dipsosaurus + Amblyrhynchus + Brachylophus + Cyclura + Cachryx +``` diff --git a/content/Consistency.md b/content/Consistency.md new file mode 100644 index 000000000..edd98ed20 --- /dev/null +++ b/content/Consistency.md @@ -0,0 +1,8 @@ +--- +title: Consistency is Key +compartir: true +--- + +Show up. Do the work. Be consistent. Things I'm not good at. + +Consistency is key. By consistently showing up and putting in the effort, you build discipline and resilience. It helps establish reliable habits, maintain focus, and overcome setbacks. Being consistent builds trust, both in personal and professional relationships. diff --git a/content/Continuous Care.md b/content/Continuous Care.md new file mode 100644 index 000000000..c7dd72ae5 --- /dev/null +++ b/content/Continuous Care.md @@ -0,0 +1,10 @@ +--- +title: Continuous Care +compartir: true +tags: + - digital-gardening +--- + +Be the watchful caretaker of your ever growing plants and flowers. Grow your knowledge by forming new branches and connecting the dots. Write short structured notes articulating specific ideas and share them. Avoid creating or nourishing orphan notes. Anything not connected eventually needs to go. We must: refine our ideas, thread our thoughts, and keep notes [[./Atomic Notes|atomic]]. + +Taking raw notes is _useless_. Seed your garden with quality content and cultivate your curiosity. Plant seeds in your mind garden by taking smart personal notes. These don't need to be written in a publishable form. diff --git a/content/Data.md b/content/Data.md new file mode 100644 index 000000000..b34300303 --- /dev/null +++ b/content/Data.md @@ -0,0 +1,17 @@ +--- +compartir: true +--- +# Data + +## Semantic + +Semantic data is data that has been structured to add meaning to the data. This is done by creating data relationships between the data entities to give truth to the data and the needed importance for data consumption. Semantic data helps with the maintenance of the data consistency relationship between the data. + +## Relational + +Relational data uses a structure and language consistent with first-order predicate logic[^1], where all data is represented in terms of tuples,[^2] grouped into relations. + +The purpose of the relational model is to provide a declarative method for specifying data and queries: users directly state what information the database contains and what information they want from it, and let the database management system software take care of describing data structures for storing the data and retrieval procedures for answering queries. + +[^1]: First-order logic—also known as first-order predicate calculus—is a collection of formal systems used in mathematics, philosophy, linguistics, and computer science. +[^2]: In mathematics, a tuple is a finite sequence or ordered list of numbers or, more generally, mathematical objects, which are called the elements of the tuple. diff --git a/content/Digital Garden.md b/content/Digital Garden.md new file mode 100644 index 000000000..4027a49ec --- /dev/null +++ b/content/Digital Garden.md @@ -0,0 +1,22 @@ +--- +title: Digital Garden +compartir: true +tags: + - digital-gardening +--- + +## What is a Digital Garden + +A digital garden is a combination of an **online notebook** and a **personal wiki**, where digital gardeners write in small, unfinished pieces, also known as [[./Atomic Notes|atomic notes]], and share these seeds of thought to be cultivated in public. Digital gardens are curated and evolve over time, sometimes growing wildly and sometimes getting pruned. + +The phrase _"digital garden"_ comes up often while browsing these notes. Surely I overuse it. That said, I still like it. It more closely describes what I envision this website to be: a carefully curated garden of digital notes. Having a reliable system on which to dump raw information is extremely useful. The idea of [[./Sweep Your Mind|sweeping]] one's mind is helpful to rid yourself of distractions from incorrectly prioritized tasks. + +## How is Content Curated + +Digital Gardens are explorable rather than structured as a strictly linear stream of posts. They grow slowly over time, rather than created as _"finished"_ work that is to never be touched again. A place where little changes accumulate and transform thoughts and ideas. As you [[./Continuous Care|continuously care]] for your garden, you **revise**, **update**, and **change** your ideas as they develop. + +## Kinds of Notes + +- 🌱 *Seedlings* for very rough and early ideas. +- 🌿 *Budding* for work I've cleaned up and clarified. +- 🌳 *Evergreen* for work that is reasonably complete (though I still tend these over time). diff --git a/content/Emmet Cheat Sheet.md b/content/Emmet Cheat Sheet.md new file mode 100644 index 000000000..972a996b9 --- /dev/null +++ b/content/Emmet Cheat Sheet.md @@ -0,0 +1,280 @@ +--- +title: Emmet Cheat Sheet +compartir: true +--- + +- [Documentation](https://docs.emmet.io/) +- [Documentation](https://code.visualstudio.com/docs/editor/emmet) for Emmet in VS Code + +## Notes on Abbreviation Formatting + +When you get familiar with Emmet's abbreviations syntax, you may want to use some formatting to make your abbreviations more readable. But it won't work, because space is a *stop symbol,* where Emmet stops abbreviation parsing. Many users mistakenly think that each abbreviation should be written in a new line, but they are wrong: you can type and expand the abbreviation anywhere in the text. + +This is why Emmet needs some indicators (like spaces) where it should stop parsing to not expand anything that you don't need. If you're still thinking that such formatting is required for complex abbreviations to make them more readable: + +- Abbreviations are not a template language, they don't have to be "readable", they have to be "quickly expandable and removable". +- You don't really need to write complex abbreviations. Stop thinking that "typing" is the slowest process in web-development. You'll quickly find out that constructing a single complex abbreviation is much slower and error-prone than constructing and typing a few short ones. + +## HTML + CSS Emmet Short Guide + +Emmet abbreviation and snippet expansions are enabled by default in `html`, `haml`, `pug`, `slim`, `jsx`, `xml`, `xsl`, `[[CSS]]`, `scss`, `sass`, `less` and `stylus` files, as well as any language that inherits from any of the above like `handlebars` and `php`. + +## Children + +```css +div>ul>li +``` + +```html +
+ +
+``` + +## Siblings + +```css +div + p + bq +``` + +```html +
+

+
+``` + +## Climb-up + +```css +div+div>p>span+em +``` + +```html
+
+

+
+``` + +```css +div+div>p>span+em^bq +``` + +```html
+
+

+
+
+``` + +```css +div+div>p>span+em^^^bq +``` + +```html +
+
+

+
+
+``` + +## Multiplication + +```css +ul>li*5 +``` + +```html + +``` + +## Grouping + +```css +div>(header>ul>li*2>a)+footer>p +``` + +```html +
+
+
    +
  • +
  • +
+
+
+

+
+
+``` + +```css +(div>dl>(dt+dd)*3)+footer>p +``` + +```html +
+
+
+
+
+
+
+
+
+
+ +``` + +## ID and Classes + +```css +div#header+div.page+div#footer.class1.class2.class3 +``` + +```html + +
+ +``` + +## Custom Attributes + +```css +td[title="Hello world!" colspan=3] +``` + +```html + +``` + +## Item Numbering + +```css +ul>li.item$*5 +``` + +```html + +``` + +```css +ul>li.item$$$*5 +``` + +```html + +``` + +## Changing Numbering Base and Direction + +```css +ul>li.item$@-*5 +``` + +```html +``` + +```css +ul>li.item$@3*5 +``` + +```html +``` + +```css +ul>li.item$@-3*5 +``` + +```html + +``` + +## Text + +```css +a{Click me} +``` + +```html +Click me +``` + +```css +a{click}+b{here} +``` + +```html +clickhere +``` + +```css +a>{click}+b{here} +``` + +```html +clickhere +``` + +```css +p>{Click }+a{here}+{ to continue} +``` + +```html +

Click here to continue

+``` + +```css +p{Click }+a{here}+{ to continue} +``` + +```html +

Click

+here to continue +``` diff --git a/content/Encouragements.md b/content/Encouragements.md new file mode 100644 index 000000000..9836bc7af --- /dev/null +++ b/content/Encouragements.md @@ -0,0 +1,38 @@ +--- +compartir: true +title: Encouragements +--- + +# Encouragements + +Notes that one way or another, encourage me to be better, to sit down for less time, to be more active, etc. + +## Procrastination + +1. Shower in the morning. +2. Do not multitask—our brain is single-threaded. +3. Turn your daily habits into a game. +4. Get some movement in before starting work. Go for a walk, a short bike ride, something outside. +5. Tiny habits deliver big results in a year. +6. If you want to change, start with the type of content you consume. +7. Stop obsessing over productivity hacks and actually start working on your backlog. +8. Have no "Zero-Days." Get something, anything at all done everyday. No matter how small. +9. Don't oversleep, wake up at a standard time each workday, and start work at a standard time each day. +10. Stop watchin the news. +11. Eat the Frog. Identify one challenging task (the frong), and complete it first thing in the morning (thus eating it). +12. Fix and maintain a healthy sleep schedule. +13. It doesn't need to be perfect, it does need to be started. +14. [[./Consistency|Consistency]] is more important than intensity. + +## Side Effects of Sitting Down + +1. Weak legs and glutes +2. Weight gain +3. Tight hips and bad back +4. Anxiety and depression +5. Cancer risk +6. Heart disease +7. Diabetes Risk +8. Varicose Veins +9. Deep vein thrombosis (DVT) +10. Stiff shoulders and neck diff --git a/content/Espanso Cheat Sheet.md b/content/Espanso Cheat Sheet.md new file mode 100644 index 000000000..f3c3d8e64 --- /dev/null +++ b/content/Espanso Cheat Sheet.md @@ -0,0 +1,148 @@ +--- +title: Espanso Cheat Sheet +compartir: true +--- + +## Introduction + +Cross-platform Text Expander written in Rust. + +Visit the [Documentation](https://espanso.org/docs/get-started/). + +## Features + +- Works on **Windows**, **macOS** and **Linux** +- Works with almost **any program** +- Works with **Emojis** 😄 +- Works with **Images** +- Includes a powerful **Search Bar** 🔎 +- **Date** expansion support +- **Custom scripts** support +- **Shell commands** support +- **App-specific** configurations +- Support [Forms](https://espanso.org/docs/matches/forms/) +- Expandable with **packages** +- Built-in **package manager** for [espanso hub](https://hub.espanso.org/) +- File based configuration +- Support Regex triggers +- Experimental Wayland support + +## Static Matches + +### Single-line Expansions + +```yml +- trigger: 'hello' + replace: 'world' +``` + +### Multi-line Expansions + +```yml +- trigger: 'hello' + replace: "line1\nline2" +``` + +## Dynamic Matches + +### Using Variables + +```yml +- trigger: 'now' + replace: "It's {{mytime}}" + vars: + - name: mytime + type: date + params: + format: '%H:%M' +``` + +### Preconfigured Choices + +```yml +- name: output + type: choice + params: + values: + - "Every moment is a fresh beginning." + - "Everything you can imagine is real." + - "Whatever you do, do it well." +``` + +### Run CLI Command + +```yaml +- name: getip + type: shell + params: + cmd: 'curl ifconfig.me' + shell: cmd +``` + +## Global Variables + +### Declarations + +```yml +global_vars: + - name: 'global1' + type: 'shell' + params: + cmd: 'echo global var' + - name: 'greet' + type: 'echo' + params: + echo: 'Hey' +``` + +### Usage + +```yml +- trigger: ":hello" + replace: "{{greet}} Jon" +``` + +## Word Triggers + +### Autocorrect Typos + +```yml +- trigger: "ther" + replace: "there" + word: true +``` + +### Case Propagation + +```yml +- trigger: "alh" + replace: "although" + propagate_case: true + word: true +``` + +- If you write `alh`, the match will be expanded to `although`. +- If you write `Alh`, the match will be expanded to `Although`. +- If you write `ALH`, the match will be expanded to `ALTHOUGH`. + +## Cursor Hints + +Insert `$|$` where you want the cursor to be positioned. Limited to one cursor hint. + +```yml +- trigger: ":div" + replace: "
$|$
" +``` + +## Match Disambiguation + +Takes all matches with the same trigger and displays a dialog to let you choose. + +```yml +- trigger: ":quote" + replace: "Every moment is a fresh beginning." +- trigger: ":quote" + replace: "Everything you can imagine is real." +- trigger: ":quote" + replace: "Whatever you do, do it well." +``` diff --git a/content/Free Facts.md b/content/Free Facts.md new file mode 100644 index 000000000..61e9f8688 --- /dev/null +++ b/content/Free Facts.md @@ -0,0 +1,52 @@ +--- +title: Free Facts +description: Compilation of 'Free' Facts. They are not fun, but they are free. +compartir: true +--- + +> Compilation of "Free" Facts. They are not fun, but they are free. + +## Disney Aladdin + +There is a [Willhelm scream](https://en.wikipedia.org/wiki/Wilhelm_scream) in the movie Aladdin. + +## Dumping Chemical Weapons Directly into the Ocean + +After World War II, it is claimed that scientist did not know how to destroy the massive arsenals of chemical weapons. Russia, the UK, and the US opted for what seemed the safest and cheapest method of disposal at the time: dumping chemical weapons directly into the ocean. + +Experts estimate that 1 million metric tons of chemical weapons lie on the ocean floor—from Italy's Bari harbor, where 230 sulfur mustard exposure cases have been reported since 1946, to the US East Coast, where sulfur mustard bombs have shown up three time in the past 12 years in Delaware, likely brought in with loads of shellfish. +[Source](https://www.smithsonianmag.com/science-nature/decaying-weapons-world-war-II-threaten-waters-worldwide-180961046/) + +## Lighting + +Lightning is a significant force contributing to mountain erosion. +[Source](https://www.livescience.com/40701-lightning-strikes-erode-mountains.html) + +## MV Derbyshire + +The MV Derbyshire was a British ore-bulk-oil combination carrier built in 1976. It was lost on September 9, 1980 during Typhoon Orchid, south of Japan. At 91,655 gross register tons, she is the largest British ship ever to have been lost at sea. +[Source](https://en.wikipedia.org/wiki/MV_Derbyshire) + +## Rogue Waves + +Rogue waves are unusually large, unpredictable, and suddenly appearing surface waves that can be extremely dangerous to ships, even to large ones. +In oceanography, rogue waves are more precisely defined as waves whose height is more than twice the significant wave height (Hs or SWH), which is itself defined as the mean of the largest third of waves in a wave record. Therefore, rogue waves are not necessarily the biggest waves found on the water; they are, rather, unusually large waves for a given sea state. +[Source](https://en.wikipedia.org/wiki/Rogue_wave) + +## Sea Sickness + +Ginger is proven to help those who suffer from sea sickness. + +## Transcranial Magnetic Stimulation + +TMS is a noninvasive form of brain stimulation in which a changing magnetic field is used to induce an electric current at a specific area of the brain through electromagnetic induction. An electric pulse generator, or stimulator, is connected to a magnetic coil connected to the scalp. + +## Weasel Words + +A weasel word, or anonymous authority, is slang for words and phrases aimed at creating an impression that something specific and meaningful has been said, when in fact only a vague or ambiguous claim has been communicated. Examples include the phrases "some people say", "it is thought", and "researchers believe". + +Using weasel words may allow one to later deny any specific meaning if the statement is challenged, because the statement was never specific in the first place. Weasel words can be a form of _tergiversation_, and may be used in advertising, (popular) science, opinion pieces and political statements to mislead or disguise a biased view or unsubstantiated claim. + +## Yak Shaving + +Yak Shaving is programming lingo for the seemingly endless series of small tasks that have to be completed before the next step in a project can move forward. diff --git a/content/Guitar.md b/content/Guitar.md new file mode 100644 index 000000000..c7c51626f --- /dev/null +++ b/content/Guitar.md @@ -0,0 +1,47 @@ +--- +title: Guitar +tags: + - learning + - music +compartir: true +enableToc: true +--- + +## Tabs for the Guitar + +When you are looking at a tab, you will see six horizontal lines. These lines represent the strings of the guitar. The bottom line is the 6th string (the thickest string on your guitar, low e) and the top line is the thinnest string (the first string, high e). + +### Arpeggio + +An [[./Arpeggio|arpeggio]] is a type of [[./Chords|broken chord]] in which the notes that compose a chord are individually sounded in a progressive rising or descending order. Arpeggios on keyboard instruments may be called _rolled chords_. + +```md +e|--------2-----------------| +B|------3---3---------------| +G|----2-------2-------------| +D|--0-----------------------| +A|--------------------------| +E|--------------------------| +``` + +### Metallica – Enter the Sandman (Intro) + +```md +e|---------------------|------------------|---------------|--------------------| +B|---------------------|------------------|---------------|--------------------| +G|---------------------|------------------|---------------|--------------------| +D|-------5-------------|----5-------------|----5----------|--------------------| +A|----7-----------7----|-7-----------7----|-7-----------7-|--------------------| +E|-0--------6--5-----0-|-------6--5-----0-|-------6--5----|--------------------| +``` + +### Pasted + +The next note is marked as a 7 on the 5th string, so place a finger on the 5th string 7th fret. The third note is the 5th fret 4th string. By now you are probably realizing that in order to play this riff, you need to use your 3rd finger on the 7th fret and your first finger on the 5th fret. + +You can then finish out the riff by grabbing the 6th fret on the 6th string with your second finger, then the 5th fret with your 1st finger, and finally the 7th fret 5th string (a string) with your 3rd finger. + +## Sources + +- [ultimate-guitar.com](https://tabs.ultimate-guitar.com/tab/metallica/enter-sandman-tabs-8595) +- [guitarlessons.org](https://www.guitarlessons.org/lessons/read-guitar-tabs/) diff --git a/content/Inspirations.md b/content/Inspirations.md new file mode 100644 index 000000000..9790027d2 --- /dev/null +++ b/content/Inspirations.md @@ -0,0 +1,29 @@ +--- +title: Inspirations +compartir: true +tags: + - list +--- + +_These are people and projects have resonated with me. Inspiring me to do things I would otherwise not do._ + +## People Who Inspire Me + +- [Andy Bell](https://andy-bell.co.uk/) +- [Anjana Vakil](https://anjana.dev/) +- [Derek Sivers](https://sive.rs/) +- [Drew DeVault](https://drewdevault.com/) +- [Eric Bower](https://erock.prose.sh/) +- [Herman Martinus](https://herman.bearblog.dev/) +- [Jacky Zha](https://github.com/jackyzha0) +- [Facundo Olano](https://olano.dev/) + +## Projects That Inspire Me + +- [Anemone](https://github.com/Speyll/anemone) – Clean Zola theme. Integrates public journals. +- [Bearblog](https://github.com/HermanMartinus/bearblog) – Blogging Platform. +- [Duotone Theme](https://github.com/Hussseinkizz/duotone-theme-v2-official) – VS Code Theme (Supports Ligaments). +- [Fira Code iScript](https://github.com/kencrocken/FiraCodeiScript) – Font Family (incl. ligations and cursive italics). +- [mataroa](https://github.com/mataroa-blog/mataroa) – Minimal Blogging Platform. +- [SorryTennesee](https://github.com/vpicone/SorryTennesee) – Remove Tennesee from drop-down menus. +- [wttr.in](https://github.com/chubin/wttr.in) – Plain Text Weather. diff --git a/content/JavaScript.md b/content/JavaScript.md new file mode 100644 index 000000000..563f206b3 --- /dev/null +++ b/content/JavaScript.md @@ -0,0 +1,15 @@ +--- +title: JavaScript +aliases: + - Javascript + - JS +compartir: true +--- + +## Introduction + +[JavaScript](https://en.wikipedia.org/wiki/JavaScript) is a versatile and powerful programming language used for building interactive and dynamic web applications. It runs on the client-side, enabling interactivity on web pages. JavaScript can manipulate HTML elements, handle events, perform calculations, and communicate with servers, making it a key technology in modern web development. + +## JavaScript Frameworks + +JavaScript frameworks are pre-written and reusable code libraries that simplify and speed up web development. They provide tools, functions, and structure to build dynamic and interactive websites or applications. Frameworks like React, Vue, [[./Svelte|Svelte]], and Angular make it easier to handle complex logic and create engaging user interfaces. diff --git a/content/Journal.md b/content/Journal.md new file mode 100644 index 000000000..2738dc0d3 --- /dev/null +++ b/content/Journal.md @@ -0,0 +1,60 @@ +--- +title: Public Journal +description: This section explores the concept of maintaining a Public Journal. +compartir: true +--- + +This page takes inspiration from the [Journal of an Enigmatic Mind](https://speyllsite.pages.dev/journal/). It explores the concept of keeping a public journal, something I haven't done before. + +## 2024 + +### March + +- Updated my personal website. Using the minimal 11ty with Vite template repo. + +### February + +- Discovered NASA's [Astronomy Picture of the Day](https://apod.nasa.gov/apod/). +- Added Spanish translations for [Quartz](https://github.com/jackyzha0/quartz) in [PR #822](https://github.com/jackyzha0/quartz/pull/822). +- Updated my [Obsidian Starter Vault](https://github.com/semanticdata/obsidian-starter-vault) project. Now includes more information about the CSS snippets, community plugins, and general workflows included in it. +- Forked these [Obsidian](https://obsidian.md) [Minimal theme](https://github.com/kepano/obsidian-minimal) [CSS Snippets](https://github.com/replete/obsidian-minimal-theme-css-snippets). +- Added new CSS Snippets to my vault. I'll probably end up posting them later. +- Republished my personal website using [11ty](https://www.11ty.dev/) and [elva](https://github.com/scottsweb/elva). Moved the site to `semanticdata.github.io`. It is currently deployed with Vercel. Will use a different starter and drop `elva` soon. + +### January + +- Archived many of my inactive GitHub repositories. +- Compiled my GitHub stars in [this repo](https://github.com/semanticdata/github-stars) with the help of [maguowei/starred](https://github.com/maguowei/starred). +- Submitted Spanish translations for [gethyas/doks-core](https://github.com/gethyas/doks-core). +- Started playing around with [11ty](https://www.11ty.dev/). + - Cloned [Eleventy Excellent](https://github.com/madrilene/eleventy-excellent). + - Cloned [Eleventy Garden](https://github.com/binyamin/eleventy-garden). +- Learned about [Astro](https://astro.build/). I'm playing around with it. + - Cloned [Astro Cube](https://github.com/semanticdata/astro-cube) and [Astro Essentialist](https://github.com/0xShapeShifter/essentialist). +- Discovered [CUBE CSS](https://cube.fyi/), [Utopia](https://utopia.fyi/), and [buildexcellentwebsit.es](https://buildexcellentwebsit.es/). + - CUBE stands for **Composition Utility Block Exception**. +- Fixed the search module not working in [Forgetful Notes](https://github.com/semanticdata/forgetful-notes). +- Revived [Firefox TabSpace](https://github.com/semanticdata/firefox-tabspace). Cleaned the repo and published updated version. + +## 2023 + +### December + +- Created new Firefox extension: [ChatGPT in the Sidebar](https://github.com/semanticdata/firefox-chatgpt-in-sidebar). +- Published new Firefox extension: [New Tab Notes](https://github.com/semanticdata/firefox-new-tab-notes). +- I visited the [Dominican Republic](https://en.wikipedia.org/wiki/Dominican_Republic) after more than 8 years without visiting family. +- Submitted [Mabuya](https://github.com/semanticdata/mabuya) to the Zola themes site. +- Submitted [Zola Minimal](https://github.com/semanticdata/zola-minimal) to the Zola themes site. +- Discovered [Bulma](https://bulma.io/), a CSS framework. +- Republished my [website](https://github.com/semanticdata/semanticdata.github.io) with the [serene](https://github.com/isunjn/serene). +- Renamed Zola Dinkleberg to [Zola Guava](https://github.com/semanticdata/zola-guava). + +### November + +- Ported the Chrome extension [Text Revealer](https://github.com/jamigibbs/text-revealer-chrome-extension) to Firefox. +- Updated my [Obsidian Starter](https://github.com/semanticdata/obsidian-starter-vault) vault. +- I'm playing around with [Svelte](https://svelte.dev/), and [Milkdown](https://milkdown.dev/). + - Created [svelte-milkdown](https://github.com/semanticdata/svelte-milkdown). +- Republished my 2010 blog in Spanish: [Prose Poetry](https://github.com/semanticdata/prose-poetry). +- Fixed bug outlined in [Issue #18](https://github.com/getzola/book/issues/18) in [Zola Book](https://github.com/getzola/book). +- Added dark theme and toggle to the [Anpu Zola](https://github.com/zbrox/anpu-zola-theme) theme. diff --git a/content/Markdown.md b/content/Markdown.md new file mode 100644 index 000000000..9ec2912ac --- /dev/null +++ b/content/Markdown.md @@ -0,0 +1,27 @@ +--- +title: Markdown +compartir: true +--- + +## Introduction + +Markdown is a lightweight [[./Markup Language|Markup Language]] that you can use to add formatting elements to plaintext text documents. Created by [John Gruber](https://daringfireball.net/projects/markdown/) in 2004, Markdown is now one of the world's most popular markup languages. + +> [!Note] +> This website's content is exclusively written in Markdown. + +## Markdown Flavors + +There are several popular flavors of Markdown that add extra features and extensions to the original syntax. Two of the most popular ones include: + +### CommonMark + +CommonMark is a standardized version of Markdown that aims to create a consistent and universally understood Markdown specification. It provides a clear syntax specification, including features like headings, lists, links, emphasis, code blocks, and more. + +### GitHub Flavored Markdown + +GitHub Flavored Markdown, also known as GFM, is a Markdown flavor used by GitHub. It extends the basic Markdown syntax by adding some additional features. These include task lists, tables, user mentions, and code syntax highlighting. GFM is commonly used in GitHub repositories for documentation and README files. + +## Markdown Showcase + +Check out the [[markdown-showcase|markdown-showcase]] to see what Markdown can do. diff --git a/content/Markup Language.md b/content/Markup Language.md new file mode 100644 index 000000000..ce83f4487 --- /dev/null +++ b/content/Markup Language.md @@ -0,0 +1,13 @@ +--- +title: Markup Language +compartir: true +--- + +A markup language is a system for annotating text to define the structure, formatting, and presentation of documents on the internet. It [[./Uses|Uses]] tags or codes to indicate the purpose or function of different elements within the document, such as headings, paragraphs, links, and images. Markup languages, like HTML (Hypertext Markup Language), provide a standardized way to structure and display content across various platforms and web browsers. + +Examples of markup languages include: + +1. HTML (Hypertext Markup Language): The most widely used markup language for creating web pages and applications. It specifies the structure and presentation of content on the internet. +2. XML (eXtensible Markup Language): A flexible markup language that allows users to define their own tags and structure data. It is commonly used for storing and transporting data between different systems. +3. Markdown: Although not a traditional markup language, Markdown is a lightweight markup language that is widely used for formatting and styling plain text, particularly for creating content for the web. +4. LaTeX: A markup language commonly used in academia and scientific publishing for typesetting documents. It provides extensive control over the layout and formatting of mathematical equations and complex technical documents. diff --git a/content/Meta.md b/content/Meta.md new file mode 100644 index 000000000..92c2fc709 --- /dev/null +++ b/content/Meta.md @@ -0,0 +1,52 @@ +--- +title: Meta (how this site was made) +description: How the site was made. +updated: 2024-02-08 +compartir: true +tags: + - meta +--- + +> [!summary] +> +> **Forgetful Notes** is created using [Quartz](https://github.com/jackyzha0/quartz), hosted on [GitHub](https://github.com/), deployed with [GitHub Pages](https://pages.github.com/), and facilitated by the GitHub [Publisher](https://github.com/ObsidianPublisher) plugin for [Obsidian](https://obsidian.md/). If interested, you can browse the [source](https://github.com/semanticdata/forgetful-notes) code. + +## Background + +Forgetful Notes has gone through many changes. I have not been shy about moving from technology to technology as I learn new things. Coming across the world of [[./Static Site Generators|Static Site Generators]] was a game changer. I have ran my notes through [Jekyll](https://jekyllrb.com/), [Hugo](https://gohugo.io/), [MkDocs](https://squidfunk.github.io/mkdocs-material/), and most recently [Zola](https://www.getzola.org/). + +However, this site is not specifically built with any of the aforementioned. Instead I have opted to follow in the footsteps of [Jacky Zhao](https://github.com/jackyzha0) and created my [[./Digital Garden|Digital Garden]] using the new fully rewritten [Quartz](https://github.com/jackyzha0/quartz)—a set of tools that helps you publish your digital garden and notes as a website for free. + +## Technology + +All content for the site is written in [[./Markdown|Markdown]] within [Obsidian](https://obsidian.md/)—an extensible, flexible note-taking app. To export the notes from Obsidian, I rely on the [GitHub Publisher](https://github.com/ObsidianPublisher) plugin. + +The [source code](https://github.com/semanticdata/forgetful-notes) is hosted in [GitHub](https://github.com/). From here we use [GitHub Actions](https://github.com/features/actions) to build and deploy the site to [GitHub Pages](https://pages.github.com/). + +## Features + +- Fast Natural-Language Search +- Bidirectional Backlinks +- Floating Link Previews +- Admonition-style Callouts +- Markdown Links and Wikilinks Support +- Latex Support + +## File Structure + +``` +root/ +├── .github/ +│ └── workflows/ +├── content/ +| └── notes +├── docs/ +| └── documentation +└── quartz/ +| ├── components/ +| ├── plugins/ +| └── styles/ +└── quartz.config.ts +└── quartz.layout.ts +└── package.json +``` diff --git a/content/Micropolitan Statistical Area.md b/content/Micropolitan Statistical Area.md new file mode 100644 index 000000000..02be9b355 --- /dev/null +++ b/content/Micropolitan Statistical Area.md @@ -0,0 +1,12 @@ +--- +title: Micropolitan Statistical Area +compartir: true +tags: + - statistics +--- + +## Definition + +Micropolitan Statistical Areas are labor market and statistical areas in the United States centered on an urban cluster with a population of at least 10,000 but fewer than 50,000 people. + +The designation was created in 2003 by the Office of Management and Budget (OMB). Micropolitan areas include the county where the urban cluster is and adjacent counties linked by commuting ties. The OMB has identified 543 micropolitan areas in the United States. diff --git a/content/Move Your Body.md b/content/Move Your Body.md new file mode 100644 index 000000000..c213377ba --- /dev/null +++ b/content/Move Your Body.md @@ -0,0 +1,13 @@ +--- +title: Move Your Body +compartir: true +--- + +Move your body every day. Benefits include: + +- Improved sleep quality. +- Less risk of chronic disease. +- Increased productivity. +- Reduced anxiety. + +The "every day" part is important, because [[./Consistency|Consistency]] is key to most things worth doing. diff --git a/content/NeoVim.md b/content/NeoVim.md new file mode 100644 index 000000000..b904f4648 --- /dev/null +++ b/content/NeoVim.md @@ -0,0 +1,102 @@ +--- +title: NeoVim +aliases: + - Nvim + - Vim +compartir: true +--- + +## Introduction + +NeoVim is a fork of Vim focused on extensibility and usability. This is my short reference guide as I learn to use it. + +## Links + +[Dotfiles](https://github.com/semanticdata/dotfiles) – [Website](https://neovim.io/) – [Documentation](https://neovim.io/doc/) + +## Useful Commands + +**Sync from CLI** → `nvim --headless "+Lazy! sync" +qa` + +## Keybindings + +| Key Combination | Command | +| -------------------------- | ---------------------------------------------- | +| `` | `` | +| **Unsorted** | +| `h` | `^` | +| `l` | `g_` | +| `a` | `:keepjumps normal! ggVG` | +| `gy` | `"+y` | +| `gp` | `"+p` | +| `x` | `"_x` | +| `e` | `NvimTreeToggle` | +| **Commands** | +| `w` | `write` | +| `bq` | `bdelete` | +| `bl` | `buffer #` | +| `` | `Lexplore` | +| `` | `` | +| **Telescope** | +| `` | `Telescope buffers` | +| `?` | `Telescope oldfiles` | +| `ff` | `Telescope find_files` | +| `fg` | `Telescope live_grep` | +| `fd` | `Telescope diagnostics` | +| `fs` | `Telescope current_buffer_fuzzy_find` | +| **Telescope (builtin)** | +| `ff` | `builtin.find_files, {}` | +| `fg` | `builtin.live_grep, {}` | +| `fb` | `builtin.buffers, {}` | +| `fh` | `builtin.help_tags, {}` | +| **Normal Mode** | +| `` | `:q!` | +| `` | `:bd` | +| **Moving Vertically** | +| `` | `zz` | +| `` | `zz` | +| `n` | `nzzzv` | +| `N` | `Nzzzv` | +| **Tab Navigation** | +| `` | `gT` | +| `` | `gt` | +| `` | `:tabnew` | +| **Pane/Window Navigation** | +| `` | `h` | +| `` | `j` | +| `` | `k` | +| `` | `l` | +| `` | `h` | +| `` | `j` | +| `` | `k` | +| `` | `l` | +| **Terminal** | +| `` | `:sp term://pwshi` | +| `tv` | `:lcd %:p:h:vsp term://pwshi` | +| `th` | `:lcd %:p:h:sp term://pwshi` | +| `` | `` | +| `:q!` | `:q!` | + +## Plugins + +| Author/Plugin | Description | +| ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- | +| [akinsho/bufferline.nvim](https://github.com/akinsho/bufferline.nvim) | A snazzy bufferline for Neovim. | +| [akinsho/toggleterm.nvim](https://github.com/akinsho/toggleterm.nvim) | A neovim lua plugin to help easily manage multiple terminal windows. | +| [ap/vim-css-color](https://github.com/ap/vim-css-color) | Preview colours in source code while editing. | +| [editorconfig/editorconfig-vim](https://github.com/editorconfig/editorconfig-vim) | EditorConfig plugin for Vim. | +| [folke/tokyonight.nvim](https://github.com/folke/tokyonight.nvim) | Theme | +| [kyazdani42/nvim-tree.lua](https://github.com/kyazdani42/nvim-tree.lua) | A file explorer tree for neovim written in lua. | +| [kyazdani42/nvim-web-devicons](https://github.com/kyazdani42/nvim-web-devicons) | Lua "fork" of vim-web-devicons for neovim. | +| [lewis6991/gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim) | Git integration for buffers. | +| [lukas-reineke/indent-blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim) | Indent guides for Neovim. | +| [numToStr/Comment.nvim](https://github.com/numToStr/Comment.nvim) | Smart and powerful comment plugin for neovim. | +| [nvim-lua/plenary.nvim](https://github.com/nvim-lua/plenary.nvim) | All the lua functions I [they] don't want to write twice. | +| [nvim-lualine/lualine.nvim](https://github.com/nvim-lualine/lualine.nvim) | neovim statusline plugin written in pure lua. | +| [nvim-telescope/telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) | Find, Filter, Preview, Pick. All lua, all the time. | +| [nvim-treesitter/nvim-treesitter-textobjects](https://github.com/nvim-treesitter/nvim-treesitter-textobjects) | Syntax aware text-objects, select, move, swap, and peek support. | +| [nvim-treesitter/nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) | Nvim Treesitter configurations and abstraction layer. | +| [ThePrimeagen/vim-be-good](https://github.com/ThePrimeagen/vim-be-good) | Nvim plugin designed to make you better at Vim Movements. | +| [tpope/vim-fugitive](https://github.com/tpope/vim-fugitive) | A Git wrapper so awesome, it should be illegal. | +| [vim-telescope/telescope-fzf-native.nvim](https://github.com/nvim-telescope/telescope-fzf-native.nvim) | Find, Filter, Preview, Pick. All lua, all the time. | +| [wellle/targets.vim](https://github.com/wellle/targets.vim) | Vim plugin that provides additional text objects. | diff --git a/content/Outlines.md b/content/Outlines.md new file mode 100644 index 000000000..c6e4b0f72 --- /dev/null +++ b/content/Outlines.md @@ -0,0 +1,39 @@ +--- +title: Outlines +description: Learning how to write with brevity (short-form), how to write long-form, how to use gesticulation. Looking for ways to streamline producing written content. +compartir: true +tags: + - learning + - writing +--- + +Learning how to write with brevity (short-form), how to write long-form, how to use gesticulation. Looking for ways to streamline producing written content. + +## Questions to Be Answered by Post + +- What is an outline +- Why should I use one +- How do I make one + +## What Needs to Be Mentioned + +- Essential tips. Must do when creating an outline +- Provide an example of an outline +- Outlines are not barriers. They are a tool to structure your writing. + +## Logical Order + +- Define the purpose of the essay +- Define the audience of your essay +- Write your thesis statement (consequential thesis statement) +- Brainstorm all of the ideas you want to include in your essay +- Group related ideas +- Label your ideas with headings and sub-headings +- Write a draft of your outline +- Write an intro and conclusion. Purposely last. + +## Links to Reference Material + +- [How to Outline // Purdue Writing Lab](https://owl.purdue.edu/owl/general_writing/the_writing_process/developing_an_outline/how_to_outline.html) +- [How to Write an Outline: 4 Ways to Organize Your Thoughts | Grammarly](https://www.grammarly.com/blog/how-to-write-outline/) +- [How to Write a Blog Post Outline: A Simple Formula to Follow](https://blog.hubspot.com/marketing/how-to-write-blog-post-outline) diff --git a/content/Poetry.md b/content/Poetry.md new file mode 100644 index 000000000..11a561003 --- /dev/null +++ b/content/Poetry.md @@ -0,0 +1,85 @@ +--- +title: Poetry +description: Poetry is a broad literary category that covers everything from bawdy limericks to unforgettable song lyrics to the sentimental couplets inside greeting cards. A poem is a singular piece of poetry. +source: https://www.fromwhisperstoroars.com/blog-1/2019/4/3/writing-poetry-for-beginners +tags: + - learning + - writing +compartir: true +enableToc: true +--- + +Poetry is a broad literary category that covers everything from bawdy limericks to unforgettable song lyrics to the sentimental couplets inside greeting cards. A **poem** is a singular piece of poetry. + +- Show, don't tell. The goal is to provoke an emotion in the reader. +- Less can be more. While it's perfectly acceptable to write long, flowery verse, using simple, concise language is also powerful. Word choice and poem length are up to you. +- It's OK to break grammatical rules when doing so helps you express yourself. + +The key elements that distinguish poetry from other kinds of literature include sound, rhythm, rhyme, and format. One thing poetry has in common with other kinds of literature is its use of literary devices. Poems, like other kinds of creative writing, often make use of allegories and other kinds of figurative language to communicate themes. + +## Chasing the Sounds + +Sometimes poetry is most impactful when it's listened to rather than read. Take the next example: + +> [!quote] The Cold Wind Blows by Kelly Roper +> +> Who knows why the cold wind blows +> Or where it goes, or what it knows. +> It only flows in passionate throes +> Until it finally slows and settles in repose. + +Poets create _sound_ in a variety of ways, like alliteration, assonance, and consonance. + +## Units of Poetry + +Syllables are grouped together to form **feet**, units that make up a line of poetry. A _foot_ is generally two or three syllables, and each combination of two or three stressed and unstressed syllables has a unique name. + +One of the many kinds of rhythm is _Iambic Pentameter_ which was used frequently by Shakespeare. An **iamb** is a two-syllable foot where the second syllable is stressed: duh-DUH. A **pentameter** means that each line in the poem has five feet or ten total syllables. + +## Not Everything is Stressed + +Stressed and unstressed syllables aren't the only way you can create rhythm in your poetry. Another technique poets frequently embrace is repetition. Repetition underscores the words being repeated, which could be a phrase or a single word. + +> [!quote] Still I Rise by Maya Angelou +> +> Leaving behind nights of terror and fear +> I rise +> Into a daybreak that's wondrously clear +> I rise +> Bringing the gifts that my ancestors gave, +> I am the dream and the hope of the slave. +> I rise +> I rise +> I rise. + +## Time to Rhyme + +With poetry, rhythm and rhyme go hand in hand. Both create musicality in the poem, making it pleasurable to recite and listen to. Rhymes can appear anywhere in a poem, not just at the ends of alternating lines. + +> [!quote] Jabberwocky by Lewis Carrol +> +> One, two! One, two! And through and through +> The vorpal blade went snicker-snack! +> He left it dead, and with its head +> He went galumphing back. + +## Formatting + +Poems are not formatted the same way as **prose**. Sentences end in weird places, there are blank lines between the different sections, one word might have a line all to itself, or the words might be arranged in a shape that makes a picture on the page. + +A **stanza** is the poetic equivalent of a paragraph. It's a group of lines that (usually) adheres to a specific rhyme or rhythm pattern. + +## Literary Devices + +- Figurative language +- Juxtaposition +- Onomatopoeia +- Simile +- Metaphor +- Puns +- Chiasmus +- Imagery +- Hyperbole +- Mood +- Motif +- Personification diff --git a/content/Projects.md b/content/Projects.md new file mode 100644 index 000000000..0c1fac905 --- /dev/null +++ b/content/Projects.md @@ -0,0 +1,63 @@ +--- +title: Projects +compartir: true +--- + +# Projects + +A non-inclusive, non-exhaustive compilation of both my professional and personal projects. + +## Personal Projects + +### 🦝 MiguelPimentel.do + +My personal website and blog. + +[Source](https://github.com/semanticdata/miguelpimentel.do) [Demo](https://miguelpimentel.do/) + +### 🦎 Mabuya + +Minimal Zola theme focused on helping you build an elegant, fast, lightweight, and SEO-ready blog. + +[Source](https://github.com/semanticdata/mabuya) [Demo](https://miguelpimentel.do/mabuya/) + +### 🌱 Forgetful Notes + +My digital garden of knowledge. It serves as a platform for my learning and creative endeavours. A space for thinking through, building upon, and coming back to. + +[Source](https://github.com/semanticdata/forgetful-notes) [Demo](https://forgetfulnotes.com/) + +### 🔮 Obsidian Starter Vault + +Opinionated compilation of extensions and settings to help you learn and start exploring Obsidian. + +[Source](https://github.com/semanticdata/obsidian-starter-vault) + +### 🗺 Sorry, Minnesota Only + +Firefox extension that removes all states starting with "M" except Minnesota within most dropdown menus. This allows you to press "M" in your keyboard and go directly to it, instead of any other state options. + +[Addon](https://addons.mozilla.org/en-US/firefox/addon/sorry-minnesota-only/) + +## Career Projects + +### 🔔 Blue Line Intrusion Detection System + +Upgrade the tunnel intrusion detection system installed at the tunnel portals of the light rail train that runs underneath the MSP Airport. +_Approx. budget: $440,000_ + +### 🚌 Northtown Transit Facility + +Full reconstruction of the old Northtown Mall Transit Hub and installation of a new adjacent parking lot. +_Approx. budget: $1,070,000_ + +### 🚨 MTPD Substation Rehab + +Rehabilitate previous public space into new Metro +Transit Police Dept. Substation in downtown Saint Paul. +_Approx. budget: $880,000_ + +### 🚗 Pavement Management Program + +Bloomington's 2019 PMP Street Mill and Overlay Project included grinding off the top layer of road surface and installing a new top layer of pavement to approximately 10 miles of residential roads. +_Approx. budget: $570,000_ diff --git a/content/Python Cheat Sheet.md b/content/Python Cheat Sheet.md new file mode 100644 index 000000000..caafb1fb0 --- /dev/null +++ b/content/Python Cheat Sheet.md @@ -0,0 +1,167 @@ +--- +title: Python Cheat Sheet +compartir: true +--- + +# Python Cheat Sheet + +- Python terminal: `python3` in cmd. +- Comments: `#` at the start of any line. +- Print: `print("Stay Safe…)` +- Indentation: must be followed. + +## Examples + +### Example 1 + +```python +num = 5 +print(num) +returns 5 +type(num) + +``` + +### Example 2 + +```python +num = 5.0 +print(num) +returns 5 +type(num) + +``` + +### Example 3 + +```python + greet = "Hello user" + print(greet) + returns: 'Hello user' + type(greet) + +``` + +### Example 4 + +```python +is_available = True +print(is_available) +returns: True +type(is_available) +returns: +``` + +### Example 5 + +```python +num = None +print(num) +returns: None +type(num) +returns: +``` + +## Operators + +`+ - * / % ** // = += -= *= /= == != > < >= <= and or not` + +### Example 1 + +```python +a = 6 +b = 2 +a + b +returns: 8 +a - b +returns = 4 +a / b +returns: 3 +a * b +returns: 12 +a ** b +returns: 36 +``` + +### Example 2 + +```python +a = 7 +b = 3 +a % b +returns: 1 +a // b +returns: 2 +``` + +### Example 3 + +```python +a =- 5 +b = 2 +a > b +returns: True +a < b +returns: False +a == b +returns: False +a >= 5 +returns: True +b <= 1 +returns: False +``` + +### Example 4 + +```python +a = 10 +b = 2 +a == 2 and b == 10 +returns: False +a == 10 or b == 20 +returns: True +not(a == 10) +returns: False +not(a == 2) +returns: True +``` + +## Conditional Statements + +### Example 1 + +```python +number = 5 +if number == 10: +print("Number is 10") +elif number < 10: +print("Number is less than 10") +else: +print("Number is more than 10") +``` + +**Returns**: `Number is less than 10` + +### Example 2 + +```python +is_available = True +f is_available: + print("Yes it is available") +else: + print("Not available") +``` + +**Returns**: `Yes it is available` + +### Example 3 + +```python +is_available = True +if not is_available: + print("Not available") +else: + print("Yes it is available") +``` + +**Returns**: `Yes it is available` diff --git a/content/Quotes.md b/content/Quotes.md new file mode 100644 index 000000000..e2264f4e3 --- /dev/null +++ b/content/Quotes.md @@ -0,0 +1,155 @@ +--- +title: Quotes +description: Quotes that have resonated with me. +compartir: true +--- + +Collection of quotes I like. + +## Random + +> "Always demand a deadline. A deadline weeds out the extraneous and the ordinary. It prevents you from trying to make it perfect, so you have to make it different. Different is better." + +> [!quote] +> +> "Always demand a deadline. A deadline weeds out the extraneous and the ordinary. It prevents you from trying to make it perfect, so you have to make it different. Different is better." + +> [!quote] +> +> "Better done than perfect." Perfectionism is nothing but _fear_. Conquer it. + +> [!quote] +> +> "Clarity requires thinking. Thinking requires writing." + +> [!quote] +> +> "Action is not just the _effect_ of motivation, but also the _cause_ of motivation." + +## Ajahn Chah + +> "Dhamma is in your mind, not in the forest. You don't have to go and look anywhere else." — Ajahn Chah + +## Alexander Solzhenitsyn + +> "Man has set for himself the goal of conquering the world, but in the process he loses his soul." — Alexander Solzhenitsyn + +## Aristotle (unconfirmed) + +> "The purpose of knowledge is action, not knowledge." — Aristotle + +## Ashtavakra Gita + +> "The wise man knows the Self, +> And he plays the game of life. +> But the fool lives in the world +> Like a beast of burden." + +## Big Mouth + +> "I only wrote that poem to test my printer!" + +## Donny Osmond + +> "I never smile unless I mean it." + +## Dwight D. Eisenhower + +> "I have two kinds of problems: the urgent and the important. The urgent are not important, and the important are never urgent." + +## G. K. Chesterton + +> It is really not so repulsive to see the poor asking for money as to see the rich asking for more money. And advertisement is the rich asking for more money. A man would be annoyed if he found himself in a mob of millionaires, all holding out their silk hats for a penny; or all shouting with one voice, "Give me money." Yet advertisement does really assault the eye very much as such a shout would assault the ear. "Budge's Boots are the Best" simply means "Give me money"; "Use Seraphic Soap" simply means "Give me money." It is a complete mistake to suppose that common people make our towns commonplace, with unsightly things like advertisements. Most of those whose wares are thus placarded everywhere are very wealthy gentlemen with coronets and country seats, men who are probably very particular about the artistic adornment of their own homes. They disfigure their towns in order to decorate their houses. + +## Dean Bokhari (unconfirmed) + +> "Be regular and orderly in your life, so that you may be violent and original in your work." + +## Duke Ellington + +> "I felt the music wash over me. It had me, right then and there." — **Ghost of Duke Ellington** + +## Gustave Flaubert (unconfirmed) + +> "Be regular and orderly in your life, so that you may be violent and original in your work." + +## Jereld Hanson + +> "Their level is always half a bubble off." + +## John Siracusa + +> "Don't chase your dreams! Humans are persistence predators. Follow your dreams at a sustainable pace until they get tired and lay down." + +## u/kaidomac On ADHD + +> "I wish I had the ability to instantly internalize this comic for neuro-typical people. "Just try harder" doesn't fully illuminate the ridiculous, daily, momentary inner struggle we fight ALL the time. And it also helps SO MUCH to explain it to ourselves this way! +> +> I was visiting an elderly family member the other day and they were like, "Well I definitely don't have ADHD, when I decide to focus on something, I can just do it!" I definitely had a momentary inner twinge that that's not the norm for me…simply deciding to do it & not having the "Mentos & Coke" effect of mental diffusion kick in to over-think the task & then feel all of the other things I have to do start swirling around, and then feel the emotional barriers of the weight of the task & the mental energy loss from the pre-requisite requirements like having to clean up or find stuff kick in…things that aren't on anybody's normal radar at all! +> +> It's a silly, nonsensical situation to deal with in life…I'm very grateful towards this artist for illustration the reality of the situation!" + +## Pascal + +> "All of humanity's problems stem from man's inability to sit quietly in a room alone." + +## Richard Feynman + +> "Knowledge isn't free. You have to pay attention." + +## Robert McKee + +> "True character is revealed in the choices a human being makes under pressure - the greater the pressure, the deeper the revelation, the truer the choice to the character's essential nature." + +## Rumi + +> "If I were the plaything of every thought, I would be a fool, not a wise man." + +## Shield Anvil Itkovian, Memories of Ice, Malazan Series Book 3 + +> "We humans do not understand compassion. In each moment of our lives, we betray it. Aye, we know of its worth, yet in knowing we then attach to it a value, we guard the giving of it, believing it must be earned. Compassion is priceless in the truest sense of the word. It must be given freely. In abundance." + +## Stephen Roberts + +> "I contend that we are both atheists. I just believe in one fewer god than you do. When you understand why you dismiss all the other possible gods, you will understand why I dismiss yours." + +## Taylor Swift + +> "Happiness and Confidence are the _prettiest_ things you can wear." + +## Thomas Merton + +> "We must be true inside, true to ourselves, before we can know a truth that is outside us." + +## Unknown + +> "Saying yes frequently is an additive strategy. Saying no is a subtractive strategy. Keep saying no to a lot of things - the negative and unimportant ones - and once in awhile, you will be left with an idea which is so compelling that it would be a screaming no-brainer 'yes'." + +> "I've been called worse, and I'm disappointed you couldn't think of something better." + +> "This is not regular stupid. This is advanced stupid." + +## Waymond Wang + +> "When I choose to see the good side of things, I'm not being naïve. It is strategic and necessary. It's how I've learned to survive through everything. +> +> I don't know. The only thing I do know… is that we have to be kind. +> +> Please. Be kind… especially when we don't know what's going on. +> I know you see yourself as a fighter. Well, I see myself as one too. This is how I fight." + +## Yuval Noah Harari + +> "Information is not truth." — Yuval Noah Harari + +## XKCD Book + +> [!quote] From XKCD Book +> +> **Throwing is hard.** +> +> "In order to deliver a baseball to a batter, a pitcher has to release the ball at exactly the right point in the throw. A timing error of half a millisecond in either direction is enough to cause the ball to miss the strike zone. +> +> To put that in perspective, it takes about five milliseconds for the fastest nerve impulse to travel the length of the arm. That means that when your arm is still rotating toward the correct position, the signal to release the ball is already at your wrist. +> +> In terms of timing, this is like a drummer dropping a drumstick from the tenth story and hitting a drum on the ground on the correct beat." diff --git a/content/Reverse Outlines.md b/content/Reverse Outlines.md new file mode 100644 index 000000000..f6dd464ca --- /dev/null +++ b/content/Reverse Outlines.md @@ -0,0 +1,9 @@ +--- +title: Reverse Outlines +compartir: true +source: https://writing.wisc.edu/handbook/process/reverseoutlines/ +--- + +Reverse outlines are often used by writers to check their work. **Reverse Outlining** is a process whereby you take away all of the supporting writing and are left with a paper's main points or main ideas, sometimes represented by your paper's topic sentences. + +[Read more](https://writing.wisc.edu/handbook/process/reverseoutlines/). diff --git a/content/Rhizomatic Learning.md b/content/Rhizomatic Learning.md new file mode 100644 index 000000000..b681fd0c0 --- /dev/null +++ b/content/Rhizomatic Learning.md @@ -0,0 +1,19 @@ +--- +title: Rhizomatic Learning +compartir: true +--- + +## Introduction + +Rhizomatic learning is a variety of pedagogical practices informed by the work of Gilles Deleuze and Félix Guattari. It takes it's name from the rhizome. + +> [!Rhizome] +> Underground stem in which various plants asexually reproduce via budding. + +## Background + +Explored initially as an application of post-structural thought to education, it has more recently been identified as methodology for net-enabled education. In contrast to goal-directed and hierarchical theories of learning, it posits that learning is most effective when it allows participants to react to evolving circumstances, preserving lines of flight that allow a fluid and continually evolving redefinition of the task at hand. In such a structure, "the community is the curriculum", subverting traditional notions of instructional design where objectives pre-exist student involvement. + +> [!quote] From _Deleuze, Education, and Becoming._ +> +> "The underground sprout of a rhizome does not have a traditional root. There is a stem there, the oldest part of which dies off while simultaneously rejuvenating itself at the tip. The rhizome's renewal of itself proceeds autopoietically: the new relations generated via rhizomatic connections are not copies, but each and every time a new map, a cartography. A rhizome does not consist of units, but of dimensions and directions." — Inna Semetsky diff --git a/content/Rhombic Dodecahedron.md b/content/Rhombic Dodecahedron.md new file mode 100644 index 000000000..73b5fdec5 --- /dev/null +++ b/content/Rhombic Dodecahedron.md @@ -0,0 +1,20 @@ +--- +title: Rhombic Dodecahedron +compartir: true +--- + +## Introduction + +In geometry, the rhombic dodecahedron is a convex polyhedron with 12 congruent rhombic faces. It has 24 edges, and 14 vertices of 2 types. It is a Catalan solid, and the dual polyhedron of the cuboctahedron. + +## Rhombic Dodecahedral Honeycomb + +The rhombic dodecahedral honeycomb (also _dodecahedrille_) is a space-filling tessellation (or honeycomb) in Euclidean 3-space. It is the Voronoi diagram of the face-centered cubic sphere-packing, which has the densest possible packing of equal spheres in ordinary space (see Kepler conjecture). + +## In Dungeons and Dragons + +> "I've never seen a rhombic dodecahedron d12 before. They do exist after a quick search, but the much more common d12 is just a dodecahedron, with pentagonal faces." + +The UCLA[^1] investigators developed a technique that prevents that corrosion and showed that, in its absence, lithium atoms assemble into a surprising shape—the rhombic dodecahedron, a 12-sided figure similar to the dice used in role-playing games like Dungeons and Dragons. + +[^1]: University of California, Los Angeles diff --git a/content/SSD NVMe Comparison.md b/content/SSD NVMe Comparison.md new file mode 100644 index 000000000..9a61c30eb --- /dev/null +++ b/content/SSD NVMe Comparison.md @@ -0,0 +1,142 @@ +--- +title: SSD / NVMe Comparison +description: This page was originally published on July 28, 2023 to aid in selecting SSD, NVMe drives to take advantage of an current Micro Center sale. +compartir: true +--- + +# SSD NVMe Comparison + +This page was originally published on July 28, 2023. Its main goal was to aid in selecting SSD, and NVMe drives during a Micro Center sale. + +## Storage Technologies + +### 3D NAND + +- The most basic of modern SSD technologies. Great for throwing on cheap systems, home servers, anything non-critical really. +- It is not recommended to host your Operating System on 3D NAND, or QLC. + +### Quad Level Cell (QLC) + +- QLC (Quad Level Cell) is cheaper to manufacture than TLC (Triple Level Cell). +- QLC is much slower and less durable to constant writing than TLC. +- It is not recommended to host your Operating System on 3D NAND, or QLC. + +### Triple Level Cell (TLC) + +- TLC is more reliable when compared to QLC. +- MLC is a Triple Level Cell based Samsung technology. + +### Multi Level Cell (MLC) + +- MLC is a Triple Level Cell based Samsung technology. + +Let's break it down: + +1. MLC V-NAND (Best) +2. V-NAND (TLC Equiv.) +3. TLC (V-NAND Equiv.) +4. QLC (Cheap, less reliable) +5. 3D NAND (Basic) + +## How Are SSDs Scored + +### Storage + +- 1 point per GB + - Less accurate the bigger the SSD + - 3 TB and higher drives scale exp/log instead of linearly. + +### Price + +Based on price per $1. +Selected $0.10 as the baseline after averaging some calculations. + +- 1 point for every $0.01 / GB below $0.10 + +### Technology Coefficient + +- 3D NAND Coefficient = 0.5 (Big Penalty) +- QLC Coefficient = 0.75 (Small Penalty) +- TLC Coefficient = 1.0 (No Change) +- MLC V-NAND coefficient = 1.25 (Small Advantage) + +## NVMe M.2 2280 M Key + +| Brand | Storage | Price | Notes | +| ------------ |:-------:|:-----:| ---------- | +| 970 EVO Plus | 500 GB | $35 | MLC V-NAND | +| 970 EVO Plus | 2 TB | $100 | MLC V-NAND | +| 970 EVO Plus | 1 TB | $50 | V-NAND | +| 980 | 1 TB | $50 | MLC V-NAND | +| 980 Pro | 2 TB | $120 | MLC V-NAND | +| 980 Pro | 1 TB | $70 | V-NAND | +| 990 PRO | 1 TB | $80 | MLC V-NAND | +| Crucial P3 | 1 TB | $40 | 3D NAND | +| Inland | 500 GB | $23 | QLC | +| Inland | 1 TB | $40 | QLC | +| Inland | 2 TB | $70 | QLC | +| Performance | 1 TB | $55 | TLC | +| Prime | 500 GB | $30 | TLC | +| Prime | 1 TB | $50 | TLC | + +## SSD + +| Brand | Storage | Price | Notes | +| ------------ |:-------:|:-----:| ---------- | +| Inland | 1 TB | $50 | TLC | +| Inland | 512 GB | $25 | TLC | +| Platinum | 2 TB | $80 | TLC | +| Platinum | 1 TB | $43 | TLC | +| Professional | 256 GB | $20 | 3D NAND | +| Professional | 125 GB | $15 | TLC | +| 870 EVO | 1 TB | $50 | MLC V-NAND | +| 870 EVO | 4 TB | $220 | MLC V-NAND | +| 870 EVO | 500 GB | $40 | MLC V-NAND | +| 870 QVO | 1 TB | $70 | QLC V-NAND | + +## Final Scores + +### NVMe + +| Description | $ / GB | Coef | Score | +| ------------------------ |:------:|:----:|:-----:| +| 970 500 GB $35 MLC | 0.070 | 1.25 | 629 | +| 970 2 TB $100 MLC | 0.050 | 1.25 | 2506 | +| 970 1 TB $100 MLC | 0.103 | 1.25 | 1250 | +| 980 1 TB $50 V | 0.050 | 1 | 1005 | +| 980P 2 TB $120 MLC | 0.060 | 1.25 | 2505 | +| 980P 1 TB $70 V | 0.070 | 1 | 1003 | +| 990P 1 TB $80 MLC | 0.080 | 1.25 | 1253 | +| Crucial 1 TB $40 3D | 0.040 | 0.5 | 503 | +| Inland 500 GB $23 QLC | 0.046 | 0.75 | 379 | +| Inland 1 TB $40 QLC | 0.040 | 0.75 | 755 | +| Inland 2 TB $70 QLC | 0.035 | 0.75 | 1505 | +| Performance 1 TB $55 TLC | 0.055 | 1 | 1005 | +| Prime 500 GB $30 TLC | 0.060 | 1 | 504 | +| Prime 1 TB $50 TLC | 0.050 | 1 | 1005 | + +\*_Higher is better._ + +### SSD + +| Description | $ / GB | Coef | Score | +| ------------------------- |:------:|:----:|:-----:| +| Inland 1TB $50 TLC | 0.050 | 1 | 1005 | +| Inland 512GB $25 TLC | 0.049 | 1 | 517 | +| Platinum 2TB $80 TLC | 0.040 | 1 | 2006 | +| Platinum 1TB $43 TLC | 0.043 | 1 | 1006 | +| Professional 256GB $20 3D | 0.078 | 0.5 | 129 | +| Professional 125GB $15 3D | 0.120 | 0.5 | 63 | +| 870 EVO 1TB $50 MLC | 0.050 | 1.25 | 1256 | +| 870 EVO 4TB $220 MLC | 0.055 | 1.25 | 5006 | +| 870 EVO 500GB $40 MLC | 0.020 | 1.25 | 635 | +| 870 QVO 1TB $70 QLC | 0.070 | 0.75 | 753 | + +\*_Higher is better._ + +## Conclusions + +- Cheap system? Get **any** of these. +- Secondary drive? Get any **QLC** or better. +- OS Drive? Get any **TLC** or better. +- Extra cash? Premium for reliability? Get any **Samsung** from the list. diff --git a/content/Sans-serif.md b/content/Sans-serif.md new file mode 100644 index 000000000..81372a186 --- /dev/null +++ b/content/Sans-serif.md @@ -0,0 +1,18 @@ +--- +title: Sans-serif +compartir: true +tags: + - typography +--- + +## Definition + +In typography and lettering, a "sans-serif", "sans serif", "gothic", or simply "sans" letterform is one that does not have extending features called "serifs" at the end of strokes. Sans-serif typefaces tend to have less stroke width variation than serif typefaces. They are often used to convey simplicity and modernity or minimalism. + +## Font Family in CSS + +```css +font-family: -apple-system, BlinkMacSystemFont, 'Avenir Next', Avenir, + 'Nimbus Sans L', Roboto, Noto, 'Segoe UI', Arial, Helvetica, 'Helvetica Neue', + sans-serif; +``` diff --git a/content/Scope of Work.md b/content/Scope of Work.md new file mode 100644 index 000000000..514ba6008 --- /dev/null +++ b/content/Scope of Work.md @@ -0,0 +1,18 @@ +--- +title: Scope of Work +compartir: true +--- + +A scope of work or SOW, is a descriptive document or working agreement that contains all information regarding the size of a project, the goals a team should accomplish by the end of the project and steps required to complete the project. + +You might create an SOW when multiple parties are working together on the project and there are certain requirements to meet. This document usually includes of an introduction, objective overview, an outline of the expected work and tasks, schedule for deliverables, adoption plan and conclusion or sign off. + +Usually, a scope of work has these standard components: + +- Project goals: This includes all goals intended for the team to reach as the project progresses, as well as when it completes. +- Timeline: This includes the exact timeframe for the project's beginning and end, including when specific tasks should start and complete. +- Expected results: This includes specific outcomes intended to take place by the completion of the project. +- Deliverables: This includes the exact product or products the project should deliver by its completion. +- Conditions: This includes any stipulations the team should abide by or work under or requirements to meet. +- Financial information: This includes accounting data, such as how much the project may cost to complete, how much each team member is going to earn and how and when they're going to be paid. +- Management: This includes information regarding administrative details, such as who's responsible for approving financial decisions or who can agree to specific terms. diff --git a/content/Scry Your Tasks.md b/content/Scry Your Tasks.md new file mode 100644 index 000000000..6a42646aa --- /dev/null +++ b/content/Scry Your Tasks.md @@ -0,0 +1,16 @@ +--- +title: Scry Your Tasks +compartir: true +--- + +To _scry_ is to see or predict the future by means of a crystal ball. It is also the ability to look at the top cards of your deck and rearrange them in Magic the Gathering. This note was inspired by [Cortex](https://www.relay.fm/cortex) [Episode 142](https://www.relay.fm/cortex/142) where Myke and Grey discuss scrying your task lists. + +In terms of organization, scrying your task list allows you to determine what is the order of 2 to 5 things that _need_ to happen. + +Your job is not to get through all the to-do items, but to arrange them in the _correct order_. Sometimes you need to put some things at the bottom of the list. I draw the line when I can't finish the work day until these tasks are _done_. + +Don't confuse mission-critical items and time saving tasks. Mission-critical Items **NEED** to be done today. Optionally, anything that will save time the next day **SHOULD** be done the day prior. + +You are _probably_ doing life wrong if you consistently get to the bottom of your to-do list. Let me elaborate, if your to-do list is empty, something about your life _is_ wrong. You are not being ambitious enough. + +This note was inspired by [Cortex](https://www.relay.fm/cortex) [Episode 142](https://www.relay.fm/cortex/142) on scrying your task lists. diff --git a/content/Serif.md b/content/Serif.md new file mode 100644 index 000000000..88fab5172 --- /dev/null +++ b/content/Serif.md @@ -0,0 +1,17 @@ +--- +title: Serif +compartir: true +tags: + - typography +--- + +## Definition + +In typography, a serif (/ˈsɛrɪf/) is a small line or stroke regularly attached to the end of a larger stroke in a letter or symbol within a particular font or family of fonts. + +## Font Family in CSS + +```css +font-family: Constantia, 'Lucida Bright', Lucidabright, 'Lucida Serif', Lucida, + 'DejaVu Serif', 'Bitstream Vera Serif', 'Liberation Serif', Georgia, serif; +``` diff --git a/content/Static Site Generators.md b/content/Static Site Generators.md new file mode 100644 index 000000000..ef296c6a5 --- /dev/null +++ b/content/Static Site Generators.md @@ -0,0 +1,14 @@ +--- +title: Static Site Generator +compartir: true +tags: + - markdown +--- + +Static site generators (SSGs) are engines that use text input files (such as [[./Markdown|Markdown]], [reStructuredText](https://docutils.sourceforge.io/rst.html), and [AsciiDoc](https://asciidoc.org/)) to generate static web pages. SSGs are typically for rarely-changing, informative content, such as product pages, news websites, (software) documentation, manuals, and blogs. + +Popular choices in SSGs include: + +- [Jekyll](https://jekyllrb.com/) +- [Hugo](https://gohugo.io/) +- [[./Zola|Zola]] diff --git a/content/Svelte.md b/content/Svelte.md new file mode 100644 index 000000000..fa194e0da --- /dev/null +++ b/content/Svelte.md @@ -0,0 +1,44 @@ +--- +title: Svelte +compartir: true +--- + +## Introduction + +[Svelte](https://svelte.dev/) is a modern [[./JavaScript#JavaScript Frameworks|JavaScript Framework]] for building web applications. It compiles components into efficient, framework-free [[./JavaScript|JavaScript]] code, resulting in fast and lightweight applications. With its reactive approach and declarative syntax, Svelte simplifies development and delivers impressive performance. + +## Example + +```javascript + + +
+

Welcome to Svelte

+

Click the button to greet:

+ +
+ + +``` + +In this example, we have a Svelte component that displays a heading, paragraph, and a button. When the button is clicked, the `handleClick` function is called, which displays an alert with the name variable interpolated. The component also includes some basic styling using [[./CSS|CSS]] in the `