Awesome Browser Addons
Learnt about some new and interesting Firefox addons (probably available for other browsers).
- Violent Monkey : Kinda like greasemonkey or tampermonkey. Open source. Let’s you run userscripts (basically Javascript assets) to change functionality on a website. It is getting updated regularly on github.
- LocalCDN : This could be rather interesting especially if I can do it on my pi hole. For now I have added it to Brave via the unofficial build for chromium browsers. Some incompatibilities exist. Maybe I will add it to Firefox too.
- Sponsorblock : This is cool. It blocks the mid roll ads for various creators. The sponsor timestamps are crowd-sourced. Interesting over all, but I am never going to use it.
- search by image: Can reverse search any image using various search engines.
- DownThemAll : Hasn’t been updated since Nov. 2019. Is it eve working anymore?
- Universal bypass : Allows you to bypass the link shortners. Don’t encounter them that often. I won’t be using it.
A Side note about Brave. it has this interesting option to permit extensions to read and write site data when clicked. So now I don’t have to allow my password manager to read all my site data. Good privacy bonus.
Armv9 Architecture announced
- New version of ARM architecture announced. Added support for more ML architecture.
- Armv8 is the standard used everywhere: Android, iPhone, etc.
- Armv6 in the first iPhone, feature phones, Raspberry PI zero.
- These generational changes don’t happen very often.
- Armv7 added conditional floating points, virtualization etc.
- Armv8 moved to 64 bits.
- Armv9 will probably be the standard for the next 10 years.
- Scalable Vector Extensions (SVE) : Vector based compute that enables better output per watt. Introduced in Armv8.
- SVE2 : Improvements in SVE. In Armv9.
- Hardware-level security improvements
- Memory padding to prevent memory leakage.
- Realm : Hardware level containers.
- Mediatek : Selling commercial chips in 2022 based on Armv9.
- Mid-year announcements of new A-cpu architectural designs every year by ARM.
- Expect three new chips. Successors to : X1, A78, and A55. Based on Armv9. All chips need same architectural level.
- Apple has been quick to adopt to new architectural changes in ARM design. First to use Armv7 (64 bits).
- The much speculated A15 bionic might be Armv9 chip.
From the horse’s mouth
- Expects 100% of shared data to be processed on ARM (that includes the server space).
- Security:
- Armv9 introduces the Arm Confidential Compute Architecture (CCA). This protects portion of code and data from read or write while-in-use at the hardware level.
- Realms: Dynamically created regions that are separated from everything else while it is in-use, at rest, and in transit. Can be created by any application.
- AI :
- SVE (in partnership with Fujitsu)
- SVE2 enables better machine learning (ML) and Digital Signal Processing (DSP) capabilities. Improves
- 5G processing
- VR and AR
- Local ML processing like image processing and smart home applications
- Future aim to improve matrix multiplication within the CPU.
- AI innovations in Mali GPU and Ethos NPU.
- Expect performance increase of over 30% across the next two generations.
- Total compute design will improve specialized performance.
- Working on increasing frequency, bandwidth, and cache-size, and reducing memory latency.
- TODO : Want to read Total SoC Compute for Dummies, available at ARM website.
- TODO : There is more about SVE here.
From xda-developers
- First major revision since October 2011 when v8 was launched.
- There have been some revisions since.
- Major additions:
- SVE2
- Realm Management Extension (RME)
- BRBE
- Embedded Trace Extension (ETE) and Trace Buffer Extension (TRBE)
- TME
- Anandtech article has been referenced for everything so let me move there.
From Anandtech
- The arm versioning is about Instruction Set Architecture (ISA).
- Announced as part of the Arm’s Vision Day event.
- v9 is not as big of a jump as v8 was. In v8 AArch64 was introduced, which was a new instruction set and execution mode.
- AArch64 is still the basis of V9.
- SVE2 is now replacing NEON.
- SVE based on NEON was used in Fujitsu’s A64FX CPU core. Focused on high performance computing (HPC) applications.
- SVE2 also includes variable vector size. Also software to scale easily between IoT devices and future high powered cores.
Breaking the Cycle of Overthinking
- Hyper-vigilant : Really aware of the surroundings. Constantly looking for escapes. Always looking for reasons to not be there. Trying to predict how other people see me. How I am offending them.
Industry S01E02
- It has fairly negative representation of the finance industry.
- Shows work-pressure, stress, use of drugs, hostile workplace environment and sexual misconduct.
- Shows them in the real-life messy style.
- Hard to say if these things happen with the frequency displayed.
- Has the classical drama stuff.
- HR is all about PR.
Added support for MathJax and Plotpy on this website
The mathjax support
- Followed the instruction from https://geoffruddock.com/math-typesetting-in-hugo/ with minor additions.
- Create a file called
mathjax_support.html
in the folder./layout/partials
with the following content:
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']],
displayMath: [['$$','$$'], ['\\[', '\\]']],
processEscapes: true,
processEnvironments: true
},
options: {
skipHtmlTags: ['script', 'noscript', 'style', 'textarea', 'pre']
}
};
window.addEventListener('load', (event) => {
document.querySelectorAll("mjx-container").forEach(function(x){
x.parentElement.classList += 'has-jax'})
});
</script>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script type="text/javascript" id="MathJax-script" async
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
I would not recommend creating it inside the theme folder, if you are ever planning on updating your theme.
- Next if your theme has
header-extend.html
use that, if not then use theheader.html
file. It should be in the./themes/THEME_NAME/layouts/partials
. Copy this file to your root directory keeping the same directory structure. So in my case my new file will be./layouts/partials/header-extend.html
To this I add
{{ if .Params.mathjax }}
{{ partial "mathjax_support.html" . }}
{{ end }}
If you are using the head
file, ensure that this is added before the closing </head>
tag.
3. Now if you have the statement mathjax: true
in the front matter of your markdown file, then you can use mathjax on your website.
4. (Optional) To your archetype file, add the mathjax: true
Front Matter.
5. (Optional) To your css file add:
code.has-jax {
-webkit-font-smoothing: antialiased;
background: inherit !important;
border: none !important;
font-size: 100%;
}
Plotly
- Used for creating interactive diagrams.
- Export your plot as a
json
file using thewrite_image
library as follows:
from plotly.io import write_image
#... Generate the fig here.
fig.write_json("plot_name.json")
- Add the following Hugo shortcode to
plotly.html
at./layouts/partials/
:
{{ $json := .Get "json" }}
{{ $height := .Get "height" | default "200px" }}
<div id="{{$json}}" class="plotly" style="height:{{$height}}"></div>
<script>
Plotly.d3.json({{$json}}, function(err, fig) {
Plotly.plot('{{$json}}', fig.data, fig.layout, {responsive: true});
});
</script>
- Add this to your
header.html
orheader-extend.html
(as used for mathjax above).
{{ if .Params.plotly }}
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
{{ end }}
- Now if you have the statement
plotly: true
in the front matter of your markdown file, then you can use plotly on your website. by calling the shortcode as follows:
{{/*< plotly json="/plotly/plotly-hugo/scatter3d.json" height="400px" >*/}}
Back to using Anki
- Have used it in the past. But it didn’t have native MathJax support back then.
- Was overwhelmed the last time around.
- No app on the home screen. Won’t worry about the counter
- TODO: Add the python commands over there.
- Added MiKelTeX to the environment, by searching for the term
environment variable
in the start menu. That made LateX on Anki work for me.